From 0f807eeaeeffe634c1407d2102ce337bd5b00163 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 9 Jan 2020 01:49:19 +0900 Subject: [PATCH 01/98] refactor: complete rework of the internals closes #93 closes #24 closes #117 BREAKING CHANGE: Instead of asking the OS about the state of the whole system on trigger (what we do today; hard to do fast), or asking the state of the whole system on a timer (what HyperSwitch does today; inaccurate) - instead of one of 2 approaches, v3 observes the Accessibility events such as "an app was launched", "a window was closed". This means we build a cache as we receive these events in the background, and when the user trigger the app, we can show accurate state of the windows instantly. Of course there is no free lunch, so this approach has its own issues. However from my work on it from the past week, I'm very optimistic! The thing I'm the most excited about actually is not the perf (because on my machine even v2 is instant; I have a recent macbook and no 4k displays), but the fact that we will finally have the thumbnails in order of recently-used to least-recently-used, instead of the order of their stack (z-index) on the desktop. It's a big difference! There are many more limitations that are no longer applying also with this approach. More context: https://github.com/lwouis/alt-tab-macos/issues/45#issuecomment-571898826 --- alt-tab-macos.xcodeproj/project.pbxproj | 36 +++-- alt-tab-macos/api-wrappers/AXUIElement.swift | 114 ++++++---------- alt-tab-macos/api-wrappers/CGWindow.swift | 47 ++++--- alt-tab-macos/api-wrappers/CGWindowID.swift | 17 ++- alt-tab-macos/api-wrappers/PrivateApis.swift | 48 ++++--- alt-tab-macos/logic/Application.swift | 100 ++++++++++++++ alt-tab-macos/logic/Applications.swift | 76 +++++++++++ alt-tab-macos/logic/DispatchQueues.swift | 6 + alt-tab-macos/logic/Keyboard.swift | 37 +++-- alt-tab-macos/logic/Screen.swift | 8 +- alt-tab-macos/logic/Spaces.swift | 28 +++- alt-tab-macos/logic/SystemPermissions.swift | 2 +- alt-tab-macos/logic/TrackedWindow.swift | 47 ------- alt-tab-macos/logic/TrackedWindows.swift | 105 --------------- alt-tab-macos/logic/Window.swift | 126 ++++++++++++++++++ alt-tab-macos/logic/Windows.swift | 72 ++++++++++ alt-tab-macos/main.swift | 2 +- .../ui/{Application.swift => App.swift} | 52 +++++--- alt-tab-macos/ui/Cell.swift | 8 +- alt-tab-macos/ui/PreferencesPanel.swift | 4 +- alt-tab-macos/ui/StatusItem.swift | 10 +- alt-tab-macos/ui/ThumbnailsPanel.swift | 30 +++-- 22 files changed, 620 insertions(+), 355 deletions(-) create mode 100644 alt-tab-macos/logic/Application.swift create mode 100644 alt-tab-macos/logic/Applications.swift create mode 100644 alt-tab-macos/logic/DispatchQueues.swift delete mode 100644 alt-tab-macos/logic/TrackedWindow.swift delete mode 100644 alt-tab-macos/logic/TrackedWindows.swift create mode 100644 alt-tab-macos/logic/Window.swift create mode 100644 alt-tab-macos/logic/Windows.swift rename alt-tab-macos/ui/{Application.swift => App.swift} (53%) diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index fab848a4..d1ef77b6 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -10,11 +10,13 @@ 4807A6C623A9CD190052A53E /* SkyLight.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4807A6C523A9CD190052A53E /* SkyLight.framework */; }; D04BA02DD4152997C32CF50B /* StatusItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA0AF7C5DCF367FBB663C /* StatusItem.swift */; }; D04BA0496ACF1427B6E9D369 /* CGWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA78E3B4E73B40DB77174 /* CGWindow.swift */; }; + D04BA1BA0B3F2E0A47883569 /* Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF13DFAA6930676D0492 /* Application.swift */; }; D04BA20D4A240843293B3B52 /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA56355579F78776E6D51 /* Cell.swift */; }; - D04BA278D9EFA568C8D18A4C /* TrackedWindows.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD1BED44EAEB77FED8A4 /* TrackedWindows.swift */; }; - D04BA2CBF0EFA04CC80EC1BC /* TrackedWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE80772D25834E440975 /* TrackedWindow.swift */; }; + D04BA2378832FD7E5DE3BC23 /* Applications.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA66B5B4143D2238F50B9 /* Applications.swift */; }; + D04BA278D9EFA568C8D18A4C /* Windows.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD1BED44EAEB77FED8A4 /* Windows.swift */; }; + D04BA2CBF0EFA04CC80EC1BC /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE80772D25834E440975 /* Window.swift */; }; D04BA308162F8043F8561D03 /* AXUIElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA40A4291E4F310527DBF /* AXUIElement.swift */; }; - D04BA3261C7DA5F48310E654 /* Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA90C6C36DB1D65BC2B66 /* Application.swift */; }; + D04BA3261C7DA5F48310E654 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA90C6C36DB1D65BC2B66 /* App.swift */; }; D04BA4D356055A39B97712DE /* PrivateApis.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF0DFC1F44322973CE1E /* PrivateApis.swift */; }; D04BA57A871B7269BEBAFF84 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA35456DA0DDA74F9687E /* Keyboard.swift */; }; D04BA57FB9EF1373D59A1AA7 /* CGWindowID.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAEA3EDC4F80FA23DBEC4 /* CGWindowID.swift */; }; @@ -26,6 +28,7 @@ D04BA9119E2329DB5A35B3C7 /* ThumbnailsPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE5BBE182DD5DDFE2E3E /* ThumbnailsPanel.swift */; }; D04BA960DDD1D32A3019C835 /* CollectionViewCenterFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3202A2C22C347E849B3 /* CollectionViewCenterFlowLayout.swift */; }; D04BA9CCE02D30C8164A552A /* SystemPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */; }; + D04BAAD43731608067734ED3 /* DispatchQueues.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */; }; D04BAD4DE538FDF7E7532EE2 /* Labels.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD32E130E4A061DC8332 /* Labels.swift */; }; D04BAE2E8E9B9898A4DF9B3B /* FontIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAED53465957807CBF8B2 /* FontIcon.swift */; }; D04BAE369A14C3126A1606FE /* HelperExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */; }; @@ -58,14 +61,16 @@ D04BA4F23325560BC0BCDDB7 /* 7 windows - 2 lines - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - tall window.jpg"; sourceTree = ""; }; D04BA51D43775E57CE91154A /* 3 windows - 1 line - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - wide window.jpg"; sourceTree = ""; }; D04BA56355579F78776E6D51 /* Cell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; + D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchQueues.swift; sourceTree = ""; }; D04BA5ABFA5457A86536E2E4 /* 5 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 1 line.jpg"; sourceTree = ""; }; D04BA5EB5ED248C8C22CC672 /* Spaces.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Spaces.swift; sourceTree = ""; }; + D04BA66B5B4143D2238F50B9 /* Applications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Applications.swift; sourceTree = ""; }; D04BA78E3B4E73B40DB77174 /* CGWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindow.swift; sourceTree = ""; }; D04BA7B6AAB0812631BBC7A2 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.info; path = Info.plist; sourceTree = ""; }; D04BA7ECCE728582D9ECA613 /* determine_version.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = determine_version.sh; sourceTree = ""; }; D04BA82F792DF53958D92572 /* alt-tab-macos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "alt-tab-macos.app"; sourceTree = BUILT_PRODUCTS_DIR; }; D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HelperExtensions.swift; sourceTree = ""; }; - D04BA90C6C36DB1D65BC2B66 /* Application.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Application.swift; sourceTree = ""; }; + D04BA90C6C36DB1D65BC2B66 /* App.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; D04BA92541D46EA4F6943A72 /* package-lock.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "package-lock.json"; sourceTree = ""; }; D04BA9EF65B2E7AF9E3ADCA3 /* 2 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2 windows - 1 line.jpg"; sourceTree = ""; }; D04BAA34E0CB00DED7C04B4F /* 2-rows.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2-rows.jpg"; sourceTree = ""; }; @@ -75,7 +80,7 @@ D04BAC02D60EF22D9CC7D969 /* commitlint.config.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = commitlint.config.js; sourceTree = ""; }; D04BAC159731F80FDAF4EA6C /* 1-row.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1-row.jpg"; sourceTree = ""; }; D04BAC6AFC7F06D1A567F27A /* set_version_in_app.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = set_version_in_app.sh; sourceTree = ""; }; - D04BAD1BED44EAEB77FED8A4 /* TrackedWindows.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TrackedWindows.swift; sourceTree = ""; }; + D04BAD1BED44EAEB77FED8A4 /* Windows.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Windows.swift; sourceTree = ""; }; D04BAD1C9F215BCCD3B620AC /* alt_tab_macos.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = alt_tab_macos.entitlements; sourceTree = ""; }; D04BAD32E130E4A061DC8332 /* Labels.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Labels.swift; sourceTree = ""; }; D04BAD40CE2D3A8AAC3819D0 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = file.gitignore; path = .gitignore; sourceTree = ""; }; @@ -85,11 +90,12 @@ D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = ""; }; D04BAE5BBE182DD5DDFE2E3E /* ThumbnailsPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThumbnailsPanel.swift; sourceTree = ""; }; - D04BAE80772D25834E440975 /* TrackedWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TrackedWindow.swift; sourceTree = ""; }; + D04BAE80772D25834E440975 /* Window.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Window.swift; sourceTree = ""; }; D04BAEA3EDC4F80FA23DBEC4 /* CGWindowID.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindowID.swift; sourceTree = ""; }; D04BAED53465957807CBF8B2 /* FontIcon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FontIcon.swift; sourceTree = ""; }; D04BAF076A30A1BAFEDBEA66 /* 5 windows - 2 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 2 lines.jpg"; sourceTree = ""; }; D04BAF0DFC1F44322973CE1E /* PrivateApis.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrivateApis.swift; sourceTree = ""; }; + D04BAF13DFAA6930676D0492 /* Application.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Application.swift; sourceTree = ""; }; D04BAF249324297C07E31164 /* frontpage.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = frontpage.jpg; sourceTree = ""; }; D04BAFA277EAE3BDDDB61110 /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; F0298708E2B13DBD4738AE76 /* HyperlinkLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HyperlinkLabel.swift; sourceTree = ""; }; @@ -219,12 +225,15 @@ isa = PBXGroup; children = ( D04BA35456DA0DDA74F9687E /* Keyboard.swift */, - D04BAD1BED44EAEB77FED8A4 /* TrackedWindows.swift */, + D04BAD1BED44EAEB77FED8A4 /* Windows.swift */, D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */, D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */, D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */, D04BA5EB5ED248C8C22CC672 /* Spaces.swift */, - D04BAE80772D25834E440975 /* TrackedWindow.swift */, + D04BAE80772D25834E440975 /* Window.swift */, + D04BAF13DFAA6930676D0492 /* Application.swift */, + D04BA66B5B4143D2238F50B9 /* Applications.swift */, + D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */, ); path = logic; sourceTree = ""; @@ -234,7 +243,7 @@ children = ( D04BA3202A2C22C347E849B3 /* CollectionViewCenterFlowLayout.swift */, D04BA56355579F78776E6D51 /* Cell.swift */, - D04BA90C6C36DB1D65BC2B66 /* Application.swift */, + D04BA90C6C36DB1D65BC2B66 /* App.swift */, D04BA02F476DE30C4647886C /* PreferencesPanel.swift */, D04BAE5BBE182DD5DDFE2E3E /* ThumbnailsPanel.swift */, D04BA0AF7C5DCF367FBB663C /* StatusItem.swift */, @@ -351,8 +360,8 @@ D04BAEF78503D7A2CEFB9E9E /* main.swift in Sources */, D04BA20D4A240843293B3B52 /* Cell.swift in Sources */, D04BA57A871B7269BEBAFF84 /* Keyboard.swift in Sources */, - D04BA278D9EFA568C8D18A4C /* TrackedWindows.swift in Sources */, - D04BA3261C7DA5F48310E654 /* Application.swift in Sources */, + D04BA278D9EFA568C8D18A4C /* Windows.swift in Sources */, + D04BA3261C7DA5F48310E654 /* App.swift in Sources */, D04BA70FF7262BF5F9E6E13B /* Preferences.swift in Sources */, D04BA6368E681BE3A408AC99 /* PreferencesPanel.swift in Sources */, D04BA9119E2329DB5A35B3C7 /* ThumbnailsPanel.swift in Sources */, @@ -368,8 +377,11 @@ D04BAE2E8E9B9898A4DF9B3B /* FontIcon.swift in Sources */, D04BA4D356055A39B97712DE /* PrivateApis.swift in Sources */, D04BA6B6B703DCEFE892D5A4 /* Spaces.swift in Sources */, - D04BA2CBF0EFA04CC80EC1BC /* TrackedWindow.swift in Sources */, + D04BA2CBF0EFA04CC80EC1BC /* Window.swift in Sources */, D04BA57FB9EF1373D59A1AA7 /* CGWindowID.swift in Sources */, + D04BA1BA0B3F2E0A47883569 /* Application.swift in Sources */, + D04BA2378832FD7E5DE3BC23 /* Applications.swift in Sources */, + D04BAAD43731608067734ED3 /* DispatchQueues.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/alt-tab-macos/api-wrappers/AXUIElement.swift b/alt-tab-macos/api-wrappers/AXUIElement.swift index a079218e..8ae93458 100644 --- a/alt-tab-macos/api-wrappers/AXUIElement.swift +++ b/alt-tab-macos/api-wrappers/AXUIElement.swift @@ -1,100 +1,68 @@ import Cocoa import Foundation -// This list of keys is not exhaustive; it contains only the values used by this app -// full public list: ApplicationServices.HIServices.AXAttributeConstants.swift -// Note that the String value is transformed by the getters (e.g. kAXWindowsAttribute -> AXWindows) -enum AXAttributeKey: String { - case windows = "AXWindows" - case minimized = "AXMinimized" - case focusedWindow = "AXFocusedWindow" - case subrole = "AXSubrole" -} - extension AXUIElement { - func value(_ key: AXAttributeKey, _ target: T, _ type: AXValueType) -> T? { - if let a = attribute(key, AXValue.self) { - var value = target - AXValueGetValue(a, type, &value) - return value - } - return nil - } - - func attribute(_ key: AXAttributeKey, _ type: T.Type) -> T? { - var value: AnyObject? - let result = AXUIElementCopyAttributeValue(self, key.rawValue as CFString, &value) - if result == .success, let value = value as? T { - return value - } - return nil - } - - func cgId() -> CGWindowID { + func cgWindowId() -> CGWindowID { var id = CGWindowID(0) _AXUIElementGetWindow(self, &id) return id } - func focusedWindow() -> AXUIElement? { - return attribute(.focusedWindow, AXUIElement.self) + func pid() -> pid_t { + var pid = pid_t(0) + AXUIElementGetPid(self, &pid) + return pid } - func isActualWindow() -> Bool { - let subrole = self.attribute(.subrole, String.self) - return subrole != nil && subrole != "AXUnknown" + func isActualWindow(_ isAppHidden: Bool = false) -> Bool { + // TODO: should we displays windows that disappear when invoking Expose? (e.g. Outlook meeting reminder window) (see https://stackoverflow.com/a/49723037/2249756) + // TODO: TotalFinder and XtraFinder double-window hacks (see #84) + // TODO: should we display menubar windows? (e.g. iStats Pro dropdown menu) + // Some non-windows have subrole: nil (e.g. some OS elements), "AXUnknown" (e.g. Bartender), "AXSystemDialog" (e.g. Intellij tooltips) + // Some non-windows have title: nil (e.g. some OS elements) + // Minimized windows or windows of a hidden app have subrole "AXDialog" + return title() != nil && (subrole() == "AXStandardWindow" || isMinimized() || isAppHidden) } - func windows() -> [AXUIElement]? { - return attribute(.windows, [AXUIElement].self) + func title() -> String? { + return attribute(kAXTitleAttribute, String.self) } - func window(_ id: CGWindowID) -> AXUIElement? { - return windows()?.first(where: { return id == $0.cgId() }) + func windows() -> [AXUIElement]? { + return attribute(kAXWindowsAttribute, [AXUIElement].self) } func isMinimized() -> Bool { - return attribute(.minimized, Bool.self) == true + return attribute(kAXMinimizedAttribute, Bool.self) == true } - func focus(_ id: CGWindowID) { - // implementation notes: the following sequence of actions repeats some calls. This is necessary for - // minimized windows on other spaces, and focuses windows faster (e.g. the Security & Privacy window) - // macOS bug: when switching to a System Preferences window in another space, it switches to that space, - // but quickly switches back to another window in that space - // You can reproduce this buggy behaviour by clicking on the dock icon, proving it's an OS bug - var elementConnection = UInt32(0) - CGSGetWindowOwner(cgsMainConnectionId, id, &elementConnection) - var psn = ProcessSerialNumber() - CGSGetConnectionPSN(elementConnection, &psn) - AXUIElementPerformAction(self, kAXRaiseAction as CFString) - makeKeyWindow(psn, id) - _SLPSSetFrontProcessWithOptions(&psn, id, .userGenerated) - makeKeyWindow(psn, id) - AXUIElementPerformAction(self, kAXRaiseAction as CFString) + func isHidden() -> Bool { + return attribute(kAXHiddenAttribute, Bool.self) == true } - // The following function was ported from https://github.com/Hammerspoon/hammerspoon/issues/370#issuecomment-545545468 - func makeKeyWindow(_ psn: ProcessSerialNumber, _ wid: CGWindowID) -> Void { - var wid_ = wid - var psn_ = psn - - var bytes1 = [UInt8](repeating: 0, count: 0xf8) - bytes1[0x04] = 0xF8 - bytes1[0x08] = 0x01 - bytes1[0x3a] = 0x10 + func focusedWindow() -> AXUIElement? { + return attribute(kAXFocusedWindowAttribute, AXUIElement.self) + } - var bytes2 = [UInt8](repeating: 0, count: 0xf8) - bytes2[0x04] = 0xF8 - bytes2[0x08] = 0x02 - bytes2[0x3a] = 0x10 + func subrole() -> String? { + return attribute(kAXSubroleAttribute, String.self) + } - memcpy(&bytes1[0x3c], &wid_, MemoryLayout.size) - memset(&bytes1[0x20], 0xFF, 0x10) - memcpy(&bytes2[0x3c], &wid_, MemoryLayout.size) - memset(&bytes2[0x20], 0xFF, 0x10) + private func attribute(_ key: String, _ type: T.Type) -> T? { + var value: AnyObject? + let result = AXUIElementCopyAttributeValue(self, key as CFString, &value) + if result == .success, let value = value as? T { + return value + } + return nil + } - SLPSPostEventRecordTo(&psn_, &(UnsafeMutablePointer(mutating: UnsafePointer(bytes1)).pointee)) - SLPSPostEventRecordTo(&psn_, &(UnsafeMutablePointer(mutating: UnsafePointer(bytes2)).pointee)) + private func value(_ key: String, _ target: T, _ type: AXValueType) -> T? { + if let a = attribute(key, AXValue.self) { + var value = target + AXValueGetValue(a, type, &value) + return value + } + return nil } } diff --git a/alt-tab-macos/api-wrappers/CGWindow.swift b/alt-tab-macos/api-wrappers/CGWindow.swift index 964f166b..ed8b47f8 100644 --- a/alt-tab-macos/api-wrappers/CGWindow.swift +++ b/alt-tab-macos/api-wrappers/CGWindow.swift @@ -1,36 +1,49 @@ import Cocoa import Foundation -typealias CGWindow = [CGWindowKey.RawValue: Any] +typealias CGWindow = [CFString: Any] extension CGWindow { static func windows(_ option: CGWindowListOption) -> [CGWindow] { return CGWindowListCopyWindowInfo([.excludeDesktopElements, option], kCGNullWindowID) as! [CGWindow] } - func value(_ key: CGWindowKey, _ type: T.Type) -> T? { - return self[key.rawValue] as? T - } - // workaround: filtering this criteria seems to remove non-windows UI elements func isNotMenubarOrOthers() -> Bool { - return value(.layer, Int.self) == 0 + return layer() == 0 } // workaround: some apps like chrome use a window to implement the search popover func isReasonablyBig() -> Bool { - let windowBounds = CGRect(dictionaryRepresentation: value(.bounds, CFDictionary.self)!)! + let windowBounds = CGRect(dictionaryRepresentation: bounds()!)! return windowBounds.width > Preferences.minimumWindowSize && windowBounds.height > Preferences.minimumWindowSize } -} -// This list of keys is not exhaustive; it contains only the values used by this app -// full public list: CoreGraphics.CGWindow.swift -enum CGWindowKey: String { - case number = "kCGWindowNumber" - case layer = "kCGWindowLayer" - case bounds = "kCGWindowBounds" - case ownerPID = "kCGWindowOwnerPID" - case ownerName = "kCGWindowOwnerName" - case name = "kCGWindowName" + func id() -> CGWindowID? { + return value(kCGWindowNumber, CGWindowID.self) + } + + func layer() -> Int? { + return value(kCGWindowLayer, Int.self) + } + + func bounds() -> CFDictionary? { + return value(kCGWindowBounds, CFDictionary.self) + } + + func ownerPID() -> pid_t? { + return value(kCGWindowOwnerPID, pid_t.self) + } + + func ownerName() -> String? { + return value(kCGWindowOwnerName, String.self) + } + + func title() -> String? { + return value(kCGWindowName, String.self) + } + + private func value(_ key: CFString, _ type: T.Type) -> T? { + return self[key] as? T + } } diff --git a/alt-tab-macos/api-wrappers/CGWindowID.swift b/alt-tab-macos/api-wrappers/CGWindowID.swift index f6d4bee9..e416363d 100644 --- a/alt-tab-macos/api-wrappers/CGWindowID.swift +++ b/alt-tab-macos/api-wrappers/CGWindowID.swift @@ -2,15 +2,8 @@ import Cocoa import Foundation extension CGWindowID { - func AXUIElementApplication(_ ownerPid: pid_t) -> AXUIElement { - return AXUIElementCreateApplication(ownerPid) - } - - func AXUIElementOfOtherSpaceWindow(_ axApp: AXUIElement) -> AXUIElement? { - CGSAddWindowsToSpaces(cgsMainConnectionId, [self], [Spaces.currentSpaceId]) - let axWindow = axApp.window(self) - CGSRemoveWindowsFromSpaces(cgsMainConnectionId, [self], [Spaces.currentSpaceId]) - return axWindow + func title() -> String? { + return cgProperty("kCGSWindowTitle", String.self) } func screenshot() -> CGImage? { @@ -32,6 +25,12 @@ extension CGWindowID { // CGSCaptureWindowsContentsToRectWithOptions(cgsMainConnectionId, &windowId_, true, .zero, [.windowCaptureNominalResolution, .captureIgnoreGlobalClipShape], &image) // return image } + + private func cgProperty(_ key: String, _ type: T.Type) -> T? { + var value: AnyObject? + CGSCopyWindowProperty(cgsMainConnectionId, self, key as CFString, &value) + return value as? T + } } //class Testt { diff --git a/alt-tab-macos/api-wrappers/PrivateApis.swift b/alt-tab-macos/api-wrappers/PrivateApis.swift index 98809701..79da6de5 100644 --- a/alt-tab-macos/api-wrappers/PrivateApis.swift +++ b/alt-tab-macos/api-wrappers/PrivateApis.swift @@ -107,6 +107,21 @@ func SLPSPostEventRecordTo(_ psn: inout ProcessSerialNumber, _ bytes: inout UInt @_silgen_name("_AXUIElementGetWindow") @discardableResult func _AXUIElementGetWindow(_ axUiElement: AXUIElement, _ wid: inout CGWindowID) -> AXError +// returns the provided CGWindow property for the provided CGWindowID +// * macOS 10.10+ +@_silgen_name("CGSCopyWindowProperty") @discardableResult +func CGSCopyWindowProperty(_ cid: CGSConnectionID, _ wid: CGWindowID, _ property: CFString, _ value: inout CFTypeRef?) -> CGError + +enum CGSSpaceMask: Int { + case current = 5 + case other = 6 + case all = 7 +} + +// get the CGSSpaceIDs for the given windows (CGWindowIDs) +// * macOS 10.10+ +@_silgen_name("CGSCopySpacesForWindows") +func CGSCopySpacesForWindows(_ cid: CGSConnectionID, _ mask: CGSSpaceMask.RawValue, _ wids: CFArray) -> CFArray @@ -131,11 +146,6 @@ func _AXUIElementGetWindow(_ axUiElement: AXUIElement, _ wid: inout CGWindowID) //@_silgen_name("GetProcessPID") //func GetProcessPID(_ psn: inout ProcessSerialNumber, _ pid: inout pid_t) -> Void // -//// seems like it takes the normal CG keys, so might as well use the public API -//// * macOS 10.10+ -//@_silgen_name("CGSCopyWindowProperty") @discardableResult -//func CGSCopyWindowProperty(_ cid: CGSConnectionID, _ wid: CGWindowID, _ key: CFString, _ output: inout CFString) -> CGError -// //// crashed the app with SIGSEGV //// * macOS 10.10+ //@_silgen_name("CGSGetWindowType") @discardableResult @@ -154,6 +164,17 @@ func _AXUIElementGetWindow(_ axUiElement: AXUIElement, _ wid: inout CGWindowID) //// * macOS 10.10+ //@_silgen_name("CGSManagedDisplaySetCurrentSpace") //func CGSManagedDisplaySetCurrentSpace(_ cid: CGSConnectionID, _ display: CFString, _ sid: CGSSpaceID) -> Void +// +//// show provided spaces on top of the current space. It show windows from the provided spaces in the current space. Very weird behaviour and graphical glitch will happen when triggering Mission Control +//// * macOS 10.10+ +//@_silgen_name("CGSShowSpaces") +//func CGSShowSpaces(_ cid: CGSConnectionID, _ sids: NSArray) -> Void +// +//// hides provided spaces from the current space +//// * macOS 10.10+ +//@_silgen_name("CGSHideSpaces") +//func CGSHideSpaces(_ cid: CGSConnectionID, _ sids: NSArray) -> Void + // //// get space for window //// * macOS 10.10+ @@ -186,18 +207,6 @@ func _AXUIElementGetWindow(_ axUiElement: AXUIElement, _ wid: inout CGWindowID) //@_silgen_name("CGSGetWorkspaceWindowList") @discardableResult //func CGSGetWorkspaceWindowList(_ cid: CGSConnectionID, _ workspaceNumber: CGSSpaceID, _ count: Int, _ list: [Int], _ outCount: [Int]) -> OSStatus // -//struct CGSSpaceMask: OptionSet { -// let rawValue: UInt32 -// static let includesCurrent = CGSSpaceMask(rawValue: 1 << 0) -// static let includesOthers = CGSSpaceMask(rawValue: 1 << 1) -// static let includesUser = CGSSpaceMask(rawValue: 1 << 2) -//} -// -//// get the CGSSpaceIDs for the given windows (CGWindowIDs). It's more efficient (i.e. fewer calls to the OS) to get windows of each space instead of space of each window -//// * macOS 10.10+ -//@_silgen_name("CGSCopySpacesForWindows") -//func CGSCopySpacesForWindows(_ connection: CGSConnectionID, _ mask: CGSSpaceMask, _ wids: CFArray) -> CFArray -// //enum CGSSpaceType { // case user // case fullscreen @@ -225,11 +234,6 @@ func _AXUIElementGetWindow(_ axUiElement: AXUIElement, _ wid: inout CGWindowID) //@_silgen_name("CGSGetSpaceManagementMode") //func CGSGetSpaceManagementMode(_ cid: CGSConnectionID) -> SpaceManagementMode // -//// get spaces for the provided window_list -//// * macOS 10.10+ -//@_silgen_name("CGSCopySpacesForWindows") -//func CGSCopySpacesForWindows(_ cid: CGSConnectionID, _ selector: Int, _ window_list: CFArray) -> CFArray -// //// The following function was ported from https://github.com/Hammerspoon/hammerspoon/issues/370#issuecomment-545545468 //func windowManagerDeferWindowRaise(_ psn: ProcessSerialNumber, _ wid: CGWindowID) -> Void { // var wid_ = wid diff --git a/alt-tab-macos/logic/Application.swift b/alt-tab-macos/logic/Application.swift new file mode 100644 index 00000000..751beff9 --- /dev/null +++ b/alt-tab-macos/logic/Application.swift @@ -0,0 +1,100 @@ +import Foundation +import Cocoa + +class Application: NSObject { + var runningApplication: NSRunningApplication + var axUiElement: AXUIElement? + var axObserver: AXObserver? + + init(_ runningApplication: NSRunningApplication) { + self.runningApplication = runningApplication + super.init() + if runningApplication.isFinishedLaunching { + addAndObserveWindows() + } else { + runningApplication.addObserver(self, forKeyPath: "isFinishedLaunching", options: [.new], context: nil) + } + } + + private func addAndObserveWindows() { + axUiElement = AXUIElementCreateApplication(runningApplication.processIdentifier) + AXObserverCreate(runningApplication.processIdentifier, axObserverApplicationCallback, &axObserver) + observeAllWindows() + } + + private func observeAllWindows() { + let windows = getActualWindows() + debugPrint("Adding app: " + (runningApplication.bundleIdentifier ?? "nil"), windows.map { $0.title() }) + addWindows(windows) + observeEvents(windows) + } + + func observeNewWindows() { + var newWindows = [AXUIElement]() + for window in getActualWindows() { + guard Windows.listRecentlyUsedFirst.firstIndexThatMatches(window) == nil else { continue } + newWindows.append(window) + } + addWindows(newWindows) + } + + private func getActualWindows() -> [AXUIElement] { + return axUiElement!.windows()?.filter { $0.isActualWindow(runningApplication.isHidden) } ?? [] + } + + override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) { + guard let isFinishedLaunching = change![.newKey], isFinishedLaunching as! Bool else { return } + runningApplication.removeObserver(self, forKeyPath: "isFinishedLaunching") + addAndObserveWindows() + } + + private func addWindows(_ windows: [AXUIElement]) { + Windows.listRecentlyUsedFirst.insert(contentsOf: windows.map { Window($0, self) }, at: 0) + } + + private func observeEvents(_ windows: [AXUIElement]) { + guard let axObserver = axObserver else { return } + let selfPointer = UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()) + AXObserverAddNotification(axObserver, axUiElement!, kAXApplicationActivatedNotification as CFString, selfPointer) + AXObserverAddNotification(axObserver, axUiElement!, kAXFocusedWindowChangedNotification as CFString, selfPointer) + AXObserverAddNotification(axObserver, axUiElement!, kAXWindowCreatedNotification as CFString, selfPointer) + AXObserverAddNotification(axObserver, axUiElement!, kAXApplicationHiddenNotification as CFString, selfPointer) + AXObserverAddNotification(axObserver, axUiElement!, kAXApplicationShownNotification as CFString, selfPointer) + CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(axObserver), .defaultMode) + } +} + +func axObserverApplicationCallback(observer: AXObserver, element: AXUIElement, notificationName: CFString, applicationPointer: UnsafeMutableRawPointer?) -> Void { + let application = Unmanaged.fromOpaque(applicationPointer!).takeUnretainedValue() + let type = notificationName as String + debugPrint("OS event: " + type, element.title()) + switch type { + case kAXApplicationActivatedNotification: + guard !(App.shared as! App).appIsBeingUsed, + let appFocusedWindow = element.focusedWindow(), + let existingIndex = Windows.listRecentlyUsedFirst.firstIndexThatMatches(appFocusedWindow) else { return } + Windows.listRecentlyUsedFirst.insert(Windows.listRecentlyUsedFirst.remove(at: existingIndex), at: 0) + case kAXApplicationHiddenNotification, kAXApplicationShownNotification: + for window in Windows.listRecentlyUsedFirst { + guard window.application.axUiElement!.pid() == element.pid() else { continue } + window.isHidden = type == kAXApplicationHiddenNotification + } + (App.shared as! App).refreshOpenUi() + case kAXWindowCreatedNotification: + guard element.isActualWindow() else { return } + // a window being un-minimized can trigger kAXWindowCreatedNotification + guard Windows.listRecentlyUsedFirst.firstIndexThatMatches(element) == nil else { return } + let window = Window(element, application) + Windows.listRecentlyUsedFirst.insert(window, at: 0) + Windows.moveFocusedWindowIndexAfterWindowCreatedInBackground() + // TODO: find a better way to get thumbnail of the new window + window.refreshThumbnail() + (App.shared as! App).refreshOpenUi() + case kAXFocusedWindowChangedNotification: + guard !(App.shared as! App).appIsBeingUsed, + element.isActualWindow(), + let existingIndex = Windows.listRecentlyUsedFirst.firstIndexThatMatches(element) else { return } + Windows.listRecentlyUsedFirst.insert(Windows.listRecentlyUsedFirst.remove(at: existingIndex), at: 0) + default: return + } +} diff --git a/alt-tab-macos/logic/Applications.swift b/alt-tab-macos/logic/Applications.swift new file mode 100644 index 00000000..90752981 --- /dev/null +++ b/alt-tab-macos/logic/Applications.swift @@ -0,0 +1,76 @@ +import Foundation +import Cocoa + +class Applications { + static var map = [pid_t: Application]() + static var appsObserver = RunningApplicationsObserver() + + static func addInitialRunningApplications() { + addRunningApplications(NSWorkspace.shared.runningApplications) + } + + static func addRunningApplications(_ runningApps: [NSRunningApplication]) { + for app in filterApplications(runningApps) { + Applications.map[app.processIdentifier] = Application(app) + } + } + + static func observeRunningApplications() { + NSWorkspace.shared.addObserver(Applications.appsObserver, forKeyPath: "runningApplications", options: [.old, .new], context: nil) + } + + static func reviewRunningApplicationsWindows() { + for app in map.values { + guard app.runningApplication.isFinishedLaunching else { continue } + app.observeNewWindows() + } + } + + static func removeApplications(_ runningApps: [NSRunningApplication]) { + var someAppsAreAlreadyTerminated = false + for runningApp in runningApps { + guard runningApp.bundleIdentifier != nil else { someAppsAreAlreadyTerminated = true; continue } + guard Applications.map[runningApp.processIdentifier] != nil else { continue } + var windowsToKeep = [Window]() + for window in Windows.listRecentlyUsedFirst { + guard window.application.runningApplication.processIdentifier != runningApp.processIdentifier else { continue } + windowsToKeep.append(window) + } + Windows.listRecentlyUsedFirst = windowsToKeep + Applications.map.removeValue(forKey: runningApp.processIdentifier) + guard Windows.listRecentlyUsedFirst.count > 0 else { (App.shared as! App).hideUi(); return } + // TODO: implement of more sophisticated way to decide which thumbnail gets focused on app quit + Windows.focusedWindowIndex = 1 + (App.shared as! App).refreshOpenUi() + } + // sometimes removed `runningApps` are already terminated by the time they reach this method so we can't match their pid in `Applications.map` above + // we need to remove them based on their lack of `bundleIdentifier` + if someAppsAreAlreadyTerminated { + Windows.listRecentlyUsedFirst.removeAll(where: { $0.application.runningApplication.bundleIdentifier == nil }) + Applications.map = Applications.map.filter { $0.value.runningApplication.bundleIdentifier != nil } + } + } + + private static func filterApplications(_ apps: [NSRunningApplication]) -> [NSRunningApplication] { + // it would be nice to filter with $0.activationPolicy != .prohibited (see https://stackoverflow.com/a/26002033/2249756) + // however some daemon processes can sometimes create windows, so we can't filter them out (e.g. CopyQ is .prohibited for some reason) + return apps.filter { $0.bundleIdentifier != nil && $0.bundleIdentifier != NSRunningApplication.current.bundleIdentifier } + } +} + +class RunningApplicationsObserver: NSObject { + override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) { + let type = NSKeyValueChange(rawValue: change![.kindKey]! as! UInt) + switch type { + case .insertion: + let apps = change![.newKey] as! [NSRunningApplication] + debugPrint("OS event: apps launched", apps.map { ($0.processIdentifier, $0.bundleIdentifier) }) + Applications.addRunningApplications(apps) + case .removal: + let apps = change![.oldKey] as! [NSRunningApplication] + debugPrint("OS event: apps quit", apps.map { ($0.processIdentifier, $0.bundleIdentifier) }) + Applications.removeApplications(apps) + default: return + } + } +} diff --git a/alt-tab-macos/logic/DispatchQueues.swift b/alt-tab-macos/logic/DispatchQueues.swift new file mode 100644 index 00000000..7b812b7e --- /dev/null +++ b/alt-tab-macos/logic/DispatchQueues.swift @@ -0,0 +1,6 @@ +import Foundation + +class DispatchQueues { + static let focusActions = DispatchQueue(label: "focusActions", qos: .userInteractive) + static let keyboardEvents = DispatchQueue(label: "keyboardEvents", qos: .userInteractive) +} diff --git a/alt-tab-macos/logic/Keyboard.swift b/alt-tab-macos/logic/Keyboard.swift index fed480c7..e7287da6 100644 --- a/alt-tab-macos/logic/Keyboard.swift +++ b/alt-tab-macos/logic/Keyboard.swift @@ -2,18 +2,15 @@ import Cocoa import Carbon.HIToolbox.Events class Keyboard { - static let backgroundQueue = DispatchQueue(label: "uiQueue", qos: .userInteractive, autoreleaseFrequency: .never) - - static func listenToGlobalEvents(_ delegate: Application) { + static func listenToGlobalEvents(_ delegate: App) { listenToGlobalKeyboardEvents(delegate) } } var eventTap: CFMachPort? -func listenToGlobalKeyboardEvents(_ delegate: Application) { - Keyboard.backgroundQueue.async { - Thread.current.name = "uiQueue-thread" +func listenToGlobalKeyboardEvents(_ app: App) { + DispatchQueues.keyboardEvents.async { let eventMask = [CGEventType.keyDown, CGEventType.keyUp, CGEventType.flagsChanged].reduce(CGEventMask(0), { $0 | (1 << $1.rawValue) }) // CGEvent.tapCreate returns null if ensureAccessibilityCheckboxIsChecked() didn't pass eventTap = CGEvent.tapCreate( @@ -22,15 +19,15 @@ func listenToGlobalKeyboardEvents(_ delegate: Application) { options: .defaultTap, eventsOfInterest: eventMask, callback: keyboardHandler, - userInfo: UnsafeMutableRawPointer(Unmanaged.passUnretained(delegate).toOpaque())) + userInfo: UnsafeMutableRawPointer(Unmanaged.passUnretained(app).toOpaque())) let runLoopSource = CFMachPortCreateRunLoopSource(kCFAllocatorDefault, eventTap, 0) - CFRunLoopAddSource(CFRunLoopGetCurrent(), runLoopSource, .commonModes) CGEvent.tapEnable(tap: eventTap!, enable: true) + CFRunLoopAddSource(CFRunLoopGetCurrent(), runLoopSource, .commonModes) CFRunLoopRun() } } -func dispatchWork(_ application: Application, _ uiWorkShouldBeDone: Bool, _ fn: @escaping () -> Void) -> Unmanaged? { +func dispatchWork(_ application: App, _ uiWorkShouldBeDone: Bool, _ fn: @escaping () -> Void) -> Unmanaged? { application.uiWorkShouldBeDone = uiWorkShouldBeDone DispatchQueue.main.async { fn() @@ -38,8 +35,8 @@ func dispatchWork(_ application: Application, _ uiWorkShouldBeDone: Bool, _ fn: return nil // previously focused app should not receive keys } -func keyboardHandler(proxy: CGEventTapProxy, type: CGEventType, event_: CGEvent, delegate_: UnsafeMutableRawPointer?) -> Unmanaged? { - let application = Unmanaged.fromOpaque(delegate_!).takeUnretainedValue() +func keyboardHandler(proxy: CGEventTapProxy, type: CGEventType, event_: CGEvent, appPointer: UnsafeMutableRawPointer?) -> Unmanaged? { + let app = Unmanaged.fromOpaque(appPointer!).takeUnretainedValue() if type == .keyDown || type == .keyUp || type == .flagsChanged { if let event = NSEvent(cgEvent: event_) { let isTab = event.keyCode == Preferences.tabKeyCode @@ -48,20 +45,20 @@ func keyboardHandler(proxy: CGEventTapProxy, type: CGEventType, event_: CGEvent, let isRightArrow = event.keyCode == kVK_RightArrow let isLeftArrow = event.keyCode == kVK_LeftArrow let isEscape = event.keyCode == kVK_Escape - if type == .keyDown && isEscape && application.appIsBeingUsed { - return dispatchWork(application, false, { application.hideUi() }) + if type == .keyDown && isEscape && app.appIsBeingUsed { + return dispatchWork(app, false, { app.hideUi() }) } else if isMetaDown && type == .keyDown { if isTab && event.modifierFlags.contains(.shift) { - return dispatchWork(application, true, { application.showUiOrCycleSelection(-1) }) + return dispatchWork(app, true, { app.showUiOrCycleSelection(-1) }) } else if isTab { - return dispatchWork(application, true, { application.showUiOrCycleSelection(1) }) - } else if isRightArrow && application.appIsBeingUsed { - return dispatchWork(application, true, { application.cycleSelection(1) }) - } else if isLeftArrow && application.appIsBeingUsed { - return dispatchWork(application, true, { application.cycleSelection(-1) }) + return dispatchWork(app, true, { app.showUiOrCycleSelection(1) }) + } else if isRightArrow && app.appIsBeingUsed { + return dispatchWork(app, true, { app.cycleSelection(1) }) + } else if isLeftArrow && app.appIsBeingUsed { + return dispatchWork(app, true, { app.cycleSelection(-1) }) } } else if isMetaChanged && !isMetaDown { - return dispatchWork(application, false, { application.focusTarget() }) + return dispatchWork(app, false, { app.focusTarget() }) } } } else if type == .tapDisabledByUserInput || type == .tapDisabledByTimeout { diff --git a/alt-tab-macos/logic/Screen.swift b/alt-tab-macos/logic/Screen.swift index 41c85732..210f1f29 100644 --- a/alt-tab-macos/logic/Screen.swift +++ b/alt-tab-macos/logic/Screen.swift @@ -27,14 +27,18 @@ class Screen { return NSSize(width: frame.width * Preferences.maxScreenUsage!, height: frame.height * Preferences.maxScreenUsage!) } - static func showPanel(_ panel: NSPanel, _ screen: NSScreen, _ alignment: VerticalAlignment) { + static func repositionPanel(_ panel: NSPanel, _ screen: NSScreen, _ alignment: VerticalAlignment) { let screenFrame = screen.visibleFrame let panelFrame = panel.frame let x = screenFrame.minX + max(screenFrame.width - panelFrame.width, 0) * 0.5 let y = screenFrame.minY + max(screenFrame.height - panelFrame.height, 0) * alignment.rawValue panel.setFrameOrigin(NSPoint(x: x, y: y)) + } + + static func showPanel(_ panel: NSPanel) { + let panelFrame = panel.frame panel.makeKeyAndOrderFront(nil) - Application.shared.arrangeInFront(nil) + App.shared.arrangeInFront(nil) } static func mainUuid() -> CFString { diff --git a/alt-tab-macos/logic/Spaces.swift b/alt-tab-macos/logic/Spaces.swift index 9a144f61..61a7ace3 100644 --- a/alt-tab-macos/logic/Spaces.swift +++ b/alt-tab-macos/logic/Spaces.swift @@ -2,9 +2,31 @@ import Cocoa import Foundation class Spaces { - static var singleSpace = true static var currentSpaceId = CGSSpaceID(1) static var currentSpaceIndex = SpaceIndex(1) + static var visitedSpaces = [CGSSpaceID: Bool]() + static var isSingleSpace = true + + static func observeSpaceChanges() { + NSWorkspace.shared.notificationCenter.addObserver(forName: NSWorkspace.activeSpaceDidChangeNotification, object: nil, queue: nil, using: { _ in + updateCurrentSpace() + guard visitedSpaces[Spaces.currentSpaceId] == nil else { return } + visitedSpaces[Spaces.currentSpaceId] = true + // when visiting a space for the first time, we review windows that we could not gather before the visit, from the other space + Applications.reviewRunningApplicationsWindows() + }) + } + + static func updateCurrentSpace() { + Spaces.currentSpaceId = CGSManagedDisplayGetCurrentSpace(cgsMainConnectionId, Screen.mainUuid()) + Spaces.currentSpaceIndex = allIdsAndIndexes().first { $0.0 == Spaces.currentSpaceId }!.1 + debugPrint("current space", Spaces.currentSpaceId) + } + + static func updateInitialSpace() { + updateCurrentSpace() + visitedSpaces[Spaces.currentSpaceId] = true + } static func allIdsAndIndexes() -> [(CGSSpaceID, SpaceIndex)] { return (CGSCopyManagedDisplaySpaces(cgsMainConnectionId) as! [NSDictionary]) @@ -17,6 +39,10 @@ class Spaces { var clear_tags = UInt64(0) return CGSCopyWindowsWithOptionsAndTags(cgsMainConnectionId, 0, spaceIds as CFArray, 2, &set_tags, &clear_tags) as! [CGWindowID] } + + static func updateIsSingleSpace() { + isSingleSpace = allIdsAndIndexes().count == 1 + } } typealias SpaceIndex = Int diff --git a/alt-tab-macos/logic/SystemPermissions.swift b/alt-tab-macos/logic/SystemPermissions.swift index a7b67615..6e716cae 100644 --- a/alt-tab-macos/logic/SystemPermissions.swift +++ b/alt-tab-macos/logic/SystemPermissions.swift @@ -17,7 +17,7 @@ class SystemPermissions { // macOS 10.15+ static func ensureScreenRecordingCheckboxIsChecked() { let firstWindow = CGWindow.windows(.optionOnScreenOnly)[0] - if let cgId = firstWindow.value(.number, CGWindowID.self), cgId.screenshot() == nil { + if let cgId = firstWindow.id(), cgId.screenshot() == nil { debugPrint("Before using this app, you need to give permission in System Preferences > Security & Privacy > Privacy > Screen Recording.", "Please authorize and re-launch.", "See https://dropshare.zendesk.com/hc/en-us/articles/360033453434-Enabling-Screen-Recording-Permission-on-macOS-Catalina-10-15-", diff --git a/alt-tab-macos/logic/TrackedWindow.swift b/alt-tab-macos/logic/TrackedWindow.swift deleted file mode 100644 index cb35fe5e..00000000 --- a/alt-tab-macos/logic/TrackedWindow.swift +++ /dev/null @@ -1,47 +0,0 @@ -import Cocoa -import Foundation - -class TrackedWindow { - var cgWindow: CGWindow - var id: CGWindowID - var title: String - var thumbnail: NSImage? - var icon: NSImage? - var app: NSRunningApplication - var axApp: AXUIElement - var axWindow: AXUIElement? - var isHidden: Bool - var isMinimized: Bool - var spaceId: CGSSpaceID? - var spaceIndex: SpaceIndex? - var rank: WindowRank? - - init(_ cgWindow: CGWindow, _ cgId: CGWindowID, _ app: NSRunningApplication, _ axApp: AXUIElement, _ isHidden: Bool, _ isMinimized: Bool, _ axWindow: AXUIElement?, _ spaceId: CGSSpaceID?, _ spaceIndex: SpaceIndex?, _ rank: WindowRank?) { - self.cgWindow = cgWindow - self.id = cgId - let cgTitle = cgWindow.value(.name, String.self) - let cgOwnerName = cgWindow.value(.ownerName, String.self) - // for some reason Google Chrome uses a unicode 0-width no-break space character in their empty window title - self.title = cgTitle != nil && cgTitle != "" && cgTitle != "" ? cgTitle! : cgOwnerName ?? "" - self.app = app - self.axApp = axApp - self.icon = self.app.icon - if let cgImage = cgId.screenshot() { - self.thumbnail = NSImage(cgImage: cgImage, size: NSSize(width: cgImage.width, height: cgImage.height)) - } - self.axWindow = axWindow - self.isHidden = isHidden - self.isMinimized = isMinimized - self.spaceId = spaceId - self.spaceIndex = spaceIndex - self.rank = rank - } - - func focus() { - let onCurrentSpace = axWindow != nil - if !onCurrentSpace { - axWindow = id.AXUIElementOfOtherSpaceWindow(axApp) - } - axWindow?.focus(id) - } -} diff --git a/alt-tab-macos/logic/TrackedWindows.swift b/alt-tab-macos/logic/TrackedWindows.swift deleted file mode 100644 index ac00634c..00000000 --- a/alt-tab-macos/logic/TrackedWindows.swift +++ /dev/null @@ -1,105 +0,0 @@ -import Cocoa -import Foundation - -class TrackedWindows { - static var list = [TrackedWindow]() - static var focusedWindowIndex = Int(0) - - static func focusedWindow() -> TrackedWindow? { - return list.count > focusedWindowIndex ? list[focusedWindowIndex] : nil - } - - static func moveFocusedWindowIndex(_ step: Int) -> Int { - return focusedWindowIndex + step < 0 ? list.count - 1 : (focusedWindowIndex + step) % list.count - } - - static func refreshList(_ step: Int) { - list.removeAll() - focusedWindowIndex = 0 - let spaces = Spaces.allIdsAndIndexes() - Spaces.currentSpaceId = CGSManagedDisplayGetCurrentSpace(cgsMainConnectionId, Screen.mainUuid()) - Spaces.currentSpaceIndex = spaces.first { $0.0 == Spaces.currentSpaceId }!.1 - filterAndAddToList(mapWindowsWithRankAndSpace(spaces)) - isSingleSpace() - sortList() - } - - private class func isSingleSpace() { - if list.count > 0 { - let firstSpaceIndex = list[0].spaceIndex - for window in list { - if window.spaceIndex != nil && window.spaceIndex != firstSpaceIndex { - Spaces.singleSpace = false - return - } - } - } - Spaces.singleSpace = true - } - - private static func mapWindowsWithRankAndSpace(_ spaces: [(CGSSpaceID, SpaceIndex)]) -> WindowsMap { - var windowSpaceMap: [CGWindowID: (CGSSpaceID, SpaceIndex, WindowRank?)] = [:] - for (spaceId, spaceIndex) in spaces { - Spaces.windowsInSpaces([spaceId]).forEach { - windowSpaceMap[$0] = (spaceId, spaceIndex, nil) - } - } - Spaces.windowsInSpaces(spaces.map { $0.0 }).enumerated().forEach { - windowSpaceMap[$0.element]!.2 = $0.offset - } - return windowSpaceMap as! WindowsMap - } - - private static func sortList() { - list.sort(by: { - if $0.rank == nil { - return false - } - if $1.rank == nil { - return true - } - return $0.rank! < $1.rank! - }) - } - - private static func filterAndAddToList(_ windowsMap: WindowsMap) { - // order and short-circuit of checks in this method is important for performance - for cgWindow in CGWindow.windows(.optionAll) { - guard let cgId = cgWindow.value(.number, CGWindowID.self), - let ownerPid = cgWindow.value(.ownerPID, pid_t.self), - let app = NSRunningApplication(processIdentifier: ownerPid), - cgWindow.isNotMenubarOrOthers(), - cgWindow.isReasonablyBig() else { - continue - } - let axApp = cgId.AXUIElementApplication(ownerPid) - let (spaceId, spaceIndex, rank) = windowsMap[cgId] ?? (nil, nil, nil) - if let (isMinimized, isHidden, axWindow) = filter(cgId, spaceId, app, axApp) { - list.append(TrackedWindow(cgWindow, cgId, app, axApp, isHidden, isMinimized, axWindow, spaceId, spaceIndex, rank)) - } - } - } - - private static func filter(_ cgId: CGWindowID, _ spaceId: CGSSpaceID?, _ app: NSRunningApplication, _ axApp: AXUIElement) -> (Bool, Bool, AXUIElement?)? { - // window is in another space - if spaceId != nil && spaceId != Spaces.currentSpaceId { - return (false, false, nil) - } - // window is in the current space, or is hidden/minimized - if let axWindow = axApp.window(cgId), axWindow.isActualWindow() { - if spaceId != nil { - return (false, false, axWindow) - } - if app.isHidden { - return (axWindow.isMinimized(), true, axWindow) - } - if axWindow.isMinimized() { - return (true, false, axWindow) - } - } - return nil - } -} - -typealias WindowRank = Int -typealias WindowsMap = [CGWindowID: (CGSSpaceID, SpaceIndex, WindowRank)] \ No newline at end of file diff --git a/alt-tab-macos/logic/Window.swift b/alt-tab-macos/logic/Window.swift new file mode 100644 index 00000000..aa0a841b --- /dev/null +++ b/alt-tab-macos/logic/Window.swift @@ -0,0 +1,126 @@ +import Cocoa +import Foundation + +class Window { + var cgWindowId: CGWindowID + var title: String + var thumbnail: NSImage? + var icon: NSImage? + var isHidden: Bool + var isMinimized: Bool + var spaceId: CGSSpaceID? + var spaceIndex: SpaceIndex? + var axUiElement: AXUIElement + var application: Application + var axObserver: AXObserver? + + init(_ axUiElement: AXUIElement, _ application: Application) { + // TODO: make a efficient batched AXUIElementCopyMultipleAttributeValues call once for each window, and store the values + self.axUiElement = axUiElement + self.application = application + self.cgWindowId = axUiElement.cgWindowId() + self.icon = application.runningApplication.icon + self.isHidden = application.runningApplication.isHidden + self.isMinimized = axUiElement.isMinimized() + self.spaceId = Spaces.currentSpaceId + self.spaceIndex = Spaces.currentSpaceIndex + self.title = Window.bestEffortTitle(axUiElement, cgWindowId, application) + debugPrint("Adding window: " + title, application.runningApplication.bundleIdentifier, Spaces.currentSpaceId, Spaces.currentSpaceIndex) + observeEvents() + } + + private func observeEvents() { + AXObserverCreate(application.runningApplication.processIdentifier, axObserverWindowCallback, &axObserver) + guard let axObserver = axObserver else { return } + AXObserverAddNotification(axObserver, axUiElement, kAXUIElementDestroyedNotification as CFString, nil) + AXObserverAddNotification(axObserver, axUiElement, kAXTitleChangedNotification as CFString, nil) + AXObserverAddNotification(axObserver, axUiElement, kAXWindowMiniaturizedNotification as CFString, nil) + AXObserverAddNotification(axObserver, axUiElement, kAXWindowDeminiaturizedNotification as CFString, nil) + CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(axObserver), .defaultMode) + } + + func refreshThumbnail() { + guard let cgImage = cgWindowId.screenshot() else { return } + thumbnail = NSImage(cgImage: cgImage, size: NSSize(width: cgImage.width, height: cgImage.height)) + } + + func focus() { + // implementation notes: the following sequence of actions repeats some calls. This is necessary for + // minimized windows on other spaces, and focuses windows faster (e.g. the Security & Privacy window) + // macOS bug: when switching to a System Preferences window in another space, it switches to that space, + // but quickly switches back to another window in that space + // You can reproduce this buggy behaviour by clicking on the dock icon, proving it's an OS bug + DispatchQueues.focusActions.async { + var elementConnection = UInt32(0) + CGSGetWindowOwner(cgsMainConnectionId, self.cgWindowId, &elementConnection) + var psn = ProcessSerialNumber() + CGSGetConnectionPSN(elementConnection, &psn) + AXUIElementPerformAction(self.axUiElement, kAXRaiseAction as CFString) + self.makeKeyWindow(psn) + _SLPSSetFrontProcessWithOptions(&psn, self.cgWindowId, .userGenerated) + self.makeKeyWindow(psn) + AXUIElementPerformAction(self.axUiElement, kAXRaiseAction as CFString) + } + } + + // The following function was ported from https://github.com/Hammerspoon/hammerspoon/issues/370#issuecomment-545545468 + func makeKeyWindow(_ psn: ProcessSerialNumber) -> Void { + var psn_ = psn + + var bytes1 = [UInt8](repeating: 0, count: 0xf8) + bytes1[0x04] = 0xF8 + bytes1[0x08] = 0x01 + bytes1[0x3a] = 0x10 + + var bytes2 = [UInt8](repeating: 0, count: 0xf8) + bytes2[0x04] = 0xF8 + bytes2[0x08] = 0x02 + bytes2[0x3a] = 0x10 + + memcpy(&bytes1[0x3c], &cgWindowId, MemoryLayout.size) + memset(&bytes1[0x20], 0xFF, 0x10) + memcpy(&bytes2[0x3c], &cgWindowId, MemoryLayout.size) + memset(&bytes2[0x20], 0xFF, 0x10) + + SLPSPostEventRecordTo(&psn_, &(UnsafeMutablePointer(mutating: UnsafePointer(bytes1)).pointee)) + SLPSPostEventRecordTo(&psn_, &(UnsafeMutablePointer(mutating: UnsafePointer(bytes2)).pointee)) + } + + // for some windows (e.g. Slack), the AX API doesn't return a title; we try CG API; finally we resort to the app name + static func bestEffortTitle(_ axUiElement: AXUIElement, _ cgWindowId: CGWindowID, _ application: Application) -> String { + if let axTitle = axUiElement.title(), !axTitle.isEmpty { + return axTitle + } + if let cgTitle = cgWindowId.title(), !cgTitle.isEmpty { + return cgTitle + } + return application.runningApplication.localizedName ?? "" + } +} + +func axObserverWindowCallback(observer: AXObserver, element: AXUIElement, notificationName: CFString, _: UnsafeMutableRawPointer?) -> Void { + let type = notificationName as String + debugPrint("OS event: " + type, element.title()) + switch type { + case kAXUIElementDestroyedNotification: + guard let existingIndex = Windows.listRecentlyUsedFirst.firstIndexThatMatches(element) else { return } + Windows.listRecentlyUsedFirst.remove(at: existingIndex) + guard Windows.listRecentlyUsedFirst.count > 0 else { (App.shared as! App).hideUi(); return } + Windows.moveFocusedWindowIndexAfterWindowDestroyedInBackground(existingIndex) + (App.shared as! App).refreshOpenUi() + case kAXWindowMiniaturizedNotification, kAXWindowDeminiaturizedNotification: + guard let window = Windows.listRecentlyUsedFirst.firstWindowThatMatches(element) else { return } + window.isMinimized = type == kAXWindowMiniaturizedNotification + // TODO: find a better way to get thumbnail of the new window (when AltTab is triggered min/demin animation) + window.refreshThumbnail() + (App.shared as! App).refreshOpenUi() + case kAXTitleChangedNotification: + guard element.isActualWindow(), + let window = Windows.listRecentlyUsedFirst.firstWindowThatMatches(element), + let newTitle = window.axUiElement.title(), + newTitle != window.title else { return } + window.title = newTitle + (App.shared as! App).refreshOpenUi() + default: return + } +} diff --git a/alt-tab-macos/logic/Windows.swift b/alt-tab-macos/logic/Windows.swift new file mode 100644 index 00000000..e89bb088 --- /dev/null +++ b/alt-tab-macos/logic/Windows.swift @@ -0,0 +1,72 @@ +import Cocoa +import Foundation + +class Windows { + static var listRecentlyUsedFirst = [Window]() + static var focusedWindowIndex = Array.Index(0) + + static func focusedWindow() -> Window? { + return listRecentlyUsedFirst.count > focusedWindowIndex ? listRecentlyUsedFirst[focusedWindowIndex] : nil + } + + static func cycleFocusedWindowIndex(_ step: Array.Index) { + focusedWindowIndex = focusedWindowIndex + step < 0 ? listRecentlyUsedFirst.count - 1 : (focusedWindowIndex + step) % listRecentlyUsedFirst.count + } + + static func moveFocusedWindowIndexAfterWindowDestroyedInBackground(_ destroyedWindowIndex: Array.Index) { + if focusedWindowIndex <= destroyedWindowIndex { + focusedWindowIndex -= 1 + return + } + } + + static func moveFocusedWindowIndexAfterWindowCreatedInBackground() { + focusedWindowIndex += 1 + } + + static func updateSpaces() { + let spacesMap = Spaces.allIdsAndIndexes() + for window in listRecentlyUsedFirst { + guard let spaceId = (CGSCopySpacesForWindows(cgsMainConnectionId, CGSSpaceMask.all.rawValue, [window.cgWindowId] as CFArray) as! [CGSSpaceID]).first else { continue } + window.spaceId = spaceId + window.spaceIndex = spacesMap.first { $0.0 == spaceId }!.1 + } + } + + static func sortByLevel() { + var windowLevelMap = [CGWindowID: Int]() + for (index, cgWindowId) in Spaces.windowsInSpaces([Spaces.currentSpaceId]).enumerated() { + windowLevelMap[cgWindowId] = index + } + var sortedTuples = Windows.listRecentlyUsedFirst.map { (windowLevelMap[$0.cgWindowId], $0) } + sortedTuples.sort(by: { + if $0.0 == nil { + return false + } + if $1.0 == nil { + return true + } + return $0.0! < $1.0! + }) + Windows.listRecentlyUsedFirst = sortedTuples.map { $0.1 } + } + + static func refreshAllThumbnails() { + for window in listRecentlyUsedFirst { + window.refreshThumbnail() + } + } +} + +extension Array where Element == Window { + func firstIndexThatMatches(_ element: AXUIElement) -> Self.Index? { + // `CFEqual` is safer than comparing `CGWindowID` because it will succeed even if the window is deallocated + // by the OS, in which case the `CGWindowID` will be `-1` + return firstIndex(where: { CFEqual($0.axUiElement, element) }) + } + + func firstWindowThatMatches(_ element: AXUIElement) -> Window? { + guard let index = firstIndexThatMatches(element) else { return nil } + return self[index] + } +} diff --git a/alt-tab-macos/main.swift b/alt-tab-macos/main.swift index b2c44a5b..2a84c6fe 100644 --- a/alt-tab-macos/main.swift +++ b/alt-tab-macos/main.swift @@ -1,5 +1,5 @@ import AppKit autoreleasepool { - Application.shared.run() + App.shared.run() } diff --git a/alt-tab-macos/ui/Application.swift b/alt-tab-macos/ui/App.swift similarity index 53% rename from alt-tab-macos/ui/Application.swift rename to alt-tab-macos/ui/App.swift index 15d5e6bc..042d42b0 100644 --- a/alt-tab-macos/ui/Application.swift +++ b/alt-tab-macos/ui/App.swift @@ -3,7 +3,7 @@ import Cocoa let cgsMainConnectionId = CGSMainConnectionID() -class Application: NSApplication, NSApplicationDelegate, NSWindowDelegate { +class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { static let name = "AltTab" var statusItem: NSStatusItem? var thumbnailsPanel: ThumbnailsPanel? @@ -27,13 +27,12 @@ class Application: NSApplication, NSApplicationDelegate, NSWindowDelegate { Preferences.loadFromDiskAndUpdateValues() statusItem = StatusItem.make(self) initPreferencesDependentComponents() + Spaces.updateInitialSpace() + Applications.addInitialRunningApplications() + Applications.observeRunningApplications() + Spaces.observeSpaceChanges() + Windows.sortByLevel() Keyboard.listenToGlobalEvents(self) - warmUpThumbnailPanel() - } - - // running this code on startup avoid having the very first invocation be slow for the user - private func warmUpThumbnailPanel() { - thumbnailsPanel!.computeThumbnails(Screen.preferred()) } // we put application code here which should be executed on init() and Preferences change @@ -52,7 +51,8 @@ class Application: NSApplication, NSApplicationDelegate, NSWindowDelegate { debugPrint("focusTarget") if appIsBeingUsed { debugPrint("focusTarget: appIsBeingUsed") - focusSelectedWindow(TrackedWindows.focusedWindow()) + let window = Windows.focusedWindow() + focusSelectedWindow(window) } } @@ -61,7 +61,8 @@ class Application: NSApplication, NSApplicationDelegate, NSWindowDelegate { if preferencesPanel == nil { preferencesPanel = PreferencesPanel() } - Screen.showPanel(preferencesPanel!, Screen.preferred(), .appleCentered) + Screen.repositionPanel(preferencesPanel!, Screen.preferred(), .appleCentered) + Screen.showPanel(preferencesPanel!) } @objc @@ -71,8 +72,8 @@ class Application: NSApplication, NSApplicationDelegate, NSWindowDelegate { } func cycleSelection(_ step: Int) { - TrackedWindows.focusedWindowIndex = TrackedWindows.moveFocusedWindowIndex(step) - self.thumbnailsPanel!.highlightCellAt(step) + Windows.cycleFocusedWindowIndex(step) + thumbnailsPanel!.highlightCell() } func showUiOrCycleSelection(_ step: Int) { @@ -81,25 +82,36 @@ class Application: NSApplication, NSApplicationDelegate, NSWindowDelegate { if isFirstSummon { debugPrint("showUiOrCycleSelection: isFirstSummon") isFirstSummon = false - TrackedWindows.refreshList(step) - if TrackedWindows.list.count == 0 { + if Windows.listRecentlyUsedFirst.count == 0 { appIsBeingUsed = false isFirstSummon = true return } - TrackedWindows.focusedWindowIndex = TrackedWindows.moveFocusedWindowIndex(step) - let currentScreen = Screen.preferred() // fix screen between steps since it could change (e.g. mouse moved to another screen) - if uiWorkShouldBeDone { self.thumbnailsPanel!.computeThumbnails(currentScreen); debugPrint("computeThumbnails") } - if uiWorkShouldBeDone { self.thumbnailsPanel!.highlightCellAt(step); debugPrint("highlightCellAt") } - if uiWorkShouldBeDone { Screen.showPanel(self.thumbnailsPanel!, currentScreen, .appleCentered); debugPrint("showPanel") } + // TODO: find a way to update isSingleSpace by listening to space creation, instead of on every trigger + Spaces.updateIsSingleSpace() + // TODO: find a way to update space index when windows are moved to another space, instead of on every trigger + Windows.updateSpaces() + // TODO: find a way to update thumbnails by listening to content change, instead of every trigger. Or better, switch to video + Windows.refreshAllThumbnails() + Windows.focusedWindowIndex = 0 + Windows.cycleFocusedWindowIndex(step) + refreshOpenUi() + Screen.showPanel(thumbnailsPanel!) } else { debugPrint("showUiOrCycleSelection: !isFirstSummon") cycleSelection(step) } } - func focusSelectedWindow(_ window: TrackedWindow?) { + func refreshOpenUi() { + let currentScreen = Screen.preferred() // fix screen between steps since it could change (e.g. mouse moved to another screen) + if uiWorkShouldBeDone { thumbnailsPanel!.refreshCollectionView(currentScreen); debugPrint("refreshCollectionView") } + if uiWorkShouldBeDone { thumbnailsPanel!.highlightCell(); debugPrint("highlightCellAt") } + if uiWorkShouldBeDone { Screen.repositionPanel(thumbnailsPanel!, currentScreen, .appleCentered); debugPrint("showPanel") } + } + + func focusSelectedWindow(_ window: Window?) { hideUi() - DispatchQueue.global(qos: .userInteractive).async { window?.focus() } + window?.focus() } } diff --git a/alt-tab-macos/ui/Cell.swift b/alt-tab-macos/ui/Cell.swift index 6bcb753f..746e409f 100644 --- a/alt-tab-macos/ui/Cell.swift +++ b/alt-tab-macos/ui/Cell.swift @@ -1,7 +1,7 @@ import Cocoa import WebKit -typealias MouseDownCallback = (TrackedWindow) -> Void +typealias MouseDownCallback = (Window) -> Void typealias MouseMovedCallback = (Cell) -> Void class Cell: NSCollectionViewItem { @@ -11,7 +11,7 @@ class Cell: NSCollectionViewItem { var minimizedIcon = FontIcon(FontIcon.sfSymbolCircledMinusSign, Preferences.fontIconSize, .white) var hiddenIcon = FontIcon(FontIcon.sfSymbolCircledDotSign, Preferences.fontIconSize, .white) var spaceIcon = FontIcon(FontIcon.sfSymbolCircledNumber0, Preferences.fontIconSize, .white) - var openWindow: TrackedWindow? + var openWindow: Window? var mouseDownCallback: MouseDownCallback? var mouseMovedCallback: MouseMovedCallback? @@ -39,7 +39,7 @@ class Cell: NSCollectionViewItem { } } - func updateWithNewContent(_ element: TrackedWindow, _ mouseDownCallback: @escaping MouseDownCallback, _ mouseMovedCallback: @escaping MouseMovedCallback, _ screen: NSScreen) { + func updateWithNewContent(_ element: Window, _ mouseDownCallback: @escaping MouseDownCallback, _ mouseMovedCallback: @escaping MouseMovedCallback, _ screen: NSScreen) { openWindow = element thumbnail.image = element.thumbnail let (width, height) = Cell.computeDownscaledSize(element.thumbnail, screen) @@ -53,7 +53,7 @@ class Cell: NSCollectionViewItem { label.font = Preferences.font! hiddenIcon.isHidden = !openWindow!.isHidden minimizedIcon.isHidden = !openWindow!.isMinimized - spaceIcon.isHidden = element.spaceIndex == nil || Spaces.singleSpace || Preferences.hideSpaceNumberLabels + spaceIcon.isHidden = element.spaceIndex == nil || Spaces.isSingleSpace || Preferences.hideSpaceNumberLabels if !spaceIcon.isHidden { spaceIcon.setNumber(UInt32(element.spaceIndex!)) } diff --git a/alt-tab-macos/ui/PreferencesPanel.swift b/alt-tab-macos/ui/PreferencesPanel.swift index 902ebe4d..d65c9c35 100644 --- a/alt-tab-macos/ui/PreferencesPanel.swift +++ b/alt-tab-macos/ui/PreferencesPanel.swift @@ -13,7 +13,7 @@ class PreferencesPanel: NSPanel, NSWindowDelegate { override init(contentRect: NSRect, styleMask style: StyleMask, backing backingStoreType: BackingStoreType, defer flag: Bool) { let initialRect = NSRect(x: 0, y: 0, width: panelWidth, height: panelHeight) super.init(contentRect: initialRect, styleMask: style, backing: backingStoreType, defer: flag) - title = Application.name + " Preferences" + title = App.name + " Preferences" hidesOnDeactivate = false contentView = makeContentView() } @@ -201,7 +201,7 @@ class PreferencesPanel: NSPanel, NSWindowDelegate { throw NSError.make(domain: "Preferences", message: "Please enter a valid value for '" + key + "'") } try Preferences.updateAndValidateFromString(key, newValue) - (NSApp as! Application).initPreferencesDependentComponents() + (NSApp as! App).initPreferencesDependentComponents() try Preferences.saveRawToDisk() } catch let error { debugPrint("PreferencesPanel: save: error", key, newValue, error) diff --git a/alt-tab-macos/ui/StatusItem.swift b/alt-tab-macos/ui/StatusItem.swift index 27995e4b..6071d47f 100644 --- a/alt-tab-macos/ui/StatusItem.swift +++ b/alt-tab-macos/ui/StatusItem.swift @@ -1,21 +1,21 @@ import Cocoa class StatusItem { - static func make(_ application: Application) -> NSStatusItem { + static func make(_ app: App) -> NSStatusItem { let item = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) - item.button!.title = Application.name + item.button!.title = App.name item.menu = NSMenu() item.menu!.addItem( withTitle: "Show", - action: #selector(application.showUi), + action: #selector(app.showUi), keyEquivalent: "s" ) item.menu!.addItem( withTitle: "Preferences…", - action: #selector(application.showPreferencesPanel), + action: #selector(app.showPreferencesPanel), keyEquivalent: ",") item.menu!.addItem( - withTitle: "Quit \(Application.name) #VERSION#", + withTitle: "Quit \(App.name) #VERSION#", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q") return item diff --git a/alt-tab-macos/ui/ThumbnailsPanel.swift b/alt-tab-macos/ui/ThumbnailsPanel.swift index 9cf88b46..9411153f 100644 --- a/alt-tab-macos/ui/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/ThumbnailsPanel.swift @@ -3,7 +3,7 @@ import Cocoa class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDelegate, NSCollectionViewDelegateFlowLayout { var backgroundView: NSVisualEffectView? var collectionView_: NSCollectionView! - var application: Application? + var app: App? let cellId = NSUserInterfaceItemIdentifier("Cell") var currentScreen: NSScreen? @@ -11,9 +11,9 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele super.init(contentRect: contentRect, styleMask: style, backing: backingStoreType, defer: flag) } - convenience init(_ application: Application) { + convenience init(_ app: App) { self.init() - self.application = application + self.app = app isFloatingPanel = true animationBehavior = .none hidesOnDeactivate = false @@ -26,6 +26,8 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele contentView!.addSubview(backgroundView!) // highest level possible; this allows the app to go on top of context menus level = .screenSaver + // helps filter out this window from the thumbnails + setAccessibilitySubrole(.unknown) } private func makeBackgroundView() -> NSVisualEffectView { @@ -60,38 +62,38 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele } func collectionView(_ collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int { - return TrackedWindows.list.count + return Windows.listRecentlyUsedFirst.count } func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem { let item = collectionView.makeItem(withIdentifier: cellId, for: indexPath) as! Cell - item.updateWithNewContent(TrackedWindows.list[indexPath.item], application!.focusSelectedWindow, application!.thumbnailsPanel!.highlightCell, currentScreen!) + item.updateWithNewContent(Windows.listRecentlyUsedFirst[indexPath.item], app!.focusSelectedWindow, app!.thumbnailsPanel!.highlightCell, currentScreen!) return item } func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> NSSize { - if indexPath.item < TrackedWindows.list.count { - let (width, height) = Cell.computeDownscaledSize(TrackedWindows.list[indexPath.item].thumbnail, currentScreen!) + if indexPath.item < Windows.listRecentlyUsedFirst.count { + let (width, height) = Cell.computeDownscaledSize(Windows.listRecentlyUsedFirst[indexPath.item].thumbnail, currentScreen!) return NSSize(width: CGFloat(width) + Preferences.cellPadding * 2, height: CGFloat(height) + max(Preferences.fontHeight!, Preferences.iconSize!) + Preferences.interItemPadding + Preferences.cellPadding * 2) } return .zero } - func highlightCellAt(_ step: Int) { - collectionView_!.selectItems(at: [IndexPath(item: TrackedWindows.focusedWindowIndex, section: 0)], scrollPosition: .top) - collectionView_!.deselectItems(at: [IndexPath(item: TrackedWindows.moveFocusedWindowIndex(-step), section: 0)]) + func highlightCell() { + collectionView_.deselectAll(nil) + collectionView_!.selectItems(at: [IndexPath(item: Windows.focusedWindowIndex, section: 0)], scrollPosition: .top) } func highlightCell(_ cell: Cell) { let newIndex = collectionView_.indexPath(for: cell)! - if TrackedWindows.focusedWindowIndex != newIndex.item { + if Windows.focusedWindowIndex != newIndex.item { collectionView_!.selectItems(at: [newIndex], scrollPosition: .top) - collectionView_!.deselectItems(at: [IndexPath(item: TrackedWindows.focusedWindowIndex, section: 0)]) - TrackedWindows.focusedWindowIndex = newIndex.item + collectionView_!.deselectItems(at: [IndexPath(item: Windows.focusedWindowIndex, section: 0)]) + Windows.focusedWindowIndex = newIndex.item } } - func computeThumbnails(_ currentScreen: NSScreen) { + func refreshCollectionView(_ currentScreen: NSScreen) { self.currentScreen = currentScreen (collectionView_.collectionViewLayout as! CollectionViewCenterFlowLayout).currentScreen = currentScreen collectionView_!.setFrameSize(Screen.thumbnailPanelMaxSize(currentScreen)) From df98ffca37537921987503777f94ceb245bad7fc Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 10 Jan 2020 10:39:18 +0900 Subject: [PATCH 02/98] fix: ignore trigger shortcuts if mission control is active --- alt-tab-macos/api-wrappers/CGWindow.swift | 9 +++++++++ alt-tab-macos/ui/App.swift | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/alt-tab-macos/api-wrappers/CGWindow.swift b/alt-tab-macos/api-wrappers/CGWindow.swift index ed8b47f8..58d1887d 100644 --- a/alt-tab-macos/api-wrappers/CGWindow.swift +++ b/alt-tab-macos/api-wrappers/CGWindow.swift @@ -8,6 +8,15 @@ extension CGWindow { return CGWindowListCopyWindowInfo([.excludeDesktopElements, option], kCGNullWindowID) as! [CGWindow] } + static func isMissionControlActive() -> Bool { + // when Mission Control is active, the Dock process spawns some windows. We observe this side-effect and infer + for window in windows(.optionOnScreenOnly) { + guard window.ownerName() == "Dock" else { continue } + return true + } + return false + } + // workaround: filtering this criteria seems to remove non-windows UI elements func isNotMenubarOrOthers() -> Bool { return layer() == 0 diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 042d42b0..fdbc9acf 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -82,7 +82,7 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { if isFirstSummon { debugPrint("showUiOrCycleSelection: isFirstSummon") isFirstSummon = false - if Windows.listRecentlyUsedFirst.count == 0 { + if Windows.listRecentlyUsedFirst.count == 0 || CGWindow.isMissionControlActive() { appIsBeingUsed = false isFirstSummon = true return @@ -112,6 +112,7 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { func focusSelectedWindow(_ window: Window?) { hideUi() + guard !CGWindow.isMissionControlActive() else { return } window?.focus() } } From ddc944d0b86630c3ea74825e068a8d08012bad60 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 10 Jan 2020 11:01:56 +0900 Subject: [PATCH 03/98] fix: don't trigger ui refreshes if the app is not active --- alt-tab-macos/logic/Application.swift | 9 +++++---- alt-tab-macos/logic/Window.swift | 9 +++++---- alt-tab-macos/ui/App.swift | 1 + 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/alt-tab-macos/logic/Application.swift b/alt-tab-macos/logic/Application.swift index 751beff9..9a5a670f 100644 --- a/alt-tab-macos/logic/Application.swift +++ b/alt-tab-macos/logic/Application.swift @@ -66,11 +66,12 @@ class Application: NSObject { func axObserverApplicationCallback(observer: AXObserver, element: AXUIElement, notificationName: CFString, applicationPointer: UnsafeMutableRawPointer?) -> Void { let application = Unmanaged.fromOpaque(applicationPointer!).takeUnretainedValue() + let app = App.shared as! App let type = notificationName as String debugPrint("OS event: " + type, element.title()) switch type { case kAXApplicationActivatedNotification: - guard !(App.shared as! App).appIsBeingUsed, + guard !app.appIsBeingUsed, let appFocusedWindow = element.focusedWindow(), let existingIndex = Windows.listRecentlyUsedFirst.firstIndexThatMatches(appFocusedWindow) else { return } Windows.listRecentlyUsedFirst.insert(Windows.listRecentlyUsedFirst.remove(at: existingIndex), at: 0) @@ -79,7 +80,7 @@ func axObserverApplicationCallback(observer: AXObserver, element: AXUIElement, n guard window.application.axUiElement!.pid() == element.pid() else { continue } window.isHidden = type == kAXApplicationHiddenNotification } - (App.shared as! App).refreshOpenUi() + app.refreshOpenUi() case kAXWindowCreatedNotification: guard element.isActualWindow() else { return } // a window being un-minimized can trigger kAXWindowCreatedNotification @@ -89,9 +90,9 @@ func axObserverApplicationCallback(observer: AXObserver, element: AXUIElement, n Windows.moveFocusedWindowIndexAfterWindowCreatedInBackground() // TODO: find a better way to get thumbnail of the new window window.refreshThumbnail() - (App.shared as! App).refreshOpenUi() + app.refreshOpenUi() case kAXFocusedWindowChangedNotification: - guard !(App.shared as! App).appIsBeingUsed, + guard !app.appIsBeingUsed, element.isActualWindow(), let existingIndex = Windows.listRecentlyUsedFirst.firstIndexThatMatches(element) else { return } Windows.listRecentlyUsedFirst.insert(Windows.listRecentlyUsedFirst.remove(at: existingIndex), at: 0) diff --git a/alt-tab-macos/logic/Window.swift b/alt-tab-macos/logic/Window.swift index aa0a841b..8968be9b 100644 --- a/alt-tab-macos/logic/Window.swift +++ b/alt-tab-macos/logic/Window.swift @@ -100,27 +100,28 @@ class Window { func axObserverWindowCallback(observer: AXObserver, element: AXUIElement, notificationName: CFString, _: UnsafeMutableRawPointer?) -> Void { let type = notificationName as String + let app = App.shared as! App debugPrint("OS event: " + type, element.title()) switch type { case kAXUIElementDestroyedNotification: guard let existingIndex = Windows.listRecentlyUsedFirst.firstIndexThatMatches(element) else { return } Windows.listRecentlyUsedFirst.remove(at: existingIndex) - guard Windows.listRecentlyUsedFirst.count > 0 else { (App.shared as! App).hideUi(); return } + guard Windows.listRecentlyUsedFirst.count > 0 else { app.hideUi(); return } Windows.moveFocusedWindowIndexAfterWindowDestroyedInBackground(existingIndex) - (App.shared as! App).refreshOpenUi() + app.refreshOpenUi() case kAXWindowMiniaturizedNotification, kAXWindowDeminiaturizedNotification: guard let window = Windows.listRecentlyUsedFirst.firstWindowThatMatches(element) else { return } window.isMinimized = type == kAXWindowMiniaturizedNotification // TODO: find a better way to get thumbnail of the new window (when AltTab is triggered min/demin animation) window.refreshThumbnail() - (App.shared as! App).refreshOpenUi() + app.refreshOpenUi() case kAXTitleChangedNotification: guard element.isActualWindow(), let window = Windows.listRecentlyUsedFirst.firstWindowThatMatches(element), let newTitle = window.axUiElement.title(), newTitle != window.title else { return } window.title = newTitle - (App.shared as! App).refreshOpenUi() + app.refreshOpenUi() default: return } } diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index fdbc9acf..65c774ed 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -104,6 +104,7 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { } func refreshOpenUi() { + guard appIsBeingUsed else { return } let currentScreen = Screen.preferred() // fix screen between steps since it could change (e.g. mouse moved to another screen) if uiWorkShouldBeDone { thumbnailsPanel!.refreshCollectionView(currentScreen); debugPrint("refreshCollectionView") } if uiWorkShouldBeDone { thumbnailsPanel!.highlightCell(); debugPrint("highlightCellAt") } From 7c52e75e818efc03d2713ff05d665d271eaba62f Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 10 Jan 2020 13:42:00 +0900 Subject: [PATCH 04/98] fix: prevent visual flickering (closes #115) --- alt-tab-macos/ui/ThumbnailsPanel.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/alt-tab-macos/ui/ThumbnailsPanel.swift b/alt-tab-macos/ui/ThumbnailsPanel.swift index 9411153f..843d010e 100644 --- a/alt-tab-macos/ui/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/ThumbnailsPanel.swift @@ -97,7 +97,6 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele self.currentScreen = currentScreen (collectionView_.collectionViewLayout as! CollectionViewCenterFlowLayout).currentScreen = currentScreen collectionView_!.setFrameSize(Screen.thumbnailPanelMaxSize(currentScreen)) - collectionView_!.collectionViewLayout!.invalidateLayout() collectionView_!.reloadData() collectionView_!.layoutSubtreeIfNeeded() setContentSize(NSSize(width: collectionView_!.frame.size.width + Preferences.windowPadding * 2, height: collectionView_!.frame.size.height + Preferences.windowPadding * 2)) From a9e90d138c48667f0bde4abea0b1c4a870cf1796 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 10 Jan 2020 14:08:35 +0900 Subject: [PATCH 05/98] fix: observer leak would throw and crash the app sometimes --- .../api-wrappers/HelperExtensions.swift | 18 +++++++++++++----- alt-tab-macos/logic/Application.swift | 6 +++++- alt-tab-macos/logic/Applications.swift | 4 +++- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/alt-tab-macos/api-wrappers/HelperExtensions.swift b/alt-tab-macos/api-wrappers/HelperExtensions.swift index 7fbe44c1..183530a5 100644 --- a/alt-tab-macos/api-wrappers/HelperExtensions.swift +++ b/alt-tab-macos/api-wrappers/HelperExtensions.swift @@ -15,11 +15,11 @@ extension Optional { // add throw-on-nil method on Optional func orThrow() throws -> Wrapped { switch self { - case .some(let value): - return value - case .none: - Thread.callStackSymbols.forEach { print($0) } - throw NSError.make(domain: "Optional", message: "Optional contained nil") + case .some(let value): + return value + case .none: + Thread.callStackSymbols.forEach { print($0) } + throw NSError.make(domain: "Optional", message: "Optional contained nil") } } } @@ -64,3 +64,11 @@ extension Collection { return flatMap { ($0 as? [Any])?.joined() ?? [$0] } } } + +// removing an objc KVO observer if there is none throws an exception +extension NSObject { + func safeRemoveObserver(_ observer: NSObject, _ key: String) { + guard observationInfo != nil else { return } + removeObserver(observer, forKeyPath: key) + } +} diff --git a/alt-tab-macos/logic/Application.swift b/alt-tab-macos/logic/Application.swift index 9a5a670f..27b1e5e4 100644 --- a/alt-tab-macos/logic/Application.swift +++ b/alt-tab-macos/logic/Application.swift @@ -16,6 +16,10 @@ class Application: NSObject { } } + func removeObserver() { + runningApplication.safeRemoveObserver(self, "isFinishedLaunching") + } + private func addAndObserveWindows() { axUiElement = AXUIElementCreateApplication(runningApplication.processIdentifier) AXObserverCreate(runningApplication.processIdentifier, axObserverApplicationCallback, &axObserver) @@ -44,7 +48,7 @@ class Application: NSObject { override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) { guard let isFinishedLaunching = change![.newKey], isFinishedLaunching as! Bool else { return } - runningApplication.removeObserver(self, forKeyPath: "isFinishedLaunching") + removeObserver() addAndObserveWindows() } diff --git a/alt-tab-macos/logic/Applications.swift b/alt-tab-macos/logic/Applications.swift index 90752981..9b39db89 100644 --- a/alt-tab-macos/logic/Applications.swift +++ b/alt-tab-macos/logic/Applications.swift @@ -30,13 +30,15 @@ class Applications { var someAppsAreAlreadyTerminated = false for runningApp in runningApps { guard runningApp.bundleIdentifier != nil else { someAppsAreAlreadyTerminated = true; continue } - guard Applications.map[runningApp.processIdentifier] != nil else { continue } + guard let app = Applications.map[runningApp.processIdentifier] else { continue } var windowsToKeep = [Window]() for window in Windows.listRecentlyUsedFirst { guard window.application.runningApplication.processIdentifier != runningApp.processIdentifier else { continue } windowsToKeep.append(window) } Windows.listRecentlyUsedFirst = windowsToKeep + // some apps never finish launching; the observer leaks for them without this + app.removeObserver() Applications.map.removeValue(forKey: runningApp.processIdentifier) guard Windows.listRecentlyUsedFirst.count > 0 else { (App.shared as! App).hideUi(); return } // TODO: implement of more sophisticated way to decide which thumbnail gets focused on app quit From d799d8a62808922c38289f78f86f75ffcfe50186 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 10 Jan 2020 14:09:19 +0900 Subject: [PATCH 06/98] fix: quitting multiple apps would refresh the ui multiple times --- alt-tab-macos/logic/Applications.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/alt-tab-macos/logic/Applications.swift b/alt-tab-macos/logic/Applications.swift index 9b39db89..a8b51ac4 100644 --- a/alt-tab-macos/logic/Applications.swift +++ b/alt-tab-macos/logic/Applications.swift @@ -40,10 +40,6 @@ class Applications { // some apps never finish launching; the observer leaks for them without this app.removeObserver() Applications.map.removeValue(forKey: runningApp.processIdentifier) - guard Windows.listRecentlyUsedFirst.count > 0 else { (App.shared as! App).hideUi(); return } - // TODO: implement of more sophisticated way to decide which thumbnail gets focused on app quit - Windows.focusedWindowIndex = 1 - (App.shared as! App).refreshOpenUi() } // sometimes removed `runningApps` are already terminated by the time they reach this method so we can't match their pid in `Applications.map` above // we need to remove them based on their lack of `bundleIdentifier` @@ -51,6 +47,10 @@ class Applications { Windows.listRecentlyUsedFirst.removeAll(where: { $0.application.runningApplication.bundleIdentifier == nil }) Applications.map = Applications.map.filter { $0.value.runningApplication.bundleIdentifier != nil } } + guard Windows.listRecentlyUsedFirst.count > 0 else { (App.shared as! App).hideUi(); return } + // TODO: implement of more sophisticated way to decide which thumbnail gets focused on app quit + Windows.focusedWindowIndex = 1 + (App.shared as! App).refreshOpenUi() } private static func filterApplications(_ apps: [NSRunningApplication]) -> [NSRunningApplication] { From a552decd5ae9d33f5b54fd86aeee6551e8f82c3b Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 10 Jan 2020 15:01:50 +0900 Subject: [PATCH 07/98] fix: quitting apps was not properly removing apps from the list Instead of using the PSN, we now use .equals() to compare 2 NSRunningApplication as recommended by Apple docs --- .../api-wrappers/HelperExtensions.swift | 13 ++++++ alt-tab-macos/logic/Application.swift | 18 ++++----- alt-tab-macos/logic/Applications.swift | 40 ++++++++----------- alt-tab-macos/logic/Window.swift | 10 ++--- alt-tab-macos/logic/Windows.swift | 28 ++++--------- alt-tab-macos/ui/App.swift | 2 +- alt-tab-macos/ui/ThumbnailsPanel.swift | 8 ++-- 7 files changed, 56 insertions(+), 63 deletions(-) diff --git a/alt-tab-macos/api-wrappers/HelperExtensions.swift b/alt-tab-macos/api-wrappers/HelperExtensions.swift index 183530a5..703c804c 100644 --- a/alt-tab-macos/api-wrappers/HelperExtensions.swift +++ b/alt-tab-macos/api-wrappers/HelperExtensions.swift @@ -72,3 +72,16 @@ extension NSObject { removeObserver(observer, forKeyPath: key) } } + +extension Array where Element == Window { + func firstIndexThatMatches(_ element: AXUIElement) -> Self.Index? { + // `CFEqual` is safer than comparing `CGWindowID` because it will succeed even if the window is deallocated + // by the OS, in which case the `CGWindowID` will be `-1` + return firstIndex(where: { CFEqual($0.axUiElement, element) }) + } + + func firstWindowThatMatches(_ element: AXUIElement) -> Window? { + guard let index = firstIndexThatMatches(element) else { return nil } + return self[index] + } +} diff --git a/alt-tab-macos/logic/Application.swift b/alt-tab-macos/logic/Application.swift index 27b1e5e4..9e4fcb61 100644 --- a/alt-tab-macos/logic/Application.swift +++ b/alt-tab-macos/logic/Application.swift @@ -36,7 +36,7 @@ class Application: NSObject { func observeNewWindows() { var newWindows = [AXUIElement]() for window in getActualWindows() { - guard Windows.listRecentlyUsedFirst.firstIndexThatMatches(window) == nil else { continue } + guard Windows.list.firstIndexThatMatches(window) == nil else { continue } newWindows.append(window) } addWindows(newWindows) @@ -53,7 +53,7 @@ class Application: NSObject { } private func addWindows(_ windows: [AXUIElement]) { - Windows.listRecentlyUsedFirst.insert(contentsOf: windows.map { Window($0, self) }, at: 0) + Windows.list.insert(contentsOf: windows.map { Window($0, self) }, at: 0) } private func observeEvents(_ windows: [AXUIElement]) { @@ -77,10 +77,10 @@ func axObserverApplicationCallback(observer: AXObserver, element: AXUIElement, n case kAXApplicationActivatedNotification: guard !app.appIsBeingUsed, let appFocusedWindow = element.focusedWindow(), - let existingIndex = Windows.listRecentlyUsedFirst.firstIndexThatMatches(appFocusedWindow) else { return } - Windows.listRecentlyUsedFirst.insert(Windows.listRecentlyUsedFirst.remove(at: existingIndex), at: 0) + let existingIndex = Windows.list.firstIndexThatMatches(appFocusedWindow) else { return } + Windows.list.insert(Windows.list.remove(at: existingIndex), at: 0) case kAXApplicationHiddenNotification, kAXApplicationShownNotification: - for window in Windows.listRecentlyUsedFirst { + for window in Windows.list { guard window.application.axUiElement!.pid() == element.pid() else { continue } window.isHidden = type == kAXApplicationHiddenNotification } @@ -88,9 +88,9 @@ func axObserverApplicationCallback(observer: AXObserver, element: AXUIElement, n case kAXWindowCreatedNotification: guard element.isActualWindow() else { return } // a window being un-minimized can trigger kAXWindowCreatedNotification - guard Windows.listRecentlyUsedFirst.firstIndexThatMatches(element) == nil else { return } + guard Windows.list.firstIndexThatMatches(element) == nil else { return } let window = Window(element, application) - Windows.listRecentlyUsedFirst.insert(window, at: 0) + Windows.list.insert(window, at: 0) Windows.moveFocusedWindowIndexAfterWindowCreatedInBackground() // TODO: find a better way to get thumbnail of the new window window.refreshThumbnail() @@ -98,8 +98,8 @@ func axObserverApplicationCallback(observer: AXObserver, element: AXUIElement, n case kAXFocusedWindowChangedNotification: guard !app.appIsBeingUsed, element.isActualWindow(), - let existingIndex = Windows.listRecentlyUsedFirst.firstIndexThatMatches(element) else { return } - Windows.listRecentlyUsedFirst.insert(Windows.listRecentlyUsedFirst.remove(at: existingIndex), at: 0) + let existingIndex = Windows.list.firstIndexThatMatches(element) else { return } + Windows.list.insert(Windows.list.remove(at: existingIndex), at: 0) default: return } } diff --git a/alt-tab-macos/logic/Applications.swift b/alt-tab-macos/logic/Applications.swift index a8b51ac4..07aa1363 100644 --- a/alt-tab-macos/logic/Applications.swift +++ b/alt-tab-macos/logic/Applications.swift @@ -2,52 +2,44 @@ import Foundation import Cocoa class Applications { - static var map = [pid_t: Application]() + static var list = [Application]() static var appsObserver = RunningApplicationsObserver() static func addInitialRunningApplications() { addRunningApplications(NSWorkspace.shared.runningApplications) } - static func addRunningApplications(_ runningApps: [NSRunningApplication]) { - for app in filterApplications(runningApps) { - Applications.map[app.processIdentifier] = Application(app) - } - } - static func observeRunningApplications() { NSWorkspace.shared.addObserver(Applications.appsObserver, forKeyPath: "runningApplications", options: [.old, .new], context: nil) } static func reviewRunningApplicationsWindows() { - for app in map.values { + for app in list { guard app.runningApplication.isFinishedLaunching else { continue } app.observeNewWindows() } } - static func removeApplications(_ runningApps: [NSRunningApplication]) { - var someAppsAreAlreadyTerminated = false + static func addRunningApplications(_ runningApps: [NSRunningApplication]) { + for app in filterApplications(runningApps) { + Applications.list.append(Application(app)) + } + } + + static func removeRunningApplications(_ runningApps: [NSRunningApplication]) { for runningApp in runningApps { - guard runningApp.bundleIdentifier != nil else { someAppsAreAlreadyTerminated = true; continue } - guard let app = Applications.map[runningApp.processIdentifier] else { continue } + guard let app = Applications.list.first(where: { $0.runningApplication.isEqual(runningApp) }) else { continue } var windowsToKeep = [Window]() - for window in Windows.listRecentlyUsedFirst { - guard window.application.runningApplication.processIdentifier != runningApp.processIdentifier else { continue } + for window in Windows.list { + guard !window.application.runningApplication.isEqual(runningApp) else { continue } windowsToKeep.append(window) } - Windows.listRecentlyUsedFirst = windowsToKeep + Windows.list = windowsToKeep // some apps never finish launching; the observer leaks for them without this app.removeObserver() - Applications.map.removeValue(forKey: runningApp.processIdentifier) - } - // sometimes removed `runningApps` are already terminated by the time they reach this method so we can't match their pid in `Applications.map` above - // we need to remove them based on their lack of `bundleIdentifier` - if someAppsAreAlreadyTerminated { - Windows.listRecentlyUsedFirst.removeAll(where: { $0.application.runningApplication.bundleIdentifier == nil }) - Applications.map = Applications.map.filter { $0.value.runningApplication.bundleIdentifier != nil } + Applications.list.removeAll(where: { $0.runningApplication.isEqual(runningApp) }) } - guard Windows.listRecentlyUsedFirst.count > 0 else { (App.shared as! App).hideUi(); return } + guard Windows.list.count > 0 else { (App.shared as! App).hideUi(); return } // TODO: implement of more sophisticated way to decide which thumbnail gets focused on app quit Windows.focusedWindowIndex = 1 (App.shared as! App).refreshOpenUi() @@ -71,7 +63,7 @@ class RunningApplicationsObserver: NSObject { case .removal: let apps = change![.oldKey] as! [NSRunningApplication] debugPrint("OS event: apps quit", apps.map { ($0.processIdentifier, $0.bundleIdentifier) }) - Applications.removeApplications(apps) + Applications.removeRunningApplications(apps) default: return } } diff --git a/alt-tab-macos/logic/Window.swift b/alt-tab-macos/logic/Window.swift index 8968be9b..90bfe6a3 100644 --- a/alt-tab-macos/logic/Window.swift +++ b/alt-tab-macos/logic/Window.swift @@ -104,20 +104,20 @@ func axObserverWindowCallback(observer: AXObserver, element: AXUIElement, notifi debugPrint("OS event: " + type, element.title()) switch type { case kAXUIElementDestroyedNotification: - guard let existingIndex = Windows.listRecentlyUsedFirst.firstIndexThatMatches(element) else { return } - Windows.listRecentlyUsedFirst.remove(at: existingIndex) - guard Windows.listRecentlyUsedFirst.count > 0 else { app.hideUi(); return } + guard let existingIndex = Windows.list.firstIndexThatMatches(element) else { return } + Windows.list.remove(at: existingIndex) + guard Windows.list.count > 0 else { app.hideUi(); return } Windows.moveFocusedWindowIndexAfterWindowDestroyedInBackground(existingIndex) app.refreshOpenUi() case kAXWindowMiniaturizedNotification, kAXWindowDeminiaturizedNotification: - guard let window = Windows.listRecentlyUsedFirst.firstWindowThatMatches(element) else { return } + guard let window = Windows.list.firstWindowThatMatches(element) else { return } window.isMinimized = type == kAXWindowMiniaturizedNotification // TODO: find a better way to get thumbnail of the new window (when AltTab is triggered min/demin animation) window.refreshThumbnail() app.refreshOpenUi() case kAXTitleChangedNotification: guard element.isActualWindow(), - let window = Windows.listRecentlyUsedFirst.firstWindowThatMatches(element), + let window = Windows.list.firstWindowThatMatches(element), let newTitle = window.axUiElement.title(), newTitle != window.title else { return } window.title = newTitle diff --git a/alt-tab-macos/logic/Windows.swift b/alt-tab-macos/logic/Windows.swift index e89bb088..97a0b7fb 100644 --- a/alt-tab-macos/logic/Windows.swift +++ b/alt-tab-macos/logic/Windows.swift @@ -2,15 +2,16 @@ import Cocoa import Foundation class Windows { - static var listRecentlyUsedFirst = [Window]() + // order in the array is important: most-recently-used elements are first + static var list = [Window]() static var focusedWindowIndex = Array.Index(0) static func focusedWindow() -> Window? { - return listRecentlyUsedFirst.count > focusedWindowIndex ? listRecentlyUsedFirst[focusedWindowIndex] : nil + return list.count > focusedWindowIndex ? list[focusedWindowIndex] : nil } static func cycleFocusedWindowIndex(_ step: Array.Index) { - focusedWindowIndex = focusedWindowIndex + step < 0 ? listRecentlyUsedFirst.count - 1 : (focusedWindowIndex + step) % listRecentlyUsedFirst.count + focusedWindowIndex = focusedWindowIndex + step < 0 ? list.count - 1 : (focusedWindowIndex + step) % list.count } static func moveFocusedWindowIndexAfterWindowDestroyedInBackground(_ destroyedWindowIndex: Array.Index) { @@ -26,7 +27,7 @@ class Windows { static func updateSpaces() { let spacesMap = Spaces.allIdsAndIndexes() - for window in listRecentlyUsedFirst { + for window in list { guard let spaceId = (CGSCopySpacesForWindows(cgsMainConnectionId, CGSSpaceMask.all.rawValue, [window.cgWindowId] as CFArray) as! [CGSSpaceID]).first else { continue } window.spaceId = spaceId window.spaceIndex = spacesMap.first { $0.0 == spaceId }!.1 @@ -38,7 +39,7 @@ class Windows { for (index, cgWindowId) in Spaces.windowsInSpaces([Spaces.currentSpaceId]).enumerated() { windowLevelMap[cgWindowId] = index } - var sortedTuples = Windows.listRecentlyUsedFirst.map { (windowLevelMap[$0.cgWindowId], $0) } + var sortedTuples = Windows.list.map { (windowLevelMap[$0.cgWindowId], $0) } sortedTuples.sort(by: { if $0.0 == nil { return false @@ -48,25 +49,12 @@ class Windows { } return $0.0! < $1.0! }) - Windows.listRecentlyUsedFirst = sortedTuples.map { $0.1 } + Windows.list = sortedTuples.map { $0.1 } } static func refreshAllThumbnails() { - for window in listRecentlyUsedFirst { + for window in list { window.refreshThumbnail() } } } - -extension Array where Element == Window { - func firstIndexThatMatches(_ element: AXUIElement) -> Self.Index? { - // `CFEqual` is safer than comparing `CGWindowID` because it will succeed even if the window is deallocated - // by the OS, in which case the `CGWindowID` will be `-1` - return firstIndex(where: { CFEqual($0.axUiElement, element) }) - } - - func firstWindowThatMatches(_ element: AXUIElement) -> Window? { - guard let index = firstIndexThatMatches(element) else { return nil } - return self[index] - } -} diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 65c774ed..112cf7de 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -82,7 +82,7 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { if isFirstSummon { debugPrint("showUiOrCycleSelection: isFirstSummon") isFirstSummon = false - if Windows.listRecentlyUsedFirst.count == 0 || CGWindow.isMissionControlActive() { + if Windows.list.count == 0 || CGWindow.isMissionControlActive() { appIsBeingUsed = false isFirstSummon = true return diff --git a/alt-tab-macos/ui/ThumbnailsPanel.swift b/alt-tab-macos/ui/ThumbnailsPanel.swift index 843d010e..8c2094d1 100644 --- a/alt-tab-macos/ui/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/ThumbnailsPanel.swift @@ -62,18 +62,18 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele } func collectionView(_ collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int { - return Windows.listRecentlyUsedFirst.count + return Windows.list.count } func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem { let item = collectionView.makeItem(withIdentifier: cellId, for: indexPath) as! Cell - item.updateWithNewContent(Windows.listRecentlyUsedFirst[indexPath.item], app!.focusSelectedWindow, app!.thumbnailsPanel!.highlightCell, currentScreen!) + item.updateWithNewContent(Windows.list[indexPath.item], app!.focusSelectedWindow, app!.thumbnailsPanel!.highlightCell, currentScreen!) return item } func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> NSSize { - if indexPath.item < Windows.listRecentlyUsedFirst.count { - let (width, height) = Cell.computeDownscaledSize(Windows.listRecentlyUsedFirst[indexPath.item].thumbnail, currentScreen!) + if indexPath.item < Windows.list.count { + let (width, height) = Cell.computeDownscaledSize(Windows.list[indexPath.item].thumbnail, currentScreen!) return NSSize(width: CGFloat(width) + Preferences.cellPadding * 2, height: CGFloat(height) + max(Preferences.fontHeight!, Preferences.iconSize!) + Preferences.interItemPadding + Preferences.cellPadding * 2) } return .zero From 8eeee8329776192550240c835d26766f621814e1 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 10 Jan 2020 15:31:16 +0900 Subject: [PATCH 08/98] refactor: cleaner code --- alt-tab-macos/logic/Application.swift | 82 +++++++++++++++----------- alt-tab-macos/logic/Applications.swift | 7 +-- alt-tab-macos/logic/Screen.swift | 6 +- alt-tab-macos/logic/Window.swift | 69 +++++++++++++--------- alt-tab-macos/ui/Cell.swift | 19 +++--- 5 files changed, 99 insertions(+), 84 deletions(-) diff --git a/alt-tab-macos/logic/Application.swift b/alt-tab-macos/logic/Application.swift index 9e4fcb61..b2969add 100644 --- a/alt-tab-macos/logic/Application.swift +++ b/alt-tab-macos/logic/Application.swift @@ -22,7 +22,7 @@ class Application: NSObject { private func addAndObserveWindows() { axUiElement = AXUIElementCreateApplication(runningApplication.processIdentifier) - AXObserverCreate(runningApplication.processIdentifier, axObserverApplicationCallback, &axObserver) + AXObserverCreate(runningApplication.processIdentifier, axObserverCallback, &axObserver) observeAllWindows() } @@ -59,47 +59,63 @@ class Application: NSObject { private func observeEvents(_ windows: [AXUIElement]) { guard let axObserver = axObserver else { return } let selfPointer = UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()) - AXObserverAddNotification(axObserver, axUiElement!, kAXApplicationActivatedNotification as CFString, selfPointer) - AXObserverAddNotification(axObserver, axUiElement!, kAXFocusedWindowChangedNotification as CFString, selfPointer) - AXObserverAddNotification(axObserver, axUiElement!, kAXWindowCreatedNotification as CFString, selfPointer) - AXObserverAddNotification(axObserver, axUiElement!, kAXApplicationHiddenNotification as CFString, selfPointer) - AXObserverAddNotification(axObserver, axUiElement!, kAXApplicationShownNotification as CFString, selfPointer) + for notification in [ + kAXApplicationActivatedNotification, + kAXFocusedWindowChangedNotification, + kAXWindowCreatedNotification, + kAXApplicationHiddenNotification, + kAXApplicationShownNotification, + ] { + AXObserverAddNotification(axObserver, axUiElement!, notification as CFString, selfPointer) + } CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(axObserver), .defaultMode) } } -func axObserverApplicationCallback(observer: AXObserver, element: AXUIElement, notificationName: CFString, applicationPointer: UnsafeMutableRawPointer?) -> Void { +private func axObserverCallback(observer: AXObserver, element: AXUIElement, notificationName: CFString, applicationPointer: UnsafeMutableRawPointer?) -> Void { let application = Unmanaged.fromOpaque(applicationPointer!).takeUnretainedValue() let app = App.shared as! App let type = notificationName as String debugPrint("OS event: " + type, element.title()) switch type { - case kAXApplicationActivatedNotification: - guard !app.appIsBeingUsed, - let appFocusedWindow = element.focusedWindow(), - let existingIndex = Windows.list.firstIndexThatMatches(appFocusedWindow) else { return } - Windows.list.insert(Windows.list.remove(at: existingIndex), at: 0) - case kAXApplicationHiddenNotification, kAXApplicationShownNotification: - for window in Windows.list { - guard window.application.axUiElement!.pid() == element.pid() else { continue } - window.isHidden = type == kAXApplicationHiddenNotification - } - app.refreshOpenUi() - case kAXWindowCreatedNotification: - guard element.isActualWindow() else { return } - // a window being un-minimized can trigger kAXWindowCreatedNotification - guard Windows.list.firstIndexThatMatches(element) == nil else { return } - let window = Window(element, application) - Windows.list.insert(window, at: 0) - Windows.moveFocusedWindowIndexAfterWindowCreatedInBackground() - // TODO: find a better way to get thumbnail of the new window - window.refreshThumbnail() - app.refreshOpenUi() - case kAXFocusedWindowChangedNotification: - guard !app.appIsBeingUsed, - element.isActualWindow(), - let existingIndex = Windows.list.firstIndexThatMatches(element) else { return } - Windows.list.insert(Windows.list.remove(at: existingIndex), at: 0) + case kAXApplicationActivatedNotification: eventApplicationActivated(app, element) + case kAXApplicationHiddenNotification, kAXApplicationShownNotification: eventApplicationHiddenOrShown(app, element, type) + case kAXWindowCreatedNotification: eventWindowCreated(app, element, application) + case kAXFocusedWindowChangedNotification: eventFocusedWindowChanged(app, element) default: return } } + +private func eventApplicationActivated(_ app: App, _ element: AXUIElement) { + guard !app.appIsBeingUsed, + let appFocusedWindow = element.focusedWindow(), + let existingIndex = Windows.list.firstIndexThatMatches(appFocusedWindow) else { return } + Windows.list.insert(Windows.list.remove(at: existingIndex), at: 0) +} + +private func eventApplicationHiddenOrShown(_ app: App, _ element: AXUIElement, _ type: String) { + for window in Windows.list { + guard window.application.axUiElement!.pid() == element.pid() else { continue } + window.isHidden = type == kAXApplicationHiddenNotification + } + app.refreshOpenUi() +} + +private func eventWindowCreated(_ app: App, _ element: AXUIElement, _ application: Application) { + guard element.isActualWindow() else { return } + // a window being un-minimized can trigger kAXWindowCreatedNotification + guard Windows.list.firstIndexThatMatches(element) == nil else { return } + let window = Window(element, application) + Windows.list.insert(window, at: 0) + Windows.moveFocusedWindowIndexAfterWindowCreatedInBackground() + // TODO: find a better way to get thumbnail of the new window + window.refreshThumbnail() + app.refreshOpenUi() +} + +private func eventFocusedWindowChanged(_ app: App, _ element: AXUIElement) { + guard !app.appIsBeingUsed, + element.isActualWindow(), + let existingIndex = Windows.list.firstIndexThatMatches(element) else { return } + Windows.list.insert(Windows.list.remove(at: existingIndex), at: 0) +} \ No newline at end of file diff --git a/alt-tab-macos/logic/Applications.swift b/alt-tab-macos/logic/Applications.swift index 07aa1363..7b570979 100644 --- a/alt-tab-macos/logic/Applications.swift +++ b/alt-tab-macos/logic/Applications.swift @@ -29,12 +29,7 @@ class Applications { static func removeRunningApplications(_ runningApps: [NSRunningApplication]) { for runningApp in runningApps { guard let app = Applications.list.first(where: { $0.runningApplication.isEqual(runningApp) }) else { continue } - var windowsToKeep = [Window]() - for window in Windows.list { - guard !window.application.runningApplication.isEqual(runningApp) else { continue } - windowsToKeep.append(window) - } - Windows.list = windowsToKeep + Windows.list.removeAll(where: { $0.application.runningApplication.isEqual(runningApp) }) // some apps never finish launching; the observer leaks for them without this app.removeObserver() Applications.list.removeAll(where: { $0.runningApplication.isEqual(runningApp) }) diff --git a/alt-tab-macos/logic/Screen.swift b/alt-tab-macos/logic/Screen.swift index 210f1f29..3a7504ff 100644 --- a/alt-tab-macos/logic/Screen.swift +++ b/alt-tab-macos/logic/Screen.swift @@ -4,10 +4,8 @@ import Cocoa class Screen { static func preferred() -> NSScreen { switch Preferences.showOnScreen! { - case .MOUSE: - return withMouse() ?? NSScreen.main!; // .main as fall-back - case .MAIN: - return NSScreen.main!; + case .MOUSE: return withMouse() ?? NSScreen.main!; // .main as fall-back + case .MAIN: return NSScreen.main!; } } diff --git a/alt-tab-macos/logic/Window.swift b/alt-tab-macos/logic/Window.swift index 90bfe6a3..07603ea6 100644 --- a/alt-tab-macos/logic/Window.swift +++ b/alt-tab-macos/logic/Window.swift @@ -30,12 +30,16 @@ class Window { } private func observeEvents() { - AXObserverCreate(application.runningApplication.processIdentifier, axObserverWindowCallback, &axObserver) + AXObserverCreate(application.runningApplication.processIdentifier, axObserverCallback, &axObserver) guard let axObserver = axObserver else { return } - AXObserverAddNotification(axObserver, axUiElement, kAXUIElementDestroyedNotification as CFString, nil) - AXObserverAddNotification(axObserver, axUiElement, kAXTitleChangedNotification as CFString, nil) - AXObserverAddNotification(axObserver, axUiElement, kAXWindowMiniaturizedNotification as CFString, nil) - AXObserverAddNotification(axObserver, axUiElement, kAXWindowDeminiaturizedNotification as CFString, nil) + for notification in [ + kAXUIElementDestroyedNotification, + kAXTitleChangedNotification, + kAXWindowMiniaturizedNotification, + kAXWindowDeminiaturizedNotification, + ] { + AXObserverAddNotification(axObserver, axUiElement, notification as CFString, nil) + } CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(axObserver), .defaultMode) } @@ -66,22 +70,18 @@ class Window { // The following function was ported from https://github.com/Hammerspoon/hammerspoon/issues/370#issuecomment-545545468 func makeKeyWindow(_ psn: ProcessSerialNumber) -> Void { var psn_ = psn - var bytes1 = [UInt8](repeating: 0, count: 0xf8) bytes1[0x04] = 0xF8 bytes1[0x08] = 0x01 bytes1[0x3a] = 0x10 - var bytes2 = [UInt8](repeating: 0, count: 0xf8) bytes2[0x04] = 0xF8 bytes2[0x08] = 0x02 bytes2[0x3a] = 0x10 - memcpy(&bytes1[0x3c], &cgWindowId, MemoryLayout.size) memset(&bytes1[0x20], 0xFF, 0x10) memcpy(&bytes2[0x3c], &cgWindowId, MemoryLayout.size) memset(&bytes2[0x20], 0xFF, 0x10) - SLPSPostEventRecordTo(&psn_, &(UnsafeMutablePointer(mutating: UnsafePointer(bytes1)).pointee)) SLPSPostEventRecordTo(&psn_, &(UnsafeMutablePointer(mutating: UnsafePointer(bytes2)).pointee)) } @@ -98,30 +98,41 @@ class Window { } } -func axObserverWindowCallback(observer: AXObserver, element: AXUIElement, notificationName: CFString, _: UnsafeMutableRawPointer?) -> Void { +private func axObserverCallback(observer: AXObserver, element: AXUIElement, notificationName: CFString, _: UnsafeMutableRawPointer?) -> Void { let type = notificationName as String let app = App.shared as! App debugPrint("OS event: " + type, element.title()) switch type { - case kAXUIElementDestroyedNotification: - guard let existingIndex = Windows.list.firstIndexThatMatches(element) else { return } - Windows.list.remove(at: existingIndex) - guard Windows.list.count > 0 else { app.hideUi(); return } - Windows.moveFocusedWindowIndexAfterWindowDestroyedInBackground(existingIndex) - app.refreshOpenUi() - case kAXWindowMiniaturizedNotification, kAXWindowDeminiaturizedNotification: - guard let window = Windows.list.firstWindowThatMatches(element) else { return } - window.isMinimized = type == kAXWindowMiniaturizedNotification - // TODO: find a better way to get thumbnail of the new window (when AltTab is triggered min/demin animation) - window.refreshThumbnail() - app.refreshOpenUi() - case kAXTitleChangedNotification: - guard element.isActualWindow(), - let window = Windows.list.firstWindowThatMatches(element), - let newTitle = window.axUiElement.title(), - newTitle != window.title else { return } - window.title = newTitle - app.refreshOpenUi() + case kAXUIElementDestroyedNotification: eventWindowDestroyed(app, element) + case kAXWindowMiniaturizedNotification, kAXWindowDeminiaturizedNotification: eventWindowMiniaturizedOrDeminiaturized(app, element, type) + case kAXTitleChangedNotification: eventWindowTitleChanged(app, element) default: return } } + +private func eventWindowDestroyed(_ app: App, _ element: AXUIElement) { + guard let existingIndex = Windows.list.firstIndexThatMatches(element) else { return } + Windows.list.remove(at: existingIndex) + guard Windows.list.count > 0 else { app.hideUi(); return } + Windows.moveFocusedWindowIndexAfterWindowDestroyedInBackground(existingIndex) + app.refreshOpenUi() +} + +private func eventWindowMiniaturizedOrDeminiaturized(_ app: App, _ element: AXUIElement, _ type: String) { + guard let window = Windows.list.firstWindowThatMatches(element) else { return } + window.isMinimized = type == kAXWindowMiniaturizedNotification + // TODO: find a better way to get thumbnail of the new window (when AltTab is triggered min/demin animation) + window.refreshThumbnail() + app.refreshOpenUi() +} + +private func eventWindowTitleChanged(_ app: App, _ element: AXUIElement) { + guard element.isActualWindow(), + let window = Windows.list.firstWindowThatMatches(element), + let newTitle = window.axUiElement.title(), + newTitle != window.title else { return } + window.title = newTitle + app.refreshOpenUi() +} + + diff --git a/alt-tab-macos/ui/Cell.swift b/alt-tab-macos/ui/Cell.swift index 746e409f..30f826cd 100644 --- a/alt-tab-macos/ui/Cell.swift +++ b/alt-tab-macos/ui/Cell.swift @@ -11,7 +11,7 @@ class Cell: NSCollectionViewItem { var minimizedIcon = FontIcon(FontIcon.sfSymbolCircledMinusSign, Preferences.fontIconSize, .white) var hiddenIcon = FontIcon(FontIcon.sfSymbolCircledDotSign, Preferences.fontIconSize, .white) var spaceIcon = FontIcon(FontIcon.sfSymbolCircledNumber0, Preferences.fontIconSize, .white) - var openWindow: Window? + var window: Window? var mouseDownCallback: MouseDownCallback? var mouseMovedCallback: MouseMovedCallback? @@ -29,7 +29,7 @@ class Cell: NSCollectionViewItem { } override func mouseDown(with theEvent: NSEvent) { - mouseDownCallback!(openWindow!) + mouseDownCallback!(window!) } override var isSelected: Bool { @@ -40,7 +40,7 @@ class Cell: NSCollectionViewItem { } func updateWithNewContent(_ element: Window, _ mouseDownCallback: @escaping MouseDownCallback, _ mouseMovedCallback: @escaping MouseMovedCallback, _ screen: NSScreen) { - openWindow = element + window = element thumbnail.image = element.thumbnail let (width, height) = Cell.computeDownscaledSize(element.thumbnail, screen) thumbnail.image?.size = NSSize(width: width, height: height) @@ -51,8 +51,8 @@ class Cell: NSCollectionViewItem { label.string = element.title // workaround: setting string on NSTextView change the font (most likely a Cocoa bug) label.font = Preferences.font! - hiddenIcon.isHidden = !openWindow!.isHidden - minimizedIcon.isHidden = !openWindow!.isMinimized + hiddenIcon.isHidden = !window!.isHidden + minimizedIcon.isHidden = !window!.isMinimized spaceIcon.isHidden = element.spaceIndex == nil || Spaces.isSingleSpace || Preferences.hideSpaceNumberLabels if !spaceIcon.isHidden { spaceIcon.setNumber(UInt32(element.spaceIndex!)) @@ -92,11 +92,7 @@ class Cell: NSCollectionViewItem { private func makeHStackView() -> NSStackView { let hStackView = NSStackView() hStackView.spacing = Preferences.interItemPadding - hStackView.addView(appIcon, in: .leading) - hStackView.addView(label, in: .leading) - hStackView.addView(hiddenIcon, in: .leading) - hStackView.addView(minimizedIcon, in: .leading) - hStackView.addView(spaceIcon, in: .leading) + hStackView.setViews([appIcon, label, hiddenIcon, minimizedIcon, spaceIcon], in: .leading) return hStackView } @@ -110,8 +106,7 @@ class Cell: NSCollectionViewItem { vStackView.edgeInsets = NSEdgeInsets(top: Preferences.cellPadding, left: Preferences.cellPadding, bottom: Preferences.cellPadding, right: Preferences.cellPadding) vStackView.orientation = .vertical vStackView.spacing = Preferences.interItemPadding - vStackView.addView(hStackView, in: .leading) - vStackView.addView(thumbnail, in: .leading) + vStackView.setViews([hStackView, thumbnail], in: .leading) return vStackView } } From 76a1fc7910206ad2bc75de2bdec79e58705d394d Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 10 Jan 2020 15:33:34 +0900 Subject: [PATCH 09/98] fix: compare correctly since pid can go away when an app dies --- alt-tab-macos/logic/Application.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alt-tab-macos/logic/Application.swift b/alt-tab-macos/logic/Application.swift index b2969add..5e7924cf 100644 --- a/alt-tab-macos/logic/Application.swift +++ b/alt-tab-macos/logic/Application.swift @@ -95,7 +95,7 @@ private func eventApplicationActivated(_ app: App, _ element: AXUIElement) { private func eventApplicationHiddenOrShown(_ app: App, _ element: AXUIElement, _ type: String) { for window in Windows.list { - guard window.application.axUiElement!.pid() == element.pid() else { continue } + guard CFEqual(window.application.axUiElement!, element) else { continue } window.isHidden = type == kAXApplicationHiddenNotification } app.refreshOpenUi() From 35b48b998073ab74ffc703fab2379637e41889f8 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Tue, 14 Jan 2020 08:59:07 +0900 Subject: [PATCH 10/98] fix: dock being shown was blocking alt-tab --- alt-tab-macos/api-wrappers/CGWindow.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alt-tab-macos/api-wrappers/CGWindow.swift b/alt-tab-macos/api-wrappers/CGWindow.swift index 58d1887d..658462da 100644 --- a/alt-tab-macos/api-wrappers/CGWindow.swift +++ b/alt-tab-macos/api-wrappers/CGWindow.swift @@ -11,7 +11,7 @@ extension CGWindow { static func isMissionControlActive() -> Bool { // when Mission Control is active, the Dock process spawns some windows. We observe this side-effect and infer for window in windows(.optionOnScreenOnly) { - guard window.ownerName() == "Dock" else { continue } + guard window.ownerName() == "Dock", window.title() == nil else { continue } return true } return false From faa707e2fb346345483933eb9ed504b7861db459 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Tue, 14 Jan 2020 10:38:18 +0900 Subject: [PATCH 11/98] fix: better focus/order for preferences (closes #80) --- alt-tab-macos.xcodeproj/project.pbxproj | 8 ++-- alt-tab-macos/logic/Screen.swift | 12 ++---- alt-tab-macos/ui/App.swift | 10 ++--- ...cesPanel.swift => PreferencesWindow.swift} | 37 +++++++++++-------- alt-tab-macos/ui/ThumbnailsPanel.swift | 4 ++ 5 files changed, 38 insertions(+), 33 deletions(-) rename alt-tab-macos/ui/{PreferencesPanel.swift => PreferencesWindow.swift} (91%) diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index d1ef77b6..f09efe9a 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -20,7 +20,7 @@ D04BA4D356055A39B97712DE /* PrivateApis.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF0DFC1F44322973CE1E /* PrivateApis.swift */; }; D04BA57A871B7269BEBAFF84 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA35456DA0DDA74F9687E /* Keyboard.swift */; }; D04BA57FB9EF1373D59A1AA7 /* CGWindowID.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAEA3EDC4F80FA23DBEC4 /* CGWindowID.swift */; }; - D04BA6368E681BE3A408AC99 /* PreferencesPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA02F476DE30C4647886C /* PreferencesPanel.swift */; }; + D04BA6368E681BE3A408AC99 /* PreferencesWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA02F476DE30C4647886C /* PreferencesWindow.swift */; }; D04BA6B6B703DCEFE892D5A4 /* Spaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA5EB5ED248C8C22CC672 /* Spaces.swift */; }; D04BA70FF7262BF5F9E6E13B /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */; }; D04BA8373D4DE452C0C081ED /* SF-Pro-Text-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */; }; @@ -39,7 +39,7 @@ /* Begin PBXFileReference section */ 4807A6C523A9CD190052A53E /* SkyLight.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SkyLight.framework; path = ../../../../System/Library/PrivateFrameworks/SkyLight.framework; sourceTree = ""; }; - D04BA02F476DE30C4647886C /* PreferencesPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreferencesPanel.swift; sourceTree = ""; }; + D04BA02F476DE30C4647886C /* PreferencesWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreferencesWindow.swift; sourceTree = ""; }; D04BA0AF7C5DCF367FBB663C /* StatusItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StatusItem.swift; sourceTree = ""; }; D04BA0CE87BE264C52987ED1 /* 7 windows - 2 lines - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - wide window.jpg"; sourceTree = ""; }; D04BA0E1C5DBC07108AC2F54 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; @@ -244,7 +244,7 @@ D04BA3202A2C22C347E849B3 /* CollectionViewCenterFlowLayout.swift */, D04BA56355579F78776E6D51 /* Cell.swift */, D04BA90C6C36DB1D65BC2B66 /* App.swift */, - D04BA02F476DE30C4647886C /* PreferencesPanel.swift */, + D04BA02F476DE30C4647886C /* PreferencesWindow.swift */, D04BAE5BBE182DD5DDFE2E3E /* ThumbnailsPanel.swift */, D04BA0AF7C5DCF367FBB663C /* StatusItem.swift */, D04BAD32E130E4A061DC8332 /* Labels.swift */, @@ -363,7 +363,7 @@ D04BA278D9EFA568C8D18A4C /* Windows.swift in Sources */, D04BA3261C7DA5F48310E654 /* App.swift in Sources */, D04BA70FF7262BF5F9E6E13B /* Preferences.swift in Sources */, - D04BA6368E681BE3A408AC99 /* PreferencesPanel.swift in Sources */, + D04BA6368E681BE3A408AC99 /* PreferencesWindow.swift in Sources */, D04BA9119E2329DB5A35B3C7 /* ThumbnailsPanel.swift in Sources */, D04BA8EBC0365A019A27C7EA /* Screen.swift in Sources */, D04BA9CCE02D30C8164A552A /* SystemPermissions.swift in Sources */, diff --git a/alt-tab-macos/logic/Screen.swift b/alt-tab-macos/logic/Screen.swift index 3a7504ff..37d44a3c 100644 --- a/alt-tab-macos/logic/Screen.swift +++ b/alt-tab-macos/logic/Screen.swift @@ -25,18 +25,12 @@ class Screen { return NSSize(width: frame.width * Preferences.maxScreenUsage!, height: frame.height * Preferences.maxScreenUsage!) } - static func repositionPanel(_ panel: NSPanel, _ screen: NSScreen, _ alignment: VerticalAlignment) { + static func repositionPanel(_ window: NSWindow, _ screen: NSScreen, _ alignment: VerticalAlignment) { let screenFrame = screen.visibleFrame - let panelFrame = panel.frame + let panelFrame = window.frame let x = screenFrame.minX + max(screenFrame.width - panelFrame.width, 0) * 0.5 let y = screenFrame.minY + max(screenFrame.height - panelFrame.height, 0) * alignment.rawValue - panel.setFrameOrigin(NSPoint(x: x, y: y)) - } - - static func showPanel(_ panel: NSPanel) { - let panelFrame = panel.frame - panel.makeKeyAndOrderFront(nil) - App.shared.arrangeInFront(nil) + window.setFrameOrigin(NSPoint(x: x, y: y)) } static func mainUuid() -> CFString { diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 112cf7de..4f13c776 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -7,7 +7,7 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { static let name = "AltTab" var statusItem: NSStatusItem? var thumbnailsPanel: ThumbnailsPanel? - var preferencesPanel: PreferencesPanel? + var preferencesPanel: PreferencesWindow? var uiWorkShouldBeDone = true var isFirstSummon = true var appIsBeingUsed = false @@ -59,10 +59,10 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { @objc func showPreferencesPanel() { if preferencesPanel == nil { - preferencesPanel = PreferencesPanel() + preferencesPanel = PreferencesWindow() } Screen.repositionPanel(preferencesPanel!, Screen.preferred(), .appleCentered) - Screen.showPanel(preferencesPanel!) + preferencesPanel?.show() } @objc @@ -96,7 +96,7 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { Windows.focusedWindowIndex = 0 Windows.cycleFocusedWindowIndex(step) refreshOpenUi() - Screen.showPanel(thumbnailsPanel!) + thumbnailsPanel?.show() } else { debugPrint("showUiOrCycleSelection: !isFirstSummon") cycleSelection(step) @@ -108,7 +108,7 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { let currentScreen = Screen.preferred() // fix screen between steps since it could change (e.g. mouse moved to another screen) if uiWorkShouldBeDone { thumbnailsPanel!.refreshCollectionView(currentScreen); debugPrint("refreshCollectionView") } if uiWorkShouldBeDone { thumbnailsPanel!.highlightCell(); debugPrint("highlightCellAt") } - if uiWorkShouldBeDone { Screen.repositionPanel(thumbnailsPanel!, currentScreen, .appleCentered); debugPrint("showPanel") } + if uiWorkShouldBeDone { Screen.repositionPanel(thumbnailsPanel!, currentScreen, .appleCentered); debugPrint("repositionPanel") } } func focusSelectedWindow(_ window: Window?) { diff --git a/alt-tab-macos/ui/PreferencesPanel.swift b/alt-tab-macos/ui/PreferencesWindow.swift similarity index 91% rename from alt-tab-macos/ui/PreferencesPanel.swift rename to alt-tab-macos/ui/PreferencesWindow.swift index d65c9c35..261290b0 100644 --- a/alt-tab-macos/ui/PreferencesPanel.swift +++ b/alt-tab-macos/ui/PreferencesWindow.swift @@ -1,23 +1,30 @@ import Cocoa import Foundation -class PreferencesPanel: NSPanel, NSWindowDelegate { - let panelWidth = CGFloat(496) - let panelHeight = CGFloat(256) // auto expands to content height (but does not auto shrink) - let panelPadding = CGFloat(40) +class PreferencesWindow: NSWindow, NSWindowDelegate { + let width = CGFloat(496) + let height = CGFloat(256) // auto expands to content height (but does not auto shrink) + let padding = CGFloat(40) var labelWidth: CGFloat { - return (panelWidth - panelPadding) * CGFloat(0.45) + return (width - padding) * CGFloat(0.45) } var windowCloseRequested = false override init(contentRect: NSRect, styleMask style: StyleMask, backing backingStoreType: BackingStoreType, defer flag: Bool) { - let initialRect = NSRect(x: 0, y: 0, width: panelWidth, height: panelHeight) + let initialRect = NSRect(x: 0, y: 0, width: width, height: height) super.init(contentRect: initialRect, styleMask: style, backing: backingStoreType, defer: flag) title = App.name + " Preferences" hidesOnDeactivate = false + isReleasedWhenClosed = false + styleMask.insert([.miniaturizable, .closable]) contentView = makeContentView() } + func show() { + App.shared.activate(ignoringOtherApps: true) + makeKeyAndOrderFront(nil) + } + public func windowShouldClose(_ sender: NSWindow) -> Bool { windowCloseRequested = true challengeNextInvalidEditableTextField() @@ -46,11 +53,11 @@ class PreferencesPanel: NSPanel, NSWindowDelegate { // visual setup wrappingView.orientation = .vertical wrappingView.alignment = .left - wrappingView.spacing = panelPadding * 0.3 - wrappingView.topAnchor.constraint(equalTo: contentView.topAnchor, constant: panelPadding * 0.5).isActive = true - wrappingView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: panelPadding * -0.5).isActive = true - wrappingView.leftAnchor.constraint(equalTo: contentView.leftAnchor, constant: panelPadding * 0.5).isActive = true - wrappingView.rightAnchor.constraint(equalTo: contentView.rightAnchor, constant: panelPadding * -0.5).isActive = true + wrappingView.spacing = padding * 0.3 + wrappingView.topAnchor.constraint(equalTo: contentView.topAnchor, constant: padding * 0.5).isActive = true + wrappingView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: padding * -0.5).isActive = true + wrappingView.leftAnchor.constraint(equalTo: contentView.leftAnchor, constant: padding * 0.5).isActive = true + wrappingView.rightAnchor.constraint(equalTo: contentView.rightAnchor, constant: padding * -0.5).isActive = true return contentView } @@ -204,7 +211,7 @@ class PreferencesPanel: NSPanel, NSWindowDelegate { (NSApp as! App).initPreferencesDependentComponents() try Preferences.saveRawToDisk() } catch let error { - debugPrint("PreferencesPanel: save: error", key, newValue, error) + debugPrint("PreferencesWindow: save: error", key, newValue, error) showSaveErrorSheetModal(error as NSError, senderControl, key, previousValue) // allows recursive call by user choice } } @@ -219,11 +226,11 @@ class PreferencesPanel: NSPanel, NSWindowDelegate { alert.beginSheetModal(for: self, completionHandler: { (modalResponse: NSApplication.ModalResponse) -> Void in if modalResponse == NSApplication.ModalResponse.alertFirstButtonReturn { - debugPrint("PreferencesPanel: save: error: user choice: edit") + debugPrint("PreferencesWindow: save: error: user choice: edit") self.windowCloseRequested = false } if modalResponse == NSApplication.ModalResponse.alertSecondButtonReturn { - debugPrint("PreferencesPanel: save: error: user choice: cancel -> revert value and eventually close window") + debugPrint("PreferencesWindow: save: error: user choice: cancel -> revert value and eventually close window") try! Preferences.updateAndValidateFromString(key, previousValue) self.setControlValue(control, previousValue) self.updateControlExtras(control, previousValue) @@ -232,7 +239,7 @@ class PreferencesPanel: NSPanel, NSWindowDelegate { } } if modalResponse == NSApplication.ModalResponse.alertThirdButtonReturn { - debugPrint("PreferencesPanel: save: error: user choice: check again") + debugPrint("PreferencesWindow: save: error: user choice: check again") self.controlWasChanged(senderControl: control) } }) diff --git a/alt-tab-macos/ui/ThumbnailsPanel.swift b/alt-tab-macos/ui/ThumbnailsPanel.swift index 8c2094d1..c39677e8 100644 --- a/alt-tab-macos/ui/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/ThumbnailsPanel.swift @@ -30,6 +30,10 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele setAccessibilitySubrole(.unknown) } + func show() { + makeKeyAndOrderFront(nil) + } + private func makeBackgroundView() -> NSVisualEffectView { let backgroundView = NSVisualEffectView() backgroundView.translatesAutoresizingMaskIntoConstraints = false From 1ed94577ef85f7a58a4f1f150853624bd9728dbd Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Tue, 14 Jan 2020 12:21:09 +0900 Subject: [PATCH 12/98] fix: handle on-all-spaces windows better --- alt-tab-macos/logic/Applications.swift | 8 +++++++- alt-tab-macos/logic/Spaces.swift | 13 ++++--------- alt-tab-macos/logic/Window.swift | 2 ++ alt-tab-macos/logic/Windows.swift | 13 ++++++++++--- alt-tab-macos/ui/App.swift | 5 +++-- alt-tab-macos/ui/Cell.swift | 6 +++++- alt-tab-macos/ui/FontIcon.swift | 5 +++++ 7 files changed, 36 insertions(+), 16 deletions(-) diff --git a/alt-tab-macos/logic/Applications.swift b/alt-tab-macos/logic/Applications.swift index 7b570979..3f91bc44 100644 --- a/alt-tab-macos/logic/Applications.swift +++ b/alt-tab-macos/logic/Applications.swift @@ -13,11 +13,17 @@ class Applications { NSWorkspace.shared.addObserver(Applications.appsObserver, forKeyPath: "runningApplications", options: [.old, .new], context: nil) } - static func reviewRunningApplicationsWindows() { + static func addInitialRunningApplicationsWindows() { + let windows = Spaces.windowsInSpaces(Spaces.otherSpaces()).filter { window in + return Windows.list.first(where: { $0.cgWindowId == window }) == nil + } + CGSAddWindowsToSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId]) for app in list { guard app.runningApplication.isFinishedLaunching else { continue } app.observeNewWindows() } + Windows.sortByLevel() + CGSRemoveWindowsFromSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId]) } static func addRunningApplications(_ runningApps: [NSRunningApplication]) { diff --git a/alt-tab-macos/logic/Spaces.swift b/alt-tab-macos/logic/Spaces.swift index 61a7ace3..38a4c2e7 100644 --- a/alt-tab-macos/logic/Spaces.swift +++ b/alt-tab-macos/logic/Spaces.swift @@ -10,10 +10,6 @@ class Spaces { static func observeSpaceChanges() { NSWorkspace.shared.notificationCenter.addObserver(forName: NSWorkspace.activeSpaceDidChangeNotification, object: nil, queue: nil, using: { _ in updateCurrentSpace() - guard visitedSpaces[Spaces.currentSpaceId] == nil else { return } - visitedSpaces[Spaces.currentSpaceId] = true - // when visiting a space for the first time, we review windows that we could not gather before the visit, from the other space - Applications.reviewRunningApplicationsWindows() }) } @@ -23,17 +19,16 @@ class Spaces { debugPrint("current space", Spaces.currentSpaceId) } - static func updateInitialSpace() { - updateCurrentSpace() - visitedSpaces[Spaces.currentSpaceId] = true - } - static func allIdsAndIndexes() -> [(CGSSpaceID, SpaceIndex)] { return (CGSCopyManagedDisplaySpaces(cgsMainConnectionId) as! [NSDictionary]) .map { return $0["Spaces"] }.joined().enumerated() .map { (($0.element as! NSDictionary)["id64"]! as! CGSSpaceID, $0.offset + 1) } } + static func otherSpaces() -> [CGSSpaceID] { + return allIdsAndIndexes().filter { $0.0 != Spaces.currentSpaceId }.map { $0.0 } + } + static func windowsInSpaces(_ spaceIds: [CGSSpaceID]) -> [CGWindowID] { var set_tags = UInt64(0) var clear_tags = UInt64(0) diff --git a/alt-tab-macos/logic/Window.swift b/alt-tab-macos/logic/Window.swift index 07603ea6..2bca10ba 100644 --- a/alt-tab-macos/logic/Window.swift +++ b/alt-tab-macos/logic/Window.swift @@ -8,6 +8,7 @@ class Window { var icon: NSImage? var isHidden: Bool var isMinimized: Bool + var isOnAllSpaces: Bool var spaceId: CGSSpaceID? var spaceIndex: SpaceIndex? var axUiElement: AXUIElement @@ -24,6 +25,7 @@ class Window { self.isMinimized = axUiElement.isMinimized() self.spaceId = Spaces.currentSpaceId self.spaceIndex = Spaces.currentSpaceIndex + self.isOnAllSpaces = false self.title = Window.bestEffortTitle(axUiElement, cgWindowId, application) debugPrint("Adding window: " + title, application.runningApplication.bundleIdentifier, Spaces.currentSpaceId, Spaces.currentSpaceIndex) observeEvents() diff --git a/alt-tab-macos/logic/Windows.swift b/alt-tab-macos/logic/Windows.swift index 97a0b7fb..7ed1b99a 100644 --- a/alt-tab-macos/logic/Windows.swift +++ b/alt-tab-macos/logic/Windows.swift @@ -28,9 +28,16 @@ class Windows { static func updateSpaces() { let spacesMap = Spaces.allIdsAndIndexes() for window in list { - guard let spaceId = (CGSCopySpacesForWindows(cgsMainConnectionId, CGSSpaceMask.all.rawValue, [window.cgWindowId] as CFArray) as! [CGSSpaceID]).first else { continue } - window.spaceId = spaceId - window.spaceIndex = spacesMap.first { $0.0 == spaceId }!.1 + let spaceIds = CGSCopySpacesForWindows(cgsMainConnectionId, CGSSpaceMask.all.rawValue, [window.cgWindowId] as CFArray) as! [CGSSpaceID] + guard spaceIds.count > 0 else { continue } + if spaceIds.count > 1 { + window.spaceId = Spaces.currentSpaceId + window.spaceIndex = Spaces.currentSpaceIndex + window.isOnAllSpaces = true + continue + } + window.spaceId = spaceIds.first! + window.spaceIndex = spacesMap.first { $0.0 == spaceIds.first! }!.1 } } diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 4f13c776..11fe8f68 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -27,11 +27,12 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { Preferences.loadFromDiskAndUpdateValues() statusItem = StatusItem.make(self) initPreferencesDependentComponents() - Spaces.updateInitialSpace() + Spaces.updateCurrentSpace() + Spaces.updateIsSingleSpace() Applications.addInitialRunningApplications() Applications.observeRunningApplications() Spaces.observeSpaceChanges() - Windows.sortByLevel() + Applications.addInitialRunningApplicationsWindows() Keyboard.listenToGlobalEvents(self) } diff --git a/alt-tab-macos/ui/Cell.swift b/alt-tab-macos/ui/Cell.swift index 30f826cd..31e7bb5d 100644 --- a/alt-tab-macos/ui/Cell.swift +++ b/alt-tab-macos/ui/Cell.swift @@ -55,7 +55,11 @@ class Cell: NSCollectionViewItem { minimizedIcon.isHidden = !window!.isMinimized spaceIcon.isHidden = element.spaceIndex == nil || Spaces.isSingleSpace || Preferences.hideSpaceNumberLabels if !spaceIcon.isHidden { - spaceIcon.setNumber(UInt32(element.spaceIndex!)) + if element.isOnAllSpaces { + spaceIcon.setStar() + } else { + spaceIcon.setNumber(UInt32(element.spaceIndex!)) + } } let fontIconWidth = CGFloat([minimizedIcon, hiddenIcon, spaceIcon].filter { !$0.isHidden }.count) * (Preferences.fontIconSize + Preferences.interItemPadding) label.textContainer!.size.width = thumbnail.frame.width - Preferences.iconSize! - Preferences.interItemPadding - fontIconWidth diff --git a/alt-tab-macos/ui/FontIcon.swift b/alt-tab-macos/ui/FontIcon.swift index 13497fe4..be4a9e0b 100644 --- a/alt-tab-macos/ui/FontIcon.swift +++ b/alt-tab-macos/ui/FontIcon.swift @@ -7,6 +7,7 @@ class FontIcon: CellTitle { static let sfSymbolCircledDotSign = "􀍷" static let sfSymbolCircledNumber0 = "􀀸" static let sfSymbolCircledNumber10 = "􀓵" + static let sfSymbolCircledStart = "􀕬" required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") @@ -28,6 +29,10 @@ class FontIcon: CellTitle { string = String(UnicodeScalar(baseCharacter.unicodeScalars.first!.value + offset)!) } + func setStar() { + string = FontIcon.sfSymbolCircledStart + } + private func baseCharacterAndOffset(_ number: UInt32) -> (String, UInt32) { if number <= 9 { // numbers alternate between empty and full circles; we skip the full circles From 5428ca47c25c207c94fd159092bf1bcaa6d69247 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Tue, 14 Jan 2020 12:50:07 +0900 Subject: [PATCH 13/98] refactor: factorize and document --- alt-tab-macos/logic/Applications.swift | 7 +++++++ alt-tab-macos/logic/Spaces.swift | 14 ++++++++++---- alt-tab-macos/ui/App.swift | 8 ++------ 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/alt-tab-macos/logic/Applications.swift b/alt-tab-macos/logic/Applications.swift index 3f91bc44..a571ace2 100644 --- a/alt-tab-macos/logic/Applications.swift +++ b/alt-tab-macos/logic/Applications.swift @@ -5,6 +5,12 @@ class Applications { static var list = [Application]() static var appsObserver = RunningApplicationsObserver() + static func initialDiscovery() { + addInitialRunningApplications() + observeRunningApplications() + addInitialRunningApplicationsWindows() + } + static func addInitialRunningApplications() { addRunningApplications(NSWorkspace.shared.runningApplications) } @@ -14,6 +20,7 @@ class Applications { } static func addInitialRunningApplicationsWindows() { + // on initial launch, we use private APIs to bring windows from other spaces into the current space, observe them, then remove them from the current space let windows = Spaces.windowsInSpaces(Spaces.otherSpaces()).filter { window in return Windows.list.first(where: { $0.cgWindowId == window }) == nil } diff --git a/alt-tab-macos/logic/Spaces.swift b/alt-tab-macos/logic/Spaces.swift index 38a4c2e7..05a31988 100644 --- a/alt-tab-macos/logic/Spaces.swift +++ b/alt-tab-macos/logic/Spaces.swift @@ -13,10 +13,16 @@ class Spaces { }) } + static func initialDiscovery() { + updateCurrentSpace() + updateIsSingleSpace() + observeSpaceChanges() + } + static func updateCurrentSpace() { - Spaces.currentSpaceId = CGSManagedDisplayGetCurrentSpace(cgsMainConnectionId, Screen.mainUuid()) - Spaces.currentSpaceIndex = allIdsAndIndexes().first { $0.0 == Spaces.currentSpaceId }!.1 - debugPrint("current space", Spaces.currentSpaceId) + currentSpaceId = CGSManagedDisplayGetCurrentSpace(cgsMainConnectionId, Screen.mainUuid()) + currentSpaceIndex = allIdsAndIndexes().first { $0.0 == currentSpaceId }!.1 + debugPrint("current space", currentSpaceId) } static func allIdsAndIndexes() -> [(CGSSpaceID, SpaceIndex)] { @@ -26,7 +32,7 @@ class Spaces { } static func otherSpaces() -> [CGSSpaceID] { - return allIdsAndIndexes().filter { $0.0 != Spaces.currentSpaceId }.map { $0.0 } + return allIdsAndIndexes().filter { $0.0 != currentSpaceId }.map { $0.0 } } static func windowsInSpaces(_ spaceIds: [CGSSpaceID]) -> [CGWindowID] { diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 11fe8f68..01dc7a2b 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -27,12 +27,8 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { Preferences.loadFromDiskAndUpdateValues() statusItem = StatusItem.make(self) initPreferencesDependentComponents() - Spaces.updateCurrentSpace() - Spaces.updateIsSingleSpace() - Applications.addInitialRunningApplications() - Applications.observeRunningApplications() - Spaces.observeSpaceChanges() - Applications.addInitialRunningApplicationsWindows() + Spaces.initialDiscovery() + Applications.initialDiscovery() Keyboard.listenToGlobalEvents(self) } From d8638f2bdbebb76af8423acbfc7638d235a043be Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Tue, 14 Jan 2020 13:16:10 +0900 Subject: [PATCH 14/98] fix: initial discovery when single space was glitching the os --- alt-tab-macos/logic/Applications.swift | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/alt-tab-macos/logic/Applications.swift b/alt-tab-macos/logic/Applications.swift index a571ace2..77652c12 100644 --- a/alt-tab-macos/logic/Applications.swift +++ b/alt-tab-macos/logic/Applications.swift @@ -21,16 +21,25 @@ class Applications { static func addInitialRunningApplicationsWindows() { // on initial launch, we use private APIs to bring windows from other spaces into the current space, observe them, then remove them from the current space - let windows = Spaces.windowsInSpaces(Spaces.otherSpaces()).filter { window in + let spaces = Spaces.otherSpaces() + if spaces.count == 0 { + Windows.sortByLevel() + return + } + let windows = Spaces.windowsInSpaces(spaces).filter { window in return Windows.list.first(where: { $0.cgWindowId == window }) == nil } - CGSAddWindowsToSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId]) - for app in list { - guard app.runningApplication.isFinishedLaunching else { continue } - app.observeNewWindows() + if windows.count > 0 { + CGSAddWindowsToSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId]) + for app in list { + guard app.runningApplication.isFinishedLaunching else { continue } + app.observeNewWindows() + } + Windows.sortByLevel() + CGSRemoveWindowsFromSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId]) + return } Windows.sortByLevel() - CGSRemoveWindowsFromSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId]) } static func addRunningApplications(_ runningApps: [NSRunningApplication]) { From 2a82c7dfac8f5f2f948b104561f3d30b70ddc373 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Tue, 14 Jan 2020 14:34:17 +0900 Subject: [PATCH 15/98] fix: a title change often means the content has change --- alt-tab-macos/logic/Window.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/alt-tab-macos/logic/Window.swift b/alt-tab-macos/logic/Window.swift index 2bca10ba..edf53422 100644 --- a/alt-tab-macos/logic/Window.swift +++ b/alt-tab-macos/logic/Window.swift @@ -134,6 +134,7 @@ private func eventWindowTitleChanged(_ app: App, _ element: AXUIElement) { let newTitle = window.axUiElement.title(), newTitle != window.title else { return } window.title = newTitle + window.refreshThumbnail() app.refreshOpenUi() } From 5f757cb166d030f2bf3c3e0300780163e480a988 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Tue, 14 Jan 2020 19:13:02 +0900 Subject: [PATCH 16/98] fix: don't show ui on fast trigger --- alt-tab-macos/ui/App.swift | 4 ++-- alt-tab-macos/ui/ThumbnailsPanel.swift | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 01dc7a2b..0132b66b 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -93,7 +93,7 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { Windows.focusedWindowIndex = 0 Windows.cycleFocusedWindowIndex(step) refreshOpenUi() - thumbnailsPanel?.show() + if uiWorkShouldBeDone { thumbnailsPanel?.show() } } else { debugPrint("showUiOrCycleSelection: !isFirstSummon") cycleSelection(step) @@ -103,7 +103,7 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { func refreshOpenUi() { guard appIsBeingUsed else { return } let currentScreen = Screen.preferred() // fix screen between steps since it could change (e.g. mouse moved to another screen) - if uiWorkShouldBeDone { thumbnailsPanel!.refreshCollectionView(currentScreen); debugPrint("refreshCollectionView") } + if uiWorkShouldBeDone { thumbnailsPanel!.refreshCollectionView(currentScreen, uiWorkShouldBeDone); debugPrint("refreshCollectionView") } if uiWorkShouldBeDone { thumbnailsPanel!.highlightCell(); debugPrint("highlightCellAt") } if uiWorkShouldBeDone { Screen.repositionPanel(thumbnailsPanel!, currentScreen, .appleCentered); debugPrint("repositionPanel") } } diff --git a/alt-tab-macos/ui/ThumbnailsPanel.swift b/alt-tab-macos/ui/ThumbnailsPanel.swift index c39677e8..32d00a17 100644 --- a/alt-tab-macos/ui/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/ThumbnailsPanel.swift @@ -97,14 +97,14 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele } } - func refreshCollectionView(_ currentScreen: NSScreen) { - self.currentScreen = currentScreen - (collectionView_.collectionViewLayout as! CollectionViewCenterFlowLayout).currentScreen = currentScreen - collectionView_!.setFrameSize(Screen.thumbnailPanelMaxSize(currentScreen)) - collectionView_!.reloadData() - collectionView_!.layoutSubtreeIfNeeded() - setContentSize(NSSize(width: collectionView_!.frame.size.width + Preferences.windowPadding * 2, height: collectionView_!.frame.size.height + Preferences.windowPadding * 2)) - backgroundView!.setFrameSize(frame.size) - collectionView_!.setFrameOrigin(NSPoint(x: Preferences.windowPadding, y: Preferences.windowPadding)) + func refreshCollectionView(_ currentScreen: NSScreen, _ uiWorkShouldBeDone: Bool) { + if uiWorkShouldBeDone { self.currentScreen = currentScreen } + if uiWorkShouldBeDone { (collectionView_.collectionViewLayout as! CollectionViewCenterFlowLayout).currentScreen = currentScreen } + if uiWorkShouldBeDone { collectionView_!.setFrameSize(Screen.thumbnailPanelMaxSize(currentScreen)) } + if uiWorkShouldBeDone { collectionView_!.reloadData() } + if uiWorkShouldBeDone { collectionView_!.layoutSubtreeIfNeeded() } + if uiWorkShouldBeDone { setContentSize(NSSize(width: collectionView_!.frame.size.width + Preferences.windowPadding * 2, height: collectionView_!.frame.size.height + Preferences.windowPadding * 2)) } + if uiWorkShouldBeDone { backgroundView!.setFrameSize(frame.size) } + if uiWorkShouldBeDone { collectionView_!.setFrameOrigin(NSPoint(x: Preferences.windowPadding, y: Preferences.windowPadding)) } } } From b90130c3f0a2314aad20ad3da4df1601d253779e Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Tue, 14 Jan 2020 21:37:31 +0900 Subject: [PATCH 17/98] fix: open alt-tab during space transitions (closes #92) --- alt-tab-macos/logic/Spaces.swift | 3 +++ alt-tab-macos/logic/SystemPermissions.swift | 4 ++-- alt-tab-macos/ui/App.swift | 7 +++++++ alt-tab-macos/ui/PreferencesWindow.swift | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/alt-tab-macos/logic/Spaces.swift b/alt-tab-macos/logic/Spaces.swift index 05a31988..155d21a4 100644 --- a/alt-tab-macos/logic/Spaces.swift +++ b/alt-tab-macos/logic/Spaces.swift @@ -10,6 +10,9 @@ class Spaces { static func observeSpaceChanges() { NSWorkspace.shared.notificationCenter.addObserver(forName: NSWorkspace.activeSpaceDidChangeNotification, object: nil, queue: nil, using: { _ in updateCurrentSpace() + let app = App.shared as! App + guard app.appIsBeingUsed else { return } + app.reopenUi() }) } diff --git a/alt-tab-macos/logic/SystemPermissions.swift b/alt-tab-macos/logic/SystemPermissions.swift index 6e716cae..5e9c715f 100644 --- a/alt-tab-macos/logic/SystemPermissions.swift +++ b/alt-tab-macos/logic/SystemPermissions.swift @@ -10,7 +10,7 @@ class SystemPermissions { "Please authorize and re-launch.", "See https://help.rescuetime.com/article/59-how-do-i-enable-accessibility-permissions-on-mac-osx", separator: "\n") - NSApp.terminate(self) + App.shared.terminate(self) } } @@ -22,7 +22,7 @@ class SystemPermissions { "Please authorize and re-launch.", "See https://dropshare.zendesk.com/hc/en-us/articles/360033453434-Enabling-Screen-Recording-Permission-on-macOS-Catalina-10-15-", separator: "\n") - NSApp.terminate(self) + App.shared.terminate(self) } } } diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 0132b66b..b42e44c4 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -100,6 +100,13 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { } } + func reopenUi() { + thumbnailsPanel!.orderOut(nil) + Windows.refreshAllThumbnails() + refreshOpenUi() + thumbnailsPanel!.show() + } + func refreshOpenUi() { guard appIsBeingUsed else { return } let currentScreen = Screen.preferred() // fix screen between steps since it could change (e.g. mouse moved to another screen) diff --git a/alt-tab-macos/ui/PreferencesWindow.swift b/alt-tab-macos/ui/PreferencesWindow.swift index 261290b0..bd7aa401 100644 --- a/alt-tab-macos/ui/PreferencesWindow.swift +++ b/alt-tab-macos/ui/PreferencesWindow.swift @@ -208,7 +208,7 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { throw NSError.make(domain: "Preferences", message: "Please enter a valid value for '" + key + "'") } try Preferences.updateAndValidateFromString(key, newValue) - (NSApp as! App).initPreferencesDependentComponents() + (App.shared as! App).initPreferencesDependentComponents() try Preferences.saveRawToDisk() } catch let error { debugPrint("PreferencesWindow: save: error", key, newValue, error) From 5218d6150a13e691f0009477869fb5ffc7a27b7c Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 15 Jan 2020 10:52:25 +0900 Subject: [PATCH 18/98] fix: don't show floating windows + efficiencies --- alt-tab-macos/api-wrappers/AXUIElement.swift | 8 +++++--- alt-tab-macos/api-wrappers/CGWindowID.swift | 10 ++++++++++ alt-tab-macos/api-wrappers/PrivateApis.swift | 10 +++++----- alt-tab-macos/logic/Application.swift | 1 - alt-tab-macos/logic/Window.swift | 3 +-- alt-tab-macos/logic/Windows.swift | 2 +- 6 files changed, 22 insertions(+), 12 deletions(-) diff --git a/alt-tab-macos/api-wrappers/AXUIElement.swift b/alt-tab-macos/api-wrappers/AXUIElement.swift index 8ae93458..e27bc07c 100644 --- a/alt-tab-macos/api-wrappers/AXUIElement.swift +++ b/alt-tab-macos/api-wrappers/AXUIElement.swift @@ -15,13 +15,15 @@ extension AXUIElement { } func isActualWindow(_ isAppHidden: Bool = false) -> Bool { - // TODO: should we displays windows that disappear when invoking Expose? (e.g. Outlook meeting reminder window) (see https://stackoverflow.com/a/49723037/2249756) // TODO: TotalFinder and XtraFinder double-window hacks (see #84) - // TODO: should we display menubar windows? (e.g. iStats Pro dropdown menu) // Some non-windows have subrole: nil (e.g. some OS elements), "AXUnknown" (e.g. Bartender), "AXSystemDialog" (e.g. Intellij tooltips) // Some non-windows have title: nil (e.g. some OS elements) // Minimized windows or windows of a hidden app have subrole "AXDialog" - return title() != nil && (subrole() == "AXStandardWindow" || isMinimized() || isAppHidden) + return title() != nil && (subrole() == "AXStandardWindow" || isMinimized() || isAppHidden) && isOnNormalLevel() + } + + func isOnNormalLevel() -> Bool { + return cgWindowId().level() == CGWindowLevelForKey(.normalWindow) } func title() -> String? { diff --git a/alt-tab-macos/api-wrappers/CGWindowID.swift b/alt-tab-macos/api-wrappers/CGWindowID.swift index e416363d..0775978a 100644 --- a/alt-tab-macos/api-wrappers/CGWindowID.swift +++ b/alt-tab-macos/api-wrappers/CGWindowID.swift @@ -6,6 +6,16 @@ extension CGWindowID { return cgProperty("kCGSWindowTitle", String.self) } + func level() -> CGWindowLevel { + var level = CGWindowLevel(0) + CGSGetWindowLevel(cgsMainConnectionId, self, &level) + return level + } + + func spaces() -> [CGSSpaceID] { + return CGSCopySpacesForWindows(cgsMainConnectionId, CGSSpaceMask.all.rawValue, [self] as CFArray) as! [CGSSpaceID] + } + func screenshot() -> CGImage? { // CGSHWCaptureWindowList var windowId_ = self diff --git a/alt-tab-macos/api-wrappers/PrivateApis.swift b/alt-tab-macos/api-wrappers/PrivateApis.swift index 79da6de5..858c788b 100644 --- a/alt-tab-macos/api-wrappers/PrivateApis.swift +++ b/alt-tab-macos/api-wrappers/PrivateApis.swift @@ -123,6 +123,11 @@ enum CGSSpaceMask: Int { @_silgen_name("CGSCopySpacesForWindows") func CGSCopySpacesForWindows(_ cid: CGSConnectionID, _ mask: CGSSpaceMask.RawValue, _ wids: CFArray) -> CFArray +// returns window level (see definition in CGWindowLevel.h) of provided window +// * macOS 10.10+ +@_silgen_name("CGSGetWindowLevel") @discardableResult +func CGSGetWindowLevel(_ cid: CGSConnectionID, _ wid: CGWindowID, _ level: inout CGWindowLevel) -> CGError + // ------------------------------------------------------------ @@ -151,11 +156,6 @@ func CGSCopySpacesForWindows(_ cid: CGSConnectionID, _ mask: CGSSpaceMask.RawVal //@_silgen_name("CGSGetWindowType") @discardableResult //func CGSGetWindowType(_ wid: CGWindowID, _ type: inout UInt32) -> CGError // -//// seems to always return 0, for windows in the same space, other space, minimized, etc -//// * macOS 10.10+ -//@_silgen_name("CGSGetWindowLevel") @discardableResult -//func CGSGetWindowLevel(_ cid: CGSConnectionID, _ wid: CGWindowID, _ level: inout UInt32) -> CGError -// //// * macOS 10.12+ //@_silgen_name("CGSProcessAssignToSpace") @discardableResult //func CGSProcessAssignToSpace(_ cid: CGSConnectionID, _ pid: pid_t, _ sid: CGSSpaceID) -> CGError diff --git a/alt-tab-macos/logic/Application.swift b/alt-tab-macos/logic/Application.swift index 5e7924cf..06e108d5 100644 --- a/alt-tab-macos/logic/Application.swift +++ b/alt-tab-macos/logic/Application.swift @@ -115,7 +115,6 @@ private func eventWindowCreated(_ app: App, _ element: AXUIElement, _ applicatio private func eventFocusedWindowChanged(_ app: App, _ element: AXUIElement) { guard !app.appIsBeingUsed, - element.isActualWindow(), let existingIndex = Windows.list.firstIndexThatMatches(element) else { return } Windows.list.insert(Windows.list.remove(at: existingIndex), at: 0) } \ No newline at end of file diff --git a/alt-tab-macos/logic/Window.swift b/alt-tab-macos/logic/Window.swift index edf53422..da97e1d6 100644 --- a/alt-tab-macos/logic/Window.swift +++ b/alt-tab-macos/logic/Window.swift @@ -129,8 +129,7 @@ private func eventWindowMiniaturizedOrDeminiaturized(_ app: App, _ element: AXUI } private func eventWindowTitleChanged(_ app: App, _ element: AXUIElement) { - guard element.isActualWindow(), - let window = Windows.list.firstWindowThatMatches(element), + guard let window = Windows.list.firstWindowThatMatches(element), let newTitle = window.axUiElement.title(), newTitle != window.title else { return } window.title = newTitle diff --git a/alt-tab-macos/logic/Windows.swift b/alt-tab-macos/logic/Windows.swift index 7ed1b99a..ab56832f 100644 --- a/alt-tab-macos/logic/Windows.swift +++ b/alt-tab-macos/logic/Windows.swift @@ -28,7 +28,7 @@ class Windows { static func updateSpaces() { let spacesMap = Spaces.allIdsAndIndexes() for window in list { - let spaceIds = CGSCopySpacesForWindows(cgsMainConnectionId, CGSSpaceMask.all.rawValue, [window.cgWindowId] as CFArray) as! [CGSSpaceID] + let spaceIds = window.cgWindowId.spaces() guard spaceIds.count > 0 else { continue } if spaceIds.count > 1 { window.spaceId = Spaces.currentSpaceId From ede0a27bf53f9e7b44fc787ff1a1204f521c1e79 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 15 Jan 2020 20:13:33 +0900 Subject: [PATCH 19/98] fix: avoid rendering if app is not used --- alt-tab-macos/logic/Window.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/alt-tab-macos/logic/Window.swift b/alt-tab-macos/logic/Window.swift index da97e1d6..2ab76b14 100644 --- a/alt-tab-macos/logic/Window.swift +++ b/alt-tab-macos/logic/Window.swift @@ -46,7 +46,8 @@ class Window { } func refreshThumbnail() { - guard let cgImage = cgWindowId.screenshot() else { return } + guard (App.shared as! App).appIsBeingUsed, + let cgImage = cgWindowId.screenshot() else { return } thumbnail = NSImage(cgImage: cgImage, size: NSSize(width: cgImage.width, height: cgImage.height)) } From 599465224e55a340ba36cd1fc049541aeb25367a Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 15 Jan 2020 20:34:04 +0900 Subject: [PATCH 20/98] fix: bring back the window delay that regressed with v2 --- alt-tab-macos/ui/App.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index b42e44c4..e8a2752f 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -92,8 +92,10 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { Windows.refreshAllThumbnails() Windows.focusedWindowIndex = 0 Windows.cycleFocusedWindowIndex(step) - refreshOpenUi() - if uiWorkShouldBeDone { thumbnailsPanel?.show() } + DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + Preferences.windowDisplayDelay!, execute: { + self.refreshOpenUi() + if self.uiWorkShouldBeDone { self.thumbnailsPanel?.show() } + }) } else { debugPrint("showUiOrCycleSelection: !isFirstSummon") cycleSelection(step) From b1bd0b7a16c748c417100f4ca23b46ef0d179409 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 16 Jan 2020 10:13:41 +0900 Subject: [PATCH 21/98] fix: layout is now correct; also removed layout preferences for now --- alt-tab-macos/api-wrappers/CGWindow.swift | 6 -- alt-tab-macos/logic/Preferences.swift | 71 +++++++---------- alt-tab-macos/logic/Screen.swift | 12 --- alt-tab-macos/ui/Cell.swift | 78 ++++++++++++------- .../ui/CollectionViewCenterFlowLayout.swift | 44 ++++++----- alt-tab-macos/ui/PreferencesWindow.swift | 4 - alt-tab-macos/ui/ThumbnailsPanel.swift | 70 +++++++++-------- 7 files changed, 142 insertions(+), 143 deletions(-) diff --git a/alt-tab-macos/api-wrappers/CGWindow.swift b/alt-tab-macos/api-wrappers/CGWindow.swift index 658462da..5db9eed6 100644 --- a/alt-tab-macos/api-wrappers/CGWindow.swift +++ b/alt-tab-macos/api-wrappers/CGWindow.swift @@ -22,12 +22,6 @@ extension CGWindow { return layer() == 0 } - // workaround: some apps like chrome use a window to implement the search popover - func isReasonablyBig() -> Bool { - let windowBounds = CGRect(dictionaryRepresentation: bounds()!)! - return windowBounds.width > Preferences.minimumWindowSize && windowBounds.height > Preferences.minimumWindowSize - } - func id() -> CGWindowID? { return value(kCGWindowNumber, CGWindowID.self) } diff --git a/alt-tab-macos/logic/Preferences.swift b/alt-tab-macos/logic/Preferences.swift index 2fb7cacb..f525a1c2 100644 --- a/alt-tab-macos/logic/Preferences.swift +++ b/alt-tab-macos/logic/Preferences.swift @@ -3,11 +3,35 @@ import Cocoa import Carbon.HIToolbox.Events class Preferences { + // the following constant are not exposed as preferences but may be in the future, probably through macro preferences + static let windowMaterial = NSVisualEffectView.Material.dark + static let iconSize = CGFloat(32) + static let fontColor = NSColor.white + static let fontHeight = CGFloat(15) + static let font = NSFont.systemFont(ofSize: fontHeight) + static let windowPadding = CGFloat(23) + static let cellPadding = CGFloat(5) + static let fontIconSize = CGFloat(20) + static let maxScreenUsage = CGFloat(0.8) + static let minCellsPerRow = CGFloat(4) + static let maxCellsPerRow = CGFloat(6) + static let nCellsRows = CGFloat(4) + + static let themeMacro = MacroPreferenceHelper<(CGFloat, CGFloat, CGFloat, NSColor, NSColor)>([ + MacroPreference(" macOS", (0, 5, 20, .clear, NSColor(red: 0, green: 0, blue: 0, alpha: 0.3))), + MacroPreference("❖ Windows 10", (2, 0, 0, .white, .clear)) + ]) + static let metaKeyMacro = MacroPreferenceHelper<([Int], NSEvent.ModifierFlags)>([ + MacroPreference("⌥ option", ([kVK_Option, kVK_RightOption], .option)), + MacroPreference("⌃ control", ([kVK_Control, kVK_RightControl], .control)), + MacroPreference("⌘ command", ([kVK_Command, kVK_RightCommand], .command)) + ]) + static let showOnScreenMacro = MacroPreferenceHelper([ + MacroPreference("Main screen", ShowOnScreenPreference.MAIN), + MacroPreference("Screen including mouse", ShowOnScreenPreference.MOUSE), + ]) + static var defaults: [String: String] = [ - "maxScreenUsage": "80", - "maxThumbnailsPerRow": "4", - "iconSize": "32", - "fontHeight": "15", "tabKeyCode": String(kVK_Tab), "metaKey": metaKeyMacro.macros[0].label, "windowDisplayDelay": "0", @@ -16,21 +40,9 @@ class Preferences { "hideSpaceNumberLabels": String(false) ] static var rawValues = [String: String]() - static var minimumWindowSize = CGFloat(200) - static var emptyThumbnailWidth = CGFloat(200) - static var emptyThumbnailHeight = CGFloat(emptyThumbnailWidth * 9 / 16) - static var fontColor = NSColor.white - static var windowMaterial = NSVisualEffectView.Material.dark - static var windowPadding = CGFloat(23) - static var interItemPadding = CGFloat(4) - static var fontIconSize = CGFloat(20) - static var cellPadding = CGFloat(6) + static var cellBorderWidth: CGFloat? static var cellCornerRadius: CGFloat? - static var maxScreenUsage: CGFloat? - static var maxThumbnailsPerRow: CGFloat? - static var iconSize: CGFloat? - static var fontHeight: CGFloat? static var tabKeyCode: UInt16? static var highlightBorderColor: NSColor? static var highlightBackgroundColor: NSColor? @@ -38,22 +50,8 @@ class Preferences { static var metaModifierFlag: NSEvent.ModifierFlags? static var windowDisplayDelay: DispatchTimeInterval? static var windowCornerRadius: CGFloat? - static var font: NSFont? static var showOnScreen: ShowOnScreenPreference? - static var hideSpaceNumberLabels = false - static var themeMacro = MacroPreferenceHelper<(CGFloat, CGFloat, CGFloat, NSColor, NSColor)>([ - MacroPreference(" macOS", (0, 5, 20, .clear, NSColor(red: 0, green: 0, blue: 0, alpha: 0.3))), - MacroPreference("❖ Windows 10", (2, 0, 0, .white, .clear)) - ]) - static var metaKeyMacro = MacroPreferenceHelper<([Int], NSEvent.ModifierFlags)>([ - MacroPreference("⌥ option", ([kVK_Option, kVK_RightOption], .option)), - MacroPreference("⌃ control", ([kVK_Control, kVK_RightControl], .control)), - MacroPreference("⌘ command", ([kVK_Command, kVK_RightCommand], .command)) - ]) - static var showOnScreenMacro = MacroPreferenceHelper([ - MacroPreference("Main screen", ShowOnScreenPreference.MAIN), - MacroPreference("Screen including mouse", ShowOnScreenPreference.MOUSE), - ]) + static var hideSpaceNumberLabels: Bool? private static let defaultsFile = fileFromPreferencesFolder("alt-tab-macos-defaults.json") private static let userFile = fileFromPreferencesFolder("alt-tab-macos.json") @@ -85,15 +83,6 @@ class Preferences { static func updateAndValidateFromString(_ valueName: String, _ value: String) throws { switch valueName { - case "maxScreenUsage": - maxScreenUsage = try CGFloat(CGFloat(value).orThrow() / 100) - case "maxThumbnailsPerRow": - maxThumbnailsPerRow = try CGFloat(value).orThrow() - case "iconSize": - iconSize = try CGFloat(value).orThrow() - case "fontHeight": - fontHeight = try CGFloat(value).orThrow() - font = NSFont.systemFont(ofSize: fontHeight!) case "tabKeyCode": tabKeyCode = try UInt16(value).orThrow() case "metaKey": diff --git a/alt-tab-macos/logic/Screen.swift b/alt-tab-macos/logic/Screen.swift index 37d44a3c..cc3b8ee7 100644 --- a/alt-tab-macos/logic/Screen.swift +++ b/alt-tab-macos/logic/Screen.swift @@ -13,18 +13,6 @@ class Screen { return NSScreen.screens.first { NSMouseInRect(NSEvent.mouseLocation, $0.frame, false) } } - static func thumbnailMaxSize(_ screen: NSScreen) -> NSSize { - let frame = screen.visibleFrame - let width = (frame.width * Preferences.maxScreenUsage! - Preferences.windowPadding * 2) / Preferences.maxThumbnailsPerRow! - Preferences.interItemPadding - let height = width * (frame.height / frame.width) - return NSSize(width: width, height: height) - } - - static func thumbnailPanelMaxSize(_ screen: NSScreen) -> NSSize { - let frame = screen.visibleFrame - return NSSize(width: frame.width * Preferences.maxScreenUsage!, height: frame.height * Preferences.maxScreenUsage!) - } - static func repositionPanel(_ window: NSWindow, _ screen: NSScreen, _ alignment: VerticalAlignment) { let screenFrame = screen.visibleFrame let panelFrame = window.frame diff --git a/alt-tab-macos/ui/Cell.swift b/alt-tab-macos/ui/Cell.swift index 31e7bb5d..01b34a3c 100644 --- a/alt-tab-macos/ui/Cell.swift +++ b/alt-tab-macos/ui/Cell.swift @@ -7,7 +7,7 @@ typealias MouseMovedCallback = (Cell) -> Void class Cell: NSCollectionViewItem { var thumbnail = NSImageView() var appIcon = NSImageView() - var label = CellTitle(Preferences.fontHeight!) + var label = CellTitle(Preferences.fontHeight) var minimizedIcon = FontIcon(FontIcon.sfSymbolCircledMinusSign, Preferences.fontIconSize, .white) var hiddenIcon = FontIcon(FontIcon.sfSymbolCircledDotSign, Preferences.fontIconSize, .white) var spaceIcon = FontIcon(FontIcon.sfSymbolCircledNumber0, Preferences.fontIconSize, .white) @@ -20,7 +20,13 @@ class Cell: NSCollectionViewItem { let vStackView = makeVStackView(hStackView) let shadow = Cell.makeShadow(.gray) thumbnail.shadow = shadow + thumbnail.wantsLayer = true + thumbnail.layer!.backgroundColor = NSColor.blue.cgColor appIcon.shadow = shadow + appIcon.wantsLayer = true + appIcon.layer!.backgroundColor = NSColor.green.cgColor + vStackView.wantsLayer = true + vStackView.layer!.backgroundColor = NSColor.gray.cgColor view = vStackView } @@ -39,21 +45,22 @@ class Cell: NSCollectionViewItem { } } - func updateWithNewContent(_ element: Window, _ mouseDownCallback: @escaping MouseDownCallback, _ mouseMovedCallback: @escaping MouseMovedCallback, _ screen: NSScreen) { + func updateRecycledCellWithNewContent(_ element: Window, _ mouseDownCallback: @escaping MouseDownCallback, _ mouseMovedCallback: @escaping MouseMovedCallback, _ screen: NSScreen) { window = element thumbnail.image = element.thumbnail - let (width, height) = Cell.computeDownscaledSize(element.thumbnail, screen) - thumbnail.image?.size = NSSize(width: width, height: height) - thumbnail.frame.size = NSSize(width: width, height: height) + let thumbnailSize = Cell.thumbnailSize(element.thumbnail, screen) + thumbnail.image?.size = thumbnailSize + thumbnail.frame.size = thumbnailSize appIcon.image = element.icon - appIcon.image?.size = NSSize(width: Preferences.iconSize!, height: Preferences.iconSize!) - appIcon.frame.size = NSSize(width: Preferences.iconSize!, height: Preferences.iconSize!) + let appIconSize = NSSize(width: Preferences.iconSize, height: Preferences.iconSize) + appIcon.image?.size = appIconSize + appIcon.frame.size = appIconSize label.string = element.title // workaround: setting string on NSTextView change the font (most likely a Cocoa bug) - label.font = Preferences.font! + label.font = Preferences.font hiddenIcon.isHidden = !window!.isHidden minimizedIcon.isHidden = !window!.isMinimized - spaceIcon.isHidden = element.spaceIndex == nil || Spaces.isSingleSpace || Preferences.hideSpaceNumberLabels + spaceIcon.isHidden = element.spaceIndex == nil || Spaces.isSingleSpace || Preferences.hideSpaceNumberLabels! if !spaceIcon.isHidden { if element.isOnAllSpaces { spaceIcon.setStar() @@ -61,8 +68,8 @@ class Cell: NSCollectionViewItem { spaceIcon.setNumber(UInt32(element.spaceIndex!)) } } - let fontIconWidth = CGFloat([minimizedIcon, hiddenIcon, spaceIcon].filter { !$0.isHidden }.count) * (Preferences.fontIconSize + Preferences.interItemPadding) - label.textContainer!.size.width = thumbnail.frame.width - Preferences.iconSize! - Preferences.interItemPadding - fontIconWidth + let fontIconWidth = CGFloat([minimizedIcon, hiddenIcon, spaceIcon].filter { !$0.isHidden }.count) * (Preferences.fontIconSize + Preferences.cellPadding) + label.textContainer!.size.width = view.frame.width - Preferences.iconSize - Preferences.cellPadding * 3 - fontIconWidth self.mouseDownCallback = mouseDownCallback self.mouseMovedCallback = mouseMovedCallback if view.trackingAreas.count > 0 { @@ -71,20 +78,6 @@ class Cell: NSCollectionViewItem { view.addTrackingArea(NSTrackingArea(rect: view.bounds, options: [.mouseMoved, .activeAlways], owner: self, userInfo: nil)) } - static func computeDownscaledSize(_ image: NSImage?, _ screen: NSScreen) -> (Int, Int) { - if let image_ = image { - let imageRatio = image_.size.width / image_.size.height - let thumbnailMaxSize = Screen.thumbnailMaxSize(screen) - let thumbnailWidth = Int(floor(thumbnailMaxSize.height * imageRatio)) - if thumbnailWidth <= Int(thumbnailMaxSize.width) { - return (thumbnailWidth, Int(thumbnailMaxSize.height)) - } else { - return (Int(thumbnailMaxSize.width), Int(floor(thumbnailMaxSize.width / imageRatio))) - } - } - return (Int(Preferences.emptyThumbnailWidth), Int((Preferences.emptyThumbnailHeight))) - } - static func makeShadow(_ color: NSColor) -> NSShadow { let shadow = NSShadow() shadow.shadowColor = color @@ -95,7 +88,9 @@ class Cell: NSCollectionViewItem { private func makeHStackView() -> NSStackView { let hStackView = NSStackView() - hStackView.spacing = Preferences.interItemPadding + hStackView.spacing = Preferences.cellPadding + label.wantsLayer = true + label.layer!.backgroundColor = NSColor.brown.cgColor hStackView.setViews([appIcon, label, hiddenIcon, minimizedIcon, spaceIcon], in: .leading) return hStackView } @@ -109,8 +104,37 @@ class Cell: NSCollectionViewItem { vStackView.layer!.borderColor = .clear vStackView.edgeInsets = NSEdgeInsets(top: Preferences.cellPadding, left: Preferences.cellPadding, bottom: Preferences.cellPadding, right: Preferences.cellPadding) vStackView.orientation = .vertical - vStackView.spacing = Preferences.interItemPadding + vStackView.spacing = Preferences.cellPadding vStackView.setViews([hStackView, thumbnail], in: .leading) return vStackView } + + static func widthMax(_ screen: NSScreen) -> CGFloat { + return ThumbnailsPanel.widthMax(screen) / Preferences.minCellsPerRow - Preferences.cellPadding + } + + static func widthMin(_ screen: NSScreen) -> CGFloat { + return ThumbnailsPanel.widthMax(screen) / Preferences.maxCellsPerRow - Preferences.cellPadding + } + + static func height(_ screen: NSScreen) -> CGFloat { + return ThumbnailsPanel.heightMax(screen) / Preferences.nCellsRows - Preferences.cellPadding + } + + static func width(_ image: NSImage?, _ screen: NSScreen) -> CGFloat { + return max(thumbnailSize(image, screen).width + Preferences.cellPadding * 2, ThumbnailsPanel.widthMin(screen)) + } + + static func thumbnailSize(_ image: NSImage?, _ screen: NSScreen) -> NSSize { + let thumbnailWidthMin = Cell.widthMin(screen) - Preferences.cellPadding * 2 + let thumbnailHeightMax = Cell.height(screen) - Preferences.cellPadding * 3 - Preferences.iconSize + let thumbnailWidthMax = Cell.widthMax(screen) - Preferences.cellPadding * 2 + guard let image = image else { return NSSize(width: thumbnailWidthMin, height: thumbnailHeightMax) } + let imageRatio = image.size.width / image.size.height + let thumbnailRatio = thumbnailWidthMax / thumbnailHeightMax + if thumbnailRatio > imageRatio { + return NSSize(width: image.size.width * thumbnailHeightMax / image.size.height, height: thumbnailHeightMax) + } + return NSSize(width: thumbnailWidthMax, height: image.size.height * thumbnailWidthMax / image.size.width) + } } diff --git a/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift b/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift index a47f2d8c..15992462 100644 --- a/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift +++ b/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift @@ -4,10 +4,9 @@ class CollectionViewCenterFlowLayout: NSCollectionViewFlowLayout { var currentScreen: NSScreen? override func layoutAttributesForElements(in rect: CGRect) -> [NSCollectionViewLayoutAttributes] { - let attributes = super.layoutAttributesForElements(in: rect) - if attributes.isEmpty { - return attributes - } + let attributes_ = super.layoutAttributesForElements(in: rect) + guard !attributes_.isEmpty else { return attributes_ } + let attributes = NSArray(array: attributes_, copyItems: true) as! [NSCollectionViewLayoutAttributes] var currentRow: [NSCollectionViewLayoutAttributes] = [] var currentRowY = CGFloat(0) var currentRowWidth = CGFloat(0) @@ -15,35 +14,38 @@ class CollectionViewCenterFlowLayout: NSCollectionViewFlowLayout { var currentRowMaxY = CGFloat(0) var widestRow = CGFloat(0) var totalHeight = CGFloat(0) - attributes.enumerated().forEach { - let isNewRow = abs($1.frame.origin.y - currentRowY) > Screen.thumbnailMaxSize(currentScreen!).height + for (index, attribute) in attributes.enumerated() { + let isNewRow = abs(attribute.frame.origin.y - currentRowY) > Cell.height(currentScreen!) if isNewRow { - computeOriginXForAllItems(currentRowWidth - minimumInteritemSpacing, previousRowMaxY, currentRow) + computeOriginXForAllItems(currentRowWidth - Preferences.cellPadding, previousRowMaxY, currentRow) currentRow.removeAll() - currentRowY = $1.frame.origin.y + currentRowY = attribute.frame.origin.y currentRowWidth = 0 - previousRowMaxY += currentRowMaxY + minimumLineSpacing + previousRowMaxY += currentRowMaxY + Preferences.cellPadding currentRowMaxY = 0 } - currentRow.append($1) - currentRowWidth += $1.frame.size.width + minimumInteritemSpacing + currentRow.append(attribute) + currentRowWidth += attribute.frame.size.width + Preferences.cellPadding widestRow = max(widestRow, currentRowWidth) - currentRowMaxY = max(currentRowMaxY, $1.frame.size.height) - if $0 == attributes.count - 1 { - computeOriginXForAllItems(currentRowWidth - minimumInteritemSpacing, previousRowMaxY, currentRow) + currentRowMaxY = max(currentRowMaxY, attribute.frame.size.height) + if index == attributes.count - 1 { + computeOriginXForAllItems(currentRowWidth - Preferences.cellPadding, previousRowMaxY, currentRow) totalHeight = previousRowMaxY + currentRowMaxY } } - collectionView!.setFrameSize(NSSize(width: widestRow - minimumInteritemSpacing, height: totalHeight)) + let newWidth = widestRow - Preferences.cellPadding + collectionView!.bounds.origin.x = (collectionView!.frame.size.width - newWidth) / 2 + collectionView!.frame.size.width = newWidth + collectionView!.frame.size.height = totalHeight return attributes } - func computeOriginXForAllItems(_ currentRowWidth: CGFloat, _ previousRowMaxHeight: CGFloat, _ currentRow: [NSCollectionViewLayoutAttributes]) { - var marginLeft = floor((collectionView!.frame.size.width - currentRowWidth) / 2) - currentRow.forEach { - $0.frame.origin.x = marginLeft - $0.frame.origin.y = previousRowMaxHeight - marginLeft += $0.frame.size.width + minimumInteritemSpacing + private func computeOriginXForAllItems(_ currentRowWidth: CGFloat, _ previousRowMaxHeight: CGFloat, _ currentRow: [NSCollectionViewLayoutAttributes]) { + var marginLeft = (collectionView!.frame.size.width - currentRowWidth) / 2 + for attribute in currentRow { + attribute.frame.origin.x = marginLeft + attribute.frame.origin.y = previousRowMaxHeight + marginLeft += attribute.frame.size.width + Preferences.cellPadding } } } diff --git a/alt-tab-macos/ui/PreferencesWindow.swift b/alt-tab-macos/ui/PreferencesWindow.swift index bd7aa401..0b6adfda 100644 --- a/alt-tab-macos/ui/PreferencesWindow.swift +++ b/alt-tab-macos/ui/PreferencesWindow.swift @@ -82,10 +82,6 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { makeLabelWithInput("Tab key", rawName: "tabKeyCode", width: 33, suffixText: "KeyCodes Reference", suffixUrl: "https://eastmanreference.com/complete-list-of-applescript-key-codes", validator: tabKeyCodeValidator), makeHorizontalSeparator(), makeLabelWithDropdown("Theme", rawName: "theme", values: Preferences.themeMacro.labels), - makeLabelWithSlider("Max screen usage", rawName: "maxScreenUsage", minValue: 10, maxValue: 100, numberOfTickMarks: 0, unitText: "%"), - makeLabelWithSlider("Max thumbnails per row", rawName: "maxThumbnailsPerRow", minValue: 3, maxValue: 16, numberOfTickMarks: 0), - makeLabelWithSlider("Apps icon size", rawName: "iconSize", minValue: 12, maxValue: 64, numberOfTickMarks: 0, unitText: "px"), - makeLabelWithSlider("Window font size", rawName: "fontHeight", minValue: 12, maxValue: 64, numberOfTickMarks: 0, unitText: "px"), makeLabelWithCheckbox("Hide space number labels", rawName: "hideSpaceNumberLabels"), makeHorizontalSeparator(), makeLabelWithSlider("Window apparition delay", rawName: "windowDisplayDelay", minValue: 0, maxValue: 2000, numberOfTickMarks: 0, unitText: "ms"), diff --git a/alt-tab-macos/ui/ThumbnailsPanel.swift b/alt-tab-macos/ui/ThumbnailsPanel.swift index 32d00a17..f4769e4a 100644 --- a/alt-tab-macos/ui/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/ThumbnailsPanel.swift @@ -2,7 +2,7 @@ import Cocoa class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDelegate, NSCollectionViewDelegateFlowLayout { var backgroundView: NSVisualEffectView? - var collectionView_: NSCollectionView! + var collectionView: NSCollectionView! var app: App? let cellId = NSUserInterfaceItemIdentifier("Cell") var currentScreen: NSScreen? @@ -21,7 +21,7 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele titleVisibility = .hidden styleMask.remove(.titled) backgroundColor = .clear - collectionView_ = makeCollectionView() + collectionView = makeCollectionView() backgroundView = makeBackgroundView() contentView!.addSubview(backgroundView!) // highest level possible; this allows the app to go on top of context menus @@ -41,7 +41,8 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele backgroundView.state = .active backgroundView.wantsLayer = true backgroundView.layer!.cornerRadius = Preferences.windowCornerRadius! - backgroundView.addSubview(collectionView_) + backgroundView.layer!.backgroundColor = .white + backgroundView.addSubview(collectionView) return backgroundView } @@ -49,62 +50,67 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele let collectionView_ = NSCollectionView() collectionView_.dataSource = self collectionView_.delegate = self - collectionView_.collectionViewLayout = makeLayout() - collectionView_.backgroundColors = [.clear] + collectionView_.collectionViewLayout = CollectionViewCenterFlowLayout() + collectionView_.backgroundColors = [.yellow] collectionView_.isSelectable = true collectionView_.allowsMultipleSelection = false collectionView_.register(Cell.self, forItemWithIdentifier: cellId) return collectionView_ } - func makeLayout() -> CollectionViewCenterFlowLayout { - let layout = CollectionViewCenterFlowLayout() - layout.estimatedItemSize = NSSize(width: Preferences.emptyThumbnailWidth, height: Preferences.emptyThumbnailHeight) - layout.minimumInteritemSpacing = 5 - layout.minimumLineSpacing = 5 - return layout - } - func collectionView(_ collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int { return Windows.list.count } func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem { let item = collectionView.makeItem(withIdentifier: cellId, for: indexPath) as! Cell - item.updateWithNewContent(Windows.list[indexPath.item], app!.focusSelectedWindow, app!.thumbnailsPanel!.highlightCell, currentScreen!) + item.updateRecycledCellWithNewContent(Windows.list[indexPath.item], app!.focusSelectedWindow, app!.thumbnailsPanel!.highlightCell, currentScreen!) return item } func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> NSSize { - if indexPath.item < Windows.list.count { - let (width, height) = Cell.computeDownscaledSize(Windows.list[indexPath.item].thumbnail, currentScreen!) - return NSSize(width: CGFloat(width) + Preferences.cellPadding * 2, height: CGFloat(height) + max(Preferences.fontHeight!, Preferences.iconSize!) + Preferences.interItemPadding + Preferences.cellPadding * 2) - } - return .zero + guard indexPath.item < Windows.list.count else { return .zero } + return NSSize(width: Cell.width(Windows.list[indexPath.item].thumbnail, currentScreen!), height: Cell.height(currentScreen!)) } func highlightCell() { - collectionView_.deselectAll(nil) - collectionView_!.selectItems(at: [IndexPath(item: Windows.focusedWindowIndex, section: 0)], scrollPosition: .top) + collectionView.deselectAll(nil) + collectionView.selectItems(at: [IndexPath(item: Windows.focusedWindowIndex, section: 0)], scrollPosition: .top) } func highlightCell(_ cell: Cell) { - let newIndex = collectionView_.indexPath(for: cell)! + let newIndex = collectionView.indexPath(for: cell)! if Windows.focusedWindowIndex != newIndex.item { - collectionView_!.selectItems(at: [newIndex], scrollPosition: .top) - collectionView_!.deselectItems(at: [IndexPath(item: Windows.focusedWindowIndex, section: 0)]) + collectionView.selectItems(at: [newIndex], scrollPosition: .top) + collectionView.deselectItems(at: [IndexPath(item: Windows.focusedWindowIndex, section: 0)]) Windows.focusedWindowIndex = newIndex.item } } - func refreshCollectionView(_ currentScreen: NSScreen, _ uiWorkShouldBeDone: Bool) { - if uiWorkShouldBeDone { self.currentScreen = currentScreen } - if uiWorkShouldBeDone { (collectionView_.collectionViewLayout as! CollectionViewCenterFlowLayout).currentScreen = currentScreen } - if uiWorkShouldBeDone { collectionView_!.setFrameSize(Screen.thumbnailPanelMaxSize(currentScreen)) } - if uiWorkShouldBeDone { collectionView_!.reloadData() } - if uiWorkShouldBeDone { collectionView_!.layoutSubtreeIfNeeded() } - if uiWorkShouldBeDone { setContentSize(NSSize(width: collectionView_!.frame.size.width + Preferences.windowPadding * 2, height: collectionView_!.frame.size.height + Preferences.windowPadding * 2)) } + func refreshCollectionView(_ screen: NSScreen, _ uiWorkShouldBeDone: Bool) { + if uiWorkShouldBeDone { self.currentScreen = screen } + if uiWorkShouldBeDone { (collectionView.collectionViewLayout as! CollectionViewCenterFlowLayout).currentScreen = screen } + if uiWorkShouldBeDone { collectionView.setFrameSize(NSSize(width: ThumbnailsPanel.widthMax(screen), height: ThumbnailsPanel.heightMax(screen))) } + if uiWorkShouldBeDone { collectionView.reloadData() } + if uiWorkShouldBeDone { collectionView.layoutSubtreeIfNeeded() } + if uiWorkShouldBeDone { setContentSize(NSSize(width: collectionView.frame.size.width + Preferences.windowPadding * 2, height: collectionView.frame.size.height + Preferences.windowPadding * 2)) } if uiWorkShouldBeDone { backgroundView!.setFrameSize(frame.size) } - if uiWorkShouldBeDone { collectionView_!.setFrameOrigin(NSPoint(x: Preferences.windowPadding, y: Preferences.windowPadding)) } + if uiWorkShouldBeDone { collectionView.setFrameOrigin(NSPoint(x: Preferences.windowPadding, y: Preferences.windowPadding)) } + } + + static func widthMax(_ screen: NSScreen) -> CGFloat { + return screen.frame.width * Preferences.maxScreenUsage - Preferences.windowPadding * 2 + } + + static func heightMax(_ screen: NSScreen) -> CGFloat { + return screen.frame.height * Preferences.maxScreenUsage - Preferences.windowPadding * 2 + } + + static func widthMin(_ screen: NSScreen) -> CGFloat { + return Cell.widthMin(screen) - Preferences.windowPadding * 2 + } + + static func heightMin(_ screen: NSScreen) -> CGFloat { + return Cell.height(screen) - Preferences.windowPadding * 2 } } From 7f8f5db1eae3fd1ba8ea4332ed0b6082675f664f Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 16 Jan 2020 13:23:46 +0900 Subject: [PATCH 22/98] refactor: minor syntax change --- alt-tab-macos/ui/ThumbnailsPanel.swift | 30 ++++++++++++-------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/alt-tab-macos/ui/ThumbnailsPanel.swift b/alt-tab-macos/ui/ThumbnailsPanel.swift index f4769e4a..bdc263c3 100644 --- a/alt-tab-macos/ui/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/ThumbnailsPanel.swift @@ -1,7 +1,7 @@ import Cocoa class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDelegate, NSCollectionViewDelegateFlowLayout { - var backgroundView: NSVisualEffectView? + var backgroundView: NSVisualEffectView! var collectionView: NSCollectionView! var app: App? let cellId = NSUserInterfaceItemIdentifier("Cell") @@ -21,8 +21,8 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele titleVisibility = .hidden styleMask.remove(.titled) backgroundColor = .clear - collectionView = makeCollectionView() - backgroundView = makeBackgroundView() + makeCollectionView() + makeBackgroundView() contentView!.addSubview(backgroundView!) // highest level possible; this allows the app to go on top of context menus level = .screenSaver @@ -34,8 +34,8 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele makeKeyAndOrderFront(nil) } - private func makeBackgroundView() -> NSVisualEffectView { - let backgroundView = NSVisualEffectView() + private func makeBackgroundView() { + backgroundView = NSVisualEffectView() backgroundView.translatesAutoresizingMaskIntoConstraints = false backgroundView.material = Preferences.windowMaterial backgroundView.state = .active @@ -43,19 +43,17 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele backgroundView.layer!.cornerRadius = Preferences.windowCornerRadius! backgroundView.layer!.backgroundColor = .white backgroundView.addSubview(collectionView) - return backgroundView } - func makeCollectionView() -> NSCollectionView { - let collectionView_ = NSCollectionView() - collectionView_.dataSource = self - collectionView_.delegate = self - collectionView_.collectionViewLayout = CollectionViewCenterFlowLayout() - collectionView_.backgroundColors = [.yellow] - collectionView_.isSelectable = true - collectionView_.allowsMultipleSelection = false - collectionView_.register(Cell.self, forItemWithIdentifier: cellId) - return collectionView_ + func makeCollectionView() { + collectionView = NSCollectionView() + collectionView.dataSource = self + collectionView.delegate = self + collectionView.collectionViewLayout = CollectionViewCenterFlowLayout() + collectionView.backgroundColors = [.yellow] + collectionView.isSelectable = true + collectionView.allowsMultipleSelection = false + collectionView.register(Cell.self, forItemWithIdentifier: cellId) } func collectionView(_ collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int { From 2e4006f0d070f06b1a914f701a219d9f3fe4d722 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 16 Jan 2020 14:08:18 +0900 Subject: [PATCH 23/98] fix: add rough downscaling when there are many windows (closes #69) --- alt-tab-macos/ui/Cell.swift | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/alt-tab-macos/ui/Cell.swift b/alt-tab-macos/ui/Cell.swift index 01b34a3c..d1d1f18f 100644 --- a/alt-tab-macos/ui/Cell.swift +++ b/alt-tab-macos/ui/Cell.swift @@ -109,16 +109,23 @@ class Cell: NSCollectionViewItem { return vStackView } + static func downscaleFactor() -> CGFloat { + let nCellsBeforePotentialOverflow = Preferences.nCellsRows * Preferences.minCellsPerRow + guard CGFloat(Windows.list.count) > nCellsBeforePotentialOverflow else { return 1 } + // TODO: replace this buggy heuristic with a correct implementation of downscaling + return nCellsBeforePotentialOverflow / (nCellsBeforePotentialOverflow + (sqrt(CGFloat(Windows.list.count) - nCellsBeforePotentialOverflow) * 2)) + } + static func widthMax(_ screen: NSScreen) -> CGFloat { - return ThumbnailsPanel.widthMax(screen) / Preferences.minCellsPerRow - Preferences.cellPadding + return (ThumbnailsPanel.widthMax(screen) / Preferences.minCellsPerRow - Preferences.cellPadding) * Cell.downscaleFactor() } static func widthMin(_ screen: NSScreen) -> CGFloat { - return ThumbnailsPanel.widthMax(screen) / Preferences.maxCellsPerRow - Preferences.cellPadding + return (ThumbnailsPanel.widthMax(screen) / Preferences.maxCellsPerRow - Preferences.cellPadding) * Cell.downscaleFactor() } static func height(_ screen: NSScreen) -> CGFloat { - return ThumbnailsPanel.heightMax(screen) / Preferences.nCellsRows - Preferences.cellPadding + return (ThumbnailsPanel.heightMax(screen) / Preferences.nCellsRows - Preferences.cellPadding) * Cell.downscaleFactor() } static func width(_ image: NSImage?, _ screen: NSScreen) -> CGFloat { From 0b8b237315f3ec6d4bee1dfd85a2a25bf3fece35 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 16 Jan 2020 14:11:13 +0900 Subject: [PATCH 24/98] fix: remove debug colors --- alt-tab-macos/ui/Cell.swift | 8 -------- alt-tab-macos/ui/ThumbnailsPanel.swift | 3 +-- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/alt-tab-macos/ui/Cell.swift b/alt-tab-macos/ui/Cell.swift index d1d1f18f..ad7c2581 100644 --- a/alt-tab-macos/ui/Cell.swift +++ b/alt-tab-macos/ui/Cell.swift @@ -20,13 +20,7 @@ class Cell: NSCollectionViewItem { let vStackView = makeVStackView(hStackView) let shadow = Cell.makeShadow(.gray) thumbnail.shadow = shadow - thumbnail.wantsLayer = true - thumbnail.layer!.backgroundColor = NSColor.blue.cgColor appIcon.shadow = shadow - appIcon.wantsLayer = true - appIcon.layer!.backgroundColor = NSColor.green.cgColor - vStackView.wantsLayer = true - vStackView.layer!.backgroundColor = NSColor.gray.cgColor view = vStackView } @@ -89,8 +83,6 @@ class Cell: NSCollectionViewItem { private func makeHStackView() -> NSStackView { let hStackView = NSStackView() hStackView.spacing = Preferences.cellPadding - label.wantsLayer = true - label.layer!.backgroundColor = NSColor.brown.cgColor hStackView.setViews([appIcon, label, hiddenIcon, minimizedIcon, spaceIcon], in: .leading) return hStackView } diff --git a/alt-tab-macos/ui/ThumbnailsPanel.swift b/alt-tab-macos/ui/ThumbnailsPanel.swift index bdc263c3..0b5c4c90 100644 --- a/alt-tab-macos/ui/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/ThumbnailsPanel.swift @@ -41,7 +41,6 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele backgroundView.state = .active backgroundView.wantsLayer = true backgroundView.layer!.cornerRadius = Preferences.windowCornerRadius! - backgroundView.layer!.backgroundColor = .white backgroundView.addSubview(collectionView) } @@ -50,7 +49,7 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele collectionView.dataSource = self collectionView.delegate = self collectionView.collectionViewLayout = CollectionViewCenterFlowLayout() - collectionView.backgroundColors = [.yellow] + collectionView.backgroundColors = [.clear] collectionView.isSelectable = true collectionView.allowsMultipleSelection = false collectionView.register(Cell.self, forItemWithIdentifier: cellId) From 1a35e30892d90764bc00212283b57a427a2d0ea1 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 16 Jan 2020 14:49:33 +0900 Subject: [PATCH 25/98] fix: using floor() everywhere to avoid blurry rendering --- alt-tab-macos/ui/Cell.swift | 19 ++++++++++++------- alt-tab-macos/ui/ThumbnailsPanel.swift | 8 ++++---- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/alt-tab-macos/ui/Cell.swift b/alt-tab-macos/ui/Cell.swift index ad7c2581..93eb2cc0 100644 --- a/alt-tab-macos/ui/Cell.swift +++ b/alt-tab-macos/ui/Cell.swift @@ -109,31 +109,36 @@ class Cell: NSCollectionViewItem { } static func widthMax(_ screen: NSScreen) -> CGFloat { - return (ThumbnailsPanel.widthMax(screen) / Preferences.minCellsPerRow - Preferences.cellPadding) * Cell.downscaleFactor() + return floor((ThumbnailsPanel.widthMax(screen) / Preferences.minCellsPerRow - Preferences.cellPadding) * Cell.downscaleFactor()) } static func widthMin(_ screen: NSScreen) -> CGFloat { - return (ThumbnailsPanel.widthMax(screen) / Preferences.maxCellsPerRow - Preferences.cellPadding) * Cell.downscaleFactor() + return floor((ThumbnailsPanel.widthMax(screen) / Preferences.maxCellsPerRow - Preferences.cellPadding) * Cell.downscaleFactor()) } static func height(_ screen: NSScreen) -> CGFloat { - return (ThumbnailsPanel.heightMax(screen) / Preferences.nCellsRows - Preferences.cellPadding) * Cell.downscaleFactor() + return floor((ThumbnailsPanel.heightMax(screen) / Preferences.nCellsRows - Preferences.cellPadding) * Cell.downscaleFactor()) } static func width(_ image: NSImage?, _ screen: NSScreen) -> CGFloat { - return max(thumbnailSize(image, screen).width + Preferences.cellPadding * 2, ThumbnailsPanel.widthMin(screen)) + return floor(max(thumbnailSize(image, screen).width + Preferences.cellPadding * 2, ThumbnailsPanel.widthMin(screen))) } static func thumbnailSize(_ image: NSImage?, _ screen: NSScreen) -> NSSize { + let (width, height) = thumbnailSize_(image, screen) + return NSSize(width: floor(width), height: floor(height)) + } + + static func thumbnailSize_(_ image: NSImage?, _ screen: NSScreen) -> (CGFloat, CGFloat) { let thumbnailWidthMin = Cell.widthMin(screen) - Preferences.cellPadding * 2 let thumbnailHeightMax = Cell.height(screen) - Preferences.cellPadding * 3 - Preferences.iconSize let thumbnailWidthMax = Cell.widthMax(screen) - Preferences.cellPadding * 2 - guard let image = image else { return NSSize(width: thumbnailWidthMin, height: thumbnailHeightMax) } + guard let image = image else { return (thumbnailWidthMin, thumbnailHeightMax) } let imageRatio = image.size.width / image.size.height let thumbnailRatio = thumbnailWidthMax / thumbnailHeightMax if thumbnailRatio > imageRatio { - return NSSize(width: image.size.width * thumbnailHeightMax / image.size.height, height: thumbnailHeightMax) + return (image.size.width * thumbnailHeightMax / image.size.height, thumbnailHeightMax) } - return NSSize(width: thumbnailWidthMax, height: image.size.height * thumbnailWidthMax / image.size.width) + return (thumbnailWidthMax, image.size.height * thumbnailWidthMax / image.size.width) } } diff --git a/alt-tab-macos/ui/ThumbnailsPanel.swift b/alt-tab-macos/ui/ThumbnailsPanel.swift index 0b5c4c90..e351c766 100644 --- a/alt-tab-macos/ui/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/ThumbnailsPanel.swift @@ -96,18 +96,18 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele } static func widthMax(_ screen: NSScreen) -> CGFloat { - return screen.frame.width * Preferences.maxScreenUsage - Preferences.windowPadding * 2 + return floor(screen.frame.width * Preferences.maxScreenUsage - Preferences.windowPadding * 2) } static func heightMax(_ screen: NSScreen) -> CGFloat { - return screen.frame.height * Preferences.maxScreenUsage - Preferences.windowPadding * 2 + return floor(screen.frame.height * Preferences.maxScreenUsage - Preferences.windowPadding * 2) } static func widthMin(_ screen: NSScreen) -> CGFloat { - return Cell.widthMin(screen) - Preferences.windowPadding * 2 + return floor(Cell.widthMin(screen) - Preferences.windowPadding * 2) } static func heightMin(_ screen: NSScreen) -> CGFloat { - return Cell.height(screen) - Preferences.windowPadding * 2 + return floor(Cell.height(screen) - Preferences.windowPadding * 2) } } From 01339742b2963812feae9262ea7768ea757b4b3a Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Mon, 20 Jan 2020 10:04:12 +0900 Subject: [PATCH 26/98] fix: layout was incorrect resulting in thumbnails clipping --- alt-tab-macos/logic/Preferences.swift | 9 ++-- alt-tab-macos/ui/Cell.swift | 25 +++++------ .../ui/CollectionViewCenterFlowLayout.swift | 43 ++++++++++++------- alt-tab-macos/ui/ThumbnailsPanel.swift | 34 +++++++++------ 4 files changed, 66 insertions(+), 45 deletions(-) diff --git a/alt-tab-macos/logic/Preferences.swift b/alt-tab-macos/logic/Preferences.swift index f525a1c2..16e5f7aa 100644 --- a/alt-tab-macos/logic/Preferences.swift +++ b/alt-tab-macos/logic/Preferences.swift @@ -10,12 +10,13 @@ class Preferences { static let fontHeight = CGFloat(15) static let font = NSFont.systemFont(ofSize: fontHeight) static let windowPadding = CGFloat(23) - static let cellPadding = CGFloat(5) + static let interCellPadding = CGFloat(5) + static let intraCellPadding = CGFloat(5) static let fontIconSize = CGFloat(20) static let maxScreenUsage = CGFloat(0.8) - static let minCellsPerRow = CGFloat(4) - static let maxCellsPerRow = CGFloat(6) - static let nCellsRows = CGFloat(4) + static let minCellsPerRow = CGFloat(3) + static let maxCellsPerRow = CGFloat(4) + static let nCellsRows = CGFloat(3) static let themeMacro = MacroPreferenceHelper<(CGFloat, CGFloat, CGFloat, NSColor, NSColor)>([ MacroPreference(" macOS", (0, 5, 20, .clear, NSColor(red: 0, green: 0, blue: 0, alpha: 0.3))), diff --git a/alt-tab-macos/ui/Cell.swift b/alt-tab-macos/ui/Cell.swift index 93eb2cc0..bc17da2d 100644 --- a/alt-tab-macos/ui/Cell.swift +++ b/alt-tab-macos/ui/Cell.swift @@ -62,8 +62,9 @@ class Cell: NSCollectionViewItem { spaceIcon.setNumber(UInt32(element.spaceIndex!)) } } - let fontIconWidth = CGFloat([minimizedIcon, hiddenIcon, spaceIcon].filter { !$0.isHidden }.count) * (Preferences.fontIconSize + Preferences.cellPadding) - label.textContainer!.size.width = view.frame.width - Preferences.iconSize - Preferences.cellPadding * 3 - fontIconWidth + let fontIconWidth = CGFloat([minimizedIcon, hiddenIcon, spaceIcon].filter { !$0.isHidden }.count) * (Preferences.fontIconSize + Preferences.intraCellPadding) + label.textContainer!.size.width = view.frame.width - Preferences.iconSize - Preferences.intraCellPadding * 3 - fontIconWidth + view.subviews.first!.frame.size = view.frame.size self.mouseDownCallback = mouseDownCallback self.mouseMovedCallback = mouseMovedCallback if view.trackingAreas.count > 0 { @@ -82,7 +83,7 @@ class Cell: NSCollectionViewItem { private func makeHStackView() -> NSStackView { let hStackView = NSStackView() - hStackView.spacing = Preferences.cellPadding + hStackView.spacing = Preferences.intraCellPadding hStackView.setViews([appIcon, label, hiddenIcon, minimizedIcon, spaceIcon], in: .leading) return hStackView } @@ -94,9 +95,9 @@ class Cell: NSCollectionViewItem { vStackView.layer!.cornerRadius = Preferences.cellCornerRadius! vStackView.layer!.borderWidth = Preferences.cellBorderWidth! vStackView.layer!.borderColor = .clear - vStackView.edgeInsets = NSEdgeInsets(top: Preferences.cellPadding, left: Preferences.cellPadding, bottom: Preferences.cellPadding, right: Preferences.cellPadding) + vStackView.edgeInsets = NSEdgeInsets(top: Preferences.intraCellPadding, left: Preferences.intraCellPadding, bottom: Preferences.intraCellPadding, right: Preferences.intraCellPadding) vStackView.orientation = .vertical - vStackView.spacing = Preferences.cellPadding + vStackView.spacing = Preferences.intraCellPadding vStackView.setViews([hStackView, thumbnail], in: .leading) return vStackView } @@ -109,19 +110,19 @@ class Cell: NSCollectionViewItem { } static func widthMax(_ screen: NSScreen) -> CGFloat { - return floor((ThumbnailsPanel.widthMax(screen) / Preferences.minCellsPerRow - Preferences.cellPadding) * Cell.downscaleFactor()) + return floor((ThumbnailsPanel.widthMax(screen) / Preferences.minCellsPerRow - Preferences.interCellPadding) * Cell.downscaleFactor()) } static func widthMin(_ screen: NSScreen) -> CGFloat { - return floor((ThumbnailsPanel.widthMax(screen) / Preferences.maxCellsPerRow - Preferences.cellPadding) * Cell.downscaleFactor()) + return floor((ThumbnailsPanel.widthMax(screen) / Preferences.maxCellsPerRow - Preferences.interCellPadding) * Cell.downscaleFactor()) } static func height(_ screen: NSScreen) -> CGFloat { - return floor((ThumbnailsPanel.heightMax(screen) / Preferences.nCellsRows - Preferences.cellPadding) * Cell.downscaleFactor()) + return floor((ThumbnailsPanel.heightMax(screen) / Preferences.nCellsRows - Preferences.interCellPadding) * Cell.downscaleFactor()) } static func width(_ image: NSImage?, _ screen: NSScreen) -> CGFloat { - return floor(max(thumbnailSize(image, screen).width + Preferences.cellPadding * 2, ThumbnailsPanel.widthMin(screen))) + return floor(max(thumbnailSize(image, screen).width + Preferences.intraCellPadding * 2, Cell.widthMin(screen))) } static func thumbnailSize(_ image: NSImage?, _ screen: NSScreen) -> NSSize { @@ -130,9 +131,9 @@ class Cell: NSCollectionViewItem { } static func thumbnailSize_(_ image: NSImage?, _ screen: NSScreen) -> (CGFloat, CGFloat) { - let thumbnailWidthMin = Cell.widthMin(screen) - Preferences.cellPadding * 2 - let thumbnailHeightMax = Cell.height(screen) - Preferences.cellPadding * 3 - Preferences.iconSize - let thumbnailWidthMax = Cell.widthMax(screen) - Preferences.cellPadding * 2 + let thumbnailWidthMin = Cell.widthMin(screen) - Preferences.intraCellPadding * 2 + let thumbnailHeightMax = Cell.height(screen) - Preferences.intraCellPadding * 3 - Preferences.iconSize + let thumbnailWidthMax = Cell.widthMax(screen) - Preferences.intraCellPadding * 2 guard let image = image else { return (thumbnailWidthMin, thumbnailHeightMax) } let imageRatio = image.size.width / image.size.height let thumbnailRatio = thumbnailWidthMax / thumbnailHeightMax diff --git a/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift b/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift index 15992462..7adc6a32 100644 --- a/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift +++ b/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift @@ -2,6 +2,8 @@ import Cocoa class CollectionViewCenterFlowLayout: NSCollectionViewFlowLayout { var currentScreen: NSScreen? + var widestRow: CGFloat? + var totalHeight: CGFloat? override func layoutAttributesForElements(in rect: CGRect) -> [NSCollectionViewLayoutAttributes] { let attributes_ = super.layoutAttributesForElements(in: rect) @@ -10,42 +12,51 @@ class CollectionViewCenterFlowLayout: NSCollectionViewFlowLayout { var currentRow: [NSCollectionViewLayoutAttributes] = [] var currentRowY = CGFloat(0) var currentRowWidth = CGFloat(0) - var previousRowMaxY = CGFloat(0) - var currentRowMaxY = CGFloat(0) + var previousRowMaxHeight = CGFloat(0) + var currentRowMaxHeight = CGFloat(0) var widestRow = CGFloat(0) var totalHeight = CGFloat(0) for (index, attribute) in attributes.enumerated() { let isNewRow = abs(attribute.frame.origin.y - currentRowY) > Cell.height(currentScreen!) if isNewRow { - computeOriginXForAllItems(currentRowWidth - Preferences.cellPadding, previousRowMaxY, currentRow) + currentRowWidth -= Preferences.interCellPadding + widestRow = max(widestRow, currentRowWidth) + setCenteredPositionForPreviousRowCells(currentRowWidth, previousRowMaxHeight, currentRow) currentRow.removeAll() currentRowY = attribute.frame.origin.y currentRowWidth = 0 - previousRowMaxY += currentRowMaxY + Preferences.cellPadding - currentRowMaxY = 0 + previousRowMaxHeight += currentRowMaxHeight + Preferences.interCellPadding + currentRowMaxHeight = 0 } currentRow.append(attribute) - currentRowWidth += attribute.frame.size.width + Preferences.cellPadding - widestRow = max(widestRow, currentRowWidth) - currentRowMaxY = max(currentRowMaxY, attribute.frame.size.height) + currentRowWidth += attribute.frame.size.width + Preferences.interCellPadding + currentRowMaxHeight = max(currentRowMaxHeight, attribute.frame.size.height) if index == attributes.count - 1 { - computeOriginXForAllItems(currentRowWidth - Preferences.cellPadding, previousRowMaxY, currentRow) - totalHeight = previousRowMaxY + currentRowMaxY + currentRowWidth -= Preferences.interCellPadding + widestRow = max(widestRow, currentRowWidth) + totalHeight = previousRowMaxHeight + currentRowMaxHeight + setCenteredPositionForPreviousRowCells(currentRowWidth, previousRowMaxHeight, currentRow) } } - let newWidth = widestRow - Preferences.cellPadding - collectionView!.bounds.origin.x = (collectionView!.frame.size.width - newWidth) / 2 - collectionView!.frame.size.width = newWidth - collectionView!.frame.size.height = totalHeight + shiftCenteredElementToTheLeft(attributes, widestRow, totalHeight) + self.widestRow = widestRow + self.totalHeight = totalHeight return attributes } - private func computeOriginXForAllItems(_ currentRowWidth: CGFloat, _ previousRowMaxHeight: CGFloat, _ currentRow: [NSCollectionViewLayoutAttributes]) { + private func shiftCenteredElementToTheLeft(_ attributes: [NSCollectionViewLayoutAttributes], _ widestRow: CGFloat, _ totalHeight: CGFloat) { + let horizontalMargin = floor((collectionView!.frame.size.width - widestRow) / 2) + for attribute in attributes { + attribute.frame.origin.x -= horizontalMargin + } + } + + private func setCenteredPositionForPreviousRowCells(_ currentRowWidth: CGFloat, _ previousRowMaxHeight: CGFloat, _ currentRow: [NSCollectionViewLayoutAttributes]) { var marginLeft = (collectionView!.frame.size.width - currentRowWidth) / 2 for attribute in currentRow { attribute.frame.origin.x = marginLeft attribute.frame.origin.y = previousRowMaxHeight - marginLeft += attribute.frame.size.width + Preferences.cellPadding + marginLeft += attribute.frame.size.width + Preferences.interCellPadding } } } diff --git a/alt-tab-macos/ui/ThumbnailsPanel.swift b/alt-tab-macos/ui/ThumbnailsPanel.swift index e351c766..47fa1dec 100644 --- a/alt-tab-macos/ui/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/ThumbnailsPanel.swift @@ -22,8 +22,9 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele styleMask.remove(.titled) backgroundColor = .clear makeCollectionView() - makeBackgroundView() - contentView!.addSubview(backgroundView!) + backgroundView = ThumbnailsPanel.makeBackgroundView() + backgroundView.addSubview(collectionView) + contentView!.addSubview(backgroundView) // highest level possible; this allows the app to go on top of context menus level = .screenSaver // helps filter out this window from the thumbnails @@ -34,27 +35,34 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele makeKeyAndOrderFront(nil) } - private func makeBackgroundView() { - backgroundView = NSVisualEffectView() + static func makeBackgroundView() -> NSVisualEffectView { + let backgroundView = NSVisualEffectView() backgroundView.translatesAutoresizingMaskIntoConstraints = false backgroundView.material = Preferences.windowMaterial backgroundView.state = .active backgroundView.wantsLayer = true backgroundView.layer!.cornerRadius = Preferences.windowCornerRadius! - backgroundView.addSubview(collectionView) + return backgroundView } func makeCollectionView() { collectionView = NSCollectionView() collectionView.dataSource = self collectionView.delegate = self - collectionView.collectionViewLayout = CollectionViewCenterFlowLayout() + collectionView.collectionViewLayout = makeLayout() collectionView.backgroundColors = [.clear] collectionView.isSelectable = true collectionView.allowsMultipleSelection = false collectionView.register(Cell.self, forItemWithIdentifier: cellId) } + private func makeLayout() -> CollectionViewCenterFlowLayout { + let layout = CollectionViewCenterFlowLayout() + layout.minimumInteritemSpacing = Preferences.interCellPadding + layout.minimumLineSpacing = Preferences.interCellPadding + return layout + } + func collectionView(_ collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int { return Windows.list.count } @@ -86,12 +94,16 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele func refreshCollectionView(_ screen: NSScreen, _ uiWorkShouldBeDone: Bool) { if uiWorkShouldBeDone { self.currentScreen = screen } - if uiWorkShouldBeDone { (collectionView.collectionViewLayout as! CollectionViewCenterFlowLayout).currentScreen = screen } + let layout = collectionView.collectionViewLayout as! CollectionViewCenterFlowLayout + if uiWorkShouldBeDone { layout.currentScreen = screen } + if uiWorkShouldBeDone { layout.invalidateLayout() } if uiWorkShouldBeDone { collectionView.setFrameSize(NSSize(width: ThumbnailsPanel.widthMax(screen), height: ThumbnailsPanel.heightMax(screen))) } if uiWorkShouldBeDone { collectionView.reloadData() } if uiWorkShouldBeDone { collectionView.layoutSubtreeIfNeeded() } - if uiWorkShouldBeDone { setContentSize(NSSize(width: collectionView.frame.size.width + Preferences.windowPadding * 2, height: collectionView.frame.size.height + Preferences.windowPadding * 2)) } - if uiWorkShouldBeDone { backgroundView!.setFrameSize(frame.size) } + if uiWorkShouldBeDone { collectionView.setFrameSize(NSSize(width: layout.widestRow!, height: layout.totalHeight!)) } + let windowSize = NSSize(width: layout.widestRow! + Preferences.windowPadding * 2, height: layout.totalHeight! + Preferences.windowPadding * 2) + if uiWorkShouldBeDone { setContentSize(windowSize) } + if uiWorkShouldBeDone { backgroundView!.setFrameSize(windowSize) } if uiWorkShouldBeDone { collectionView.setFrameOrigin(NSPoint(x: Preferences.windowPadding, y: Preferences.windowPadding)) } } @@ -103,10 +115,6 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele return floor(screen.frame.height * Preferences.maxScreenUsage - Preferences.windowPadding * 2) } - static func widthMin(_ screen: NSScreen) -> CGFloat { - return floor(Cell.widthMin(screen) - Preferences.windowPadding * 2) - } - static func heightMin(_ screen: NSScreen) -> CGFloat { return floor(Cell.height(screen) - Preferences.windowPadding * 2) } From 3067f3c22cae70584e0ef392b14e8511d6e846be Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Mon, 20 Jan 2020 15:18:31 +0900 Subject: [PATCH 27/98] feat: slightly increase contrast (mitigates #82) --- alt-tab-macos/logic/Preferences.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alt-tab-macos/logic/Preferences.swift b/alt-tab-macos/logic/Preferences.swift index 16e5f7aa..acb05bc2 100644 --- a/alt-tab-macos/logic/Preferences.swift +++ b/alt-tab-macos/logic/Preferences.swift @@ -19,7 +19,7 @@ class Preferences { static let nCellsRows = CGFloat(3) static let themeMacro = MacroPreferenceHelper<(CGFloat, CGFloat, CGFloat, NSColor, NSColor)>([ - MacroPreference(" macOS", (0, 5, 20, .clear, NSColor(red: 0, green: 0, blue: 0, alpha: 0.3))), + MacroPreference(" macOS", (0, 5, 20, .clear, NSColor(red: 0, green: 0, blue: 0, alpha: 0.4))), MacroPreference("❖ Windows 10", (2, 0, 0, .white, .clear)) ]) static let metaKeyMacro = MacroPreferenceHelper<([Int], NSEvent.ModifierFlags)>([ From c4dfb4abbf1b01a439986b036d2cc363020018df Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Mon, 20 Jan 2020 16:58:42 +0900 Subject: [PATCH 28/98] ci: update homebrew cask for new releases (closes #75) --- .travis.yml | 2 ++ alt-tab-macos.xcodeproj/project.pbxproj | 2 ++ ci/update_homebrew_cask.sh | 7 +++++++ 3 files changed, 11 insertions(+) create mode 100755 ci/update_homebrew_cask.sh diff --git a/.travis.yml b/.travis.yml index 1884b699..96620b79 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,6 +26,8 @@ deploy: skip_cleanup: true on: repo: lwouis/alt-tab-macos +after_deploy: + - ci/update_homebrew_cask.sh branches: except: - "/^v\\d+\\.\\d+\\.\\d+$/" diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index f09efe9a..34db9385 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -91,6 +91,7 @@ D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = ""; }; D04BAE5BBE182DD5DDFE2E3E /* ThumbnailsPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThumbnailsPanel.swift; sourceTree = ""; }; D04BAE80772D25834E440975 /* Window.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Window.swift; sourceTree = ""; }; + D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = update_homebrew_cask.sh; sourceTree = ""; }; D04BAEA3EDC4F80FA23DBEC4 /* CGWindowID.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindowID.swift; sourceTree = ""; }; D04BAED53465957807CBF8B2 /* FontIcon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FontIcon.swift; sourceTree = ""; }; D04BAF076A30A1BAFEDBEA66 /* 5 windows - 2 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 2 lines.jpg"; sourceTree = ""; }; @@ -217,6 +218,7 @@ D04BA7ECCE728582D9ECA613 /* determine_version.sh */, D04BA4B5292629AA6B560216 /* package_release.sh */, D04BAC6AFC7F06D1A567F27A /* set_version_in_app.sh */, + D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */, ); path = ci; sourceTree = ""; diff --git a/ci/update_homebrew_cask.sh b/ci/update_homebrew_cask.sh new file mode 100755 index 00000000..99f32ba7 --- /dev/null +++ b/ci/update_homebrew_cask.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +version="$(cat VERSION.txt)" + +cask-repair --cask-version "$version" alt-tab From 3ac921dde3e3478eacd202c0bbb3cfcd39680387 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Mon, 20 Jan 2020 18:54:29 +0900 Subject: [PATCH 29/98] fix: some apps should retry observing until it works --- alt-tab-macos/api-wrappers/AXUIElement.swift | 9 +++++++++ alt-tab-macos/logic/Application.swift | 6 +++--- alt-tab-macos/logic/Window.swift | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/alt-tab-macos/api-wrappers/AXUIElement.swift b/alt-tab-macos/api-wrappers/AXUIElement.swift index e27bc07c..13c1f696 100644 --- a/alt-tab-macos/api-wrappers/AXUIElement.swift +++ b/alt-tab-macos/api-wrappers/AXUIElement.swift @@ -50,6 +50,15 @@ extension AXUIElement { return attribute(kAXSubroleAttribute, String.self) } + func subscribeWithRetry(_ axObserver: AXObserver, _ notification: String, _ pointer: UnsafeMutableRawPointer?) { + let result = AXObserverAddNotification(axObserver, self, notification as CFString, pointer) + if result != .success && result != .notificationUnsupported && result != .notificationAlreadyRegistered { + DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(10), execute: { + self.subscribeWithRetry(axObserver, notification, pointer) + }) + } + } + private func attribute(_ key: String, _ type: T.Type) -> T? { var value: AnyObject? let result = AXUIElementCopyAttributeValue(self, key as CFString, &value) diff --git a/alt-tab-macos/logic/Application.swift b/alt-tab-macos/logic/Application.swift index 06e108d5..5f06dca1 100644 --- a/alt-tab-macos/logic/Application.swift +++ b/alt-tab-macos/logic/Application.swift @@ -30,7 +30,7 @@ class Application: NSObject { let windows = getActualWindows() debugPrint("Adding app: " + (runningApplication.bundleIdentifier ?? "nil"), windows.map { $0.title() }) addWindows(windows) - observeEvents(windows) + observeEvents() } func observeNewWindows() { @@ -56,7 +56,7 @@ class Application: NSObject { Windows.list.insert(contentsOf: windows.map { Window($0, self) }, at: 0) } - private func observeEvents(_ windows: [AXUIElement]) { + private func observeEvents() { guard let axObserver = axObserver else { return } let selfPointer = UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()) for notification in [ @@ -66,7 +66,7 @@ class Application: NSObject { kAXApplicationHiddenNotification, kAXApplicationShownNotification, ] { - AXObserverAddNotification(axObserver, axUiElement!, notification as CFString, selfPointer) + axUiElement!.subscribeWithRetry(axObserver, notification, selfPointer) } CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(axObserver), .defaultMode) } diff --git a/alt-tab-macos/logic/Window.swift b/alt-tab-macos/logic/Window.swift index 2ab76b14..e6d4edd4 100644 --- a/alt-tab-macos/logic/Window.swift +++ b/alt-tab-macos/logic/Window.swift @@ -40,7 +40,7 @@ class Window { kAXWindowMiniaturizedNotification, kAXWindowDeminiaturizedNotification, ] { - AXObserverAddNotification(axObserver, axUiElement, notification as CFString, nil) + axUiElement.subscribeWithRetry(axObserver, notification, nil) } CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(axObserver), .defaultMode) } From d537bf126725fcbde00be8754ea7b5482ea83762 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Tue, 21 Jan 2020 09:59:58 +0900 Subject: [PATCH 30/98] fix: app launched while in fullscreen shows first window see https://github.com/lwouis/alt-tab-macos/pull/114#issuecomment-576384795 --- alt-tab-macos/logic/Applications.swift | 12 ++++++++---- alt-tab-macos/logic/Spaces.swift | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/alt-tab-macos/logic/Applications.swift b/alt-tab-macos/logic/Applications.swift index 77652c12..bdd7c206 100644 --- a/alt-tab-macos/logic/Applications.swift +++ b/alt-tab-macos/logic/Applications.swift @@ -5,6 +5,13 @@ class Applications { static var list = [Application]() static var appsObserver = RunningApplicationsObserver() + static func observeNewWindows() { + for app in list { + guard app.runningApplication.isFinishedLaunching else { continue } + app.observeNewWindows() + } + } + static func initialDiscovery() { addInitialRunningApplications() observeRunningApplications() @@ -31,10 +38,7 @@ class Applications { } if windows.count > 0 { CGSAddWindowsToSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId]) - for app in list { - guard app.runningApplication.isFinishedLaunching else { continue } - app.observeNewWindows() - } + Applications.observeNewWindows() Windows.sortByLevel() CGSRemoveWindowsFromSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId]) return diff --git a/alt-tab-macos/logic/Spaces.swift b/alt-tab-macos/logic/Spaces.swift index 155d21a4..2f472ce9 100644 --- a/alt-tab-macos/logic/Spaces.swift +++ b/alt-tab-macos/logic/Spaces.swift @@ -10,6 +10,7 @@ class Spaces { static func observeSpaceChanges() { NSWorkspace.shared.notificationCenter.addObserver(forName: NSWorkspace.activeSpaceDidChangeNotification, object: nil, queue: nil, using: { _ in updateCurrentSpace() + Applications.observeNewWindows() let app = App.shared as! App guard app.appIsBeingUsed else { return } app.reopenUi() From 9cd719e86c528c1d5ba64c91e2ad3a44af7107a8 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 22 Jan 2020 20:29:18 +0900 Subject: [PATCH 31/98] fix: compiler warnings --- alt-tab-macos/logic/Application.swift | 2 +- alt-tab-macos/logic/Window.swift | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/alt-tab-macos/logic/Application.swift b/alt-tab-macos/logic/Application.swift index 5f06dca1..edc2fcca 100644 --- a/alt-tab-macos/logic/Application.swift +++ b/alt-tab-macos/logic/Application.swift @@ -76,7 +76,7 @@ private func axObserverCallback(observer: AXObserver, element: AXUIElement, noti let application = Unmanaged.fromOpaque(applicationPointer!).takeUnretainedValue() let app = App.shared as! App let type = notificationName as String - debugPrint("OS event: " + type, element.title()) + debugPrint("OS event: " + type, element.title() ?? "nil") switch type { case kAXApplicationActivatedNotification: eventApplicationActivated(app, element) case kAXApplicationHiddenNotification, kAXApplicationShownNotification: eventApplicationHiddenOrShown(app, element, type) diff --git a/alt-tab-macos/logic/Window.swift b/alt-tab-macos/logic/Window.swift index e6d4edd4..66bb9fa1 100644 --- a/alt-tab-macos/logic/Window.swift +++ b/alt-tab-macos/logic/Window.swift @@ -27,7 +27,7 @@ class Window { self.spaceIndex = Spaces.currentSpaceIndex self.isOnAllSpaces = false self.title = Window.bestEffortTitle(axUiElement, cgWindowId, application) - debugPrint("Adding window: " + title, application.runningApplication.bundleIdentifier, Spaces.currentSpaceId, Spaces.currentSpaceIndex) + debugPrint("Adding window: " + title, application.runningApplication.bundleIdentifier ?? "nil", Spaces.currentSpaceId, Spaces.currentSpaceIndex) observeEvents() } @@ -104,7 +104,7 @@ class Window { private func axObserverCallback(observer: AXObserver, element: AXUIElement, notificationName: CFString, _: UnsafeMutableRawPointer?) -> Void { let type = notificationName as String let app = App.shared as! App - debugPrint("OS event: " + type, element.title()) + debugPrint("OS event: " + type, element.title() ?? "nil") switch type { case kAXUIElementDestroyedNotification: eventWindowDestroyed(app, element) case kAXWindowMiniaturizedNotification, kAXWindowDeminiaturizedNotification: eventWindowMiniaturizedOrDeminiaturized(app, element, type) From 8687e06aa21c8010ed2d3d7e07e5688ad9cde065 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 23 Jan 2020 17:56:52 +0900 Subject: [PATCH 32/98] fix: better float rounding = sharper cell contents --- alt-tab-macos/logic/Spaces.swift | 2 +- alt-tab-macos/ui/Cell.swift | 18 +++++++----------- .../ui/CollectionViewCenterFlowLayout.swift | 2 +- alt-tab-macos/ui/ThumbnailsPanel.swift | 12 ++++-------- 4 files changed, 13 insertions(+), 21 deletions(-) diff --git a/alt-tab-macos/logic/Spaces.swift b/alt-tab-macos/logic/Spaces.swift index 2f472ce9..e502819b 100644 --- a/alt-tab-macos/logic/Spaces.swift +++ b/alt-tab-macos/logic/Spaces.swift @@ -26,7 +26,7 @@ class Spaces { static func updateCurrentSpace() { currentSpaceId = CGSManagedDisplayGetCurrentSpace(cgsMainConnectionId, Screen.mainUuid()) currentSpaceIndex = allIdsAndIndexes().first { $0.0 == currentSpaceId }!.1 - debugPrint("current space", currentSpaceId) + debugPrint("Current space", currentSpaceId) } static func allIdsAndIndexes() -> [(CGSSpaceID, SpaceIndex)] { diff --git a/alt-tab-macos/ui/Cell.swift b/alt-tab-macos/ui/Cell.swift index bc17da2d..b622af07 100644 --- a/alt-tab-macos/ui/Cell.swift +++ b/alt-tab-macos/ui/Cell.swift @@ -42,7 +42,8 @@ class Cell: NSCollectionViewItem { func updateRecycledCellWithNewContent(_ element: Window, _ mouseDownCallback: @escaping MouseDownCallback, _ mouseMovedCallback: @escaping MouseMovedCallback, _ screen: NSScreen) { window = element thumbnail.image = element.thumbnail - let thumbnailSize = Cell.thumbnailSize(element.thumbnail, screen) + let (thumbnailWidth, thumbnailHeight) = Cell.thumbnailSize(element.thumbnail, screen) + let thumbnailSize = NSSize(width: thumbnailWidth.rounded(), height: thumbnailHeight.rounded()) thumbnail.image?.size = thumbnailSize thumbnail.frame.size = thumbnailSize appIcon.image = element.icon @@ -110,27 +111,22 @@ class Cell: NSCollectionViewItem { } static func widthMax(_ screen: NSScreen) -> CGFloat { - return floor((ThumbnailsPanel.widthMax(screen) / Preferences.minCellsPerRow - Preferences.interCellPadding) * Cell.downscaleFactor()) + return (ThumbnailsPanel.widthMax(screen) / Preferences.minCellsPerRow - Preferences.interCellPadding) * Cell.downscaleFactor() } static func widthMin(_ screen: NSScreen) -> CGFloat { - return floor((ThumbnailsPanel.widthMax(screen) / Preferences.maxCellsPerRow - Preferences.interCellPadding) * Cell.downscaleFactor()) + return (ThumbnailsPanel.widthMax(screen) / Preferences.maxCellsPerRow - Preferences.interCellPadding) * Cell.downscaleFactor() } static func height(_ screen: NSScreen) -> CGFloat { - return floor((ThumbnailsPanel.heightMax(screen) / Preferences.nCellsRows - Preferences.interCellPadding) * Cell.downscaleFactor()) + return (ThumbnailsPanel.heightMax(screen) / Preferences.nCellsRows - Preferences.interCellPadding) * Cell.downscaleFactor() } static func width(_ image: NSImage?, _ screen: NSScreen) -> CGFloat { - return floor(max(thumbnailSize(image, screen).width + Preferences.intraCellPadding * 2, Cell.widthMin(screen))) + return max(thumbnailSize(image, screen).0 + Preferences.intraCellPadding * 2, Cell.widthMin(screen)) } - static func thumbnailSize(_ image: NSImage?, _ screen: NSScreen) -> NSSize { - let (width, height) = thumbnailSize_(image, screen) - return NSSize(width: floor(width), height: floor(height)) - } - - static func thumbnailSize_(_ image: NSImage?, _ screen: NSScreen) -> (CGFloat, CGFloat) { + static func thumbnailSize(_ image: NSImage?, _ screen: NSScreen) -> (CGFloat, CGFloat) { let thumbnailWidthMin = Cell.widthMin(screen) - Preferences.intraCellPadding * 2 let thumbnailHeightMax = Cell.height(screen) - Preferences.intraCellPadding * 3 - Preferences.iconSize let thumbnailWidthMax = Cell.widthMax(screen) - Preferences.intraCellPadding * 2 diff --git a/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift b/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift index 7adc6a32..1e09dfa7 100644 --- a/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift +++ b/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift @@ -45,7 +45,7 @@ class CollectionViewCenterFlowLayout: NSCollectionViewFlowLayout { } private func shiftCenteredElementToTheLeft(_ attributes: [NSCollectionViewLayoutAttributes], _ widestRow: CGFloat, _ totalHeight: CGFloat) { - let horizontalMargin = floor((collectionView!.frame.size.width - widestRow) / 2) + let horizontalMargin = ((collectionView!.frame.size.width - widestRow) / 2).rounded() for attribute in attributes { attribute.frame.origin.x -= horizontalMargin } diff --git a/alt-tab-macos/ui/ThumbnailsPanel.swift b/alt-tab-macos/ui/ThumbnailsPanel.swift index 47fa1dec..67028899 100644 --- a/alt-tab-macos/ui/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/ThumbnailsPanel.swift @@ -75,7 +75,7 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> NSSize { guard indexPath.item < Windows.list.count else { return .zero } - return NSSize(width: Cell.width(Windows.list[indexPath.item].thumbnail, currentScreen!), height: Cell.height(currentScreen!)) + return NSSize(width: Cell.width(Windows.list[indexPath.item].thumbnail, currentScreen!).rounded(), height: Cell.height(currentScreen!).rounded()) } func highlightCell() { @@ -97,7 +97,7 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele let layout = collectionView.collectionViewLayout as! CollectionViewCenterFlowLayout if uiWorkShouldBeDone { layout.currentScreen = screen } if uiWorkShouldBeDone { layout.invalidateLayout() } - if uiWorkShouldBeDone { collectionView.setFrameSize(NSSize(width: ThumbnailsPanel.widthMax(screen), height: ThumbnailsPanel.heightMax(screen))) } + if uiWorkShouldBeDone { collectionView.setFrameSize(NSSize(width: ThumbnailsPanel.widthMax(screen).rounded(), height: ThumbnailsPanel.heightMax(screen).rounded())) } if uiWorkShouldBeDone { collectionView.reloadData() } if uiWorkShouldBeDone { collectionView.layoutSubtreeIfNeeded() } if uiWorkShouldBeDone { collectionView.setFrameSize(NSSize(width: layout.widestRow!, height: layout.totalHeight!)) } @@ -108,14 +108,10 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele } static func widthMax(_ screen: NSScreen) -> CGFloat { - return floor(screen.frame.width * Preferences.maxScreenUsage - Preferences.windowPadding * 2) + return screen.frame.width * Preferences.maxScreenUsage - Preferences.windowPadding * 2 } static func heightMax(_ screen: NSScreen) -> CGFloat { - return floor(screen.frame.height * Preferences.maxScreenUsage - Preferences.windowPadding * 2) - } - - static func heightMin(_ screen: NSScreen) -> CGFloat { - return floor(Cell.height(screen) - Preferences.windowPadding * 2) + return screen.frame.height * Preferences.maxScreenUsage - Preferences.windowPadding * 2 } } From 8f67e5b902831db3aa7e717c4353673e6153efd1 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 24 Jan 2020 10:05:13 +0900 Subject: [PATCH 33/98] fix: only test permissions on the correct os versions --- alt-tab-macos/logic/SystemPermissions.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/alt-tab-macos/logic/SystemPermissions.swift b/alt-tab-macos/logic/SystemPermissions.swift index 5e9c715f..1bd48604 100644 --- a/alt-tab-macos/logic/SystemPermissions.swift +++ b/alt-tab-macos/logic/SystemPermissions.swift @@ -1,10 +1,10 @@ import Foundation import Cocoa -// macOS has some privacy restrictions. The user needs to grant certain permissions, app by app, in System Preferences > Security & Privacy > Privacy +// macOS has some privacy restrictions. The user needs to grant certain permissions, app by app, in System Preferences > Security & Privacy class SystemPermissions { - // macOS 10.9+ static func ensureAccessibilityCheckboxIsChecked() { + guard #available(OSX 10.9, *) else { return } if !AXIsProcessTrustedWithOptions(["AXTrustedCheckOptionPrompt": true] as CFDictionary) { debugPrint("Before using this app, you need to give permission in System Preferences > Security & Privacy > Privacy > Accessibility.", "Please authorize and re-launch.", @@ -14,8 +14,9 @@ class SystemPermissions { } } - // macOS 10.15+ static func ensureScreenRecordingCheckboxIsChecked() { + guard #available(OSX 10.15, *) else { return } + // there is no API to check this permission; we try to get a screenshot to check indirectly let firstWindow = CGWindow.windows(.optionOnScreenOnly)[0] if let cgId = firstWindow.id(), cgId.screenshot() == nil { debugPrint("Before using this app, you need to give permission in System Preferences > Security & Privacy > Privacy > Screen Recording.", From f5f038a98225c8da23e744e5917a03aa80bf4a8c Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Mon, 27 Jan 2020 14:47:06 +0900 Subject: [PATCH 34/98] feat: debug build has code-signing to preserve permissions --- README.md | 8 +++++++ alt-tab-macos.xcodeproj/project.pbxproj | 5 +++-- ci/generate_codesign_certificate.sh | 30 +++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 2 deletions(-) create mode 100755 ci/generate_codesign_certificate.sh diff --git a/README.md b/README.md index 61341a47..07531e57 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,14 @@ Before building my own app, I looked around at similar apps. However, none was c | `⌘ command` + `⇥ tab` | Only shows apps, not windows (note: can press down to see window of selected app) | | `⌘ command` + `` ` `` | Cycles through tabs and windows, but only of the same app. Only cycling, no direct access | +## Building the project locally + +This project has minimal dependency on Xcode-only features (e.g. InterfaceBuilder, Playgrounds). You can build it using 1 command `xcodebuild`. + +Note that on debug builds, to avoid having to re-check the `System Preferences > Security & Privacy` permissions on every build, we use a code-signing certificate. You can generate one on your local machine in one step by running `ci/generate_codesign_certificate.sh`. + +If you want to contribute a PR, please run `npm install` once. It will add the pre-commit hook to ensure that your commits follow the convention and will pass the PR. + ## Screenshots ### 1 row diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index 34db9385..c2e568b3 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -63,6 +63,7 @@ D04BA56355579F78776E6D51 /* Cell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchQueues.swift; sourceTree = ""; }; D04BA5ABFA5457A86536E2E4 /* 5 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 1 line.jpg"; sourceTree = ""; }; + D04BA5E819181CB83C5602C7 /* generate_codesign_certificate.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = generate_codesign_certificate.sh; sourceTree = ""; }; D04BA5EB5ED248C8C22CC672 /* Spaces.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Spaces.swift; sourceTree = ""; }; D04BA66B5B4143D2238F50B9 /* Applications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Applications.swift; sourceTree = ""; }; D04BA78E3B4E73B40DB77174 /* CGWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindow.swift; sourceTree = ""; }; @@ -219,6 +220,7 @@ D04BA4B5292629AA6B560216 /* package_release.sh */, D04BAC6AFC7F06D1A567F27A /* set_version_in_app.sh */, D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */, + D04BA5E819181CB83C5602C7 /* generate_codesign_certificate.sh */, ); path = ci; sourceTree = ""; @@ -411,6 +413,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = "alt-tab-macos/alt_tab_macos.entitlements"; + CODE_SIGN_IDENTITY = "alt-tab-macos"; COMBINE_HIDPI_IMAGES = YES; FRAMEWORK_SEARCH_PATHS = /System/Library/PrivateFrameworks; INFOPLIST_FILE = "alt-tab-macos/Info.plist"; @@ -454,7 +457,6 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -515,7 +517,6 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; diff --git a/ci/generate_codesign_certificate.sh b/ci/generate_codesign_certificate.sh new file mode 100755 index 00000000..2114468d --- /dev/null +++ b/ci/generate_codesign_certificate.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +set -ex + +# certificate request (see https://apple.stackexchange.com/q/359997) +cat >codesign.conf < Code Signing > "Always Trust" +security add-trusted-cert -d -r trustRoot -p codeSign codesign.crt From eeab5f6947fbb3978cb0165983bbf048caa98ef8 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Mon, 27 Jan 2020 14:55:25 +0900 Subject: [PATCH 35/98] fix: more robust screen-recording permission check --- alt-tab-macos/api-wrappers/PrivateApis.swift | 6 ++++++ alt-tab-macos/logic/SystemPermissions.swift | 4 +--- alt-tab-macos/ui/App.swift | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/alt-tab-macos/api-wrappers/PrivateApis.swift b/alt-tab-macos/api-wrappers/PrivateApis.swift index 858c788b..d9392e93 100644 --- a/alt-tab-macos/api-wrappers/PrivateApis.swift +++ b/alt-tab-macos/api-wrappers/PrivateApis.swift @@ -128,6 +128,12 @@ func CGSCopySpacesForWindows(_ cid: CGSConnectionID, _ mask: CGSSpaceMask.RawVal @_silgen_name("CGSGetWindowLevel") @discardableResult func CGSGetWindowLevel(_ cid: CGSConnectionID, _ wid: CGWindowID, _ level: inout CGWindowLevel) -> CGError +// returns status of the checkbox in System Preferences > Security & Privacy > Privacy > Screen Recording +// returns 1 if checked or 0 if unchecked; also prompts the user the first time if unchecked +@_silgen_name("SLSRequestScreenCaptureAccess") @discardableResult +func SLSRequestScreenCaptureAccess() -> UInt8 + + // ------------------------------------------------------------ diff --git a/alt-tab-macos/logic/SystemPermissions.swift b/alt-tab-macos/logic/SystemPermissions.swift index 1bd48604..f5c8ebd9 100644 --- a/alt-tab-macos/logic/SystemPermissions.swift +++ b/alt-tab-macos/logic/SystemPermissions.swift @@ -16,9 +16,7 @@ class SystemPermissions { static func ensureScreenRecordingCheckboxIsChecked() { guard #available(OSX 10.15, *) else { return } - // there is no API to check this permission; we try to get a screenshot to check indirectly - let firstWindow = CGWindow.windows(.optionOnScreenOnly)[0] - if let cgId = firstWindow.id(), cgId.screenshot() == nil { + if SLSRequestScreenCaptureAccess() != 1 { debugPrint("Before using this app, you need to give permission in System Preferences > Security & Privacy > Privacy > Screen Recording.", "Please authorize and re-launch.", "See https://dropshare.zendesk.com/hc/en-us/articles/360033453434-Enabling-Screen-Recording-Permission-on-macOS-Catalina-10-15-", diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index e8a2752f..613c8951 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -22,8 +22,8 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { } func applicationDidFinishLaunching(_ aNotification: Notification) { - SystemPermissions.ensureScreenRecordingCheckboxIsChecked() SystemPermissions.ensureAccessibilityCheckboxIsChecked() + SystemPermissions.ensureScreenRecordingCheckboxIsChecked() Preferences.loadFromDiskAndUpdateValues() statusItem = StatusItem.make(self) initPreferencesDependentComponents() From be66a0152c1efe71e4a27a54e16041bfc93173ed Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Mon, 27 Jan 2020 15:12:58 +0900 Subject: [PATCH 36/98] ci: display env vars at the beginning of a build --- .travis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 96620b79..8d916327 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,9 +6,10 @@ node_js: cache: npm env: - IS_RELEASE=$(if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then echo true; fi) -install: - - npm ci +install: true # disable default install script: + - env | sort + - npm ci - npx commitlint-travis - if [ $IS_RELEASE ]; then ci/determine_version.sh; fi - if [ $IS_RELEASE ]; then ci/set_version_in_app.sh; fi From ad2cfc0f4d366eef13f1a19b38373ddeb7032a8c Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Mon, 27 Jan 2020 15:22:32 +0900 Subject: [PATCH 37/98] ci: remove travis warning by updating keys --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8d916327..cb30ea5b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,13 +18,13 @@ script: - if [ $IS_RELEASE ]; then npx semantic-release; fi deploy: provider: releases - api_key: + token: secure: wcAMT2rbXhhdk6lsc6EG9VZZkSW0BjOwjYSyXzHjKrgiXsQcZAzAsOkuisj8EfeYN9/uhpa8XX7f5KsdkE5reMqVGGWqdmJU4NnmK5Aew0LmBbzFHfffliQecVCzMmGYPmhPcDxAjidYxgCMrMbvQFaElc0WXdIsQNcaNieSkEgZw6TwGsTxgHXABD2e575K3SN/PPcq7Nx5mRZkURI7YLmo2KfsD2OPR4IcEXFpJRFbPcAZIpKaHUIC2VzpayJA93pBe+siwU150p04PzfSs/nTH/nUO9m24SUi6kAIzVN77cExvX+JDnQoVLz0V45L0iJjkKDTVb07rVOsfm6Pcuaaj2ZVXlpujSb7B5LDUIspUn/NnqMLOtzbSTuaGcx2u+zCcC0b17KooznilQ/sFq3YpeNdmjL4VL5fsw1hdpjcP6S9DqZ90TJZqy6xBQP5NubuJukH//BRilhWGfnq5rOFUlqrN8aApJ7gYry0K2rB8rVWWvA9cU+zX351iy0EERICEU6q3rQwq8gFUbdNATPJJgNg7n0PaNXSQTTF9VluZTRVUtMrpA0hWe7dn+Tvrvhrnhmqvccw3Qfw/i3SECIDHHtsjwLqHCx5gkz/xUdf7+t3k6x+r6Veua0Z3jvyVhdHprU47VTSUhM/n87EiKyNRuKa9IpA18eSlZ59exU= file_glob: true file: - build/Release/*.zip - build/Release/*.tar.gz - skip_cleanup: true + cleanup: false on: repo: lwouis/alt-tab-macos after_deploy: From 941e6e3963ee251cc53197bdb53f288e8aa37efc Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Mon, 27 Jan 2020 21:58:53 +0900 Subject: [PATCH 38/98] ci: sign releases with apple dev certificate (closes #13) --- .travis.yml | 3 +-- README.md | 2 +- alt-tab-macos.xcodeproj/project.pbxproj | 11 +++++--- ci/build_release.sh | 21 +++++++++++++++ ci/determine_version.sh | 2 +- ci/generate_codesign_certificate.sh | 30 --------------------- ci/generate_debug_certificate.sh | 31 +++++++++++++++++++++ ci/package_release.sh | 36 ++++++++++++++++++++++--- ci/set_version_in_app.sh | 2 +- ci/update_homebrew_cask.sh | 2 +- 10 files changed, 97 insertions(+), 43 deletions(-) create mode 100755 ci/build_release.sh delete mode 100755 ci/generate_codesign_certificate.sh create mode 100755 ci/generate_debug_certificate.sh diff --git a/.travis.yml b/.travis.yml index cb30ea5b..f1bbd554 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ script: - npx commitlint-travis - if [ $IS_RELEASE ]; then ci/determine_version.sh; fi - if [ $IS_RELEASE ]; then ci/set_version_in_app.sh; fi - - xcodebuild + - ci/build_release.sh - if [ $IS_RELEASE ]; then ci/package_release.sh; fi - if [ $IS_RELEASE ]; then npx semantic-release; fi deploy: @@ -23,7 +23,6 @@ deploy: file_glob: true file: - build/Release/*.zip - - build/Release/*.tar.gz cleanup: false on: repo: lwouis/alt-tab-macos diff --git a/README.md b/README.md index 07531e57..eb0d8702 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ Before building my own app, I looked around at similar apps. However, none was c This project has minimal dependency on Xcode-only features (e.g. InterfaceBuilder, Playgrounds). You can build it using 1 command `xcodebuild`. -Note that on debug builds, to avoid having to re-check the `System Preferences > Security & Privacy` permissions on every build, we use a code-signing certificate. You can generate one on your local machine in one step by running `ci/generate_codesign_certificate.sh`. +Note that on debug builds, to avoid having to re-check the `System Preferences > Security & Privacy` permissions on every build, we use a code-signing certificate. You can generate one on your local machine in one step by running `ci/generate_debug_certificate.sh`. If you want to contribute a PR, please run `npm install` once. It will add the pre-commit hook to ensure that your commits follow the convention and will pass the PR. diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index c2e568b3..9627f76e 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -63,13 +63,14 @@ D04BA56355579F78776E6D51 /* Cell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchQueues.swift; sourceTree = ""; }; D04BA5ABFA5457A86536E2E4 /* 5 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 1 line.jpg"; sourceTree = ""; }; - D04BA5E819181CB83C5602C7 /* generate_codesign_certificate.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = generate_codesign_certificate.sh; sourceTree = ""; }; + D04BA5E819181CB83C5602C7 /* generate_debug_certificate.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = generate_debug_certificate.sh; sourceTree = ""; }; D04BA5EB5ED248C8C22CC672 /* Spaces.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Spaces.swift; sourceTree = ""; }; D04BA66B5B4143D2238F50B9 /* Applications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Applications.swift; sourceTree = ""; }; D04BA78E3B4E73B40DB77174 /* CGWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindow.swift; sourceTree = ""; }; D04BA7B6AAB0812631BBC7A2 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.info; path = Info.plist; sourceTree = ""; }; D04BA7ECCE728582D9ECA613 /* determine_version.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = determine_version.sh; sourceTree = ""; }; D04BA82F792DF53958D92572 /* alt-tab-macos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "alt-tab-macos.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + D04BA89FAEC4A5734D892C4B /* build_release.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = build_release.sh; sourceTree = ""; }; D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HelperExtensions.swift; sourceTree = ""; }; D04BA90C6C36DB1D65BC2B66 /* App.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; D04BA92541D46EA4F6943A72 /* package-lock.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "package-lock.json"; sourceTree = ""; }; @@ -220,7 +221,8 @@ D04BA4B5292629AA6B560216 /* package_release.sh */, D04BAC6AFC7F06D1A567F27A /* set_version_in_app.sh */, D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */, - D04BA5E819181CB83C5602C7 /* generate_codesign_certificate.sh */, + D04BA5E819181CB83C5602C7 /* generate_debug_certificate.sh */, + D04BA89FAEC4A5734D892C4B /* build_release.sh */, ); path = ci; sourceTree = ""; @@ -397,7 +399,9 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = "alt-tab-macos/alt_tab_macos.entitlements"; + CODE_SIGN_IDENTITY = "Local Self-Signed"; COMBINE_HIDPI_IMAGES = YES; + ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = /System/Library/PrivateFrameworks; INFOPLIST_FILE = "alt-tab-macos/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; @@ -413,8 +417,9 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = "alt-tab-macos/alt_tab_macos.entitlements"; - CODE_SIGN_IDENTITY = "alt-tab-macos"; + CODE_SIGN_IDENTITY = "Local Self-Signed"; COMBINE_HIDPI_IMAGES = YES; + ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = /System/Library/PrivateFrameworks; INFOPLIST_FILE = "alt-tab-macos/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; diff --git a/ci/build_release.sh b/ci/build_release.sh new file mode 100755 index 00000000..c909d25f --- /dev/null +++ b/ci/build_release.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +set -exu + +certificateFile="codesign" +keychain="alt-tab-macos.keychain" +keychainPassword="travis" + +# create a keychain +security create-keychain -p $keychainPassword $keychain +# make keychain default so xcodebuild uses it +security default-keychain -s $keychain +# unlock keychain +security unlock-keychain -p $keychainPassword $keychain +# Recreate the certificate from the secure environment variable +echo "$APPLE_P12_CERTIFICATE" | base64 --decode > $certificateFile.p12 +# import p12 into Keychain +security import $certificateFile.p12 -P "$APPLE_P12_CERTIFICATE_PASSWORD" -T /usr/bin/codesign +security set-key-partition-list -S apple-tool:,apple: -s -k $keychainPassword $keychain +# build release .app +xcodebuild CODE_SIGN_IDENTITY="Developer ID Application: Louis Pontoise (QXD7GW8FHY)" diff --git a/ci/determine_version.sh b/ci/determine_version.sh index ac1b5023..4242bcb5 100755 --- a/ci/determine_version.sh +++ b/ci/determine_version.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -set -ex +set -exu semanticRelease=$(npx semantic-release --dry-run --ci false) version=$(echo "$semanticRelease" | sed -nE 's/.+The next release version is (.+)/\1/p') diff --git a/ci/generate_codesign_certificate.sh b/ci/generate_codesign_certificate.sh deleted file mode 100755 index 2114468d..00000000 --- a/ci/generate_codesign_certificate.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# certificate request (see https://apple.stackexchange.com/q/359997) -cat >codesign.conf < Code Signing > "Always Trust" -security add-trusted-cert -d -r trustRoot -p codeSign codesign.crt diff --git a/ci/generate_debug_certificate.sh b/ci/generate_debug_certificate.sh new file mode 100755 index 00000000..df839cc1 --- /dev/null +++ b/ci/generate_debug_certificate.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +set -exu + +certificateFile="codesign" +certificatePassword=$(openssl rand -base64 12) + +# certificate request (see https://apple.stackexchange.com/q/359997) +cat >$certificateFile.conf < Code Signing > "Always Trust" +security add-trusted-cert -d -r trustRoot -p codeSign $certificateFile.crt diff --git a/ci/package_release.sh b/ci/package_release.sh index 53adaad8..03ac755a 100755 --- a/ci/package_release.sh +++ b/ci/package_release.sh @@ -1,11 +1,39 @@ #!/usr/bin/env bash -set -ex +set -exu appName="AltTab" version="$(cat VERSION.txt)" +appFile="$appName.app" +zipName="$appName-$version.zip" cd build/Release -mv "alt-tab-macos.app" "$appName.app" -zip -r "$appName-$version.zip" "$appName.app" -tar czf "$appName-$version.tar.gz" "$appName.app" +mv "alt-tab-macos.app" "$appFile" +ditto -c -k --keepParent "$appFile" "$zipName" + +# request notarization +requestUUID=$(xcrun altool \ + --notarize-app \ + --primary-bundle-id "com.lwouis.alt-tab-macos" \ + --username "$APPLE_ID" \ + --password "$APPLE_PASSWORD" \ + --file "$zipName" 2>&1 | + awk '/RequestUUID/ { print $NF; }') +if [[ $requestUUID == "" ]]; then exit 1; fi + +# poll notarization status until done +request_status="in progress" +while [[ "$request_status" == "in progress" ]]; do + sleep 10 + request_status=$(xcrun altool \ + --notarization-info "$requestUUID" \ + --username "$APPLE_ID" \ + --password "$APPLE_PASSWORD" 2>&1 | + awk -F ': ' '/Status:/ { print $2; }') + echo "notarization status: $request_status" +done +if [[ $request_status != "success" ]]; then exit 1; fi + +# staple build +xcrun stapler staple "$appFile" +ditto -c -k --keepParent "$appFile" "$zipName" diff --git a/ci/set_version_in_app.sh b/ci/set_version_in_app.sh index d296a3f0..b4d78dc2 100755 --- a/ci/set_version_in_app.sh +++ b/ci/set_version_in_app.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -set -ex +set -exu version="$(cat VERSION.txt)" # set the version for the app menubar menu text diff --git a/ci/update_homebrew_cask.sh b/ci/update_homebrew_cask.sh index 99f32ba7..c3861500 100755 --- a/ci/update_homebrew_cask.sh +++ b/ci/update_homebrew_cask.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -set -ex +set -exu version="$(cat VERSION.txt)" From 14f02657b50fc4f4d04bb9f21a030d50d2a6be6a Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 29 Jan 2020 11:47:13 +0900 Subject: [PATCH 39/98] fix: don't upscale thumbnails of small windows --- alt-tab-macos/ui/Cell.swift | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/alt-tab-macos/ui/Cell.swift b/alt-tab-macos/ui/Cell.swift index b622af07..c3b1b4c8 100644 --- a/alt-tab-macos/ui/Cell.swift +++ b/alt-tab-macos/ui/Cell.swift @@ -127,15 +127,16 @@ class Cell: NSCollectionViewItem { } static func thumbnailSize(_ image: NSImage?, _ screen: NSScreen) -> (CGFloat, CGFloat) { - let thumbnailWidthMin = Cell.widthMin(screen) - Preferences.intraCellPadding * 2 let thumbnailHeightMax = Cell.height(screen) - Preferences.intraCellPadding * 3 - Preferences.iconSize let thumbnailWidthMax = Cell.widthMax(screen) - Preferences.intraCellPadding * 2 - guard let image = image else { return (thumbnailWidthMin, thumbnailHeightMax) } + guard let image = image else { return (Cell.widthMin(screen) - Preferences.intraCellPadding * 2, thumbnailHeightMax) } + let thumbnailHeight = min(image.size.height, thumbnailHeightMax) + let thumbnailWidth = min(image.size.width, thumbnailWidthMax) let imageRatio = image.size.width / image.size.height - let thumbnailRatio = thumbnailWidthMax / thumbnailHeightMax + let thumbnailRatio = thumbnailWidth / thumbnailHeight if thumbnailRatio > imageRatio { - return (image.size.width * thumbnailHeightMax / image.size.height, thumbnailHeightMax) + return (image.size.width * thumbnailHeight / image.size.height, thumbnailHeight) } - return (thumbnailWidthMax, image.size.height * thumbnailWidthMax / image.size.width) + return (thumbnailWidth, image.size.height * thumbnailWidth / image.size.width) } } From 5b33c9b9780afd447aec074e64a80c5568098e39 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 29 Jan 2020 11:55:56 +0900 Subject: [PATCH 40/98] feat: better packing; tall thumbnails are 1/2 the width of wide ones --- alt-tab-macos/logic/Preferences.swift | 2 +- alt-tab-macos/ui/Cell.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/alt-tab-macos/logic/Preferences.swift b/alt-tab-macos/logic/Preferences.swift index acb05bc2..a00574d9 100644 --- a/alt-tab-macos/logic/Preferences.swift +++ b/alt-tab-macos/logic/Preferences.swift @@ -15,7 +15,7 @@ class Preferences { static let fontIconSize = CGFloat(20) static let maxScreenUsage = CGFloat(0.8) static let minCellsPerRow = CGFloat(3) - static let maxCellsPerRow = CGFloat(4) + static let maxCellsPerRow = CGFloat(6) static let nCellsRows = CGFloat(3) static let themeMacro = MacroPreferenceHelper<(CGFloat, CGFloat, CGFloat, NSColor, NSColor)>([ diff --git a/alt-tab-macos/ui/Cell.swift b/alt-tab-macos/ui/Cell.swift index c3b1b4c8..c6ed0248 100644 --- a/alt-tab-macos/ui/Cell.swift +++ b/alt-tab-macos/ui/Cell.swift @@ -127,9 +127,9 @@ class Cell: NSCollectionViewItem { } static func thumbnailSize(_ image: NSImage?, _ screen: NSScreen) -> (CGFloat, CGFloat) { + guard let image = image else { return (0, 0) } let thumbnailHeightMax = Cell.height(screen) - Preferences.intraCellPadding * 3 - Preferences.iconSize let thumbnailWidthMax = Cell.widthMax(screen) - Preferences.intraCellPadding * 2 - guard let image = image else { return (Cell.widthMin(screen) - Preferences.intraCellPadding * 2, thumbnailHeightMax) } let thumbnailHeight = min(image.size.height, thumbnailHeightMax) let thumbnailWidth = min(image.size.width, thumbnailWidthMax) let imageRatio = image.size.width / image.size.height From 97ed97387cdfe58de3a92c84359a8c2fdbd193a0 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 29 Jan 2020 12:00:04 +0900 Subject: [PATCH 41/98] ci: more packed layout by default --- alt-tab-macos/logic/Preferences.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/alt-tab-macos/logic/Preferences.swift b/alt-tab-macos/logic/Preferences.swift index a00574d9..b225537b 100644 --- a/alt-tab-macos/logic/Preferences.swift +++ b/alt-tab-macos/logic/Preferences.swift @@ -14,8 +14,8 @@ class Preferences { static let intraCellPadding = CGFloat(5) static let fontIconSize = CGFloat(20) static let maxScreenUsage = CGFloat(0.8) - static let minCellsPerRow = CGFloat(3) - static let maxCellsPerRow = CGFloat(6) + static let minCellsPerRow = CGFloat(5) + static let maxCellsPerRow = minCellsPerRow * 2 static let nCellsRows = CGFloat(3) static let themeMacro = MacroPreferenceHelper<(CGFloat, CGFloat, CGFloat, NSColor, NSColor)>([ From 1310f8a9f470db6c8edb6e864872f6450fdcccb5 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 29 Jan 2020 15:10:08 +0900 Subject: [PATCH 42/98] feat: add back the preferences for the new layout algo --- alt-tab-macos/logic/Keyboard.swift | 4 +- alt-tab-macos/logic/Preferences.swift | 55 ++++++++++++++++-------- alt-tab-macos/ui/App.swift | 2 +- alt-tab-macos/ui/Cell.swift | 14 +++--- alt-tab-macos/ui/PreferencesWindow.swift | 42 ++++++++++-------- alt-tab-macos/ui/ThumbnailsPanel.swift | 2 +- 6 files changed, 72 insertions(+), 47 deletions(-) diff --git a/alt-tab-macos/logic/Keyboard.swift b/alt-tab-macos/logic/Keyboard.swift index e7287da6..52109ed6 100644 --- a/alt-tab-macos/logic/Keyboard.swift +++ b/alt-tab-macos/logic/Keyboard.swift @@ -40,8 +40,8 @@ func keyboardHandler(proxy: CGEventTapProxy, type: CGEventType, event_: CGEvent, if type == .keyDown || type == .keyUp || type == .flagsChanged { if let event = NSEvent(cgEvent: event_) { let isTab = event.keyCode == Preferences.tabKeyCode - let isMetaChanged = Preferences.metaKeyCodes!.contains(event.keyCode) - let isMetaDown = event.modifierFlags.contains(Preferences.metaModifierFlag!) + let isMetaChanged = Preferences.metaKeyCodes.contains(event.keyCode) + let isMetaDown = event.modifierFlags.contains(Preferences.metaModifierFlag) let isRightArrow = event.keyCode == kVK_RightArrow let isLeftArrow = event.keyCode == kVK_LeftArrow let isEscape = event.keyCode == kVK_Escape diff --git a/alt-tab-macos/logic/Preferences.swift b/alt-tab-macos/logic/Preferences.swift index b225537b..88e9b1c9 100644 --- a/alt-tab-macos/logic/Preferences.swift +++ b/alt-tab-macos/logic/Preferences.swift @@ -5,18 +5,11 @@ import Carbon.HIToolbox.Events class Preferences { // the following constant are not exposed as preferences but may be in the future, probably through macro preferences static let windowMaterial = NSVisualEffectView.Material.dark - static let iconSize = CGFloat(32) static let fontColor = NSColor.white - static let fontHeight = CGFloat(15) - static let font = NSFont.systemFont(ofSize: fontHeight) static let windowPadding = CGFloat(23) static let interCellPadding = CGFloat(5) static let intraCellPadding = CGFloat(5) static let fontIconSize = CGFloat(20) - static let maxScreenUsage = CGFloat(0.8) - static let minCellsPerRow = CGFloat(5) - static let maxCellsPerRow = minCellsPerRow * 2 - static let nCellsRows = CGFloat(3) static let themeMacro = MacroPreferenceHelper<(CGFloat, CGFloat, CGFloat, NSColor, NSColor)>([ MacroPreference(" macOS", (0, 5, 20, .clear, NSColor(red: 0, green: 0, blue: 0, alpha: 0.4))), @@ -33,6 +26,12 @@ class Preferences { ]) static var defaults: [String: String] = [ + "maxScreenUsage": "80", + "minCellsPerRow": "5", + "maxCellsPerRow": "10", + "minRows": "3", + "iconSize": "32", + "fontHeight": "15", "tabKeyCode": String(kVK_Tab), "metaKey": metaKeyMacro.macros[0].label, "windowDisplayDelay": "0", @@ -42,17 +41,24 @@ class Preferences { ] static var rawValues = [String: String]() - static var cellBorderWidth: CGFloat? - static var cellCornerRadius: CGFloat? - static var tabKeyCode: UInt16? - static var highlightBorderColor: NSColor? - static var highlightBackgroundColor: NSColor? - static var metaKeyCodes: [UInt16]? - static var metaModifierFlag: NSEvent.ModifierFlags? - static var windowDisplayDelay: DispatchTimeInterval? - static var windowCornerRadius: CGFloat? - static var showOnScreen: ShowOnScreenPreference? - static var hideSpaceNumberLabels: Bool? + static var cellBorderWidth: CGFloat! + static var cellCornerRadius: CGFloat! + static var tabKeyCode: UInt16! + static var highlightBorderColor: NSColor! + static var highlightBackgroundColor: NSColor! + static var metaKeyCodes: [UInt16]! + static var metaModifierFlag: NSEvent.ModifierFlags! + static var windowDisplayDelay: DispatchTimeInterval! + static var windowCornerRadius: CGFloat! + static var showOnScreen: ShowOnScreenPreference! + static var hideSpaceNumberLabels: Bool! + static var maxScreenUsage: CGFloat! + static var iconSize: CGFloat! + static var fontHeight: CGFloat! + static var font: NSFont! + static var minCellsPerRow: CGFloat! + static var maxCellsPerRow: CGFloat! + static var minRows: CGFloat! private static let defaultsFile = fileFromPreferencesFolder("alt-tab-macos-defaults.json") private static let userFile = fileFromPreferencesFolder("alt-tab-macos.json") @@ -84,6 +90,19 @@ class Preferences { static func updateAndValidateFromString(_ valueName: String, _ value: String) throws { switch valueName { + case "maxScreenUsage": + maxScreenUsage = try CGFloat(CGFloat(value).orThrow() / 100) + case "minCellsPerRow": + minCellsPerRow = try CGFloat(value).orThrow() + case "maxCellsPerRow": + maxCellsPerRow = try CGFloat(value).orThrow() + case "minRows": + minRows = try CGFloat(value).orThrow() + case "iconSize": + iconSize = try CGFloat(value).orThrow() + case "fontHeight": + fontHeight = try CGFloat(value).orThrow() + font = NSFont.systemFont(ofSize: fontHeight) case "tabKeyCode": tabKeyCode = try UInt16(value).orThrow() case "metaKey": diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 613c8951..231d2f9f 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -92,7 +92,7 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { Windows.refreshAllThumbnails() Windows.focusedWindowIndex = 0 Windows.cycleFocusedWindowIndex(step) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + Preferences.windowDisplayDelay!, execute: { + DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + Preferences.windowDisplayDelay, execute: { self.refreshOpenUi() if self.uiWorkShouldBeDone { self.thumbnailsPanel?.show() } }) diff --git a/alt-tab-macos/ui/Cell.swift b/alt-tab-macos/ui/Cell.swift index c6ed0248..c391459b 100644 --- a/alt-tab-macos/ui/Cell.swift +++ b/alt-tab-macos/ui/Cell.swift @@ -34,8 +34,8 @@ class Cell: NSCollectionViewItem { override var isSelected: Bool { didSet { - view.layer!.backgroundColor = isSelected ? Preferences.highlightBackgroundColor!.cgColor : .clear - view.layer!.borderColor = isSelected ? Preferences.highlightBorderColor!.cgColor : .clear + view.layer!.backgroundColor = isSelected ? Preferences.highlightBackgroundColor.cgColor : .clear + view.layer!.borderColor = isSelected ? Preferences.highlightBorderColor.cgColor : .clear } } @@ -55,7 +55,7 @@ class Cell: NSCollectionViewItem { label.font = Preferences.font hiddenIcon.isHidden = !window!.isHidden minimizedIcon.isHidden = !window!.isMinimized - spaceIcon.isHidden = element.spaceIndex == nil || Spaces.isSingleSpace || Preferences.hideSpaceNumberLabels! + spaceIcon.isHidden = element.spaceIndex == nil || Spaces.isSingleSpace || Preferences.hideSpaceNumberLabels if !spaceIcon.isHidden { if element.isOnAllSpaces { spaceIcon.setStar() @@ -93,8 +93,8 @@ class Cell: NSCollectionViewItem { let vStackView = NSStackView() vStackView.wantsLayer = true vStackView.layer!.backgroundColor = .clear - vStackView.layer!.cornerRadius = Preferences.cellCornerRadius! - vStackView.layer!.borderWidth = Preferences.cellBorderWidth! + vStackView.layer!.cornerRadius = Preferences.cellCornerRadius + vStackView.layer!.borderWidth = Preferences.cellBorderWidth vStackView.layer!.borderColor = .clear vStackView.edgeInsets = NSEdgeInsets(top: Preferences.intraCellPadding, left: Preferences.intraCellPadding, bottom: Preferences.intraCellPadding, right: Preferences.intraCellPadding) vStackView.orientation = .vertical @@ -104,7 +104,7 @@ class Cell: NSCollectionViewItem { } static func downscaleFactor() -> CGFloat { - let nCellsBeforePotentialOverflow = Preferences.nCellsRows * Preferences.minCellsPerRow + let nCellsBeforePotentialOverflow = Preferences.minRows * Preferences.minCellsPerRow guard CGFloat(Windows.list.count) > nCellsBeforePotentialOverflow else { return 1 } // TODO: replace this buggy heuristic with a correct implementation of downscaling return nCellsBeforePotentialOverflow / (nCellsBeforePotentialOverflow + (sqrt(CGFloat(Windows.list.count) - nCellsBeforePotentialOverflow) * 2)) @@ -119,7 +119,7 @@ class Cell: NSCollectionViewItem { } static func height(_ screen: NSScreen) -> CGFloat { - return (ThumbnailsPanel.heightMax(screen) / Preferences.nCellsRows - Preferences.interCellPadding) * Cell.downscaleFactor() + return (ThumbnailsPanel.heightMax(screen) / Preferences.minRows - Preferences.interCellPadding) * Cell.downscaleFactor() } static func width(_ image: NSImage?, _ screen: NSScreen) -> CGFloat { diff --git a/alt-tab-macos/ui/PreferencesWindow.swift b/alt-tab-macos/ui/PreferencesWindow.swift index 0b6adfda..f781fffe 100644 --- a/alt-tab-macos/ui/PreferencesWindow.swift +++ b/alt-tab-macos/ui/PreferencesWindow.swift @@ -78,14 +78,20 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { } return [ - makeLabelWithDropdown("Alt key", rawName: "metaKey", values: Preferences.metaKeyMacro.labels), - makeLabelWithInput("Tab key", rawName: "tabKeyCode", width: 33, suffixText: "KeyCodes Reference", suffixUrl: "https://eastmanreference.com/complete-list-of-applescript-key-codes", validator: tabKeyCodeValidator), + makeLabelWithDropdown("Alt key", "metaKey", Preferences.metaKeyMacro.labels), + makeLabelWithInput("Tab key", "tabKeyCode", 33, "KeyCodes Reference", "https://eastmanreference.com/complete-list-of-applescript-key-codes", tabKeyCodeValidator), makeHorizontalSeparator(), - makeLabelWithDropdown("Theme", rawName: "theme", values: Preferences.themeMacro.labels), - makeLabelWithCheckbox("Hide space number labels", rawName: "hideSpaceNumberLabels"), + makeLabelWithDropdown("Theme", "theme", Preferences.themeMacro.labels), + makeLabelWithSlider("Max size on screen", "maxScreenUsage", 10, 100, 10, true, "%"), + makeLabelWithSlider("Min windows per row", "minCellsPerRow", 1, 20, 20, true), + makeLabelWithSlider("Max windows per row", "maxCellsPerRow", 1, 40, 20, true), + makeLabelWithSlider("Min rows of windows", "minRows", 1, 20, 20, true), + makeLabelWithSlider("Window app icon size", "iconSize", 0, 64, 11, false, "px"), + makeLabelWithSlider("Window title font size", "fontHeight", 0, 64, 11, false, "px"), + makeLabelWithCheckbox("Hide space number labels", "hideSpaceNumberLabels"), makeHorizontalSeparator(), - makeLabelWithSlider("Window apparition delay", rawName: "windowDisplayDelay", minValue: 0, maxValue: 2000, numberOfTickMarks: 0, unitText: "ms"), - makeLabelWithDropdown("Show on", rawName: "showOnScreen", values: Preferences.showOnScreenMacro.labels) + makeLabelWithSlider("Apparition delay", "windowDisplayDelay", 0, 2000, 11, false, "ms"), + makeLabelWithDropdown("Show on", "showOnScreen", Preferences.showOnScreenMacro.labels) ] } @@ -96,7 +102,7 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { return view } - private func makeLabelWithInput(_ labelText: String, rawName: String, width: CGFloat? = nil, suffixText: String? = nil, suffixUrl: String? = nil, validator: ((String) -> Bool)? = nil) -> NSStackView { + private func makeLabelWithInput(_ labelText: String, _ rawName: String, _ width: CGFloat? = nil, _ suffixText: String? = nil, _ suffixUrl: String? = nil, _ validator: ((String) -> Bool)? = nil) -> NSStackView { let input = TextField(Preferences.rawValues[rawName]!) input.validationHandler = validator input.delegate = input @@ -105,24 +111,24 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { input.widthAnchor.constraint(equalToConstant: width!).isActive = true } - return makeLabelWithProvidedControl(labelText, rawName: rawName, control: input, suffixText: suffixText, suffixUrl: suffixUrl) + return makeLabelWithProvidedControl(labelText, rawName, input, suffixText, nil, suffixUrl) } - private func makeLabelWithCheckbox(_ labelText: String, rawName: String) -> NSStackView { + private func makeLabelWithCheckbox(_ labelText: String, _ rawName: String) -> NSStackView { let checkbox = NSButton.init(checkboxWithTitle: "", target: nil, action: nil) setControlValue(checkbox, Preferences.rawValues[rawName]!) - return makeLabelWithProvidedControl(labelText, rawName: rawName, control: checkbox) + return makeLabelWithProvidedControl(labelText, rawName, checkbox) } - private func makeLabelWithDropdown(_ labelText: String, rawName: String, values: [String], suffixText: String? = nil) -> NSStackView { + private func makeLabelWithDropdown(_ labelText: String, _ rawName: String, _ values: [String], _ suffixText: String? = nil) -> NSStackView { let popUp = NSPopUpButton() popUp.addItems(withTitles: values) popUp.selectItem(withTitle: Preferences.rawValues[rawName]!) - return makeLabelWithProvidedControl(labelText, rawName: rawName, control: popUp, suffixText: suffixText) + return makeLabelWithProvidedControl(labelText, rawName, popUp, suffixText) } - private func makeLabelWithSlider(_ labelText: String, rawName: String, minValue: Double, maxValue: Double, numberOfTickMarks: Int, unitText: String = "") -> NSStackView { + private func makeLabelWithSlider(_ labelText: String, _ rawName: String, _ minValue: Double, _ maxValue: Double, _ numberOfTickMarks: Int, _ allowsTickMarkValuesOnly: Bool, _ unitText: String = "") -> NSStackView { let value = Preferences.rawValues[rawName]! let suffixText = value + unitText let slider = NSSlider() @@ -130,14 +136,14 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { slider.maxValue = maxValue slider.stringValue = value slider.numberOfTickMarks = numberOfTickMarks - slider.allowsTickMarkValuesOnly = numberOfTickMarks > 1 + slider.allowsTickMarkValuesOnly = allowsTickMarkValuesOnly slider.tickMarkPosition = .below slider.isContinuous = true - return makeLabelWithProvidedControl(labelText, rawName: rawName, control: slider, suffixText: suffixText, suffixWidth: 60) + return makeLabelWithProvidedControl(labelText, rawName, slider, suffixText, 60) } - private func makeLabelWithProvidedControl(_ labelText: String?, rawName: String, control: NSControl, suffixText: String? = nil, suffixWidth: CGFloat? = nil, suffixUrl: String? = nil) -> NSStackView { + private func makeLabelWithProvidedControl(_ labelText: String?, _ rawName: String, _ control: NSControl, _ suffixText: String? = nil, _ suffixWidth: CGFloat? = nil, _ suffixUrl: String? = nil) -> NSStackView { let label = NSTextField(wrappingLabelWithString: (labelText != nil ? labelText! + ": " : "")) label.alignment = .right label.widthAnchor.constraint(equalToConstant: labelWidth).isActive = true @@ -150,14 +156,14 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { let containerView = NSStackView(views: [label, control]) if suffixText != nil { - let suffix = makeSuffix(controlName: rawName, text: suffixText!, width: suffixWidth, url: suffixUrl) + let suffix = makeSuffix(rawName, suffixText!, suffixWidth, suffixUrl) containerView.addView(suffix, in: .leading) } return containerView } - private func makeSuffix(controlName: String, text: String, width: CGFloat? = nil, url: String? = nil) -> NSTextField { + private func makeSuffix(_ controlName: String, _ text: String, _ width: CGFloat? = nil, _ url: String? = nil) -> NSTextField { let suffix: NSTextField if url == nil { suffix = NSTextField(labelWithString: text) diff --git a/alt-tab-macos/ui/ThumbnailsPanel.swift b/alt-tab-macos/ui/ThumbnailsPanel.swift index 67028899..35f94d2f 100644 --- a/alt-tab-macos/ui/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/ThumbnailsPanel.swift @@ -41,7 +41,7 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele backgroundView.material = Preferences.windowMaterial backgroundView.state = .active backgroundView.wantsLayer = true - backgroundView.layer!.cornerRadius = Preferences.windowCornerRadius! + backgroundView.layer!.cornerRadius = Preferences.windowCornerRadius return backgroundView } From 4c03fead1827bb744a8021e123d3ac5ac142269e Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 5 Feb 2020 01:11:32 +0900 Subject: [PATCH 43/98] feat: divide preferences by topic (closes #130) --- alt-tab-macos.xcodeproj/project.pbxproj | 4 + alt-tab-macos/ui/Labels.swift | 2 +- alt-tab-macos/ui/PreferencesWindow.swift | 153 ++++++++++++----------- alt-tab-macos/ui/StatusItem.swift | 2 +- alt-tab-macos/ui/TabViewController.swift | 19 +++ alt-tab-macos/ui/TextField.swift | 2 + ci/set_version_in_app.sh | 2 +- 7 files changed, 109 insertions(+), 75 deletions(-) create mode 100644 alt-tab-macos/ui/TabViewController.swift diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index 9627f76e..83e4236d 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -32,6 +32,7 @@ D04BAD4DE538FDF7E7532EE2 /* Labels.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD32E130E4A061DC8332 /* Labels.swift */; }; D04BAE2E8E9B9898A4DF9B3B /* FontIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAED53465957807CBF8B2 /* FontIcon.swift */; }; D04BAE369A14C3126A1606FE /* HelperExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */; }; + D04BAE53AE67492CF654B4AE /* TabViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE70A24C83D571C77B1A /* TabViewController.swift */; }; D04BAEF78503D7A2CEFB9E9E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAA44C837F3A67403B9DB /* main.swift */; }; F029861A378EC1417106FEC3 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0298E42A818112B290FF6C7 /* TextField.swift */; }; F0298AB28A3CE5DBEC385730 /* HyperlinkLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0298708E2B13DBD4738AE76 /* HyperlinkLabel.swift */; }; @@ -92,6 +93,7 @@ D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = ""; }; D04BAE5BBE182DD5DDFE2E3E /* ThumbnailsPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThumbnailsPanel.swift; sourceTree = ""; }; + D04BAE70A24C83D571C77B1A /* TabViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewController.swift; sourceTree = ""; }; D04BAE80772D25834E440975 /* Window.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Window.swift; sourceTree = ""; }; D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = update_homebrew_cask.sh; sourceTree = ""; }; D04BAEA3EDC4F80FA23DBEC4 /* CGWindowID.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindowID.swift; sourceTree = ""; }; @@ -257,6 +259,7 @@ F0298E42A818112B290FF6C7 /* TextField.swift */, F0298708E2B13DBD4738AE76 /* HyperlinkLabel.swift */, D04BAED53465957807CBF8B2 /* FontIcon.swift */, + D04BAE70A24C83D571C77B1A /* TabViewController.swift */, ); path = ui; sourceTree = ""; @@ -388,6 +391,7 @@ D04BA1BA0B3F2E0A47883569 /* Application.swift in Sources */, D04BA2378832FD7E5DE3BC23 /* Applications.swift in Sources */, D04BAAD43731608067734ED3 /* DispatchQueues.swift in Sources */, + D04BAE53AE67492CF654B4AE /* TabViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/alt-tab-macos/ui/Labels.swift b/alt-tab-macos/ui/Labels.swift index ff91ce33..85d1be2d 100644 --- a/alt-tab-macos/ui/Labels.swift +++ b/alt-tab-macos/ui/Labels.swift @@ -7,6 +7,7 @@ class BaseLabel: NSTextView { init(_ text: String) { super.init(frame: .zero) + _init() string = text } @@ -20,7 +21,6 @@ class BaseLabel: NSTextView { backgroundColor = .clear isSelectable = false isEditable = false - font = Preferences.font enabledTextCheckingTypes = 0 } } diff --git a/alt-tab-macos/ui/PreferencesWindow.swift b/alt-tab-macos/ui/PreferencesWindow.swift index f781fffe..d931c47d 100644 --- a/alt-tab-macos/ui/PreferencesWindow.swift +++ b/alt-tab-macos/ui/PreferencesWindow.swift @@ -2,22 +2,35 @@ import Cocoa import Foundation class PreferencesWindow: NSWindow, NSWindowDelegate { - let width = CGFloat(496) - let height = CGFloat(256) // auto expands to content height (but does not auto shrink) - let padding = CGFloat(40) - var labelWidth: CGFloat { - return (width - padding) * CGFloat(0.45) - } + let tabViewController = TabViewController() + let padding = CGFloat(20) + let interPadding = CGFloat(10) var windowCloseRequested = false override init(contentRect: NSRect, styleMask style: StyleMask, backing backingStoreType: BackingStoreType, defer flag: Bool) { - let initialRect = NSRect(x: 0, y: 0, width: width, height: height) - super.init(contentRect: initialRect, styleMask: style, backing: backingStoreType, defer: flag) + super.init(contentRect: .zero, styleMask: style, backing: backingStoreType, defer: flag) title = App.name + " Preferences" hidesOnDeactivate = false isReleasedWhenClosed = false styleMask.insert([.miniaturizable, .closable]) - contentView = makeContentView() + tabViewController.tabStyle = .toolbar + contentViewController = tabViewController + makeTabViews() + } + + private func makeTabViews() { + for tabTuple in [ + ("Shortcuts", makeShortcutsView(), NSImage.preferencesGeneralName), + ("Appearance", makeAppearanceView(), NSImage.colorPanelName), + ("About", makeAboutView(), NSImage.infoName) + ] { + let viewController = NSViewController() + viewController.view = tabTuple.1 + let tabViewItem = NSTabViewItem(viewController: viewController) + tabViewItem.label = tabTuple.0 + tabViewItem.image = NSImage(named: tabTuple.2)! + tabViewController.addTabViewItem(tabViewItem) + } } func show() { @@ -45,24 +58,7 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { } } - private func makeContentView() -> NSView { - let wrappingView = NSStackView(views: makePreferencesViews()) - let contentView = NSView() - contentView.addSubview(wrappingView) - - // visual setup - wrappingView.orientation = .vertical - wrappingView.alignment = .left - wrappingView.spacing = padding * 0.3 - wrappingView.topAnchor.constraint(equalTo: contentView.topAnchor, constant: padding * 0.5).isActive = true - wrappingView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: padding * -0.5).isActive = true - wrappingView.leftAnchor.constraint(equalTo: contentView.leftAnchor, constant: padding * 0.5).isActive = true - wrappingView.rightAnchor.constraint(equalTo: contentView.rightAnchor, constant: padding * -0.5).isActive = true - - return contentView - } - - private func makePreferencesViews() -> [NSView] { + private func makeShortcutsView() -> NSGridView { // TODO: make the validators be a part of each Preference let tabKeyCodeValidator: ((String) -> Bool) = { guard let int = Int($0) else { @@ -77,10 +73,14 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { return whitelistedKeycodes.contains(int) } - return [ + return makeGridLayout([ makeLabelWithDropdown("Alt key", "metaKey", Preferences.metaKeyMacro.labels), makeLabelWithInput("Tab key", "tabKeyCode", 33, "KeyCodes Reference", "https://eastmanreference.com/complete-list-of-applescript-key-codes", tabKeyCodeValidator), - makeHorizontalSeparator(), + ]) + } + + private func makeAppearanceView() -> NSGridView { + return makeGridLayout([ makeLabelWithDropdown("Theme", "theme", Preferences.themeMacro.labels), makeLabelWithSlider("Max size on screen", "maxScreenUsage", 10, 100, 10, true, "%"), makeLabelWithSlider("Min windows per row", "minCellsPerRow", 1, 20, 20, true), @@ -88,82 +88,93 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { makeLabelWithSlider("Min rows of windows", "minRows", 1, 20, 20, true), makeLabelWithSlider("Window app icon size", "iconSize", 0, 64, 11, false, "px"), makeLabelWithSlider("Window title font size", "fontHeight", 0, 64, 11, false, "px"), - makeLabelWithCheckbox("Hide space number labels", "hideSpaceNumberLabels"), - makeHorizontalSeparator(), + makeLabelWithDropdown("Show on", "showOnScreen", Preferences.showOnScreenMacro.labels), makeLabelWithSlider("Apparition delay", "windowDisplayDelay", 0, 2000, 11, false, "ms"), - makeLabelWithDropdown("Show on", "showOnScreen", Preferences.showOnScreenMacro.labels) - ] + makeLabelWithCheckbox("Hide space number labels", "hideSpaceNumberLabels"), + ]) } - private func makeHorizontalSeparator() -> NSView { - let view = NSBox() - view.boxType = .separator + private func makeAboutView() -> NSGridView { + return makeGridLayout([ + [NSTextField(wrappingLabelWithString: "\(App.name) #VERSION#"), ], + [HyperlinkLabel(labelWithUrl: "Source code repository", nsUrl: NSURL(string: "https://github.com/lwouis/alt-tab-macos")!)], + ]) + } - return view + private func makeGridLayout(_ controls: [[NSView]]) -> NSGridView { + let gridView = NSGridView(views: controls) + gridView.yPlacement = .fill + gridView.columnSpacing = interPadding + gridView.rowSpacing = interPadding + gridView.column(at: 0).xPlacement = .trailing + gridView.column(at: 0).leadingPadding = padding + gridView.column(at: gridView.numberOfColumns - 1).trailingPadding = padding + gridView.row(at: 0).topPadding = padding + gridView.row(at: gridView.numberOfRows - 1).bottomPadding = padding + gridView.widthAnchor.constraint(equalToConstant: gridView.fittingSize.width).isActive = true + gridView.rowAlignment = .lastBaseline + for i in 0.. Bool)? = nil) -> NSStackView { + private func makeLabelWithInput(_ labelText: String, _ rawName: String, _ width: CGFloat, _ suffixText: String? = nil, _ suffixUrl: String? = nil, _ validator: ((String) -> Bool)? = nil) -> [NSView] { let input = TextField(Preferences.rawValues[rawName]!) input.validationHandler = validator input.delegate = input input.visualizeValidationState() - if width != nil { - input.widthAnchor.constraint(equalToConstant: width!).isActive = true - } - - return makeLabelWithProvidedControl(labelText, rawName, input, suffixText, nil, suffixUrl) + input.widthAnchor.constraint(equalToConstant: width).isActive = true + input.heightAnchor.constraint(equalToConstant: input.fittingSize.height).isActive = true + let views = makeLabelWithProvidedControl(labelText, rawName, input) + return [views[0], NSStackView(views: [views[1], makeSuffix(rawName, suffixText!, suffixUrl)])] } - private func makeLabelWithCheckbox(_ labelText: String, _ rawName: String) -> NSStackView { + private func makeLabelWithCheckbox(_ labelText: String, _ rawName: String) -> [NSView] { let checkbox = NSButton.init(checkboxWithTitle: "", target: nil, action: nil) setControlValue(checkbox, Preferences.rawValues[rawName]!) return makeLabelWithProvidedControl(labelText, rawName, checkbox) } - private func makeLabelWithDropdown(_ labelText: String, _ rawName: String, _ values: [String], _ suffixText: String? = nil) -> NSStackView { + private func makeLabelWithDropdown(_ labelText: String, _ rawName: String, _ values: [String], _ suffixText: String? = nil) -> [NSView] { let popUp = NSPopUpButton() popUp.addItems(withTitles: values) popUp.selectItem(withTitle: Preferences.rawValues[rawName]!) - return makeLabelWithProvidedControl(labelText, rawName, popUp, suffixText) } - private func makeLabelWithSlider(_ labelText: String, _ rawName: String, _ minValue: Double, _ maxValue: Double, _ numberOfTickMarks: Int, _ allowsTickMarkValuesOnly: Bool, _ unitText: String = "") -> NSStackView { + private func makeLabelWithSlider(_ labelText: String, _ rawName: String, _ minValue: Double, _ maxValue: Double, _ numberOfTickMarks: Int, _ allowsTickMarkValuesOnly: Bool, _ unitText: String = "") -> [NSView] { let value = Preferences.rawValues[rawName]! - let suffixText = value + unitText + let suffixText = value + " " + unitText let slider = NSSlider() slider.minValue = minValue slider.maxValue = maxValue slider.stringValue = value - slider.numberOfTickMarks = numberOfTickMarks - slider.allowsTickMarkValuesOnly = allowsTickMarkValuesOnly - slider.tickMarkPosition = .below +// slider.numberOfTickMarks = numberOfTickMarks +// slider.allowsTickMarkValuesOnly = allowsTickMarkValuesOnly +// slider.tickMarkPosition = .below slider.isContinuous = true - - return makeLabelWithProvidedControl(labelText, rawName, slider, suffixText, 60) + return makeLabelWithProvidedControl(labelText, rawName, slider, suffixText) } - private func makeLabelWithProvidedControl(_ labelText: String?, _ rawName: String, _ control: NSControl, _ suffixText: String? = nil, _ suffixWidth: CGFloat? = nil, _ suffixUrl: String? = nil) -> NSStackView { - let label = NSTextField(wrappingLabelWithString: (labelText != nil ? labelText! + ": " : "")) - label.alignment = .right - label.widthAnchor.constraint(equalToConstant: labelWidth).isActive = true - label.identifier = NSUserInterfaceItemIdentifier(rawName + ControlIdentifierDiscriminator.LABEL.rawValue) - label.isSelectable = false - + private func makeLabelWithProvidedControl(_ labelText: String?, _ rawName: String, _ control: NSControl, _ suffixText: String? = nil, _ suffixUrl: String? = nil) -> [NSView] { + let label = makeLabel(labelText, rawName) control.identifier = NSUserInterfaceItemIdentifier(rawName) control.target = self control.action = #selector(controlWasChanged) - let containerView = NSStackView(views: [label, control]) - - if suffixText != nil { - let suffix = makeSuffix(rawName, suffixText!, suffixWidth, suffixUrl) - containerView.addView(suffix, in: .leading) - } + return [label, control, suffixText != nil ? makeSuffix(rawName, suffixText!, suffixUrl) : NSView()] + } - return containerView + private func makeLabel(_ labelText: String?, _ rawName: String) -> NSTextField { + let label = NSTextField(wrappingLabelWithString: labelText != nil ? labelText! + ": " : "") + label.widthAnchor.constraint(equalToConstant: label.fittingSize.width).isActive = true + label.heightAnchor.constraint(equalToConstant: label.fittingSize.height).isActive = true + label.alignment = .right + label.identifier = NSUserInterfaceItemIdentifier(rawName + ControlIdentifierDiscriminator.LABEL.rawValue) + return label } - private func makeSuffix(_ controlName: String, _ text: String, _ width: CGFloat? = nil, _ url: String? = nil) -> NSTextField { + private func makeSuffix(_ controlName: String, _ text: String, _ url: String? = nil) -> NSTextField { let suffix: NSTextField if url == nil { suffix = NSTextField(labelWithString: text) @@ -172,10 +183,8 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { } suffix.textColor = .gray suffix.identifier = NSUserInterfaceItemIdentifier(controlName + ControlIdentifierDiscriminator.SUFFIX.rawValue) - if width != nil { - suffix.widthAnchor.constraint(equalToConstant: width!).isActive = true - } - + suffix.widthAnchor.constraint(equalToConstant: suffix.fittingSize.width).isActive = true + suffix.heightAnchor.constraint(equalToConstant: suffix.fittingSize.height).isActive = true return suffix } diff --git a/alt-tab-macos/ui/StatusItem.swift b/alt-tab-macos/ui/StatusItem.swift index 6071d47f..b50e09d2 100644 --- a/alt-tab-macos/ui/StatusItem.swift +++ b/alt-tab-macos/ui/StatusItem.swift @@ -15,7 +15,7 @@ class StatusItem { action: #selector(app.showPreferencesPanel), keyEquivalent: ",") item.menu!.addItem( - withTitle: "Quit \(App.name) #VERSION#", + withTitle: "Quit", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q") return item diff --git a/alt-tab-macos/ui/TabViewController.swift b/alt-tab-macos/ui/TabViewController.swift new file mode 100644 index 00000000..c146bb4f --- /dev/null +++ b/alt-tab-macos/ui/TabViewController.swift @@ -0,0 +1,19 @@ +import Cocoa +import Foundation + +class TabViewController: NSTabViewController { + override func tabView(_ tabView: NSTabView, didSelect tabViewItem: NSTabViewItem?) { + super.tabView(tabView, didSelect: tabViewItem) + guard let tabViewItem = tabViewItem, let window = view.window else { return } + window.title = tabViewItem.label + resizeWindowToFit(tabViewItem, window) + } + + private func resizeWindowToFit(_ tabViewItem: NSTabViewItem, _ window: NSWindow) { + let contentFrame = window.frameRect(forContentRect: NSRect(origin: .zero, size: tabViewItem.view!.frame.size)) + let toolbarHeight = window.frame.size.height - contentFrame.size.height + let newOrigin = NSPoint(x: window.frame.origin.x, y: window.frame.origin.y + toolbarHeight) + let newFrame = NSRect(origin: newOrigin, size: contentFrame.size) + window.setFrame(newFrame, display: false, animate: true) + } +} \ No newline at end of file diff --git a/alt-tab-macos/ui/TextField.swift b/alt-tab-macos/ui/TextField.swift index 9e34f60f..687315cb 100644 --- a/alt-tab-macos/ui/TextField.swift +++ b/alt-tab-macos/ui/TextField.swift @@ -6,6 +6,8 @@ class TextField: NSTextField, NSTextFieldDelegate { public convenience init(_ value: String) { self.init(string: value) + usesSingleLineMode = true + font = .labelFont(ofSize: NSFont.systemFontSize) wantsLayer = true layer?.borderWidth = 1 } diff --git a/ci/set_version_in_app.sh b/ci/set_version_in_app.sh index b4d78dc2..bbe70446 100755 --- a/ci/set_version_in_app.sh +++ b/ci/set_version_in_app.sh @@ -4,6 +4,6 @@ set -exu version="$(cat VERSION.txt)" # set the version for the app menubar menu text -sed -i '' -e "s/#VERSION#/$version/" alt-tab-macos/ui/StatusItem.swift +sed -i '' -e "s/#VERSION#/$version/" alt-tab-macos/ui/PreferencesWindow.swift # set the version in the app meta-data for the AppStore and app "Get Info" panel sed -i '' -e "s/#VERSION#/$version/" alt-tab-macos/Info.plist From d15bcf201f3bcc22aa2e40c97db3bf12546d9674 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 5 Feb 2020 09:40:01 +0900 Subject: [PATCH 44/98] refactor: factorize code in extension --- alt-tab-macos/api-wrappers/HelperExtensions.swift | 8 ++++++++ alt-tab-macos/ui/PreferencesWindow.swift | 8 +++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/alt-tab-macos/api-wrappers/HelperExtensions.swift b/alt-tab-macos/api-wrappers/HelperExtensions.swift index 703c804c..d8007cf2 100644 --- a/alt-tab-macos/api-wrappers/HelperExtensions.swift +++ b/alt-tab-macos/api-wrappers/HelperExtensions.swift @@ -85,3 +85,11 @@ extension Array where Element == Window { return self[index] } } + +extension NSView { + // constrain size to fittingSize + func fit() { + widthAnchor.constraint(equalToConstant: fittingSize.width).isActive = true + heightAnchor.constraint(equalToConstant: fittingSize.height).isActive = true + } +} diff --git a/alt-tab-macos/ui/PreferencesWindow.swift b/alt-tab-macos/ui/PreferencesWindow.swift index d931c47d..3bccbeb4 100644 --- a/alt-tab-macos/ui/PreferencesWindow.swift +++ b/alt-tab-macos/ui/PreferencesWindow.swift @@ -111,7 +111,7 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { gridView.column(at: gridView.numberOfColumns - 1).trailingPadding = padding gridView.row(at: 0).topPadding = padding gridView.row(at: gridView.numberOfRows - 1).bottomPadding = padding - gridView.widthAnchor.constraint(equalToConstant: gridView.fittingSize.width).isActive = true + gridView.fit() gridView.rowAlignment = .lastBaseline for i in 0.. NSTextField { let label = NSTextField(wrappingLabelWithString: labelText != nil ? labelText! + ": " : "") - label.widthAnchor.constraint(equalToConstant: label.fittingSize.width).isActive = true - label.heightAnchor.constraint(equalToConstant: label.fittingSize.height).isActive = true + label.fit() label.alignment = .right label.identifier = NSUserInterfaceItemIdentifier(rawName + ControlIdentifierDiscriminator.LABEL.rawValue) return label @@ -183,8 +182,7 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { } suffix.textColor = .gray suffix.identifier = NSUserInterfaceItemIdentifier(controlName + ControlIdentifierDiscriminator.SUFFIX.rawValue) - suffix.widthAnchor.constraint(equalToConstant: suffix.fittingSize.width).isActive = true - suffix.heightAnchor.constraint(equalToConstant: suffix.fittingSize.height).isActive = true + suffix.fit() return suffix } From 45568fe70c42de43601f6d0162080e21c5594fe5 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 5 Feb 2020 09:40:32 +0900 Subject: [PATCH 45/98] fix: added releases link and aligned layout left on tab 3 --- alt-tab-macos/ui/PreferencesWindow.swift | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alt-tab-macos/ui/PreferencesWindow.swift b/alt-tab-macos/ui/PreferencesWindow.swift index 3bccbeb4..42193e88 100644 --- a/alt-tab-macos/ui/PreferencesWindow.swift +++ b/alt-tab-macos/ui/PreferencesWindow.swift @@ -98,6 +98,7 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { return makeGridLayout([ [NSTextField(wrappingLabelWithString: "\(App.name) #VERSION#"), ], [HyperlinkLabel(labelWithUrl: "Source code repository", nsUrl: NSURL(string: "https://github.com/lwouis/alt-tab-macos")!)], + [HyperlinkLabel(labelWithUrl: "Latest releases", nsUrl: NSURL(string: "https://github.com/lwouis/alt-tab-macos/releases")!)], ]) } @@ -106,7 +107,9 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { gridView.yPlacement = .fill gridView.columnSpacing = interPadding gridView.rowSpacing = interPadding - gridView.column(at: 0).xPlacement = .trailing + if controls.first!.count > 1 { + gridView.column(at: 0).xPlacement = .trailing + } gridView.column(at: 0).leadingPadding = padding gridView.column(at: gridView.numberOfColumns - 1).trailingPadding = padding gridView.row(at: 0).topPadding = padding From 2dd5a39df5d2e83978348a7663e0eca58307fc56 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 5 Feb 2020 10:18:43 +0900 Subject: [PATCH 46/98] feat: nicer layout for about preferences --- alt-tab-macos.xcodeproj/project.pbxproj | 4 ++ .../api-wrappers/HelperExtensions.swift | 14 +++++++ alt-tab-macos/ui/App.swift | 8 ++-- alt-tab-macos/ui/BoldLabel.swift | 11 +++++ alt-tab-macos/ui/HyperlinkLabel.swift | 15 +++---- alt-tab-macos/ui/PreferencesWindow.swift | 42 ++++++++++++------- ci/set_version_in_app.sh | 4 +- 7 files changed, 68 insertions(+), 30 deletions(-) create mode 100644 alt-tab-macos/ui/BoldLabel.swift diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index 83e4236d..c960c792 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -28,6 +28,7 @@ D04BA9119E2329DB5A35B3C7 /* ThumbnailsPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE5BBE182DD5DDFE2E3E /* ThumbnailsPanel.swift */; }; D04BA960DDD1D32A3019C835 /* CollectionViewCenterFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3202A2C22C347E849B3 /* CollectionViewCenterFlowLayout.swift */; }; D04BA9CCE02D30C8164A552A /* SystemPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */; }; + D04BAA3D066D2B428D4DBAA6 /* BoldLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA43552CB1EABDC8ECD9E /* BoldLabel.swift */; }; D04BAAD43731608067734ED3 /* DispatchQueues.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */; }; D04BAD4DE538FDF7E7532EE2 /* Labels.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD32E130E4A061DC8332 /* Labels.swift */; }; D04BAE2E8E9B9898A4DF9B3B /* FontIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAED53465957807CBF8B2 /* FontIcon.swift */; }; @@ -57,6 +58,7 @@ D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; D04BA40A4291E4F310527DBF /* AXUIElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AXUIElement.swift; sourceTree = ""; }; D04BA4336B6004A0A99849AD /* package.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = package.json; sourceTree = ""; }; + D04BA43552CB1EABDC8ECD9E /* BoldLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BoldLabel.swift; sourceTree = ""; }; D04BA459034C1885CA43A807 /* LICENCE.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = LICENCE.md; sourceTree = ""; }; D04BA4B5292629AA6B560216 /* package_release.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = package_release.sh; sourceTree = ""; }; D04BA4F23325560BC0BCDDB7 /* 7 windows - 2 lines - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - tall window.jpg"; sourceTree = ""; }; @@ -260,6 +262,7 @@ F0298708E2B13DBD4738AE76 /* HyperlinkLabel.swift */, D04BAED53465957807CBF8B2 /* FontIcon.swift */, D04BAE70A24C83D571C77B1A /* TabViewController.swift */, + D04BA43552CB1EABDC8ECD9E /* BoldLabel.swift */, ); path = ui; sourceTree = ""; @@ -392,6 +395,7 @@ D04BA2378832FD7E5DE3BC23 /* Applications.swift in Sources */, D04BAAD43731608067734ED3 /* DispatchQueues.swift in Sources */, D04BAE53AE67492CF654B4AE /* TabViewController.swift in Sources */, + D04BAA3D066D2B428D4DBAA6 /* BoldLabel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/alt-tab-macos/api-wrappers/HelperExtensions.swift b/alt-tab-macos/api-wrappers/HelperExtensions.swift index d8007cf2..b8ddaea9 100644 --- a/alt-tab-macos/api-wrappers/HelperExtensions.swift +++ b/alt-tab-macos/api-wrappers/HelperExtensions.swift @@ -92,4 +92,18 @@ extension NSView { widthAnchor.constraint(equalToConstant: fittingSize.width).isActive = true heightAnchor.constraint(equalToConstant: fittingSize.height).isActive = true } + + // constrain size to provided width and height + func fit(_ width: CGFloat, _ height: CGFloat) { + widthAnchor.constraint(equalToConstant: width).isActive = true + heightAnchor.constraint(equalToConstant: height).isActive = true + } +} + +extension NSGridView { + func setRowsHeight(_ height: CGFloat) { + for i in 0.. NSGridView { - return makeGridLayout([ + let view = makeGridLayout([ makeLabelWithDropdown("Theme", "theme", Preferences.themeMacro.labels), makeLabelWithSlider("Max size on screen", "maxScreenUsage", 10, 100, 10, true, "%"), makeLabelWithSlider("Min windows per row", "minCellsPerRow", 1, 20, 20, true), @@ -92,14 +97,27 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { makeLabelWithSlider("Apparition delay", "windowDisplayDelay", 0, 2000, 11, false, "ms"), makeLabelWithCheckbox("Hide space number labels", "hideSpaceNumberLabels"), ]) + view.column(at: 0).xPlacement = .trailing + view.rowAlignment = .lastBaseline + view.setRowsHeight(rowHeight) + return view } private func makeAboutView() -> NSGridView { - return makeGridLayout([ - [NSTextField(wrappingLabelWithString: "\(App.name) #VERSION#"), ], - [HyperlinkLabel(labelWithUrl: "Source code repository", nsUrl: NSURL(string: "https://github.com/lwouis/alt-tab-macos")!)], - [HyperlinkLabel(labelWithUrl: "Latest releases", nsUrl: NSURL(string: "https://github.com/lwouis/alt-tab-macos/releases")!)], + let appIcon = NSImageView(image: App.shared.applicationIconImage) + appIcon.fit(64, 64) + let appText = NSStackView(views: [BoldLabel(App.name), NSTextField(wrappingLabelWithString: "Version \(App.version)")]) + appText.orientation = .vertical + appText.alignment = .left + appText.spacing = interPadding / 2 + let appInfo = NSStackView(views: [appIcon, appText]) + appInfo.spacing = interPadding + let view = makeGridLayout([ + [appInfo], + [HyperlinkLabel("Source code repository", NSURL(string: "https://github.com/lwouis/alt-tab-macos")!)], + [HyperlinkLabel("Latest releases", NSURL(string: "https://github.com/lwouis/alt-tab-macos/releases")!)], ]) + return view } private func makeGridLayout(_ controls: [[NSView]]) -> NSGridView { @@ -107,18 +125,11 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { gridView.yPlacement = .fill gridView.columnSpacing = interPadding gridView.rowSpacing = interPadding - if controls.first!.count > 1 { - gridView.column(at: 0).xPlacement = .trailing - } gridView.column(at: 0).leadingPadding = padding gridView.column(at: gridView.numberOfColumns - 1).trailingPadding = padding gridView.row(at: 0).topPadding = padding gridView.row(at: gridView.numberOfRows - 1).bottomPadding = padding gridView.fit() - gridView.rowAlignment = .lastBaseline - for i in 0.. Date: Wed, 5 Feb 2020 13:58:18 +0900 Subject: [PATCH 47/98] refactor: organize the ui code hierarchically --- alt-tab-macos.xcodeproj/project.pbxproj | 144 ++++++--- alt-tab-macos/ui/App.swift | 9 +- .../ui/{StatusItem.swift => Menubar.swift} | 2 +- alt-tab-macos/ui/PreferencesWindow.swift | 305 ------------------ alt-tab-macos/ui/{ => labels}/BoldLabel.swift | 0 alt-tab-macos/ui/{ => labels}/FontIcon.swift | 0 .../ui/{ => labels}/HyperlinkLabel.swift | 0 alt-tab-macos/ui/{ => labels}/Labels.swift | 2 +- alt-tab-macos/ui/{ => labels}/TextField.swift | 0 .../CollectionViewFlowLayout.swift} | 4 +- .../CollectionViewItem.swift} | 20 +- .../{ => main-window}/ThumbnailsPanel.swift | 14 +- .../ui/preferences-window/GridView.swift | 20 ++ .../preferences-window/LabelAndControl.swift | 129 ++++++++ .../PreferencesWindow.swift | 102 ++++++ .../TabViewController.swift | 0 .../ui/preferences-window/TabViewItem.swift | 13 + .../ui/preferences-window/tabs/AboutTab.swift | 25 ++ .../tabs/AppearanceTab.swift | 29 ++ .../tabs/ShortcutsTab.swift | 34 ++ 20 files changed, 477 insertions(+), 375 deletions(-) rename alt-tab-macos/ui/{StatusItem.swift => Menubar.swift} (97%) delete mode 100644 alt-tab-macos/ui/PreferencesWindow.swift rename alt-tab-macos/ui/{ => labels}/BoldLabel.swift (100%) rename alt-tab-macos/ui/{ => labels}/FontIcon.swift (100%) rename alt-tab-macos/ui/{ => labels}/HyperlinkLabel.swift (100%) rename alt-tab-macos/ui/{ => labels}/Labels.swift (97%) rename alt-tab-macos/ui/{ => labels}/TextField.swift (100%) rename alt-tab-macos/ui/{CollectionViewCenterFlowLayout.swift => main-window/CollectionViewFlowLayout.swift} (96%) rename alt-tab-macos/ui/{Cell.swift => main-window/CollectionViewItem.swift} (88%) rename alt-tab-macos/ui/{ => main-window}/ThumbnailsPanel.swift (91%) create mode 100644 alt-tab-macos/ui/preferences-window/GridView.swift create mode 100644 alt-tab-macos/ui/preferences-window/LabelAndControl.swift create mode 100644 alt-tab-macos/ui/preferences-window/PreferencesWindow.swift rename alt-tab-macos/ui/{ => preferences-window}/TabViewController.swift (100%) create mode 100644 alt-tab-macos/ui/preferences-window/TabViewItem.swift create mode 100644 alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift create mode 100644 alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift create mode 100644 alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index c960c792..ad035ab7 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -8,41 +8,45 @@ /* Begin PBXBuildFile section */ 4807A6C623A9CD190052A53E /* SkyLight.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4807A6C523A9CD190052A53E /* SkyLight.framework */; }; - D04BA02DD4152997C32CF50B /* StatusItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA0AF7C5DCF367FBB663C /* StatusItem.swift */; }; D04BA0496ACF1427B6E9D369 /* CGWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA78E3B4E73B40DB77174 /* CGWindow.swift */; }; + D04BA0E86F2D30722F97C16F /* Menubar.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF0469B160046170B608 /* Menubar.swift */; }; D04BA1BA0B3F2E0A47883569 /* Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF13DFAA6930676D0492 /* Application.swift */; }; - D04BA20D4A240843293B3B52 /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA56355579F78776E6D51 /* Cell.swift */; }; + D04BA1D0015647B0AB0E82F9 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2A846441FDB0EF3C086 /* TextField.swift */; }; D04BA2378832FD7E5DE3BC23 /* Applications.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA66B5B4143D2238F50B9 /* Applications.swift */; }; D04BA278D9EFA568C8D18A4C /* Windows.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD1BED44EAEB77FED8A4 /* Windows.swift */; }; D04BA2CBF0EFA04CC80EC1BC /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE80772D25834E440975 /* Window.swift */; }; D04BA308162F8043F8561D03 /* AXUIElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA40A4291E4F310527DBF /* AXUIElement.swift */; }; D04BA3261C7DA5F48310E654 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA90C6C36DB1D65BC2B66 /* App.swift */; }; + D04BA42AF817BCDF3F1F13F2 /* AppearanceTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACD85D3966B4C9482E52 /* AppearanceTab.swift */; }; + D04BA4409C5B3F3595E8E69C /* CollectionViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8BEE821E2062F23AA97 /* CollectionViewItem.swift */; }; + D04BA46C048F35D5BC0417FC /* PreferencesWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA5B232184F6DB29C701C /* PreferencesWindow.swift */; }; D04BA4D356055A39B97712DE /* PrivateApis.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF0DFC1F44322973CE1E /* PrivateApis.swift */; }; D04BA57A871B7269BEBAFF84 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA35456DA0DDA74F9687E /* Keyboard.swift */; }; + D04BA57B6719B4BA8DD358DF /* ShortcutsTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BABD0C7A6DBA235C650A5 /* ShortcutsTab.swift */; }; D04BA57FB9EF1373D59A1AA7 /* CGWindowID.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAEA3EDC4F80FA23DBEC4 /* CGWindowID.swift */; }; - D04BA6368E681BE3A408AC99 /* PreferencesWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA02F476DE30C4647886C /* PreferencesWindow.swift */; }; + D04BA6083F3EAB7A276EA758 /* TabViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA6FA0F38687C3E420D77 /* TabViewController.swift */; }; D04BA6B6B703DCEFE892D5A4 /* Spaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA5EB5ED248C8C22CC672 /* Spaces.swift */; }; D04BA70FF7262BF5F9E6E13B /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */; }; D04BA8373D4DE452C0C081ED /* SF-Pro-Text-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */; }; + D04BA84074E5FD6221720BC7 /* CollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */; }; D04BA8EBC0365A019A27C7EA /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */; }; - D04BA9119E2329DB5A35B3C7 /* ThumbnailsPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE5BBE182DD5DDFE2E3E /* ThumbnailsPanel.swift */; }; - D04BA960DDD1D32A3019C835 /* CollectionViewCenterFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3202A2C22C347E849B3 /* CollectionViewCenterFlowLayout.swift */; }; D04BA9CCE02D30C8164A552A /* SystemPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */; }; - D04BAA3D066D2B428D4DBAA6 /* BoldLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA43552CB1EABDC8ECD9E /* BoldLabel.swift */; }; D04BAAD43731608067734ED3 /* DispatchQueues.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */; }; - D04BAD4DE538FDF7E7532EE2 /* Labels.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD32E130E4A061DC8332 /* Labels.swift */; }; - D04BAE2E8E9B9898A4DF9B3B /* FontIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAED53465957807CBF8B2 /* FontIcon.swift */; }; + D04BAAD9C6059BDD5BC0BCAF /* BoldLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA743EED5B9F74025EE40 /* BoldLabel.swift */; }; + D04BABCDBF7F4B885BE4352F /* FontIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACDC96B3F47636BA25A1 /* FontIcon.swift */; }; + D04BABF88726DA42B2CBA68B /* ThumbnailsPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF40D5E54AD1044B3FF7 /* ThumbnailsPanel.swift */; }; + D04BAC0BF53A80D4F1EE22ED /* AboutTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE23C37E0F3B07EEE7B1 /* AboutTab.swift */; }; + D04BACB0516C09A001A6927F /* Labels.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BADED9102822F8F535894 /* Labels.swift */; }; + D04BAD8346A6A32C9749E0B3 /* TabViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */; }; D04BAE369A14C3126A1606FE /* HelperExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */; }; - D04BAE53AE67492CF654B4AE /* TabViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE70A24C83D571C77B1A /* TabViewController.swift */; }; + D04BAE8FB9EB3F22E857288E /* HyperlinkLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAB54C368E9F58FB20B35 /* HyperlinkLabel.swift */; }; D04BAEF78503D7A2CEFB9E9E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAA44C837F3A67403B9DB /* main.swift */; }; - F029861A378EC1417106FEC3 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0298E42A818112B290FF6C7 /* TextField.swift */; }; - F0298AB28A3CE5DBEC385730 /* HyperlinkLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0298708E2B13DBD4738AE76 /* HyperlinkLabel.swift */; }; + D04BAF3B6F75E50E9AA3E1D2 /* LabelAndControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3D65E7CA78D699EDAB0 /* LabelAndControl.swift */; }; + D04BAF9BE315551DA7751D44 /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA642D9CE9F8455991B61 /* GridView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 4807A6C523A9CD190052A53E /* SkyLight.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SkyLight.framework; path = ../../../../System/Library/PrivateFrameworks/SkyLight.framework; sourceTree = ""; }; - D04BA02F476DE30C4647886C /* PreferencesWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreferencesWindow.swift; sourceTree = ""; }; - D04BA0AF7C5DCF367FBB663C /* StatusItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StatusItem.swift; sourceTree = ""; }; D04BA0CE87BE264C52987ED1 /* 7 windows - 2 lines - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - wide window.jpg"; sourceTree = ""; }; D04BA0E1C5DBC07108AC2F54 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; D04BA0F5EB832B8E142B654B /* 4 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "4 windows - 1 line.jpg"; sourceTree = ""; }; @@ -50,63 +54,71 @@ D04BA1D80F4EEF2A91BAD29C /* release.config.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = release.config.js; sourceTree = ""; }; D04BA1FC9022590D7AA02486 /* 1 window - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1 window - 1 line.jpg"; sourceTree = ""; }; D04BA26154AB2A2897E08CAF /* windows-theme.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "windows-theme.jpg"; sourceTree = ""; }; + D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewItem.swift; sourceTree = ""; }; + D04BA2A846441FDB0EF3C086 /* TextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; D04BA2C7B51F68651B3C60E2 /* 6 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "6 windows - 1 line.jpg"; sourceTree = ""; }; D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SystemPermissions.swift; sourceTree = ""; }; - D04BA3202A2C22C347E849B3 /* CollectionViewCenterFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewCenterFlowLayout.swift; sourceTree = ""; }; D04BA32F25860B686DFE818A /* 3 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line.jpg"; sourceTree = ""; }; D04BA35456DA0DDA74F9687E /* Keyboard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; + D04BA3D65E7CA78D699EDAB0 /* LabelAndControl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LabelAndControl.swift; sourceTree = ""; }; D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; D04BA40A4291E4F310527DBF /* AXUIElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AXUIElement.swift; sourceTree = ""; }; D04BA4336B6004A0A99849AD /* package.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = package.json; sourceTree = ""; }; - D04BA43552CB1EABDC8ECD9E /* BoldLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BoldLabel.swift; sourceTree = ""; }; D04BA459034C1885CA43A807 /* LICENCE.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = LICENCE.md; sourceTree = ""; }; D04BA4B5292629AA6B560216 /* package_release.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = package_release.sh; sourceTree = ""; }; D04BA4F23325560BC0BCDDB7 /* 7 windows - 2 lines - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - tall window.jpg"; sourceTree = ""; }; D04BA51D43775E57CE91154A /* 3 windows - 1 line - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - wide window.jpg"; sourceTree = ""; }; - D04BA56355579F78776E6D51 /* Cell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchQueues.swift; sourceTree = ""; }; D04BA5ABFA5457A86536E2E4 /* 5 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 1 line.jpg"; sourceTree = ""; }; + D04BA5B232184F6DB29C701C /* PreferencesWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreferencesWindow.swift; sourceTree = ""; }; D04BA5E819181CB83C5602C7 /* generate_debug_certificate.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = generate_debug_certificate.sh; sourceTree = ""; }; D04BA5EB5ED248C8C22CC672 /* Spaces.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Spaces.swift; sourceTree = ""; }; + D04BA642D9CE9F8455991B61 /* GridView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GridView.swift; sourceTree = ""; }; D04BA66B5B4143D2238F50B9 /* Applications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Applications.swift; sourceTree = ""; }; + D04BA6FA0F38687C3E420D77 /* TabViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewController.swift; sourceTree = ""; }; + D04BA743EED5B9F74025EE40 /* BoldLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BoldLabel.swift; sourceTree = ""; }; D04BA78E3B4E73B40DB77174 /* CGWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindow.swift; sourceTree = ""; }; D04BA7B6AAB0812631BBC7A2 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.info; path = Info.plist; sourceTree = ""; }; D04BA7ECCE728582D9ECA613 /* determine_version.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = determine_version.sh; sourceTree = ""; }; D04BA82F792DF53958D92572 /* alt-tab-macos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "alt-tab-macos.app"; sourceTree = BUILT_PRODUCTS_DIR; }; D04BA89FAEC4A5734D892C4B /* build_release.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = build_release.sh; sourceTree = ""; }; + D04BA8BEE821E2062F23AA97 /* CollectionViewItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItem.swift; sourceTree = ""; }; D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HelperExtensions.swift; sourceTree = ""; }; D04BA90C6C36DB1D65BC2B66 /* App.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; D04BA92541D46EA4F6943A72 /* package-lock.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "package-lock.json"; sourceTree = ""; }; D04BA9EF65B2E7AF9E3ADCA3 /* 2 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2 windows - 1 line.jpg"; sourceTree = ""; }; D04BAA34E0CB00DED7C04B4F /* 2-rows.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2-rows.jpg"; sourceTree = ""; }; D04BAA44C837F3A67403B9DB /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; + D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewFlowLayout.swift; sourceTree = ""; }; + D04BAB54C368E9F58FB20B35 /* HyperlinkLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HyperlinkLabel.swift; sourceTree = ""; }; D04BAB6652494D7575057E86 /* 14 windows - 3 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "14 windows - 3 lines.jpg"; sourceTree = ""; }; D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; path = "SF-Pro-Text-Regular.otf"; sourceTree = ""; }; + D04BABD0C7A6DBA235C650A5 /* ShortcutsTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShortcutsTab.swift; sourceTree = ""; }; D04BAC02D60EF22D9CC7D969 /* commitlint.config.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = commitlint.config.js; sourceTree = ""; }; D04BAC159731F80FDAF4EA6C /* 1-row.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1-row.jpg"; sourceTree = ""; }; D04BAC6AFC7F06D1A567F27A /* set_version_in_app.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = set_version_in_app.sh; sourceTree = ""; }; + D04BACD85D3966B4C9482E52 /* AppearanceTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppearanceTab.swift; sourceTree = ""; }; + D04BACDC96B3F47636BA25A1 /* FontIcon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FontIcon.swift; sourceTree = ""; }; D04BAD1BED44EAEB77FED8A4 /* Windows.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Windows.swift; sourceTree = ""; }; D04BAD1C9F215BCCD3B620AC /* alt_tab_macos.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = alt_tab_macos.entitlements; sourceTree = ""; }; - D04BAD32E130E4A061DC8332 /* Labels.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Labels.swift; sourceTree = ""; }; D04BAD40CE2D3A8AAC3819D0 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = file.gitignore; path = .gitignore; sourceTree = ""; }; D04BAD7D8F3CC2C36C8769C6 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = file.yml; path = .travis.yml; sourceTree = ""; }; D04BAD82F652C4ED5D8BF7AE /* 3 windows - 1 line - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - tall window.jpg"; sourceTree = ""; }; D04BADB20AB31BF83593E0BE /* greetings.yml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.yaml; path = greetings.yml; sourceTree = ""; }; D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; + D04BADED9102822F8F535894 /* Labels.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Labels.swift; sourceTree = ""; }; D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = ""; }; - D04BAE5BBE182DD5DDFE2E3E /* ThumbnailsPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThumbnailsPanel.swift; sourceTree = ""; }; - D04BAE70A24C83D571C77B1A /* TabViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewController.swift; sourceTree = ""; }; + D04BAE23C37E0F3B07EEE7B1 /* AboutTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutTab.swift; sourceTree = ""; }; D04BAE80772D25834E440975 /* Window.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Window.swift; sourceTree = ""; }; D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = update_homebrew_cask.sh; sourceTree = ""; }; D04BAEA3EDC4F80FA23DBEC4 /* CGWindowID.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindowID.swift; sourceTree = ""; }; - D04BAED53465957807CBF8B2 /* FontIcon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FontIcon.swift; sourceTree = ""; }; + D04BAF0469B160046170B608 /* Menubar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Menubar.swift; sourceTree = ""; }; D04BAF076A30A1BAFEDBEA66 /* 5 windows - 2 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 2 lines.jpg"; sourceTree = ""; }; D04BAF0DFC1F44322973CE1E /* PrivateApis.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrivateApis.swift; sourceTree = ""; }; D04BAF13DFAA6930676D0492 /* Application.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Application.swift; sourceTree = ""; }; D04BAF249324297C07E31164 /* frontpage.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = frontpage.jpg; sourceTree = ""; }; + D04BAF40D5E54AD1044B3FF7 /* ThumbnailsPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThumbnailsPanel.swift; sourceTree = ""; }; D04BAFA277EAE3BDDDB61110 /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; - F0298708E2B13DBD4738AE76 /* HyperlinkLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HyperlinkLabel.swift; sourceTree = ""; }; - F0298E42A818112B290FF6C7 /* TextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -207,6 +219,18 @@ path = resources; sourceTree = ""; }; + D04BA5E0E3F6CA2F38FD6E1B /* labels */ = { + isa = PBXGroup; + children = ( + D04BADED9102822F8F535894 /* Labels.swift */, + D04BA743EED5B9F74025EE40 /* BoldLabel.swift */, + D04BAB54C368E9F58FB20B35 /* HyperlinkLabel.swift */, + D04BACDC96B3F47636BA25A1 /* FontIcon.swift */, + D04BA2A846441FDB0EF3C086 /* TextField.swift */, + ); + path = labels; + sourceTree = ""; + }; D04BA63877FC8FB11C43C3D2 /* alt-tab-macos */ = { isa = PBXGroup; children = ( @@ -231,6 +255,16 @@ path = ci; sourceTree = ""; }; + D04BAA0972482EFACD1DC24E /* tabs */ = { + isa = PBXGroup; + children = ( + D04BACD85D3966B4C9482E52 /* AppearanceTab.swift */, + D04BAE23C37E0F3B07EEE7B1 /* AboutTab.swift */, + D04BABD0C7A6DBA235C650A5 /* ShortcutsTab.swift */, + ); + path = tabs; + sourceTree = ""; + }; D04BAA1C553891551B903DA7 /* logic */ = { isa = PBXGroup; children = ( @@ -251,18 +285,11 @@ D04BAAA28315301A906DD201 /* ui */ = { isa = PBXGroup; children = ( - D04BA3202A2C22C347E849B3 /* CollectionViewCenterFlowLayout.swift */, - D04BA56355579F78776E6D51 /* Cell.swift */, D04BA90C6C36DB1D65BC2B66 /* App.swift */, - D04BA02F476DE30C4647886C /* PreferencesWindow.swift */, - D04BAE5BBE182DD5DDFE2E3E /* ThumbnailsPanel.swift */, - D04BA0AF7C5DCF367FBB663C /* StatusItem.swift */, - D04BAD32E130E4A061DC8332 /* Labels.swift */, - F0298E42A818112B290FF6C7 /* TextField.swift */, - F0298708E2B13DBD4738AE76 /* HyperlinkLabel.swift */, - D04BAED53465957807CBF8B2 /* FontIcon.swift */, - D04BAE70A24C83D571C77B1A /* TabViewController.swift */, - D04BA43552CB1EABDC8ECD9E /* BoldLabel.swift */, + D04BA5E0E3F6CA2F38FD6E1B /* labels */, + D04BAF7BAEB13280202194EC /* main-window */, + D04BAB80CE5308CE20712131 /* preferences-window */, + D04BAF0469B160046170B608 /* Menubar.swift */, ); path = ui; sourceTree = ""; @@ -276,6 +303,19 @@ path = img; sourceTree = ""; }; + D04BAB80CE5308CE20712131 /* preferences-window */ = { + isa = PBXGroup; + children = ( + D04BA5B232184F6DB29C701C /* PreferencesWindow.swift */, + D04BA6FA0F38687C3E420D77 /* TabViewController.swift */, + D04BA642D9CE9F8455991B61 /* GridView.swift */, + D04BA3D65E7CA78D699EDAB0 /* LabelAndControl.swift */, + D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */, + D04BAA0972482EFACD1DC24E /* tabs */, + ); + path = "preferences-window"; + sourceTree = ""; + }; D04BAD1F5F5D4427DEA16682 /* docs */ = { isa = PBXGroup; children = ( @@ -306,6 +346,16 @@ path = workflows; sourceTree = ""; }; + D04BAF7BAEB13280202194EC /* main-window */ = { + isa = PBXGroup; + children = ( + D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */, + D04BA8BEE821E2062F23AA97 /* CollectionViewItem.swift */, + D04BAF40D5E54AD1044B3FF7 /* ThumbnailsPanel.swift */, + ); + path = "main-window"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -368,25 +418,16 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D04BA960DDD1D32A3019C835 /* CollectionViewCenterFlowLayout.swift in Sources */, D04BAEF78503D7A2CEFB9E9E /* main.swift in Sources */, - D04BA20D4A240843293B3B52 /* Cell.swift in Sources */, D04BA57A871B7269BEBAFF84 /* Keyboard.swift in Sources */, D04BA278D9EFA568C8D18A4C /* Windows.swift in Sources */, D04BA3261C7DA5F48310E654 /* App.swift in Sources */, D04BA70FF7262BF5F9E6E13B /* Preferences.swift in Sources */, - D04BA6368E681BE3A408AC99 /* PreferencesWindow.swift in Sources */, - D04BA9119E2329DB5A35B3C7 /* ThumbnailsPanel.swift in Sources */, D04BA8EBC0365A019A27C7EA /* Screen.swift in Sources */, D04BA9CCE02D30C8164A552A /* SystemPermissions.swift in Sources */, - D04BA02DD4152997C32CF50B /* StatusItem.swift in Sources */, - D04BAD4DE538FDF7E7532EE2 /* Labels.swift in Sources */, - F029861A378EC1417106FEC3 /* TextField.swift in Sources */, - F0298AB28A3CE5DBEC385730 /* HyperlinkLabel.swift in Sources */, D04BA308162F8043F8561D03 /* AXUIElement.swift in Sources */, D04BA0496ACF1427B6E9D369 /* CGWindow.swift in Sources */, D04BAE369A14C3126A1606FE /* HelperExtensions.swift in Sources */, - D04BAE2E8E9B9898A4DF9B3B /* FontIcon.swift in Sources */, D04BA4D356055A39B97712DE /* PrivateApis.swift in Sources */, D04BA6B6B703DCEFE892D5A4 /* Spaces.swift in Sources */, D04BA2CBF0EFA04CC80EC1BC /* Window.swift in Sources */, @@ -394,8 +435,23 @@ D04BA1BA0B3F2E0A47883569 /* Application.swift in Sources */, D04BA2378832FD7E5DE3BC23 /* Applications.swift in Sources */, D04BAAD43731608067734ED3 /* DispatchQueues.swift in Sources */, - D04BAE53AE67492CF654B4AE /* TabViewController.swift in Sources */, - D04BAA3D066D2B428D4DBAA6 /* BoldLabel.swift in Sources */, + D04BACB0516C09A001A6927F /* Labels.swift in Sources */, + D04BAAD9C6059BDD5BC0BCAF /* BoldLabel.swift in Sources */, + D04BAE8FB9EB3F22E857288E /* HyperlinkLabel.swift in Sources */, + D04BABCDBF7F4B885BE4352F /* FontIcon.swift in Sources */, + D04BA1D0015647B0AB0E82F9 /* TextField.swift in Sources */, + D04BA84074E5FD6221720BC7 /* CollectionViewFlowLayout.swift in Sources */, + D04BA4409C5B3F3595E8E69C /* CollectionViewItem.swift in Sources */, + D04BABF88726DA42B2CBA68B /* ThumbnailsPanel.swift in Sources */, + D04BA46C048F35D5BC0417FC /* PreferencesWindow.swift in Sources */, + D04BA6083F3EAB7A276EA758 /* TabViewController.swift in Sources */, + D04BAF9BE315551DA7751D44 /* GridView.swift in Sources */, + D04BAF3B6F75E50E9AA3E1D2 /* LabelAndControl.swift in Sources */, + D04BAD8346A6A32C9749E0B3 /* TabViewItem.swift in Sources */, + D04BA42AF817BCDF3F1F13F2 /* AppearanceTab.swift in Sources */, + D04BAC0BF53A80D4F1EE22ED /* AboutTab.swift in Sources */, + D04BA57B6719B4BA8DD358DF /* ShortcutsTab.swift in Sources */, + D04BA0E86F2D30722F97C16F /* Menubar.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 0d8a7e83..48da2aa5 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -26,12 +26,11 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { SystemPermissions.ensureAccessibilityCheckboxIsChecked() SystemPermissions.ensureScreenRecordingCheckboxIsChecked() Preferences.loadFromDiskAndUpdateValues() - statusItem = StatusItem.make(self) + statusItem = Menubar.make(self) initPreferencesDependentComponents() -// Spaces.initialDiscovery() -// Applications.initialDiscovery() -// Keyboard.listenToGlobalEvents(self) - showPreferencesPanel() + Spaces.initialDiscovery() + Applications.initialDiscovery() + Keyboard.listenToGlobalEvents(self) } // we put application code here which should be executed on init() and Preferences change diff --git a/alt-tab-macos/ui/StatusItem.swift b/alt-tab-macos/ui/Menubar.swift similarity index 97% rename from alt-tab-macos/ui/StatusItem.swift rename to alt-tab-macos/ui/Menubar.swift index b50e09d2..b3a34492 100644 --- a/alt-tab-macos/ui/StatusItem.swift +++ b/alt-tab-macos/ui/Menubar.swift @@ -1,6 +1,6 @@ import Cocoa -class StatusItem { +class Menubar { static func make(_ app: App) -> NSStatusItem { let item = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) item.button!.title = App.name diff --git a/alt-tab-macos/ui/PreferencesWindow.swift b/alt-tab-macos/ui/PreferencesWindow.swift deleted file mode 100644 index 0df6b3ec..00000000 --- a/alt-tab-macos/ui/PreferencesWindow.swift +++ /dev/null @@ -1,305 +0,0 @@ -import Cocoa -import Foundation - -class PreferencesWindow: NSWindow, NSWindowDelegate { - let tabViewController = TabViewController() - let padding = CGFloat(20) - let interPadding = CGFloat(10) - let rowHeight = CGFloat(20) - var windowCloseRequested = false - - override init(contentRect: NSRect, styleMask style: StyleMask, backing backingStoreType: BackingStoreType, defer flag: Bool) { - super.init(contentRect: .zero, styleMask: style, backing: backingStoreType, defer: flag) - title = App.name + " Preferences" - hidesOnDeactivate = false - isReleasedWhenClosed = false - styleMask.insert([.miniaturizable, .closable]) - tabViewController.tabStyle = .toolbar - contentViewController = tabViewController - makeTabViews() - } - - private func makeTabViews() { - for tabTuple in [ - ("Shortcuts", makeShortcutsView(), NSImage.preferencesGeneralName), - ("Appearance", makeAppearanceView(), NSImage.colorPanelName), - ("About", makeAboutView(), NSImage.infoName) - ] { - let viewController = NSViewController() - viewController.view = tabTuple.1 - let tabViewItem = NSTabViewItem(viewController: viewController) - tabViewItem.label = tabTuple.0 - tabViewItem.image = NSImage(named: tabTuple.2)! - tabViewController.addTabViewItem(tabViewItem) - } - } - - func show() { - App.shared.activate(ignoringOtherApps: true) - makeKeyAndOrderFront(nil) - } - - public func windowShouldClose(_ sender: NSWindow) -> Bool { - windowCloseRequested = true - challengeNextInvalidEditableTextField() - return attachedSheet == nil // depends if user is challenged with a sheet - } - - private func challengeNextInvalidEditableTextField() { - let invalidFields = (contentView? - .findNestedViews(subclassOf: TextField.self) - .filter({ !$0.isValid() }) - ) - let focusedField = invalidFields?.filter({ $0.currentEditor() != nil }).first - let fieldToNotify = focusedField ?? invalidFields?.first - fieldToNotify?.delegate?.controlTextDidChange?(Notification(name: NSControl.textDidChangeNotification, object: fieldToNotify)) - - if fieldToNotify != focusedField { - makeFirstResponder(fieldToNotify) - } - } - - private func makeShortcutsView() -> NSGridView { - // TODO: make the validators be a part of each Preference - let tabKeyCodeValidator: ((String) -> Bool) = { - guard let int = Int($0) else { - return false - } - // non-special keys (mac & pc keyboards): https://eastmanreference.com/complete-list-of-applescript-key-codes - var whitelistedKeycodes: [Int] = Array(0...53) - whitelistedKeycodes.append(contentsOf: [65, 67, 69, 75, 76, 78, ]) - whitelistedKeycodes.append(contentsOf: Array(81...89)) - whitelistedKeycodes.append(contentsOf: [91, 92, 115, 116, 117, 119, 121]) - whitelistedKeycodes.append(contentsOf: Array(123...126)) - return whitelistedKeycodes.contains(int) - } - - let view = makeGridLayout([ - makeLabelWithDropdown("Alt key", "metaKey", Preferences.metaKeyMacro.labels), - makeLabelWithInput("Tab key", "tabKeyCode", 33, "KeyCodes Reference", "https://eastmanreference.com/complete-list-of-applescript-key-codes", tabKeyCodeValidator), - ]) - view.column(at: 0).xPlacement = .trailing - view.rowAlignment = .lastBaseline - view.setRowsHeight(rowHeight) - return view - } - - private func makeAppearanceView() -> NSGridView { - let view = makeGridLayout([ - makeLabelWithDropdown("Theme", "theme", Preferences.themeMacro.labels), - makeLabelWithSlider("Max size on screen", "maxScreenUsage", 10, 100, 10, true, "%"), - makeLabelWithSlider("Min windows per row", "minCellsPerRow", 1, 20, 20, true), - makeLabelWithSlider("Max windows per row", "maxCellsPerRow", 1, 40, 20, true), - makeLabelWithSlider("Min rows of windows", "minRows", 1, 20, 20, true), - makeLabelWithSlider("Window app icon size", "iconSize", 0, 64, 11, false, "px"), - makeLabelWithSlider("Window title font size", "fontHeight", 0, 64, 11, false, "px"), - makeLabelWithDropdown("Show on", "showOnScreen", Preferences.showOnScreenMacro.labels), - makeLabelWithSlider("Apparition delay", "windowDisplayDelay", 0, 2000, 11, false, "ms"), - makeLabelWithCheckbox("Hide space number labels", "hideSpaceNumberLabels"), - ]) - view.column(at: 0).xPlacement = .trailing - view.rowAlignment = .lastBaseline - view.setRowsHeight(rowHeight) - return view - } - - private func makeAboutView() -> NSGridView { - let appIcon = NSImageView(image: App.shared.applicationIconImage) - appIcon.fit(64, 64) - let appText = NSStackView(views: [BoldLabel(App.name), NSTextField(wrappingLabelWithString: "Version \(App.version)")]) - appText.orientation = .vertical - appText.alignment = .left - appText.spacing = interPadding / 2 - let appInfo = NSStackView(views: [appIcon, appText]) - appInfo.spacing = interPadding - let view = makeGridLayout([ - [appInfo], - [HyperlinkLabel("Source code repository", NSURL(string: "https://github.com/lwouis/alt-tab-macos")!)], - [HyperlinkLabel("Latest releases", NSURL(string: "https://github.com/lwouis/alt-tab-macos/releases")!)], - ]) - return view - } - - private func makeGridLayout(_ controls: [[NSView]]) -> NSGridView { - let gridView = NSGridView(views: controls) - gridView.yPlacement = .fill - gridView.columnSpacing = interPadding - gridView.rowSpacing = interPadding - gridView.column(at: 0).leadingPadding = padding - gridView.column(at: gridView.numberOfColumns - 1).trailingPadding = padding - gridView.row(at: 0).topPadding = padding - gridView.row(at: gridView.numberOfRows - 1).bottomPadding = padding - gridView.fit() - return gridView - } - - private func makeLabelWithInput(_ labelText: String, _ rawName: String, _ width: CGFloat, _ suffixText: String? = nil, _ suffixUrl: String? = nil, _ validator: ((String) -> Bool)? = nil) -> [NSView] { - let input = TextField(Preferences.rawValues[rawName]!) - input.validationHandler = validator - input.delegate = input - input.visualizeValidationState() - input.fit(width, input.fittingSize.height) - let views = makeLabelWithProvidedControl(labelText, rawName, input) - return [views[0], NSStackView(views: [views[1], makeSuffix(rawName, suffixText!, suffixUrl)])] - } - - private func makeLabelWithCheckbox(_ labelText: String, _ rawName: String) -> [NSView] { - let checkbox = NSButton.init(checkboxWithTitle: "", target: nil, action: nil) - setControlValue(checkbox, Preferences.rawValues[rawName]!) - return makeLabelWithProvidedControl(labelText, rawName, checkbox) - } - - private func makeLabelWithDropdown(_ labelText: String, _ rawName: String, _ values: [String], _ suffixText: String? = nil) -> [NSView] { - let popUp = NSPopUpButton() - popUp.addItems(withTitles: values) - popUp.selectItem(withTitle: Preferences.rawValues[rawName]!) - return makeLabelWithProvidedControl(labelText, rawName, popUp, suffixText) - } - - private func makeLabelWithSlider(_ labelText: String, _ rawName: String, _ minValue: Double, _ maxValue: Double, _ numberOfTickMarks: Int, _ allowsTickMarkValuesOnly: Bool, _ unitText: String = "") -> [NSView] { - let value = Preferences.rawValues[rawName]! - let suffixText = value + " " + unitText - let slider = NSSlider() - slider.minValue = minValue - slider.maxValue = maxValue - slider.stringValue = value -// slider.numberOfTickMarks = numberOfTickMarks -// slider.allowsTickMarkValuesOnly = allowsTickMarkValuesOnly -// slider.tickMarkPosition = .below - slider.isContinuous = true - return makeLabelWithProvidedControl(labelText, rawName, slider, suffixText) - } - - private func makeLabelWithProvidedControl(_ labelText: String?, _ rawName: String, _ control: NSControl, _ suffixText: String? = nil, _ suffixUrl: String? = nil) -> [NSView] { - let label = makeLabel(labelText, rawName) - control.identifier = NSUserInterfaceItemIdentifier(rawName) - control.target = self - control.action = #selector(controlWasChanged) - return [label, control, suffixText != nil ? makeSuffix(rawName, suffixText!, suffixUrl) : NSView()] - } - - private func makeLabel(_ labelText: String?, _ rawName: String) -> NSTextField { - let label = NSTextField(wrappingLabelWithString: labelText != nil ? labelText! + ": " : "") - label.fit() - label.alignment = .right - label.identifier = NSUserInterfaceItemIdentifier(rawName + ControlIdentifierDiscriminator.LABEL.rawValue) - return label - } - - private func makeSuffix(_ controlName: String, _ text: String, _ url: String? = nil) -> NSTextField { - let suffix: NSTextField - if url == nil { - suffix = NSTextField(labelWithString: text) - } else { - suffix = HyperlinkLabel(text, NSURL(string: url!)!) - } - suffix.textColor = .gray - suffix.identifier = NSUserInterfaceItemIdentifier(controlName + ControlIdentifierDiscriminator.SUFFIX.rawValue) - suffix.fit() - return suffix - } - - private func updateSuffixWithValue(_ control: NSControl, _ value: String) { - let suffixIdentifierPredicate = { (view: NSView) -> Bool in - view.identifier?.rawValue == control.identifier!.rawValue + ControlIdentifierDiscriminator.SUFFIX.rawValue - } - - if let suffixView: NSTextField = control.superview?.subviews.first(where: suffixIdentifierPredicate) as? NSTextField { - let regex = try! NSRegularExpression(pattern: "^[0-9]+") // first decimal - let range = NSMakeRange(0, suffixView.stringValue.count) - suffixView.stringValue = regex.stringByReplacingMatches(in: suffixView.stringValue, range: range, withTemplate: value) - } - } - - @objc - private func controlWasChanged(senderControl: NSControl) { - let key: String = senderControl.identifier!.rawValue - let previousValue: String = Preferences.rawValues[key]! - let newValue: String = getControlValue(senderControl) - let invalidTextField = senderControl is TextField && !(senderControl as! TextField).isValid() - - if (invalidTextField && !windowCloseRequested) || (newValue == previousValue && !invalidTextField) { - return - } - - updateControlExtras(senderControl, newValue) - - do { - // TODO: remove conditional as soon a Preference does validation on its own - if invalidTextField && windowCloseRequested { - throw NSError.make(domain: "Preferences", message: "Please enter a valid value for '" + key + "'") - } - try Preferences.updateAndValidateFromString(key, newValue) - (App.shared as! App).initPreferencesDependentComponents() - try Preferences.saveRawToDisk() - } catch let error { - debugPrint("PreferencesWindow: save: error", key, newValue, error) - showSaveErrorSheetModal(error as NSError, senderControl, key, previousValue) // allows recursive call by user choice - } - } - - private func showSaveErrorSheetModal(_ nsError: NSError, _ control: NSControl, _ key: String, _ previousValue: String) { - let alert = NSAlert() - alert.messageText = "Could not save Preference" - alert.informativeText = nsError.localizedDescription + "\n" - alert.addButton(withTitle: "Edit") - alert.addButton(withTitle: "Cancel") - alert.addButton(withTitle: "Check again") - - alert.beginSheetModal(for: self, completionHandler: { (modalResponse: NSApplication.ModalResponse) -> Void in - if modalResponse == NSApplication.ModalResponse.alertFirstButtonReturn { - debugPrint("PreferencesWindow: save: error: user choice: edit") - self.windowCloseRequested = false - } - if modalResponse == NSApplication.ModalResponse.alertSecondButtonReturn { - debugPrint("PreferencesWindow: save: error: user choice: cancel -> revert value and eventually close window") - try! Preferences.updateAndValidateFromString(key, previousValue) - self.setControlValue(control, previousValue) - self.updateControlExtras(control, previousValue) - if self.windowCloseRequested { - self.close() - } - } - if modalResponse == NSApplication.ModalResponse.alertThirdButtonReturn { - debugPrint("PreferencesWindow: save: error: user choice: check again") - self.controlWasChanged(senderControl: control) - } - }) - } - - private func getControlValue(_ control: NSControl) -> String { - if control is NSPopUpButton { - return (control as! NSPopUpButton).titleOfSelectedItem! - } else if control is NSSlider { - return String(format: "%.0f", control.doubleValue) // we are only interested in decimals of the provided double - } else if control is NSButton { - return String((control as! NSButton).state == NSButton.StateValue.on) - } else { - return control.stringValue - } - } - - private func setControlValue(_ control: NSControl, _ value: String) { - if control is NSPopUpButton { - (control as! NSPopUpButton).selectItem(withTitle: value) - } else if control is NSTextField { - control.stringValue = value - (control as! NSTextField).delegate?.controlTextDidChange?(Notification(name: NSControl.textDidChangeNotification, object: control)) - } else if control is NSButton { - (control as! NSButton).state = Bool(value) ?? false ? NSButton.StateValue.on : NSButton.StateValue.off - } else { - control.stringValue = value - } - } - - private func updateControlExtras(_ control: NSControl, _ value: String) { - if control is NSSlider { - updateSuffixWithValue(control as! NSSlider, value) - } - } -} - -enum ControlIdentifierDiscriminator: String { - case LABEL = "_label" - case SUFFIX = "_suffix" -} diff --git a/alt-tab-macos/ui/BoldLabel.swift b/alt-tab-macos/ui/labels/BoldLabel.swift similarity index 100% rename from alt-tab-macos/ui/BoldLabel.swift rename to alt-tab-macos/ui/labels/BoldLabel.swift diff --git a/alt-tab-macos/ui/FontIcon.swift b/alt-tab-macos/ui/labels/FontIcon.swift similarity index 100% rename from alt-tab-macos/ui/FontIcon.swift rename to alt-tab-macos/ui/labels/FontIcon.swift diff --git a/alt-tab-macos/ui/HyperlinkLabel.swift b/alt-tab-macos/ui/labels/HyperlinkLabel.swift similarity index 100% rename from alt-tab-macos/ui/HyperlinkLabel.swift rename to alt-tab-macos/ui/labels/HyperlinkLabel.swift diff --git a/alt-tab-macos/ui/Labels.swift b/alt-tab-macos/ui/labels/Labels.swift similarity index 97% rename from alt-tab-macos/ui/Labels.swift rename to alt-tab-macos/ui/labels/Labels.swift index 85d1be2d..1d077ca9 100644 --- a/alt-tab-macos/ui/Labels.swift +++ b/alt-tab-macos/ui/labels/Labels.swift @@ -43,7 +43,7 @@ class CellTitle: BaseLabel { layoutManager.addTextContainer(textContainer) super.init(frame: .zero, textContainer: textContainer) textColor = Preferences.fontColor - shadow = Cell.makeShadow(.darkGray) + shadow = CollectionViewItem.makeShadow(.darkGray) defaultParagraphStyle = makeParagraphStyle(size) heightAnchor.constraint(equalToConstant: size + magicOffset).isActive = true } diff --git a/alt-tab-macos/ui/TextField.swift b/alt-tab-macos/ui/labels/TextField.swift similarity index 100% rename from alt-tab-macos/ui/TextField.swift rename to alt-tab-macos/ui/labels/TextField.swift diff --git a/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift b/alt-tab-macos/ui/main-window/CollectionViewFlowLayout.swift similarity index 96% rename from alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift rename to alt-tab-macos/ui/main-window/CollectionViewFlowLayout.swift index 1e09dfa7..d78e6147 100644 --- a/alt-tab-macos/ui/CollectionViewCenterFlowLayout.swift +++ b/alt-tab-macos/ui/main-window/CollectionViewFlowLayout.swift @@ -1,6 +1,6 @@ import Cocoa -class CollectionViewCenterFlowLayout: NSCollectionViewFlowLayout { +class CollectionViewFlowLayout: NSCollectionViewFlowLayout { var currentScreen: NSScreen? var widestRow: CGFloat? var totalHeight: CGFloat? @@ -17,7 +17,7 @@ class CollectionViewCenterFlowLayout: NSCollectionViewFlowLayout { var widestRow = CGFloat(0) var totalHeight = CGFloat(0) for (index, attribute) in attributes.enumerated() { - let isNewRow = abs(attribute.frame.origin.y - currentRowY) > Cell.height(currentScreen!) + let isNewRow = abs(attribute.frame.origin.y - currentRowY) > CollectionViewItem.height(currentScreen!) if isNewRow { currentRowWidth -= Preferences.interCellPadding widestRow = max(widestRow, currentRowWidth) diff --git a/alt-tab-macos/ui/Cell.swift b/alt-tab-macos/ui/main-window/CollectionViewItem.swift similarity index 88% rename from alt-tab-macos/ui/Cell.swift rename to alt-tab-macos/ui/main-window/CollectionViewItem.swift index c391459b..d9ee5108 100644 --- a/alt-tab-macos/ui/Cell.swift +++ b/alt-tab-macos/ui/main-window/CollectionViewItem.swift @@ -2,9 +2,9 @@ import Cocoa import WebKit typealias MouseDownCallback = (Window) -> Void -typealias MouseMovedCallback = (Cell) -> Void +typealias MouseMovedCallback = (CollectionViewItem) -> Void -class Cell: NSCollectionViewItem { +class CollectionViewItem: NSCollectionViewItem { var thumbnail = NSImageView() var appIcon = NSImageView() var label = CellTitle(Preferences.fontHeight) @@ -18,7 +18,7 @@ class Cell: NSCollectionViewItem { override func loadView() { let hStackView = makeHStackView() let vStackView = makeVStackView(hStackView) - let shadow = Cell.makeShadow(.gray) + let shadow = CollectionViewItem.makeShadow(.gray) thumbnail.shadow = shadow appIcon.shadow = shadow view = vStackView @@ -42,7 +42,7 @@ class Cell: NSCollectionViewItem { func updateRecycledCellWithNewContent(_ element: Window, _ mouseDownCallback: @escaping MouseDownCallback, _ mouseMovedCallback: @escaping MouseMovedCallback, _ screen: NSScreen) { window = element thumbnail.image = element.thumbnail - let (thumbnailWidth, thumbnailHeight) = Cell.thumbnailSize(element.thumbnail, screen) + let (thumbnailWidth, thumbnailHeight) = CollectionViewItem.thumbnailSize(element.thumbnail, screen) let thumbnailSize = NSSize(width: thumbnailWidth.rounded(), height: thumbnailHeight.rounded()) thumbnail.image?.size = thumbnailSize thumbnail.frame.size = thumbnailSize @@ -111,25 +111,25 @@ class Cell: NSCollectionViewItem { } static func widthMax(_ screen: NSScreen) -> CGFloat { - return (ThumbnailsPanel.widthMax(screen) / Preferences.minCellsPerRow - Preferences.interCellPadding) * Cell.downscaleFactor() + return (ThumbnailsPanel.widthMax(screen) / Preferences.minCellsPerRow - Preferences.interCellPadding) * CollectionViewItem.downscaleFactor() } static func widthMin(_ screen: NSScreen) -> CGFloat { - return (ThumbnailsPanel.widthMax(screen) / Preferences.maxCellsPerRow - Preferences.interCellPadding) * Cell.downscaleFactor() + return (ThumbnailsPanel.widthMax(screen) / Preferences.maxCellsPerRow - Preferences.interCellPadding) * CollectionViewItem.downscaleFactor() } static func height(_ screen: NSScreen) -> CGFloat { - return (ThumbnailsPanel.heightMax(screen) / Preferences.minRows - Preferences.interCellPadding) * Cell.downscaleFactor() + return (ThumbnailsPanel.heightMax(screen) / Preferences.minRows - Preferences.interCellPadding) * CollectionViewItem.downscaleFactor() } static func width(_ image: NSImage?, _ screen: NSScreen) -> CGFloat { - return max(thumbnailSize(image, screen).0 + Preferences.intraCellPadding * 2, Cell.widthMin(screen)) + return max(thumbnailSize(image, screen).0 + Preferences.intraCellPadding * 2, CollectionViewItem.widthMin(screen)) } static func thumbnailSize(_ image: NSImage?, _ screen: NSScreen) -> (CGFloat, CGFloat) { guard let image = image else { return (0, 0) } - let thumbnailHeightMax = Cell.height(screen) - Preferences.intraCellPadding * 3 - Preferences.iconSize - let thumbnailWidthMax = Cell.widthMax(screen) - Preferences.intraCellPadding * 2 + let thumbnailHeightMax = CollectionViewItem.height(screen) - Preferences.intraCellPadding * 3 - Preferences.iconSize + let thumbnailWidthMax = CollectionViewItem.widthMax(screen) - Preferences.intraCellPadding * 2 let thumbnailHeight = min(image.size.height, thumbnailHeightMax) let thumbnailWidth = min(image.size.width, thumbnailWidthMax) let imageRatio = image.size.width / image.size.height diff --git a/alt-tab-macos/ui/ThumbnailsPanel.swift b/alt-tab-macos/ui/main-window/ThumbnailsPanel.swift similarity index 91% rename from alt-tab-macos/ui/ThumbnailsPanel.swift rename to alt-tab-macos/ui/main-window/ThumbnailsPanel.swift index 35f94d2f..0d9a6243 100644 --- a/alt-tab-macos/ui/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/main-window/ThumbnailsPanel.swift @@ -53,11 +53,11 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele collectionView.backgroundColors = [.clear] collectionView.isSelectable = true collectionView.allowsMultipleSelection = false - collectionView.register(Cell.self, forItemWithIdentifier: cellId) + collectionView.register(CollectionViewItem.self, forItemWithIdentifier: cellId) } - private func makeLayout() -> CollectionViewCenterFlowLayout { - let layout = CollectionViewCenterFlowLayout() + private func makeLayout() -> CollectionViewFlowLayout { + let layout = CollectionViewFlowLayout() layout.minimumInteritemSpacing = Preferences.interCellPadding layout.minimumLineSpacing = Preferences.interCellPadding return layout @@ -68,14 +68,14 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele } func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem { - let item = collectionView.makeItem(withIdentifier: cellId, for: indexPath) as! Cell + let item = collectionView.makeItem(withIdentifier: cellId, for: indexPath) as! CollectionViewItem item.updateRecycledCellWithNewContent(Windows.list[indexPath.item], app!.focusSelectedWindow, app!.thumbnailsPanel!.highlightCell, currentScreen!) return item } func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> NSSize { guard indexPath.item < Windows.list.count else { return .zero } - return NSSize(width: Cell.width(Windows.list[indexPath.item].thumbnail, currentScreen!).rounded(), height: Cell.height(currentScreen!).rounded()) + return NSSize(width: CollectionViewItem.width(Windows.list[indexPath.item].thumbnail, currentScreen!).rounded(), height: CollectionViewItem.height(currentScreen!).rounded()) } func highlightCell() { @@ -83,7 +83,7 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele collectionView.selectItems(at: [IndexPath(item: Windows.focusedWindowIndex, section: 0)], scrollPosition: .top) } - func highlightCell(_ cell: Cell) { + func highlightCell(_ cell: CollectionViewItem) { let newIndex = collectionView.indexPath(for: cell)! if Windows.focusedWindowIndex != newIndex.item { collectionView.selectItems(at: [newIndex], scrollPosition: .top) @@ -94,7 +94,7 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele func refreshCollectionView(_ screen: NSScreen, _ uiWorkShouldBeDone: Bool) { if uiWorkShouldBeDone { self.currentScreen = screen } - let layout = collectionView.collectionViewLayout as! CollectionViewCenterFlowLayout + let layout = collectionView.collectionViewLayout as! CollectionViewFlowLayout if uiWorkShouldBeDone { layout.currentScreen = screen } if uiWorkShouldBeDone { layout.invalidateLayout() } if uiWorkShouldBeDone { collectionView.setFrameSize(NSSize(width: ThumbnailsPanel.widthMax(screen).rounded(), height: ThumbnailsPanel.heightMax(screen).rounded())) } diff --git a/alt-tab-macos/ui/preferences-window/GridView.swift b/alt-tab-macos/ui/preferences-window/GridView.swift new file mode 100644 index 00000000..f6bc85ee --- /dev/null +++ b/alt-tab-macos/ui/preferences-window/GridView.swift @@ -0,0 +1,20 @@ +import Cocoa +import Foundation + +class GridView { + static let padding = CGFloat(20) + static let interPadding = CGFloat(10) + + static func make(_ controls: [[NSView]]) -> NSGridView { + let gridView = NSGridView(views: controls) + gridView.yPlacement = .fill + gridView.columnSpacing = interPadding + gridView.rowSpacing = interPadding + gridView.column(at: 0).leadingPadding = padding + gridView.column(at: gridView.numberOfColumns - 1).trailingPadding = padding + gridView.row(at: 0).topPadding = padding + gridView.row(at: gridView.numberOfRows - 1).bottomPadding = padding + gridView.fit() + return gridView + } +} diff --git a/alt-tab-macos/ui/preferences-window/LabelAndControl.swift b/alt-tab-macos/ui/preferences-window/LabelAndControl.swift new file mode 100644 index 00000000..1a9c5b87 --- /dev/null +++ b/alt-tab-macos/ui/preferences-window/LabelAndControl.swift @@ -0,0 +1,129 @@ +import Cocoa +import Foundation + +class LabelAndControl: NSObject { + static var callbackTarget: PreferencesWindow! + + static func makeLabelWithInput(_ labelText: String, _ rawName: String, _ width: CGFloat, _ suffixText: String? = nil, _ suffixUrl: String? = nil, _ validator: ((String) -> Bool)? = nil) -> [NSView] { + let input = TextField(Preferences.rawValues[rawName]!) + input.validationHandler = validator + input.delegate = input + input.visualizeValidationState() + input.fit(width, input.fittingSize.height) + let views = makeLabelWithProvidedControl(labelText, rawName, input) + return [views[0], NSStackView(views: [views[1], makeSuffix(rawName, suffixText!, suffixUrl)])] + } + + static func makeLabelWithCheckbox(_ labelText: String, _ rawName: String) -> [NSView] { + let checkbox = NSButton(checkboxWithTitle: "", target: nil, action: nil) + setControlValue(checkbox, Preferences.rawValues[rawName]!) + return makeLabelWithProvidedControl(labelText, rawName, checkbox) + } + + static func makeLabelWithDropdown(_ labelText: String, _ rawName: String, _ values: [String], _ suffixText: String? = nil) -> [NSView] { + let popUp = NSPopUpButton() + popUp.addItems(withTitles: values) + popUp.selectItem(withTitle: Preferences.rawValues[rawName]!) + return makeLabelWithProvidedControl(labelText, rawName, popUp, suffixText) + } + + static func makeLabelWithSlider(_ labelText: String, _ rawName: String, _ minValue: Double, _ maxValue: Double, _ numberOfTickMarks: Int, _ allowsTickMarkValuesOnly: Bool, _ unitText: String = "") -> [NSView] { + let value = Preferences.rawValues[rawName]! + let suffixText = value + " " + unitText + let slider = NSSlider() + slider.minValue = minValue + slider.maxValue = maxValue + slider.stringValue = value +// slider.numberOfTickMarks = numberOfTickMarks +// slider.allowsTickMarkValuesOnly = allowsTickMarkValuesOnly +// slider.tickMarkPosition = .below + slider.isContinuous = true + return makeLabelWithProvidedControl(labelText, rawName, slider, suffixText) + } + + static func makeLabelWithProvidedControl(_ labelText: String?, _ rawName: String, _ control: NSControl, _ suffixText: String? = nil, _ suffixUrl: String? = nil) -> [NSView] { + let label = makeLabel(labelText, rawName) + control.identifier = NSUserInterfaceItemIdentifier(rawName) + control.target = self + control.action = #selector(controlWasChanged) + return [label, control, suffixText != nil ? makeSuffix(rawName, suffixText!, suffixUrl) : NSView()] + } + + @objc + static func controlWasChanged(senderControl: NSControl) { + callbackTarget.controlWasChanged(senderControl) + } + + private static func makeLabel(_ labelText: String?, _ rawName: String) -> NSTextField { + let label = NSTextField(wrappingLabelWithString: labelText != nil ? labelText! + ": " : "") + label.fit() + label.alignment = .right + label.identifier = NSUserInterfaceItemIdentifier(rawName + ControlIdentifierDiscriminator.LABEL.rawValue) + return label + } + + private static func makeSuffix(_ controlName: String, _ text: String, _ url: String? = nil) -> NSTextField { + let suffix: NSTextField + if url == nil { + suffix = NSTextField(labelWithString: text) + } else { + suffix = HyperlinkLabel(text, NSURL(string: url!)!) + } + suffix.textColor = .gray + suffix.identifier = NSUserInterfaceItemIdentifier(controlName + ControlIdentifierDiscriminator.SUFFIX.rawValue) + suffix.fit() + return suffix + } + + + + static func getControlValue(_ control: NSControl) -> String { + if control is NSPopUpButton { + return (control as! NSPopUpButton).titleOfSelectedItem! + } else if control is NSSlider { + return String(format: "%.0f", control.doubleValue) // we are only interested in decimals of the provided double + } else if control is NSButton { + return String((control as! NSButton).state == NSButton.StateValue.on) + } else { + return control.stringValue + } + } + + static func setControlValue(_ control: NSControl, _ value: String) { + if control is NSPopUpButton { + (control as! NSPopUpButton).selectItem(withTitle: value) + } else if control is NSTextField { + control.stringValue = value + (control as! NSTextField).delegate?.controlTextDidChange?(Notification(name: NSControl.textDidChangeNotification, object: control)) + } else if control is NSButton { + (control as! NSButton).state = Bool(value) ?? false ? NSButton.StateValue.on : NSButton.StateValue.off + } else { + control.stringValue = value + } + } + + static func updateControlExtras(_ control: NSControl, _ value: String) { + if control is NSSlider { + updateSuffixWithValue(control as! NSSlider, value) + } + } + + + + private static func updateSuffixWithValue(_ control: NSControl, _ value: String) { + let suffixIdentifierPredicate = { (view: NSView) -> Bool in + view.identifier?.rawValue == control.identifier!.rawValue + ControlIdentifierDiscriminator.SUFFIX.rawValue + } + + if let suffixView: NSTextField = control.superview?.subviews.first(where: suffixIdentifierPredicate) as? NSTextField { + let regex = try! NSRegularExpression(pattern: "^[0-9]+") // first decimal + let range = NSMakeRange(0, suffixView.stringValue.count) + suffixView.stringValue = regex.stringByReplacingMatches(in: suffixView.stringValue, range: range, withTemplate: value) + } + } +} + +enum ControlIdentifierDiscriminator: String { + case LABEL = "_label" + case SUFFIX = "_suffix" +} diff --git a/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift b/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift new file mode 100644 index 00000000..6f3b5935 --- /dev/null +++ b/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift @@ -0,0 +1,102 @@ +import Cocoa +import Foundation + +class PreferencesWindow: NSWindow, NSWindowDelegate { + var windowCloseRequested = false + let tabViewController = TabViewController() + + override init(contentRect: NSRect, styleMask style: StyleMask, backing backingStoreType: BackingStoreType, defer flag: Bool) { + super.init(contentRect: .zero, styleMask: style, backing: backingStoreType, defer: flag) + LabelAndControl.callbackTarget = self + setupWindow() + setupTabViews() + } + + func show() { + App.shared.activate(ignoringOtherApps: true) + makeKeyAndOrderFront(nil) + } + + func controlWasChanged(_ senderControl: NSControl) { + let key: String = senderControl.identifier!.rawValue + let previousValue: String = Preferences.rawValues[key]! + let newValue: String = LabelAndControl.getControlValue(senderControl) + let invalidTextField = senderControl is TextField && !(senderControl as! TextField).isValid() + + if (invalidTextField && !windowCloseRequested) || (newValue == previousValue && !invalidTextField) { + return + } + + LabelAndControl.updateControlExtras(senderControl, newValue) + + do { + // TODO: remove conditional as soon a Preference does validation on its own + if invalidTextField && windowCloseRequested { + throw NSError.make(domain: "Preferences", message: "Please enter a valid value for '" + key + "'") + } + try Preferences.updateAndValidateFromString(key, newValue) + (App.shared as! App).initPreferencesDependentComponents() + try Preferences.saveRawToDisk() + } catch let error { + debugPrint("PreferencesWindow: save: error", key, newValue, error) + showSaveErrorSheetModal(error as NSError, senderControl, key, previousValue) // allows recursive call by user choice + } + } + + private func setupWindow() { + hidesOnDeactivate = false + isReleasedWhenClosed = false + styleMask.insert([.miniaturizable, .closable]) + } + + private func setupTabViews() { + contentViewController = tabViewController + tabViewController.tabStyle = .toolbar + tabViewController.addTabViewItem(ShortcutsTab.make()) + tabViewController.addTabViewItem(AppearanceTab.make()) + tabViewController.addTabViewItem(AboutTab.make()) + } + + private func challengeNextInvalidEditableTextField() { + let invalidFields = (contentView? + .findNestedViews(subclassOf: TextField.self) + .filter({ !$0.isValid() }) + ) + let focusedField = invalidFields?.filter({ $0.currentEditor() != nil }).first + let fieldToNotify = focusedField ?? invalidFields?.first + fieldToNotify?.delegate?.controlTextDidChange?(Notification(name: NSControl.textDidChangeNotification, object: fieldToNotify)) + + if fieldToNotify != focusedField { + makeFirstResponder(fieldToNotify) + } + } + + private func showSaveErrorSheetModal(_ nsError: NSError, _ control: NSControl, _ key: String, _ previousValue: String) { + let alert = NSAlert() + alert.messageText = "Could not save Preference" + alert.informativeText = nsError.localizedDescription + "\n" + alert.addButton(withTitle: "Edit") + alert.addButton(withTitle: "Cancel") + alert.addButton(withTitle: "Check again") + + alert.beginSheetModal(for: self, completionHandler: { (modalResponse: NSApplication.ModalResponse) -> Void in + if modalResponse == NSApplication.ModalResponse.alertFirstButtonReturn { + debugPrint("PreferencesWindow: save: error: user choice: edit") + self.windowCloseRequested = false + } + if modalResponse == NSApplication.ModalResponse.alertSecondButtonReturn { + debugPrint("PreferencesWindow: save: error: user choice: cancel -> revert value and eventually close window") + try! Preferences.updateAndValidateFromString(key, previousValue) + LabelAndControl.setControlValue(control, previousValue) + LabelAndControl.updateControlExtras(control, previousValue) + if self.windowCloseRequested { + self.close() + } + } + if modalResponse == NSApplication.ModalResponse.alertThirdButtonReturn { + debugPrint("PreferencesWindow: save: error: user choice: check again") + self.controlWasChanged(control) + } + }) + } +} diff --git a/alt-tab-macos/ui/TabViewController.swift b/alt-tab-macos/ui/preferences-window/TabViewController.swift similarity index 100% rename from alt-tab-macos/ui/TabViewController.swift rename to alt-tab-macos/ui/preferences-window/TabViewController.swift diff --git a/alt-tab-macos/ui/preferences-window/TabViewItem.swift b/alt-tab-macos/ui/preferences-window/TabViewItem.swift new file mode 100644 index 00000000..41436804 --- /dev/null +++ b/alt-tab-macos/ui/preferences-window/TabViewItem.swift @@ -0,0 +1,13 @@ +import Cocoa +import Foundation + +class TabViewItem { + static func make(_ label: String, _ imageNAme: NSImage.Name, _ view: NSView) -> NSTabViewItem { + let viewController = NSViewController() + let tabViewItem = NSTabViewItem(viewController: viewController) + viewController.view = view + tabViewItem.label = label + tabViewItem.image = NSImage(named: imageNAme) + return tabViewItem + } +} diff --git a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift new file mode 100644 index 00000000..b8cb06b9 --- /dev/null +++ b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift @@ -0,0 +1,25 @@ +import Cocoa +import Foundation + +class AboutTab { + static func make() -> NSTabViewItem { + return TabViewItem.make("About", NSImage.infoName, makeView()) + } + + private static func makeView() -> NSGridView { + let appIcon = NSImageView(image: App.shared.applicationIconImage) + appIcon.fit(64, 64) + let appText = NSStackView(views: [BoldLabel(App.name), NSTextField(wrappingLabelWithString: "Version \(App.version)")]) + appText.orientation = .vertical + appText.alignment = .left + appText.spacing = GridView.interPadding / 2 + let appInfo = NSStackView(views: [appIcon, appText]) + appInfo.spacing = GridView.interPadding + let view = GridView.make([ + [appInfo], + [HyperlinkLabel("Source code repository", NSURL(string: "https://github.com/lwouis/alt-tab-macos")!)], + [HyperlinkLabel("Latest releases", NSURL(string: "https://github.com/lwouis/alt-tab-macos/releases")!)], + ]) + return view + } +} diff --git a/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift new file mode 100644 index 00000000..0e1323ca --- /dev/null +++ b/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift @@ -0,0 +1,29 @@ +import Cocoa +import Foundation + +class AppearanceTab { + private static let rowHeight = CGFloat(20) + + static func make() -> NSTabViewItem { + return TabViewItem.make("Shortcuts", NSImage.colorPanelName, makeView()) + } + + private static func makeView() -> NSGridView { + let view = GridView.make([ + LabelAndControl.makeLabelWithDropdown("Theme", "theme", Preferences.themeMacro.labels), + LabelAndControl.makeLabelWithSlider("Max size on screen", "maxScreenUsage", 10, 100, 10, true, "%"), + LabelAndControl.makeLabelWithSlider("Min windows per row", "minCellsPerRow", 1, 20, 20, true), + LabelAndControl.makeLabelWithSlider("Max windows per row", "maxCellsPerRow", 1, 40, 20, true), + LabelAndControl.makeLabelWithSlider("Min rows of windows", "minRows", 1, 20, 20, true), + LabelAndControl.makeLabelWithSlider("Window app icon size", "iconSize", 0, 64, 11, false, "px"), + LabelAndControl.makeLabelWithSlider("Window title font size", "fontHeight", 0, 64, 11, false, "px"), + LabelAndControl.makeLabelWithDropdown("Show on", "showOnScreen", Preferences.showOnScreenMacro.labels), + LabelAndControl.makeLabelWithSlider("Apparition delay", "windowDisplayDelay", 0, 2000, 11, false, "ms"), + LabelAndControl.makeLabelWithCheckbox("Hide space number labels", "hideSpaceNumberLabels"), + ]) + view.column(at: 0).xPlacement = .trailing + view.rowAlignment = .lastBaseline + view.setRowsHeight(rowHeight) + return view + } +} diff --git a/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift b/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift new file mode 100644 index 00000000..33647948 --- /dev/null +++ b/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift @@ -0,0 +1,34 @@ +import Cocoa +import Foundation + +class ShortcutsTab { + private static let rowHeight = CGFloat(20) + + static func make() -> NSTabViewItem { + return TabViewItem.make("Appearance", NSImage.preferencesGeneralName, makeView()) + } + + private static func makeView() -> NSGridView { // TODO: make the validators be a part of each Preference + let tabKeyCodeValidator: ((String) -> Bool) = { + guard let int = Int($0) else { + return false + } + // non-special keys (mac & pc keyboards): https://eastmanreference.com/complete-list-of-applescript-key-codes + var whitelistedKeycodes: [Int] = Array(0...53) + whitelistedKeycodes.append(contentsOf: [65, 67, 69, 75, 76, 78, ]) + whitelistedKeycodes.append(contentsOf: Array(81...89)) + whitelistedKeycodes.append(contentsOf: [91, 92, 115, 116, 117, 119, 121]) + whitelistedKeycodes.append(contentsOf: Array(123...126)) + return whitelistedKeycodes.contains(int) + } + + let view = GridView.make([ + LabelAndControl.makeLabelWithDropdown("Alt key", "metaKey", Preferences.metaKeyMacro.labels), + LabelAndControl.makeLabelWithInput("Tab key", "tabKeyCode", 33, "KeyCodes Reference", "https://eastmanreference.com/complete-list-of-applescript-key-codes", tabKeyCodeValidator), + ]) + view.column(at: 0).xPlacement = .trailing + view.rowAlignment = .lastBaseline + view.setRowsHeight(rowHeight) + return view + } +} From 8a9264ec46a6b3066adf17444cf02fadb25fda38 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 5 Feb 2020 15:18:51 +0900 Subject: [PATCH 48/98] refactor: remove unnecessary protocol --- alt-tab-macos/ui/preferences-window/PreferencesWindow.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift b/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift index 6f3b5935..7e5559bc 100644 --- a/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift +++ b/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift @@ -1,7 +1,7 @@ import Cocoa import Foundation -class PreferencesWindow: NSWindow, NSWindowDelegate { +class PreferencesWindow: NSWindow { var windowCloseRequested = false let tabViewController = TabViewController() From a5b6db9bb4c02b7df21dfd83c588fa4e71cc7831 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 5 Feb 2020 20:59:51 +0900 Subject: [PATCH 49/98] feat: add in-app feedback form (closes #145) --- alt-tab-macos.xcodeproj/project.pbxproj | 84 +++++++++++------- alt-tab-macos/ui/App.swift | 20 +++-- alt-tab-macos/ui/FeedbackWindow.swift | 87 +++++++++++++++++++ alt-tab-macos/ui/Menubar.swift | 4 + .../GridView.swift | 1 - .../generic-components/text/BaseLabel.swift | 26 ++++++ .../text}/BoldLabel.swift | 0 .../text}/HyperlinkLabel.swift | 4 +- .../ui/generic-components/text/TextArea.swift | 16 ++++ .../text}/TextField.swift | 3 +- .../CollectionViewItemFontIcon.swift} | 8 +- .../CollectionViewItemTitle.swift} | 37 +------- .../ui/main-window/ThumbnailsPanel.swift | 4 - .../preferences-window/LabelAndControl.swift | 2 +- .../ui/preferences-window/tabs/AboutTab.swift | 5 +- .../tabs/AppearanceTab.swift | 1 + .../tabs/ShortcutsTab.swift | 1 + 17 files changed, 215 insertions(+), 88 deletions(-) create mode 100644 alt-tab-macos/ui/FeedbackWindow.swift rename alt-tab-macos/ui/{preferences-window => generic-components}/GridView.swift (96%) create mode 100644 alt-tab-macos/ui/generic-components/text/BaseLabel.swift rename alt-tab-macos/ui/{labels => generic-components/text}/BoldLabel.swift (100%) rename alt-tab-macos/ui/{labels => generic-components/text}/HyperlinkLabel.swift (83%) create mode 100644 alt-tab-macos/ui/generic-components/text/TextArea.swift rename alt-tab-macos/ui/{labels => generic-components/text}/TextField.swift (94%) rename alt-tab-macos/ui/{labels/FontIcon.swift => main-window/CollectionViewItemFontIcon.swift} (88%) rename alt-tab-macos/ui/{labels/Labels.swift => main-window/CollectionViewItemTitle.swift} (56%) diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index ad035ab7..af51d00a 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -11,13 +11,15 @@ D04BA0496ACF1427B6E9D369 /* CGWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA78E3B4E73B40DB77174 /* CGWindow.swift */; }; D04BA0E86F2D30722F97C16F /* Menubar.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF0469B160046170B608 /* Menubar.swift */; }; D04BA1BA0B3F2E0A47883569 /* Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF13DFAA6930676D0492 /* Application.swift */; }; - D04BA1D0015647B0AB0E82F9 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2A846441FDB0EF3C086 /* TextField.swift */; }; D04BA2378832FD7E5DE3BC23 /* Applications.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA66B5B4143D2238F50B9 /* Applications.swift */; }; + D04BA26B4E9B4378FA7995DF /* HyperlinkLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2D2BCBA4C47E25315AF /* HyperlinkLabel.swift */; }; D04BA278D9EFA568C8D18A4C /* Windows.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD1BED44EAEB77FED8A4 /* Windows.swift */; }; D04BA2CBF0EFA04CC80EC1BC /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE80772D25834E440975 /* Window.swift */; }; D04BA308162F8043F8561D03 /* AXUIElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA40A4291E4F310527DBF /* AXUIElement.swift */; }; D04BA3261C7DA5F48310E654 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA90C6C36DB1D65BC2B66 /* App.swift */; }; + D04BA40A1C8B02448D720EA3 /* BaseLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7ADB4B6C31B4887AEA3 /* BaseLabel.swift */; }; D04BA42AF817BCDF3F1F13F2 /* AppearanceTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACD85D3966B4C9482E52 /* AppearanceTab.swift */; }; + D04BA4312972BFFB0DD1C141 /* BoldLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA6F87B035BCBF2BEAEBC /* BoldLabel.swift */; }; D04BA4409C5B3F3595E8E69C /* CollectionViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8BEE821E2062F23AA97 /* CollectionViewItem.swift */; }; D04BA46C048F35D5BC0417FC /* PreferencesWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA5B232184F6DB29C701C /* PreferencesWindow.swift */; }; D04BA4D356055A39B97712DE /* PrivateApis.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF0DFC1F44322973CE1E /* PrivateApis.swift */; }; @@ -26,23 +28,24 @@ D04BA57FB9EF1373D59A1AA7 /* CGWindowID.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAEA3EDC4F80FA23DBEC4 /* CGWindowID.swift */; }; D04BA6083F3EAB7A276EA758 /* TabViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA6FA0F38687C3E420D77 /* TabViewController.swift */; }; D04BA6B6B703DCEFE892D5A4 /* Spaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA5EB5ED248C8C22CC672 /* Spaces.swift */; }; + D04BA6D9DA2A8BCD93347F0E /* CollectionViewItemFontIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAC0416F29ADE7BC5A544 /* CollectionViewItemFontIcon.swift */; }; D04BA70FF7262BF5F9E6E13B /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */; }; + D04BA7F212CDB1B7E101D7A3 /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAFE3AC6E14F394956586 /* GridView.swift */; }; D04BA8373D4DE452C0C081ED /* SF-Pro-Text-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */; }; D04BA84074E5FD6221720BC7 /* CollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */; }; D04BA8EBC0365A019A27C7EA /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */; }; D04BA9CCE02D30C8164A552A /* SystemPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */; }; D04BAAD43731608067734ED3 /* DispatchQueues.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */; }; - D04BAAD9C6059BDD5BC0BCAF /* BoldLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA743EED5B9F74025EE40 /* BoldLabel.swift */; }; - D04BABCDBF7F4B885BE4352F /* FontIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACDC96B3F47636BA25A1 /* FontIcon.swift */; }; + D04BAB5E802C938E78839011 /* TextArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8011143819B48F204C2 /* TextArea.swift */; }; D04BABF88726DA42B2CBA68B /* ThumbnailsPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF40D5E54AD1044B3FF7 /* ThumbnailsPanel.swift */; }; D04BAC0BF53A80D4F1EE22ED /* AboutTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE23C37E0F3B07EEE7B1 /* AboutTab.swift */; }; - D04BACB0516C09A001A6927F /* Labels.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BADED9102822F8F535894 /* Labels.swift */; }; + D04BAC9C031D482119F6DEB8 /* FeedbackWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAFA84FD0B02215718F94 /* FeedbackWindow.swift */; }; + D04BACD398A35D82D514A9F7 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BABC180117F8785D250E1 /* TextField.swift */; }; + D04BAD5A6B2F9EEE6FD4185F /* CollectionViewItemTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA4BABBA0312E0EDBA647 /* CollectionViewItemTitle.swift */; }; D04BAD8346A6A32C9749E0B3 /* TabViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */; }; D04BAE369A14C3126A1606FE /* HelperExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */; }; - D04BAE8FB9EB3F22E857288E /* HyperlinkLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAB54C368E9F58FB20B35 /* HyperlinkLabel.swift */; }; D04BAEF78503D7A2CEFB9E9E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAA44C837F3A67403B9DB /* main.swift */; }; D04BAF3B6F75E50E9AA3E1D2 /* LabelAndControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3D65E7CA78D699EDAB0 /* LabelAndControl.swift */; }; - D04BAF9BE315551DA7751D44 /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA642D9CE9F8455991B61 /* GridView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -55,9 +58,9 @@ D04BA1FC9022590D7AA02486 /* 1 window - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1 window - 1 line.jpg"; sourceTree = ""; }; D04BA26154AB2A2897E08CAF /* windows-theme.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "windows-theme.jpg"; sourceTree = ""; }; D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewItem.swift; sourceTree = ""; }; - D04BA2A846441FDB0EF3C086 /* TextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; D04BA2C7B51F68651B3C60E2 /* 6 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "6 windows - 1 line.jpg"; sourceTree = ""; }; D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SystemPermissions.swift; sourceTree = ""; }; + D04BA2D2BCBA4C47E25315AF /* HyperlinkLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HyperlinkLabel.swift; sourceTree = ""; }; D04BA32F25860B686DFE818A /* 3 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line.jpg"; sourceTree = ""; }; D04BA35456DA0DDA74F9687E /* Keyboard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; D04BA3D65E7CA78D699EDAB0 /* LabelAndControl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LabelAndControl.swift; sourceTree = ""; }; @@ -66,6 +69,7 @@ D04BA4336B6004A0A99849AD /* package.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = package.json; sourceTree = ""; }; D04BA459034C1885CA43A807 /* LICENCE.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = LICENCE.md; sourceTree = ""; }; D04BA4B5292629AA6B560216 /* package_release.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = package_release.sh; sourceTree = ""; }; + D04BA4BABBA0312E0EDBA647 /* CollectionViewItemTitle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemTitle.swift; sourceTree = ""; }; D04BA4F23325560BC0BCDDB7 /* 7 windows - 2 lines - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - tall window.jpg"; sourceTree = ""; }; D04BA51D43775E57CE91154A /* 3 windows - 1 line - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - wide window.jpg"; sourceTree = ""; }; D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchQueues.swift; sourceTree = ""; }; @@ -73,13 +77,14 @@ D04BA5B232184F6DB29C701C /* PreferencesWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreferencesWindow.swift; sourceTree = ""; }; D04BA5E819181CB83C5602C7 /* generate_debug_certificate.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = generate_debug_certificate.sh; sourceTree = ""; }; D04BA5EB5ED248C8C22CC672 /* Spaces.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Spaces.swift; sourceTree = ""; }; - D04BA642D9CE9F8455991B61 /* GridView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GridView.swift; sourceTree = ""; }; D04BA66B5B4143D2238F50B9 /* Applications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Applications.swift; sourceTree = ""; }; + D04BA6F87B035BCBF2BEAEBC /* BoldLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BoldLabel.swift; sourceTree = ""; }; D04BA6FA0F38687C3E420D77 /* TabViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewController.swift; sourceTree = ""; }; - D04BA743EED5B9F74025EE40 /* BoldLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BoldLabel.swift; sourceTree = ""; }; D04BA78E3B4E73B40DB77174 /* CGWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindow.swift; sourceTree = ""; }; + D04BA7ADB4B6C31B4887AEA3 /* BaseLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseLabel.swift; sourceTree = ""; }; D04BA7B6AAB0812631BBC7A2 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.info; path = Info.plist; sourceTree = ""; }; D04BA7ECCE728582D9ECA613 /* determine_version.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = determine_version.sh; sourceTree = ""; }; + D04BA8011143819B48F204C2 /* TextArea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextArea.swift; sourceTree = ""; }; D04BA82F792DF53958D92572 /* alt-tab-macos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "alt-tab-macos.app"; sourceTree = BUILT_PRODUCTS_DIR; }; D04BA89FAEC4A5734D892C4B /* build_release.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = build_release.sh; sourceTree = ""; }; D04BA8BEE821E2062F23AA97 /* CollectionViewItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItem.swift; sourceTree = ""; }; @@ -90,15 +95,15 @@ D04BAA34E0CB00DED7C04B4F /* 2-rows.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2-rows.jpg"; sourceTree = ""; }; D04BAA44C837F3A67403B9DB /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewFlowLayout.swift; sourceTree = ""; }; - D04BAB54C368E9F58FB20B35 /* HyperlinkLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HyperlinkLabel.swift; sourceTree = ""; }; D04BAB6652494D7575057E86 /* 14 windows - 3 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "14 windows - 3 lines.jpg"; sourceTree = ""; }; + D04BABC180117F8785D250E1 /* TextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; path = "SF-Pro-Text-Regular.otf"; sourceTree = ""; }; D04BABD0C7A6DBA235C650A5 /* ShortcutsTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShortcutsTab.swift; sourceTree = ""; }; D04BAC02D60EF22D9CC7D969 /* commitlint.config.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = commitlint.config.js; sourceTree = ""; }; + D04BAC0416F29ADE7BC5A544 /* CollectionViewItemFontIcon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemFontIcon.swift; sourceTree = ""; }; D04BAC159731F80FDAF4EA6C /* 1-row.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1-row.jpg"; sourceTree = ""; }; D04BAC6AFC7F06D1A567F27A /* set_version_in_app.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = set_version_in_app.sh; sourceTree = ""; }; D04BACD85D3966B4C9482E52 /* AppearanceTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppearanceTab.swift; sourceTree = ""; }; - D04BACDC96B3F47636BA25A1 /* FontIcon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FontIcon.swift; sourceTree = ""; }; D04BAD1BED44EAEB77FED8A4 /* Windows.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Windows.swift; sourceTree = ""; }; D04BAD1C9F215BCCD3B620AC /* alt_tab_macos.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = alt_tab_macos.entitlements; sourceTree = ""; }; D04BAD40CE2D3A8AAC3819D0 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = file.gitignore; path = .gitignore; sourceTree = ""; }; @@ -106,7 +111,6 @@ D04BAD82F652C4ED5D8BF7AE /* 3 windows - 1 line - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - tall window.jpg"; sourceTree = ""; }; D04BADB20AB31BF83593E0BE /* greetings.yml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.yaml; path = greetings.yml; sourceTree = ""; }; D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; - D04BADED9102822F8F535894 /* Labels.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Labels.swift; sourceTree = ""; }; D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = ""; }; D04BAE23C37E0F3B07EEE7B1 /* AboutTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutTab.swift; sourceTree = ""; }; D04BAE80772D25834E440975 /* Window.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Window.swift; sourceTree = ""; }; @@ -119,6 +123,8 @@ D04BAF249324297C07E31164 /* frontpage.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = frontpage.jpg; sourceTree = ""; }; D04BAF40D5E54AD1044B3FF7 /* ThumbnailsPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThumbnailsPanel.swift; sourceTree = ""; }; D04BAFA277EAE3BDDDB61110 /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; + D04BAFA84FD0B02215718F94 /* FeedbackWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedbackWindow.swift; sourceTree = ""; }; + D04BAFE3AC6E14F394956586 /* GridView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GridView.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -162,6 +168,18 @@ ); sourceTree = ""; }; + D04BA157BE7DD972D2EF665A /* text */ = { + isa = PBXGroup; + children = ( + D04BA6F87B035BCBF2BEAEBC /* BoldLabel.swift */, + D04BA2D2BCBA4C47E25315AF /* HyperlinkLabel.swift */, + D04BABC180117F8785D250E1 /* TextField.swift */, + D04BA8011143819B48F204C2 /* TextArea.swift */, + D04BA7ADB4B6C31B4887AEA3 /* BaseLabel.swift */, + ); + path = text; + sourceTree = ""; + }; D04BA1A461BBB5A9BE15E015 /* Products */ = { isa = PBXGroup; children = ( @@ -219,18 +237,6 @@ path = resources; sourceTree = ""; }; - D04BA5E0E3F6CA2F38FD6E1B /* labels */ = { - isa = PBXGroup; - children = ( - D04BADED9102822F8F535894 /* Labels.swift */, - D04BA743EED5B9F74025EE40 /* BoldLabel.swift */, - D04BAB54C368E9F58FB20B35 /* HyperlinkLabel.swift */, - D04BACDC96B3F47636BA25A1 /* FontIcon.swift */, - D04BA2A846441FDB0EF3C086 /* TextField.swift */, - ); - path = labels; - sourceTree = ""; - }; D04BA63877FC8FB11C43C3D2 /* alt-tab-macos */ = { isa = PBXGroup; children = ( @@ -255,6 +261,15 @@ path = ci; sourceTree = ""; }; + D04BA8965B713BE52849AFAF /* generic-components */ = { + isa = PBXGroup; + children = ( + D04BAFE3AC6E14F394956586 /* GridView.swift */, + D04BA157BE7DD972D2EF665A /* text */, + ); + path = "generic-components"; + sourceTree = ""; + }; D04BAA0972482EFACD1DC24E /* tabs */ = { isa = PBXGroup; children = ( @@ -286,10 +301,11 @@ isa = PBXGroup; children = ( D04BA90C6C36DB1D65BC2B66 /* App.swift */, - D04BA5E0E3F6CA2F38FD6E1B /* labels */, D04BAF7BAEB13280202194EC /* main-window */, D04BAB80CE5308CE20712131 /* preferences-window */, D04BAF0469B160046170B608 /* Menubar.swift */, + D04BAFA84FD0B02215718F94 /* FeedbackWindow.swift */, + D04BA8965B713BE52849AFAF /* generic-components */, ); path = ui; sourceTree = ""; @@ -308,7 +324,6 @@ children = ( D04BA5B232184F6DB29C701C /* PreferencesWindow.swift */, D04BA6FA0F38687C3E420D77 /* TabViewController.swift */, - D04BA642D9CE9F8455991B61 /* GridView.swift */, D04BA3D65E7CA78D699EDAB0 /* LabelAndControl.swift */, D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */, D04BAA0972482EFACD1DC24E /* tabs */, @@ -352,6 +367,8 @@ D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */, D04BA8BEE821E2062F23AA97 /* CollectionViewItem.swift */, D04BAF40D5E54AD1044B3FF7 /* ThumbnailsPanel.swift */, + D04BA4BABBA0312E0EDBA647 /* CollectionViewItemTitle.swift */, + D04BAC0416F29ADE7BC5A544 /* CollectionViewItemFontIcon.swift */, ); path = "main-window"; sourceTree = ""; @@ -435,23 +452,26 @@ D04BA1BA0B3F2E0A47883569 /* Application.swift in Sources */, D04BA2378832FD7E5DE3BC23 /* Applications.swift in Sources */, D04BAAD43731608067734ED3 /* DispatchQueues.swift in Sources */, - D04BACB0516C09A001A6927F /* Labels.swift in Sources */, - D04BAAD9C6059BDD5BC0BCAF /* BoldLabel.swift in Sources */, - D04BAE8FB9EB3F22E857288E /* HyperlinkLabel.swift in Sources */, - D04BABCDBF7F4B885BE4352F /* FontIcon.swift in Sources */, - D04BA1D0015647B0AB0E82F9 /* TextField.swift in Sources */, D04BA84074E5FD6221720BC7 /* CollectionViewFlowLayout.swift in Sources */, D04BA4409C5B3F3595E8E69C /* CollectionViewItem.swift in Sources */, D04BABF88726DA42B2CBA68B /* ThumbnailsPanel.swift in Sources */, D04BA46C048F35D5BC0417FC /* PreferencesWindow.swift in Sources */, D04BA6083F3EAB7A276EA758 /* TabViewController.swift in Sources */, - D04BAF9BE315551DA7751D44 /* GridView.swift in Sources */, D04BAF3B6F75E50E9AA3E1D2 /* LabelAndControl.swift in Sources */, D04BAD8346A6A32C9749E0B3 /* TabViewItem.swift in Sources */, D04BA42AF817BCDF3F1F13F2 /* AppearanceTab.swift in Sources */, D04BAC0BF53A80D4F1EE22ED /* AboutTab.swift in Sources */, D04BA57B6719B4BA8DD358DF /* ShortcutsTab.swift in Sources */, D04BA0E86F2D30722F97C16F /* Menubar.swift in Sources */, + D04BAC9C031D482119F6DEB8 /* FeedbackWindow.swift in Sources */, + D04BA7F212CDB1B7E101D7A3 /* GridView.swift in Sources */, + D04BA4312972BFFB0DD1C141 /* BoldLabel.swift in Sources */, + D04BA26B4E9B4378FA7995DF /* HyperlinkLabel.swift in Sources */, + D04BACD398A35D82D514A9F7 /* TextField.swift in Sources */, + D04BAB5E802C938E78839011 /* TextArea.swift in Sources */, + D04BA40A1C8B02448D720EA3 /* BaseLabel.swift in Sources */, + D04BAD5A6B2F9EEE6FD4185F /* CollectionViewItemTitle.swift in Sources */, + D04BA6D9DA2A8BCD93347F0E /* CollectionViewItemFontIcon.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 48da2aa5..b63b7770 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -8,7 +8,8 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { static let version = "#VERSION#" var statusItem: NSStatusItem? var thumbnailsPanel: ThumbnailsPanel? - var preferencesPanel: PreferencesWindow? + var preferencesWindow: PreferencesWindow? + var feedbackWindow: FeedbackWindow? var uiWorkShouldBeDone = true var isFirstSummon = true var appIsBeingUsed = false @@ -56,11 +57,20 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { @objc func showPreferencesPanel() { - if preferencesPanel == nil { - preferencesPanel = PreferencesWindow() + if preferencesWindow == nil { + preferencesWindow = PreferencesWindow() } - Screen.repositionPanel(preferencesPanel!, Screen.preferred(), .appleCentered) - preferencesPanel?.show() + Screen.repositionPanel(preferencesWindow!, Screen.preferred(), .appleCentered) + preferencesWindow?.show() + } + + @objc + func showFeedbackPanel() { + if feedbackWindow == nil { + feedbackWindow = FeedbackWindow() + } + Screen.repositionPanel(feedbackWindow!, Screen.preferred(), .appleCentered) + feedbackWindow?.show() } @objc diff --git a/alt-tab-macos/ui/FeedbackWindow.swift b/alt-tab-macos/ui/FeedbackWindow.swift new file mode 100644 index 00000000..a80a2aff --- /dev/null +++ b/alt-tab-macos/ui/FeedbackWindow.swift @@ -0,0 +1,87 @@ +import Cocoa +import Foundation + +class FeedbackWindow: NSWindow, NSTextViewDelegate { + var body: TextArea! + var email: TextArea! + var sendButton: NSButton! + + override init(contentRect: NSRect, styleMask style: StyleMask, backing backingStoreType: BackingStoreType, defer flag: Bool) { + super.init(contentRect: .zero, styleMask: style, backing: backingStoreType, defer: flag) + setupWindow() + setupView() + } + + func show() { + App.shared.activate(ignoringOtherApps: true) + makeKeyAndOrderFront(nil) + } + + private func setupWindow() { + title = "Send feedback" + hidesOnDeactivate = false + isReleasedWhenClosed = false + styleMask.insert([.miniaturizable, .closable]) + } + + private func setupView() { + let intro = NSStackView(views: [ + NSTextField(labelWithString: "Share improvement ideas, or report bugs."), + HyperlinkLabel("View existing tickets", "https://github.com/lwouis/alt-tab-macos/issues"), + ]) + intro.spacing = 4 + sendButton = NSButton(title: "Send", target: nil, action: #selector(sendCallback)) + sendButton.keyEquivalent = "\r" + sendButton.isEnabled = false + let buttons = NSStackView(views: [ + NSButton(title: "Cancel", target: nil, action: #selector(cancelCallback)), + sendButton, + ]) + buttons.spacing = GridView.interPadding + body = TextArea(80, 20, "I think the app could be improved with…") + body.delegate = self + email = TextArea(80, 1.1, "Optional: email (if you want a reply)") + let view = GridView.make([ + [intro], + [body], + [email], + [buttons], + ]) + view.cell(atColumnIndex: 0, rowIndex: 3).xPlacement = .trailing + view.fit() + setContentSize(view.fittingSize) + contentView = view + } + + func textDidChange(_ notification: Notification) { + sendButton.isEnabled = !body.string.isEmpty + } + + @objc + private func cancelCallback(senderControl: NSControl) { + close() + } + + @objc + private func sendCallback(senderControl: NSControl) { + var request = URLRequest(url: URL(string: "https://api.github.com/repos/lwouis/alt-tab-macos/issues")!) + request.httpMethod = "POST" + request.addValue("application/json", forHTTPHeaderField: "Content-Type") + request.addValue("application/json", forHTTPHeaderField: "Accept") + // access token of the alt-tab-macos-bot github account, with scope repo > public_repo + request.addValue("token 6ab65e11bb51e47835fe1f64970b1d7df0341653", forHTTPHeaderField: "Authorization") + let preamble = "_This issue was opened by a bot after a user submitted feedback through the in-app form. Here is what they wrote:_\n\n> " + let emailNote = !email.string.isEmpty ? "\n\nAuthor's email: " + email.string : "" + let parameters: [String: Any] = [ + "title": "[In-app feedback]", + "body": preamble + body.string.replacingOccurrences(of: "\n", with: "\n> ") + emailNote + ] + request.httpBody = try! JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted) + URLSession.shared.dataTask(with: request, completionHandler: { data, response, error in + if error != nil || response == nil || (response as! HTTPURLResponse).statusCode != 201 { + debugPrint("HTTP call failed:", response, error) + } + }).resume() + close() + } +} diff --git a/alt-tab-macos/ui/Menubar.swift b/alt-tab-macos/ui/Menubar.swift index b3a34492..905ded22 100644 --- a/alt-tab-macos/ui/Menubar.swift +++ b/alt-tab-macos/ui/Menubar.swift @@ -14,6 +14,10 @@ class Menubar { withTitle: "Preferences…", action: #selector(app.showPreferencesPanel), keyEquivalent: ",") + item.menu!.addItem( + withTitle: "Send feedback…", + action: #selector(app.showFeedbackPanel), + keyEquivalent: ",") item.menu!.addItem( withTitle: "Quit", action: #selector(NSApplication.terminate(_:)), diff --git a/alt-tab-macos/ui/preferences-window/GridView.swift b/alt-tab-macos/ui/generic-components/GridView.swift similarity index 96% rename from alt-tab-macos/ui/preferences-window/GridView.swift rename to alt-tab-macos/ui/generic-components/GridView.swift index f6bc85ee..4a5374ba 100644 --- a/alt-tab-macos/ui/preferences-window/GridView.swift +++ b/alt-tab-macos/ui/generic-components/GridView.swift @@ -14,7 +14,6 @@ class GridView { gridView.column(at: gridView.numberOfColumns - 1).trailingPadding = padding gridView.row(at: 0).topPadding = padding gridView.row(at: gridView.numberOfRows - 1).bottomPadding = padding - gridView.fit() return gridView } } diff --git a/alt-tab-macos/ui/generic-components/text/BaseLabel.swift b/alt-tab-macos/ui/generic-components/text/BaseLabel.swift new file mode 100644 index 00000000..478b9cf3 --- /dev/null +++ b/alt-tab-macos/ui/generic-components/text/BaseLabel.swift @@ -0,0 +1,26 @@ +import Cocoa + +class BaseLabel: NSTextView { + convenience init(_ text: String) { + self.init(frame: .zero) + textContainer!.size.width = 1000 + string = text + setup() + } + + convenience init(_ frame: NSRect, _ container: NSTextContainer?) { + self.init(frame: frame, textContainer: container) + setup() + } + + private func setup() { + drawsBackground = true + backgroundColor = NSColor.blue + isSelectable = false + isEditable = false + enabledTextCheckingTypes = 0 + layoutManager!.ensureLayout(for: textContainer!) + frame = layoutManager!.usedRect(for: textContainer!) + fit(frame.size.width, frame.size.height) + } +} diff --git a/alt-tab-macos/ui/labels/BoldLabel.swift b/alt-tab-macos/ui/generic-components/text/BoldLabel.swift similarity index 100% rename from alt-tab-macos/ui/labels/BoldLabel.swift rename to alt-tab-macos/ui/generic-components/text/BoldLabel.swift diff --git a/alt-tab-macos/ui/labels/HyperlinkLabel.swift b/alt-tab-macos/ui/generic-components/text/HyperlinkLabel.swift similarity index 83% rename from alt-tab-macos/ui/labels/HyperlinkLabel.swift rename to alt-tab-macos/ui/generic-components/text/HyperlinkLabel.swift index bdda6714..890f183d 100644 --- a/alt-tab-macos/ui/labels/HyperlinkLabel.swift +++ b/alt-tab-macos/ui/generic-components/text/HyperlinkLabel.swift @@ -1,12 +1,12 @@ import Cocoa class HyperlinkLabel: NSTextField { - convenience init(_ string: String, _ url: NSURL) { + convenience init(_ string: String, _ url: String) { self.init(labelWithString: string) isSelectable = true allowsEditingTextAttributes = true attributedStringValue = NSAttributedString(string: string, attributes: [ - NSAttributedString.Key.link: url as Any, + NSAttributedString.Key.link: NSURL(string: url)!, NSAttributedString.Key.font: NSFont.labelFont(ofSize: NSFont.systemFontSize), ]) } diff --git a/alt-tab-macos/ui/generic-components/text/TextArea.swift b/alt-tab-macos/ui/generic-components/text/TextArea.swift new file mode 100644 index 00000000..ceeb55a7 --- /dev/null +++ b/alt-tab-macos/ui/generic-components/text/TextArea.swift @@ -0,0 +1,16 @@ +import Cocoa +import Foundation + +class TextArea: NSTextView { + static let paddingX = CGFloat(5) + static let paddingY = CGFloat(10) + @objc var placeholderAttributedString: NSAttributedString? + + convenience init(_ width: CGFloat, _ height: CGFloat, _ placeholder: String) { + self.init(frame: .zero) + font = NSFont.systemFont(ofSize: NSFont.systemFontSize) + textContainerInset = NSSize(width: TextArea.paddingX, height: TextArea.paddingY) + fit(font!.xHeight * width + TextArea.paddingX * 2, NSFont.systemFontSize * height + TextArea.paddingY * 2) + placeholderAttributedString = NSAttributedString(string: placeholder, attributes: [NSAttributedString.Key.foregroundColor: NSColor.gray]) + } +} diff --git a/alt-tab-macos/ui/labels/TextField.swift b/alt-tab-macos/ui/generic-components/text/TextField.swift similarity index 94% rename from alt-tab-macos/ui/labels/TextField.swift rename to alt-tab-macos/ui/generic-components/text/TextField.swift index 687315cb..f20ea544 100644 --- a/alt-tab-macos/ui/labels/TextField.swift +++ b/alt-tab-macos/ui/generic-components/text/TextField.swift @@ -1,10 +1,9 @@ import Cocoa class TextField: NSTextField, NSTextFieldDelegate { - var validationHandler: ((String)->Bool)? - public convenience init(_ value: String) { + convenience init(_ value: String) { self.init(string: value) usesSingleLineMode = true font = .labelFont(ofSize: NSFont.systemFontSize) diff --git a/alt-tab-macos/ui/labels/FontIcon.swift b/alt-tab-macos/ui/main-window/CollectionViewItemFontIcon.swift similarity index 88% rename from alt-tab-macos/ui/labels/FontIcon.swift rename to alt-tab-macos/ui/main-window/CollectionViewItemFontIcon.swift index be4a9e0b..a949d8c0 100644 --- a/alt-tab-macos/ui/labels/FontIcon.swift +++ b/alt-tab-macos/ui/main-window/CollectionViewItemFontIcon.swift @@ -9,13 +9,9 @@ class FontIcon: CellTitle { static let sfSymbolCircledNumber10 = "􀓵" static let sfSymbolCircledStart = "􀕬" - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - init(_ text: String, _ size: CGFloat, _ color: NSColor) { + convenience init(_ text: String, _ size: CGFloat, _ color: NSColor) { // This helps SF symbols display vertically centered and not clipped at the bottom - super.init(size, 3) + self.init(size, 3) string = text font = NSFont(name: "SF Pro Text", size: size) textColor = color diff --git a/alt-tab-macos/ui/labels/Labels.swift b/alt-tab-macos/ui/main-window/CollectionViewItemTitle.swift similarity index 56% rename from alt-tab-macos/ui/labels/Labels.swift rename to alt-tab-macos/ui/main-window/CollectionViewItemTitle.swift index 1d077ca9..18337082 100644 --- a/alt-tab-macos/ui/labels/Labels.swift +++ b/alt-tab-macos/ui/main-window/CollectionViewItemTitle.swift @@ -1,39 +1,9 @@ import Cocoa -class BaseLabel: NSTextView { - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - init(_ text: String) { - super.init(frame: .zero) - _init() - string = text - } - - override init(frame frameRect: NSRect, textContainer container: NSTextContainer?) { - super.init(frame: frameRect, textContainer: container) - _init() - } - - private func _init() { - drawsBackground = true - backgroundColor = .clear - isSelectable = false - isEditable = false - enabledTextCheckingTypes = 0 - } -} - class CellTitle: BaseLabel { - let magicOffset: CGFloat - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } + var magicOffset = CGFloat(0) - init(_ size: CGFloat, _ magicOffset: CGFloat = 0) { - self.magicOffset = magicOffset + convenience init(_ size: CGFloat, _ magicOffset: CGFloat = 0) { let textStorage = NSTextStorage() let layoutManager = NSLayoutManager() textStorage.addLayoutManager(layoutManager) @@ -41,7 +11,8 @@ class CellTitle: BaseLabel { textContainer.maximumNumberOfLines = 1 textContainer.lineFragmentPadding = 0 layoutManager.addTextContainer(textContainer) - super.init(frame: .zero, textContainer: textContainer) + self.init(NSRect.zero, textContainer) + self.magicOffset = magicOffset textColor = Preferences.fontColor shadow = CollectionViewItem.makeShadow(.darkGray) defaultParagraphStyle = makeParagraphStyle(size) diff --git a/alt-tab-macos/ui/main-window/ThumbnailsPanel.swift b/alt-tab-macos/ui/main-window/ThumbnailsPanel.swift index 0d9a6243..b48a339f 100644 --- a/alt-tab-macos/ui/main-window/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/main-window/ThumbnailsPanel.swift @@ -7,10 +7,6 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele let cellId = NSUserInterfaceItemIdentifier("Cell") var currentScreen: NSScreen? - override init(contentRect: NSRect, styleMask style: StyleMask, backing backingStoreType: BackingStoreType, defer flag: Bool) { - super.init(contentRect: contentRect, styleMask: style, backing: backingStoreType, defer: flag) - } - convenience init(_ app: App) { self.init() self.app = app diff --git a/alt-tab-macos/ui/preferences-window/LabelAndControl.swift b/alt-tab-macos/ui/preferences-window/LabelAndControl.swift index 1a9c5b87..4c5fc97d 100644 --- a/alt-tab-macos/ui/preferences-window/LabelAndControl.swift +++ b/alt-tab-macos/ui/preferences-window/LabelAndControl.swift @@ -67,7 +67,7 @@ class LabelAndControl: NSObject { if url == nil { suffix = NSTextField(labelWithString: text) } else { - suffix = HyperlinkLabel(text, NSURL(string: url!)!) + suffix = HyperlinkLabel(text, url!) } suffix.textColor = .gray suffix.identifier = NSUserInterfaceItemIdentifier(controlName + ControlIdentifierDiscriminator.SUFFIX.rawValue) diff --git a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift index b8cb06b9..d3153cf2 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift @@ -17,9 +17,10 @@ class AboutTab { appInfo.spacing = GridView.interPadding let view = GridView.make([ [appInfo], - [HyperlinkLabel("Source code repository", NSURL(string: "https://github.com/lwouis/alt-tab-macos")!)], - [HyperlinkLabel("Latest releases", NSURL(string: "https://github.com/lwouis/alt-tab-macos/releases")!)], + [HyperlinkLabel("Source code repository", "https://github.com/lwouis/alt-tab-macos")], + [HyperlinkLabel("Latest releases", "https://github.com/lwouis/alt-tab-macos/releases")], ]) + view.fit() return view } } diff --git a/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift index 0e1323ca..6051283a 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift @@ -24,6 +24,7 @@ class AppearanceTab { view.column(at: 0).xPlacement = .trailing view.rowAlignment = .lastBaseline view.setRowsHeight(rowHeight) + view.fit() return view } } diff --git a/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift b/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift index 33647948..218ac976 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift @@ -29,6 +29,7 @@ class ShortcutsTab { view.column(at: 0).xPlacement = .trailing view.rowAlignment = .lastBaseline view.setRowsHeight(rowHeight) + view.fit() return view } } From c48ac33f28c0aa8c7a69a4c13992ea73e7b948a1 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 6 Feb 2020 10:20:45 +0900 Subject: [PATCH 50/98] fix: regression on collectionviewitem titles (not showing) --- alt-tab-macos/ui/generic-components/text/BaseLabel.swift | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/alt-tab-macos/ui/generic-components/text/BaseLabel.swift b/alt-tab-macos/ui/generic-components/text/BaseLabel.swift index 478b9cf3..f99b8f70 100644 --- a/alt-tab-macos/ui/generic-components/text/BaseLabel.swift +++ b/alt-tab-macos/ui/generic-components/text/BaseLabel.swift @@ -3,7 +3,6 @@ import Cocoa class BaseLabel: NSTextView { convenience init(_ text: String) { self.init(frame: .zero) - textContainer!.size.width = 1000 string = text setup() } @@ -15,12 +14,11 @@ class BaseLabel: NSTextView { private func setup() { drawsBackground = true - backgroundColor = NSColor.blue + backgroundColor = .clear isSelectable = false isEditable = false enabledTextCheckingTypes = 0 layoutManager!.ensureLayout(for: textContainer!) frame = layoutManager!.usedRect(for: textContainer!) - fit(frame.size.width, frame.size.height) } } From 50e77f3640f3f8d3b7dc816055e348ffb7e3160d Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 6 Feb 2020 10:32:56 +0900 Subject: [PATCH 51/98] feat: quit button is clearer with explicit mention of the name --- alt-tab-macos/ui/Menubar.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alt-tab-macos/ui/Menubar.swift b/alt-tab-macos/ui/Menubar.swift index 905ded22..1f20452f 100644 --- a/alt-tab-macos/ui/Menubar.swift +++ b/alt-tab-macos/ui/Menubar.swift @@ -19,7 +19,7 @@ class Menubar { action: #selector(app.showFeedbackPanel), keyEquivalent: ",") item.menu!.addItem( - withTitle: "Quit", + withTitle: "Quit \(App.name)", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q") return item From d62e29ef67e1c6fd59517e66a428f91f7e7c327e Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 6 Feb 2020 10:36:24 +0900 Subject: [PATCH 52/98] feat: separating the quit button as it is a special case --- alt-tab-macos/ui/Menubar.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/alt-tab-macos/ui/Menubar.swift b/alt-tab-macos/ui/Menubar.swift index 1f20452f..bc8f53fc 100644 --- a/alt-tab-macos/ui/Menubar.swift +++ b/alt-tab-macos/ui/Menubar.swift @@ -18,6 +18,7 @@ class Menubar { withTitle: "Send feedback…", action: #selector(app.showFeedbackPanel), keyEquivalent: ",") + item.menu!.addItem(NSMenuItem.separator()) item.menu!.addItem( withTitle: "Quit \(App.name)", action: #selector(NSApplication.terminate(_:)), From f8acf8d5ed071bb5567b7d50349be5562de522a2 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 6 Feb 2020 10:53:08 +0900 Subject: [PATCH 53/98] feat: more appealing presentation + minor refac --- alt-tab-macos/ui/App.swift | 1 + alt-tab-macos/ui/FeedbackWindow.swift | 16 +++++++++++----- .../ui/preferences-window/tabs/AboutTab.swift | 6 +++--- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index b63b7770..31fe84e3 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -6,6 +6,7 @@ let cgsMainConnectionId = CGSMainConnectionID() class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { static let name = "AltTab" static let version = "#VERSION#" + static let repository = "https://github.com/lwouis/alt-tab-macos" var statusItem: NSStatusItem? var thumbnailsPanel: ThumbnailsPanel? var preferencesWindow: PreferencesWindow? diff --git a/alt-tab-macos/ui/FeedbackWindow.swift b/alt-tab-macos/ui/FeedbackWindow.swift index a80a2aff..77051b93 100644 --- a/alt-tab-macos/ui/FeedbackWindow.swift +++ b/alt-tab-macos/ui/FeedbackWindow.swift @@ -25,11 +25,17 @@ class FeedbackWindow: NSWindow, NSTextViewDelegate { } private func setupView() { - let intro = NSStackView(views: [ - NSTextField(labelWithString: "Share improvement ideas, or report bugs."), - HyperlinkLabel("View existing tickets", "https://github.com/lwouis/alt-tab-macos/issues"), + let appIcon = NSImageView(image: App.shared.applicationIconImage) + appIcon.fit(80, 80) + let appText = NSStackView(views: [ + BoldLabel("Share improvement ideas, or report bugs"), + HyperlinkLabel("View existing discussions", App.repository + "/issues"), ]) - intro.spacing = 4 + appText.orientation = .vertical + appText.alignment = .left + appText.spacing = GridView.interPadding / 2 + let header = NSStackView(views: [appIcon, appText]) + header.spacing = GridView.interPadding sendButton = NSButton(title: "Send", target: nil, action: #selector(sendCallback)) sendButton.keyEquivalent = "\r" sendButton.isEnabled = false @@ -42,7 +48,7 @@ class FeedbackWindow: NSWindow, NSTextViewDelegate { body.delegate = self email = TextArea(80, 1.1, "Optional: email (if you want a reply)") let view = GridView.make([ - [intro], + [header], [body], [email], [buttons], diff --git a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift index d3153cf2..e3128bd8 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift @@ -8,7 +8,7 @@ class AboutTab { private static func makeView() -> NSGridView { let appIcon = NSImageView(image: App.shared.applicationIconImage) - appIcon.fit(64, 64) + appIcon.fit(80, 80) let appText = NSStackView(views: [BoldLabel(App.name), NSTextField(wrappingLabelWithString: "Version \(App.version)")]) appText.orientation = .vertical appText.alignment = .left @@ -17,8 +17,8 @@ class AboutTab { appInfo.spacing = GridView.interPadding let view = GridView.make([ [appInfo], - [HyperlinkLabel("Source code repository", "https://github.com/lwouis/alt-tab-macos")], - [HyperlinkLabel("Latest releases", "https://github.com/lwouis/alt-tab-macos/releases")], + [HyperlinkLabel("Source code repository", App.repository)], + [HyperlinkLabel("Latest releases", App.repository + "/releases")], ]) view.fit() return view From 1f3f8855718945a162af9f5c25c3006997faa40d Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 6 Feb 2020 11:41:29 +0900 Subject: [PATCH 54/98] feat: add feedback button on about window --- .../ui/preferences-window/tabs/AboutTab.swift | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift index e3128bd8..2a6280b0 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift @@ -1,26 +1,38 @@ import Cocoa import Foundation -class AboutTab { +class AboutTab: NSObject { static func make() -> NSTabViewItem { return TabViewItem.make("About", NSImage.infoName, makeView()) } - private static func makeView() -> NSGridView { + static func makeView() -> NSGridView { let appIcon = NSImageView(image: App.shared.applicationIconImage) - appIcon.fit(80, 80) - let appText = NSStackView(views: [BoldLabel(App.name), NSTextField(wrappingLabelWithString: "Version \(App.version)")]) + appIcon.fit(128, 128) + let appText = NSStackView(views: [ + BoldLabel(App.name), + NSTextField(wrappingLabelWithString: "Version \(App.version)"), + HyperlinkLabel("Source code repository", App.repository), + HyperlinkLabel("Latest releases", App.repository + "/releases"), + ]) appText.orientation = .vertical appText.alignment = .left appText.spacing = GridView.interPadding / 2 + appText.views[2].topAnchor.constraint(equalTo: appText.views[1].bottomAnchor, constant: GridView.interPadding).isActive = true let appInfo = NSStackView(views: [appIcon, appText]) appInfo.spacing = GridView.interPadding let view = GridView.make([ [appInfo], - [HyperlinkLabel("Source code repository", App.repository)], - [HyperlinkLabel("Latest releases", App.repository + "/releases")], + [NSButton(title: "Send feedback", target: self, action: #selector(feedbackCallback))], ]) + view.row(at: 1).topPadding = GridView.interPadding * 2 + view.cell(atColumnIndex: 0, rowIndex: 1).xPlacement = .center view.fit() return view } + + @objc + static func feedbackCallback(senderControl: NSControl) { + (App.shared as! App).showFeedbackPanel() + } } From ec601ca36f591e7c9abec6c14d38636c9131f756 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 6 Feb 2020 12:17:43 +0900 Subject: [PATCH 55/98] feat: support macos "sudden termination" More info: https://developer.apple.com/documentation/foundation/processinfo#1651129 --- alt-tab-macos/Info.plist | 2 ++ alt-tab-macos/logic/Preferences.swift | 2 ++ alt-tab-macos/ui/preferences-window/PreferencesWindow.swift | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/alt-tab-macos/Info.plist b/alt-tab-macos/Info.plist index dbdf52ee..46a6c5c1 100644 --- a/alt-tab-macos/Info.plist +++ b/alt-tab-macos/Info.plist @@ -30,5 +30,7 @@ 1 ATSApplicationFontsPath + NSSupportsSuddenTermination + true diff --git a/alt-tab-macos/logic/Preferences.swift b/alt-tab-macos/logic/Preferences.swift index 88e9b1c9..ccccd577 100644 --- a/alt-tab-macos/logic/Preferences.swift +++ b/alt-tab-macos/logic/Preferences.swift @@ -130,7 +130,9 @@ class Preferences { } static func saveRawToDisk() throws { + ProcessInfo.processInfo.disableSuddenTermination() try saveToDisk(rawValues, userFile) + ProcessInfo.processInfo.enableSuddenTermination() } private static func preferencesVersion(_ url: URL) throws -> Int { diff --git a/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift b/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift index 7e5559bc..b5b3585d 100644 --- a/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift +++ b/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift @@ -35,8 +35,8 @@ class PreferencesWindow: NSWindow { throw NSError.make(domain: "Preferences", message: "Please enter a valid value for '" + key + "'") } try Preferences.updateAndValidateFromString(key, newValue) - (App.shared as! App).initPreferencesDependentComponents() try Preferences.saveRawToDisk() + (App.shared as! App).initPreferencesDependentComponents() } catch let error { debugPrint("PreferencesWindow: save: error", key, newValue, error) showSaveErrorSheetModal(error as NSError, senderControl, key, previousValue) // allows recursive call by user choice From d973a9640855b5a4501aa410e3d838e4e488f75a Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 6 Feb 2020 21:33:49 +0900 Subject: [PATCH 56/98] feat: add debug profile to feedback message --- alt-tab-macos.xcodeproj/project.pbxproj | 8 +++ alt-tab-macos/api-wrappers/AXUIElement.swift | 1 - alt-tab-macos/api-wrappers/CGWindow.swift | 1 - alt-tab-macos/api-wrappers/CGWindowID.swift | 1 - .../api-wrappers/HelperExtensions.swift | 2 +- alt-tab-macos/api-wrappers/PrivateApis.swift | 5 +- alt-tab-macos/api-wrappers/Sysctl.swift | 47 +++++++++++++ alt-tab-macos/logic/Application.swift | 1 - alt-tab-macos/logic/Applications.swift | 1 - alt-tab-macos/logic/DebugProfile.swift | 70 +++++++++++++++++++ alt-tab-macos/logic/Preferences.swift | 1 - alt-tab-macos/logic/Screen.swift | 1 - alt-tab-macos/logic/Spaces.swift | 3 +- alt-tab-macos/logic/SystemPermissions.swift | 1 - alt-tab-macos/logic/Window.swift | 1 - alt-tab-macos/logic/Windows.swift | 1 - alt-tab-macos/ui/App.swift | 2 +- alt-tab-macos/ui/FeedbackWindow.swift | 50 ++++++++----- .../ui/generic-components/GridView.swift | 1 - .../ui/generic-components/text/TextArea.swift | 1 - .../preferences-window/LabelAndControl.swift | 1 - .../PreferencesWindow.swift | 1 - .../TabViewController.swift | 1 - .../ui/preferences-window/TabViewItem.swift | 1 - .../ui/preferences-window/tabs/AboutTab.swift | 1 - .../tabs/AppearanceTab.swift | 1 - .../tabs/ShortcutsTab.swift | 1 - 27 files changed, 164 insertions(+), 42 deletions(-) create mode 100644 alt-tab-macos/api-wrappers/Sysctl.swift create mode 100644 alt-tab-macos/logic/DebugProfile.swift diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index af51d00a..ebf4d7b8 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -35,10 +35,12 @@ D04BA84074E5FD6221720BC7 /* CollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */; }; D04BA8EBC0365A019A27C7EA /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */; }; D04BA9CCE02D30C8164A552A /* SystemPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */; }; + D04BA9EE5D34A2789DCB0EE2 /* Sysctl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA896E37EFD27CAB61DF0 /* Sysctl.swift */; }; D04BAAD43731608067734ED3 /* DispatchQueues.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */; }; D04BAB5E802C938E78839011 /* TextArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8011143819B48F204C2 /* TextArea.swift */; }; D04BABF88726DA42B2CBA68B /* ThumbnailsPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF40D5E54AD1044B3FF7 /* ThumbnailsPanel.swift */; }; D04BAC0BF53A80D4F1EE22ED /* AboutTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE23C37E0F3B07EEE7B1 /* AboutTab.swift */; }; + D04BAC4F69FE9563BC1C5E9C /* DebugProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3915020FB9B34555D74 /* DebugProfile.swift */; }; D04BAC9C031D482119F6DEB8 /* FeedbackWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAFA84FD0B02215718F94 /* FeedbackWindow.swift */; }; D04BACD398A35D82D514A9F7 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BABC180117F8785D250E1 /* TextField.swift */; }; D04BAD5A6B2F9EEE6FD4185F /* CollectionViewItemTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA4BABBA0312E0EDBA647 /* CollectionViewItemTitle.swift */; }; @@ -63,6 +65,7 @@ D04BA2D2BCBA4C47E25315AF /* HyperlinkLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HyperlinkLabel.swift; sourceTree = ""; }; D04BA32F25860B686DFE818A /* 3 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line.jpg"; sourceTree = ""; }; D04BA35456DA0DDA74F9687E /* Keyboard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; + D04BA3915020FB9B34555D74 /* DebugProfile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DebugProfile.swift; sourceTree = ""; }; D04BA3D65E7CA78D699EDAB0 /* LabelAndControl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LabelAndControl.swift; sourceTree = ""; }; D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; D04BA40A4291E4F310527DBF /* AXUIElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AXUIElement.swift; sourceTree = ""; }; @@ -86,6 +89,7 @@ D04BA7ECCE728582D9ECA613 /* determine_version.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = determine_version.sh; sourceTree = ""; }; D04BA8011143819B48F204C2 /* TextArea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextArea.swift; sourceTree = ""; }; D04BA82F792DF53958D92572 /* alt-tab-macos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "alt-tab-macos.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + D04BA896E37EFD27CAB61DF0 /* Sysctl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Sysctl.swift; sourceTree = ""; }; D04BA89FAEC4A5734D892C4B /* build_release.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = build_release.sh; sourceTree = ""; }; D04BA8BEE821E2062F23AA97 /* CollectionViewItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItem.swift; sourceTree = ""; }; D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HelperExtensions.swift; sourceTree = ""; }; @@ -196,6 +200,7 @@ D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */, D04BAF0DFC1F44322973CE1E /* PrivateApis.swift */, D04BAEA3EDC4F80FA23DBEC4 /* CGWindowID.swift */, + D04BA896E37EFD27CAB61DF0 /* Sysctl.swift */, ); path = "api-wrappers"; sourceTree = ""; @@ -293,6 +298,7 @@ D04BAF13DFAA6930676D0492 /* Application.swift */, D04BA66B5B4143D2238F50B9 /* Applications.swift */, D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */, + D04BA3915020FB9B34555D74 /* DebugProfile.swift */, ); path = logic; sourceTree = ""; @@ -472,6 +478,8 @@ D04BA40A1C8B02448D720EA3 /* BaseLabel.swift in Sources */, D04BAD5A6B2F9EEE6FD4185F /* CollectionViewItemTitle.swift in Sources */, D04BA6D9DA2A8BCD93347F0E /* CollectionViewItemFontIcon.swift in Sources */, + D04BA9EE5D34A2789DCB0EE2 /* Sysctl.swift in Sources */, + D04BAC4F69FE9563BC1C5E9C /* DebugProfile.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/alt-tab-macos/api-wrappers/AXUIElement.swift b/alt-tab-macos/api-wrappers/AXUIElement.swift index 13c1f696..814fade5 100644 --- a/alt-tab-macos/api-wrappers/AXUIElement.swift +++ b/alt-tab-macos/api-wrappers/AXUIElement.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation extension AXUIElement { func cgWindowId() -> CGWindowID { diff --git a/alt-tab-macos/api-wrappers/CGWindow.swift b/alt-tab-macos/api-wrappers/CGWindow.swift index 5db9eed6..20244321 100644 --- a/alt-tab-macos/api-wrappers/CGWindow.swift +++ b/alt-tab-macos/api-wrappers/CGWindow.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation typealias CGWindow = [CFString: Any] diff --git a/alt-tab-macos/api-wrappers/CGWindowID.swift b/alt-tab-macos/api-wrappers/CGWindowID.swift index 0775978a..e7a94fb9 100644 --- a/alt-tab-macos/api-wrappers/CGWindowID.swift +++ b/alt-tab-macos/api-wrappers/CGWindowID.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation extension CGWindowID { func title() -> String? { diff --git a/alt-tab-macos/api-wrappers/HelperExtensions.swift b/alt-tab-macos/api-wrappers/HelperExtensions.swift index b8ddaea9..db2bc0b1 100644 --- a/alt-tab-macos/api-wrappers/HelperExtensions.swift +++ b/alt-tab-macos/api-wrappers/HelperExtensions.swift @@ -1,4 +1,3 @@ -import Foundation import Cocoa extension CGFloat { @@ -101,6 +100,7 @@ extension NSView { } extension NSGridView { + // set height for all rows func setRowsHeight(_ height: CGFloat) { for i in 0.. UInt8 //func CGSProcessAssignToAllSpaces(_ cid: CGSConnectionID, _ pid: pid_t) -> CGError // //enum SpaceManagementMode: Int { -// case separate = 1 -// case notSeparate = 0 +// case checked = 1 +// case unchecked = 0 //} // //// returns the status of the "Displays have separate Spaces" system Preference diff --git a/alt-tab-macos/api-wrappers/Sysctl.swift b/alt-tab-macos/api-wrappers/Sysctl.swift new file mode 100644 index 00000000..a3732db3 --- /dev/null +++ b/alt-tab-macos/api-wrappers/Sysctl.swift @@ -0,0 +1,47 @@ +import Foundation + +public struct Sysctl { + static func run(_ name: String) -> String { + return run(name, { $0.baseAddress.flatMap { String(validatingUTF8: $0) } }) ?? "" + } + + static func run(_ name: String, _ type: T.Type) -> T? { + return run(name, { $0.baseAddress?.withMemoryRebound(to: T.self, capacity: 1) { $0.pointee } }) + } + + private static func run(_ name: String, _ fn: (UnsafeBufferPointer) -> R?) -> R? { + return keys(name).flatMap { keys in data(keys)?.withUnsafeBufferPointer() { fn($0) } } + } + + private static func data(_ keys: [Int32]) -> [Int8]? { + return keys.withUnsafeBufferPointer() { keysPointer in + var requiredSize = 0 + let preFlightResult = Darwin.sysctl(UnsafeMutablePointer(mutating: keysPointer.baseAddress), UInt32(keys.count), nil, &requiredSize, nil, 0) + if preFlightResult != 0 { + return nil + } + let data = Array(repeating: 0, count: requiredSize) + let result = data.withUnsafeBufferPointer() { dataBuffer -> Int32 in + return Darwin.sysctl(UnsafeMutablePointer(mutating: keysPointer.baseAddress), UInt32(keys.count), UnsafeMutableRawPointer(mutating: dataBuffer.baseAddress), &requiredSize, nil, 0) + } + if result != 0 { + return nil + } + return data + } + } + + private static func keys(_ name: String) -> [Int32]? { + var keysBufferSize = Int(CTL_MAXNAME) + var keysBuffer = Array(repeating: 0, count: keysBufferSize) + _ = keysBuffer.withUnsafeMutableBufferPointer { (lbp: inout UnsafeMutableBufferPointer) in + name.withCString { (nbp: UnsafePointer) in + sysctlnametomib(nbp, lbp.baseAddress, &keysBufferSize) + } + } + if keysBuffer.count > keysBufferSize { + keysBuffer.removeSubrange(keysBufferSize.. String { + ([ + // app + ("App version", App.version), + ("App preferences", appPreferences()), + ("Applications count", String(Applications.list.count)), + ("Windows", appWindows()), + // os + ("OS version", ProcessInfo.processInfo.operatingSystemVersionString), + ("OS architecture", Sysctl.run("hw.machine")), + ("Locale", Locale.current.debugDescription), + ("Spaces count", String((CGSCopyManagedDisplaySpaces(cgsMainConnectionId) as! [NSDictionary]).map { $0["Spaces"] }.count)), + // hardware + ("Hardware model", Sysctl.run("hw.model")), + ("Displays count", String(NSScreen.screens.count)), + ("CPU model", Sysctl.run("machdep.cpu.brand_string")), + ("Memory size", ByteCountFormatter.string(fromByteCount: Int64(ProcessInfo.processInfo.physicalMemory), countStyle: .file)), + // TODO: add gpu model(s) + // hardware utilization + ("Active CPU count", Sysctl.run("hw.activecpu", UInt.self).flatMap { String($0) } ?? ""), + ("Current CPU frequency", Sysctl.run("hw.cpufrequency", Int.self).map { String(format: "%.1f", Double($0) / Double(1_000_000_000)) + " Ghz" } ?? ""), + // TODO: CPU utilization + // TODO: Active GPU + // TODO: GPU utilization + // TODO: Memory utilization + // TODO: disk space to detect disk pressure + // TODO: thermals to check if overheating + // TODO: battery to check if low-energy mode / throttling + + ] as [(String, String)]) + .map { bulletPoint + $0.0 + intraSeparator + $0.1 } + .joined(separator: "\n") + } + + private static func appPreferences() -> String { + return nestedSeparator + Preferences.rawValues + .sorted { $0.0 < $1.0 } + .map { $0 + intraSeparator + $1 } + .joined(separator: nestedSeparator) + } + + private static func appWindows() -> String { + return nestedSeparator + Windows.list + .sorted { $0.cgWindowId < $1.cgWindowId } + .map { appWindow($0) } + .joined(separator: nestedSeparator) + } + + private static func appWindow(_ window: Window) -> String { + return "{" + ([ + ("isMinimized", String(window.isMinimized)), + ("isHidden", String(window.isHidden)), + ("isOnAllSpaces", String(window.isOnAllSpaces)), + ("spaceId", window.spaceId.flatMap { String($0) } ?? ""), + ("spaceIndex", window.spaceIndex.flatMap { String($0) } ?? ""), + ] as [(String, String)]) + .map { $0.0 + intraSeparator + $0.1 } + .joined(separator: interSeparator) + + "}" + } +} diff --git a/alt-tab-macos/logic/Preferences.swift b/alt-tab-macos/logic/Preferences.swift index ccccd577..cfdd3a06 100644 --- a/alt-tab-macos/logic/Preferences.swift +++ b/alt-tab-macos/logic/Preferences.swift @@ -1,4 +1,3 @@ -import Foundation import Cocoa import Carbon.HIToolbox.Events diff --git a/alt-tab-macos/logic/Screen.swift b/alt-tab-macos/logic/Screen.swift index cc3b8ee7..ab18bd40 100644 --- a/alt-tab-macos/logic/Screen.swift +++ b/alt-tab-macos/logic/Screen.swift @@ -1,4 +1,3 @@ -import Foundation import Cocoa class Screen { diff --git a/alt-tab-macos/logic/Spaces.swift b/alt-tab-macos/logic/Spaces.swift index e502819b..86212e14 100644 --- a/alt-tab-macos/logic/Spaces.swift +++ b/alt-tab-macos/logic/Spaces.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation class Spaces { static var currentSpaceId = CGSSpaceID(1) @@ -31,7 +30,7 @@ class Spaces { static func allIdsAndIndexes() -> [(CGSSpaceID, SpaceIndex)] { return (CGSCopyManagedDisplaySpaces(cgsMainConnectionId) as! [NSDictionary]) - .map { return $0["Spaces"] }.joined().enumerated() + .map { $0["Spaces"] }.joined().enumerated() .map { (($0.element as! NSDictionary)["id64"]! as! CGSSpaceID, $0.offset + 1) } } diff --git a/alt-tab-macos/logic/SystemPermissions.swift b/alt-tab-macos/logic/SystemPermissions.swift index f5c8ebd9..e8228026 100644 --- a/alt-tab-macos/logic/SystemPermissions.swift +++ b/alt-tab-macos/logic/SystemPermissions.swift @@ -1,4 +1,3 @@ -import Foundation import Cocoa // macOS has some privacy restrictions. The user needs to grant certain permissions, app by app, in System Preferences > Security & Privacy diff --git a/alt-tab-macos/logic/Window.swift b/alt-tab-macos/logic/Window.swift index 66bb9fa1..fc689404 100644 --- a/alt-tab-macos/logic/Window.swift +++ b/alt-tab-macos/logic/Window.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation class Window { var cgWindowId: CGWindowID diff --git a/alt-tab-macos/logic/Windows.swift b/alt-tab-macos/logic/Windows.swift index ab56832f..7192ed7d 100644 --- a/alt-tab-macos/logic/Windows.swift +++ b/alt-tab-macos/logic/Windows.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation class Windows { // order in the array is important: most-recently-used elements are first diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 31fe84e3..932f3d9a 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -1,5 +1,5 @@ -import Foundation import Cocoa +import Darwin let cgsMainConnectionId = CGSMainConnectionID() diff --git a/alt-tab-macos/ui/FeedbackWindow.swift b/alt-tab-macos/ui/FeedbackWindow.swift index 77051b93..a352c1b0 100644 --- a/alt-tab-macos/ui/FeedbackWindow.swift +++ b/alt-tab-macos/ui/FeedbackWindow.swift @@ -1,10 +1,10 @@ import Cocoa -import Foundation class FeedbackWindow: NSWindow, NSTextViewDelegate { var body: TextArea! var email: TextArea! var sendButton: NSButton! + var debugProfile: NSButton! override init(contentRect: NSRect, styleMask style: StyleMask, backing backingStoreType: BackingStoreType, defer flag: Bool) { super.init(contentRect: .zero, styleMask: style, backing: backingStoreType, defer: flag) @@ -47,14 +47,16 @@ class FeedbackWindow: NSWindow, NSTextViewDelegate { body = TextArea(80, 20, "I think the app could be improved with…") body.delegate = self email = TextArea(80, 1.1, "Optional: email (if you want a reply)") + debugProfile = NSButton(checkboxWithTitle: "Send debug profile", target: nil, action: nil) + debugProfile.state = .on let view = GridView.make([ [header], [body], [email], + [debugProfile], [buttons], ]) - view.cell(atColumnIndex: 0, rowIndex: 3).xPlacement = .trailing - view.fit() + view.cell(atColumnIndex: 0, rowIndex: 4).xPlacement = .trailing setContentSize(view.fittingSize) contentView = view } @@ -70,24 +72,40 @@ class FeedbackWindow: NSWindow, NSTextViewDelegate { @objc private func sendCallback(senderControl: NSControl) { + URLSession.shared.dataTask(with: prepareRequest(), completionHandler: { data, response, error in + if error != nil || response == nil || (response as! HTTPURLResponse).statusCode != 201 { + debugPrint("HTTP call failed:", response ?? "nil", error ?? "nil") + } + }).resume() + close() + } + + private func prepareRequest() -> URLRequest { var request = URLRequest(url: URL(string: "https://api.github.com/repos/lwouis/alt-tab-macos/issues")!) request.httpMethod = "POST" request.addValue("application/json", forHTTPHeaderField: "Content-Type") request.addValue("application/json", forHTTPHeaderField: "Accept") // access token of the alt-tab-macos-bot github account, with scope repo > public_repo - request.addValue("token 6ab65e11bb51e47835fe1f64970b1d7df0341653", forHTTPHeaderField: "Authorization") - let preamble = "_This issue was opened by a bot after a user submitted feedback through the in-app form. Here is what they wrote:_\n\n> " - let emailNote = !email.string.isEmpty ? "\n\nAuthor's email: " + email.string : "" - let parameters: [String: Any] = [ + request.addValue("token 231413d7bf0e6cc533aae851c83dca25afed86bb", forHTTPHeaderField: "Authorization") + request.httpBody = try! JSONSerialization.data(withJSONObject: [ "title": "[In-app feedback]", - "body": preamble + body.string.replacingOccurrences(of: "\n", with: "\n> ") + emailNote - ] - request.httpBody = try! JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted) - URLSession.shared.dataTask(with: request, completionHandler: { data, response, error in - if error != nil || response == nil || (response as! HTTPURLResponse).statusCode != 201 { - debugPrint("HTTP call failed:", response, error) - } - }).resume() - close() + "body": assembleBody() + ]) + return request + } + + private func assembleBody() -> String { + var result = "" + result += "_This issue was opened by a bot after a user submitted feedback through the in-app form._" + if !email.string.isEmpty { + result += "\n\n__From:__ " + email.string + } + result += "\n\n__Message:__" + result += "\n\n> " + body.string.replacingOccurrences(of: "\n", with: "\n> ") + if debugProfile.state == .on { + result += "\n\n__Debug profile:__" + result += "\n\n" + DebugProfile.make() + } + return result } } diff --git a/alt-tab-macos/ui/generic-components/GridView.swift b/alt-tab-macos/ui/generic-components/GridView.swift index 4a5374ba..dc187b56 100644 --- a/alt-tab-macos/ui/generic-components/GridView.swift +++ b/alt-tab-macos/ui/generic-components/GridView.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation class GridView { static let padding = CGFloat(20) diff --git a/alt-tab-macos/ui/generic-components/text/TextArea.swift b/alt-tab-macos/ui/generic-components/text/TextArea.swift index ceeb55a7..568777da 100644 --- a/alt-tab-macos/ui/generic-components/text/TextArea.swift +++ b/alt-tab-macos/ui/generic-components/text/TextArea.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation class TextArea: NSTextView { static let paddingX = CGFloat(5) diff --git a/alt-tab-macos/ui/preferences-window/LabelAndControl.swift b/alt-tab-macos/ui/preferences-window/LabelAndControl.swift index 4c5fc97d..2cb46075 100644 --- a/alt-tab-macos/ui/preferences-window/LabelAndControl.swift +++ b/alt-tab-macos/ui/preferences-window/LabelAndControl.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation class LabelAndControl: NSObject { static var callbackTarget: PreferencesWindow! diff --git a/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift b/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift index b5b3585d..e9a42862 100644 --- a/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift +++ b/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation class PreferencesWindow: NSWindow { var windowCloseRequested = false diff --git a/alt-tab-macos/ui/preferences-window/TabViewController.swift b/alt-tab-macos/ui/preferences-window/TabViewController.swift index c146bb4f..6e434624 100644 --- a/alt-tab-macos/ui/preferences-window/TabViewController.swift +++ b/alt-tab-macos/ui/preferences-window/TabViewController.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation class TabViewController: NSTabViewController { override func tabView(_ tabView: NSTabView, didSelect tabViewItem: NSTabViewItem?) { diff --git a/alt-tab-macos/ui/preferences-window/TabViewItem.swift b/alt-tab-macos/ui/preferences-window/TabViewItem.swift index 41436804..b7282c3b 100644 --- a/alt-tab-macos/ui/preferences-window/TabViewItem.swift +++ b/alt-tab-macos/ui/preferences-window/TabViewItem.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation class TabViewItem { static func make(_ label: String, _ imageNAme: NSImage.Name, _ view: NSView) -> NSTabViewItem { diff --git a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift index 2a6280b0..08f5d8ee 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation class AboutTab: NSObject { static func make() -> NSTabViewItem { diff --git a/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift index 6051283a..41ffaf64 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation class AppearanceTab { private static let rowHeight = CGFloat(20) diff --git a/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift b/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift index 218ac976..13651d15 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift @@ -1,5 +1,4 @@ import Cocoa -import Foundation class ShortcutsTab { private static let rowHeight = CGFloat(20) From 1085be2d2f3319c5adee5cd1a67b693b57cceee0 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 7 Feb 2020 00:15:06 +0900 Subject: [PATCH 57/98] feat: cleaner layout and explanation text --- alt-tab-macos/ui/FeedbackWindow.swift | 4 ++-- .../ui/generic-components/text/TextArea.swift | 17 ++++++++++++----- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/alt-tab-macos/ui/FeedbackWindow.swift b/alt-tab-macos/ui/FeedbackWindow.swift index a352c1b0..5392ed31 100644 --- a/alt-tab-macos/ui/FeedbackWindow.swift +++ b/alt-tab-macos/ui/FeedbackWindow.swift @@ -46,8 +46,8 @@ class FeedbackWindow: NSWindow, NSTextViewDelegate { buttons.spacing = GridView.interPadding body = TextArea(80, 20, "I think the app could be improved with…") body.delegate = self - email = TextArea(80, 1.1, "Optional: email (if you want a reply)") - debugProfile = NSButton(checkboxWithTitle: "Send debug profile", target: nil, action: nil) + email = TextArea(80, 1, "Optional: email (if you want a reply)") + debugProfile = NSButton(checkboxWithTitle: "Send debug profile (CPU, memory, etc)", target: nil, action: nil) debugProfile.state = .on let view = GridView.make([ [header], diff --git a/alt-tab-macos/ui/generic-components/text/TextArea.swift b/alt-tab-macos/ui/generic-components/text/TextArea.swift index 568777da..413b0259 100644 --- a/alt-tab-macos/ui/generic-components/text/TextArea.swift +++ b/alt-tab-macos/ui/generic-components/text/TextArea.swift @@ -1,15 +1,22 @@ import Cocoa class TextArea: NSTextView { - static let paddingX = CGFloat(5) - static let paddingY = CGFloat(10) + static let padding = CGFloat(10) + static let magicOffset = CGFloat(3) @objc var placeholderAttributedString: NSAttributedString? convenience init(_ width: CGFloat, _ height: CGFloat, _ placeholder: String) { self.init(frame: .zero) font = NSFont.systemFont(ofSize: NSFont.systemFontSize) - textContainerInset = NSSize(width: TextArea.paddingX, height: TextArea.paddingY) - fit(font!.xHeight * width + TextArea.paddingX * 2, NSFont.systemFontSize * height + TextArea.paddingY * 2) - placeholderAttributedString = NSAttributedString(string: placeholder, attributes: [NSAttributedString.Key.foregroundColor: NSColor.gray]) + textContainerInset = NSSize(width: TextArea.padding, height: TextArea.padding) + textContainer!.lineFragmentPadding = 0 + let paragraphStyle = NSParagraphStyle.default.mutableCopy() as! NSMutableParagraphStyle + paragraphStyle.maximumLineHeight = NSFont.systemFontSize + TextArea.magicOffset + placeholderAttributedString = NSAttributedString(string: placeholder, attributes: [ + NSAttributedString.Key.font : NSFont.systemFont(ofSize: NSFont.systemFontSize), + NSAttributedString.Key.foregroundColor: NSColor.gray, + NSAttributedString.Key.paragraphStyle: paragraphStyle, + ]) + fit(font!.xHeight * width + TextArea.padding * 2, NSFont.systemFontSize * height + TextArea.padding * 2 + TextArea.magicOffset) } } From bbaee01a910b1b02c6dd81edf3613ad2d5743719 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 7 Feb 2020 14:00:43 +0900 Subject: [PATCH 58/98] feat: replace default copyright with correct licence --- alt-tab-macos/Info.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/alt-tab-macos/Info.plist b/alt-tab-macos/Info.plist index 46a6c5c1..74a85828 100644 --- a/alt-tab-macos/Info.plist +++ b/alt-tab-macos/Info.plist @@ -23,11 +23,11 @@ LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright - Copyright © 2019 Pontoise, Louis. All rights reserved. + GPL-3.0 licence (https://github.com/lwouis/alt-tab-macos/blob/master/LICENCE.md) NSPrincipalClass NSApplication LSUIElement - 1 + true ATSApplicationFontsPath NSSupportsSuddenTermination From 2dfdce5a2f4c5d8609cc5a3525a86dc0aea5cec9 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 7 Feb 2020 14:07:48 +0900 Subject: [PATCH 59/98] fix: keyboard shortcuts didn't work without a menu --- alt-tab-macos.xcodeproj/project.pbxproj | 4 + alt-tab-macos/resources/MainMenu.xib | 673 ++++++++++++++++++ alt-tab-macos/ui/App.swift | 9 + .../ui/generic-components/text/TextArea.swift | 3 +- 4 files changed, 688 insertions(+), 1 deletion(-) create mode 100644 alt-tab-macos/resources/MainMenu.xib diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index ebf4d7b8..220f45fc 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -16,6 +16,7 @@ D04BA278D9EFA568C8D18A4C /* Windows.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD1BED44EAEB77FED8A4 /* Windows.swift */; }; D04BA2CBF0EFA04CC80EC1BC /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE80772D25834E440975 /* Window.swift */; }; D04BA308162F8043F8561D03 /* AXUIElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA40A4291E4F310527DBF /* AXUIElement.swift */; }; + D04BA30F92801F5960ACC844 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D04BA7A48641612933710091 /* MainMenu.xib */; }; D04BA3261C7DA5F48310E654 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA90C6C36DB1D65BC2B66 /* App.swift */; }; D04BA40A1C8B02448D720EA3 /* BaseLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7ADB4B6C31B4887AEA3 /* BaseLabel.swift */; }; D04BA42AF817BCDF3F1F13F2 /* AppearanceTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACD85D3966B4C9482E52 /* AppearanceTab.swift */; }; @@ -84,6 +85,7 @@ D04BA6F87B035BCBF2BEAEBC /* BoldLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BoldLabel.swift; sourceTree = ""; }; D04BA6FA0F38687C3E420D77 /* TabViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewController.swift; sourceTree = ""; }; D04BA78E3B4E73B40DB77174 /* CGWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindow.swift; sourceTree = ""; }; + D04BA7A48641612933710091 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = ""; }; D04BA7ADB4B6C31B4887AEA3 /* BaseLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseLabel.swift; sourceTree = ""; }; D04BA7B6AAB0812631BBC7A2 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.info; path = Info.plist; sourceTree = ""; }; D04BA7ECCE728582D9ECA613 /* determine_version.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = determine_version.sh; sourceTree = ""; }; @@ -238,6 +240,7 @@ isa = PBXGroup; children = ( D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */, + D04BA7A48641612933710091 /* MainMenu.xib */, ); path = resources; sourceTree = ""; @@ -431,6 +434,7 @@ buildActionMask = 2147483647; files = ( D04BA8373D4DE452C0C081ED /* SF-Pro-Text-Regular.otf in Resources */, + D04BA30F92801F5960ACC844 /* MainMenu.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/alt-tab-macos/resources/MainMenu.xib b/alt-tab-macos/resources/MainMenu.xib new file mode 100644 index 00000000..7138adba --- /dev/null +++ b/alt-tab-macos/resources/MainMenu.xib @@ -0,0 +1,673 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 932f3d9a..32c14873 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -29,12 +29,21 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { SystemPermissions.ensureScreenRecordingCheckboxIsChecked() Preferences.loadFromDiskAndUpdateValues() statusItem = Menubar.make(self) + loadMainMenuXib() initPreferencesDependentComponents() Spaces.initialDiscovery() Applications.initialDiscovery() Keyboard.listenToGlobalEvents(self) } + // keyboard shortcuts are broken without a menu. We generated the default menu from XCode and load it + // see https://stackoverflow.com/a/3746058/2249756 + private func loadMainMenuXib() { + var menuObjects: NSArray? + Bundle.main.loadNibNamed("MainMenu", owner: self, topLevelObjects: &menuObjects) + menu = menuObjects?.first(where: {$0 is NSMenu }) as? NSMenu + } + // we put application code here which should be executed on init() and Preferences change func initPreferencesDependentComponents() { thumbnailsPanel = ThumbnailsPanel(self) diff --git a/alt-tab-macos/ui/generic-components/text/TextArea.swift b/alt-tab-macos/ui/generic-components/text/TextArea.swift index 413b0259..30e30afe 100644 --- a/alt-tab-macos/ui/generic-components/text/TextArea.swift +++ b/alt-tab-macos/ui/generic-components/text/TextArea.swift @@ -7,13 +7,14 @@ class TextArea: NSTextView { convenience init(_ width: CGFloat, _ height: CGFloat, _ placeholder: String) { self.init(frame: .zero) + allowsUndo = true font = NSFont.systemFont(ofSize: NSFont.systemFontSize) textContainerInset = NSSize(width: TextArea.padding, height: TextArea.padding) textContainer!.lineFragmentPadding = 0 let paragraphStyle = NSParagraphStyle.default.mutableCopy() as! NSMutableParagraphStyle paragraphStyle.maximumLineHeight = NSFont.systemFontSize + TextArea.magicOffset placeholderAttributedString = NSAttributedString(string: placeholder, attributes: [ - NSAttributedString.Key.font : NSFont.systemFont(ofSize: NSFont.systemFontSize), + NSAttributedString.Key.font: NSFont.systemFont(ofSize: NSFont.systemFontSize), NSAttributedString.Key.foregroundColor: NSColor.gray, NSAttributedString.Key.paragraphStyle: paragraphStyle, ]) From 4abb01a4129621a8f9188a5349ac0b631fb100af Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 7 Feb 2020 17:50:43 +0900 Subject: [PATCH 60/98] fix: better textareas --- alt-tab-macos/ui/FeedbackWindow.swift | 17 +++--- .../ui/generic-components/text/TextArea.swift | 57 +++++++++++++------ 2 files changed, 48 insertions(+), 26 deletions(-) diff --git a/alt-tab-macos/ui/FeedbackWindow.swift b/alt-tab-macos/ui/FeedbackWindow.swift index 5392ed31..96e9a2bd 100644 --- a/alt-tab-macos/ui/FeedbackWindow.swift +++ b/alt-tab-macos/ui/FeedbackWindow.swift @@ -1,6 +1,6 @@ import Cocoa -class FeedbackWindow: NSWindow, NSTextViewDelegate { +class FeedbackWindow: NSWindow { var body: TextArea! var email: TextArea! var sendButton: NSButton! @@ -44,8 +44,9 @@ class FeedbackWindow: NSWindow, NSTextViewDelegate { sendButton, ]) buttons.spacing = GridView.interPadding - body = TextArea(80, 20, "I think the app could be improved with…") - body.delegate = self + body = TextArea(80, 12, "I think the app could be improved with…", { + self.sendButton.isEnabled = !self.body.stringValue.isEmpty + }) email = TextArea(80, 1, "Optional: email (if you want a reply)") debugProfile = NSButton(checkboxWithTitle: "Send debug profile (CPU, memory, etc)", target: nil, action: nil) debugProfile.state = .on @@ -61,10 +62,6 @@ class FeedbackWindow: NSWindow, NSTextViewDelegate { contentView = view } - func textDidChange(_ notification: Notification) { - sendButton.isEnabled = !body.string.isEmpty - } - @objc private func cancelCallback(senderControl: NSControl) { close() @@ -97,11 +94,11 @@ class FeedbackWindow: NSWindow, NSTextViewDelegate { private func assembleBody() -> String { var result = "" result += "_This issue was opened by a bot after a user submitted feedback through the in-app form._" - if !email.string.isEmpty { - result += "\n\n__From:__ " + email.string + if !email.stringValue.isEmpty { + result += "\n\n__From:__ " + email.stringValue } result += "\n\n__Message:__" - result += "\n\n> " + body.string.replacingOccurrences(of: "\n", with: "\n> ") + result += "\n\n> " + body.stringValue.replacingOccurrences(of: "\n", with: "\n> ") if debugProfile.state == .on { result += "\n\n__Debug profile:__" result += "\n\n" + DebugProfile.make() diff --git a/alt-tab-macos/ui/generic-components/text/TextArea.swift b/alt-tab-macos/ui/generic-components/text/TextArea.swift index 30e30afe..69cdb6c3 100644 --- a/alt-tab-macos/ui/generic-components/text/TextArea.swift +++ b/alt-tab-macos/ui/generic-components/text/TextArea.swift @@ -1,23 +1,48 @@ import Cocoa -class TextArea: NSTextView { - static let padding = CGFloat(10) - static let magicOffset = CGFloat(3) - @objc var placeholderAttributedString: NSAttributedString? +class TextArea: NSTextField, NSTextFieldDelegate { + static let padding = CGFloat(5) + var callback: (() -> Void)! - convenience init(_ width: CGFloat, _ height: CGFloat, _ placeholder: String) { + convenience init(_ nCharactersWide: CGFloat, _ nLinesHigh: Int, _ placeholder: String, _ callback: (() -> Void)? = nil) { self.init(frame: .zero) - allowsUndo = true + self.callback = callback + delegate = self + cell = TextFieldCell(placeholder, nLinesHigh == 1) + fit(font!.xHeight * nCharactersWide + TextArea.padding * 2, fittingSize.height * CGFloat(nLinesHigh) + TextArea.padding * 2) + } + + func controlTextDidChange(_ notification: Notification) { + callback?() + } + + // enter key inserts new line instead of submitting + func control(_ control: NSControl, textView: NSTextView, doCommandBy commandSelector: Selector) -> Bool { + guard commandSelector == #selector(NSResponder.insertNewline) else { return false } + textView.insertNewlineIgnoringFieldEditor(self) + return true + } +} + +// subclassing NSTextFieldCell is done uniquely to add padding +class TextFieldCell: NSTextFieldCell { + convenience init(_ placeholder: String, _ usesSingleLineMode: Bool) { + self.init() + isBordered = true + isBezeled = true + isEditable = true font = NSFont.systemFont(ofSize: NSFont.systemFontSize) - textContainerInset = NSSize(width: TextArea.padding, height: TextArea.padding) - textContainer!.lineFragmentPadding = 0 - let paragraphStyle = NSParagraphStyle.default.mutableCopy() as! NSMutableParagraphStyle - paragraphStyle.maximumLineHeight = NSFont.systemFontSize + TextArea.magicOffset - placeholderAttributedString = NSAttributedString(string: placeholder, attributes: [ - NSAttributedString.Key.font: NSFont.systemFont(ofSize: NSFont.systemFontSize), - NSAttributedString.Key.foregroundColor: NSColor.gray, - NSAttributedString.Key.paragraphStyle: paragraphStyle, - ]) - fit(font!.xHeight * width + TextArea.padding * 2, NSFont.systemFontSize * height + TextArea.padding * 2 + TextArea.magicOffset) + stringValue = "" + placeholderString = placeholder + self.usesSingleLineMode = usesSingleLineMode + } + + override func drawingRect(forBounds rect: NSRect) -> NSRect { + return super.drawingRect(forBounds: NSMakeRect( + rect.origin.x + TextArea.padding, + rect.origin.y + TextArea.padding, + rect.size.width - TextArea.padding * 2, + rect.size.height - TextArea.padding * 2 + )) } } From 9393bc26ffcedcc112aef81fc8634c421e0060f1 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 7 Feb 2020 18:14:51 +0900 Subject: [PATCH 61/98] feat: add licence to about page Also use data from Info.plist to make it more DRY --- alt-tab-macos/Info.plist | 2 +- alt-tab-macos/ui/App.swift | 5 +++-- alt-tab-macos/ui/Menubar.swift | 2 +- alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift | 8 +++++--- ci/set_version_in_app.sh | 2 -- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/alt-tab-macos/Info.plist b/alt-tab-macos/Info.plist index 74a85828..8316a74c 100644 --- a/alt-tab-macos/Info.plist +++ b/alt-tab-macos/Info.plist @@ -23,7 +23,7 @@ LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright - GPL-3.0 licence (https://github.com/lwouis/alt-tab-macos/blob/master/LICENCE.md) + GPL-3.0 licence NSPrincipalClass NSApplication LSUIElement diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 32c14873..83786120 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -4,8 +4,9 @@ import Darwin let cgsMainConnectionId = CGSMainConnectionID() class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { - static let name = "AltTab" - static let version = "#VERSION#" + static let name = Bundle.main.object(forInfoDictionaryKey: "CFBundleName") as! String + static let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as! String + static let licence = Bundle.main.object(forInfoDictionaryKey: "NSHumanReadableCopyright") as! String static let repository = "https://github.com/lwouis/alt-tab-macos" var statusItem: NSStatusItem? var thumbnailsPanel: ThumbnailsPanel? diff --git a/alt-tab-macos/ui/Menubar.swift b/alt-tab-macos/ui/Menubar.swift index bc8f53fc..42e916c3 100644 --- a/alt-tab-macos/ui/Menubar.swift +++ b/alt-tab-macos/ui/Menubar.swift @@ -3,7 +3,7 @@ import Cocoa class Menubar { static func make(_ app: App) -> NSStatusItem { let item = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) - item.button!.title = App.name + item.button!.title = "AltTab" item.menu = NSMenu() item.menu!.addItem( withTitle: "Show", diff --git a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift index 08f5d8ee..dfb5d8e0 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift @@ -7,17 +7,19 @@ class AboutTab: NSObject { static func makeView() -> NSGridView { let appIcon = NSImageView(image: App.shared.applicationIconImage) - appIcon.fit(128, 128) + appIcon.fit(150, 150) let appText = NSStackView(views: [ BoldLabel(App.name), - NSTextField(wrappingLabelWithString: "Version \(App.version)"), + NSTextField(wrappingLabelWithString: "Version " + App.version), + NSTextField(wrappingLabelWithString: App.licence), HyperlinkLabel("Source code repository", App.repository), HyperlinkLabel("Latest releases", App.repository + "/releases"), ]) appText.orientation = .vertical appText.alignment = .left appText.spacing = GridView.interPadding / 2 - appText.views[2].topAnchor.constraint(equalTo: appText.views[1].bottomAnchor, constant: GridView.interPadding).isActive = true + let rowToSeparate = 3 + appText.views[rowToSeparate].topAnchor.constraint(equalTo: appText.views[rowToSeparate - 1].bottomAnchor, constant: GridView.interPadding).isActive = true let appInfo = NSStackView(views: [appIcon, appText]) appInfo.spacing = GridView.interPadding let view = GridView.make([ diff --git a/ci/set_version_in_app.sh b/ci/set_version_in_app.sh index ef98769a..7c0aaed7 100755 --- a/ci/set_version_in_app.sh +++ b/ci/set_version_in_app.sh @@ -3,7 +3,5 @@ set -exu version="$(cat VERSION.txt)" -# set the version displayed in the app UI -sed -i '' -e "s/#VERSION#/$version/" alt-tab-macos/ui/App.swift # set the version in the app meta-data for the AppStore and app "Get Info" panel sed -i '' -e "s/#VERSION#/$version/" alt-tab-macos/Info.plist From dc8dcf8d4074fde0379ada3361323e21bc84c7e1 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Sat, 8 Feb 2020 01:28:43 +0900 Subject: [PATCH 62/98] feat: localization (closes #134) --- README.md | 6 ++ alt-tab-macos.xcodeproj/project.pbxproj | 87 +++++++++++++-- alt-tab-macos/Info.plist | 2 +- .../resources/l10n/en.lproj/InfoPlist.strings | 5 + .../l10n/en.lproj/Localizable.strings | Bin 0 -> 5472 bytes .../resources/l10n/fr.lproj/InfoPlist.strings | 6 ++ .../l10n/fr.lproj/Localizable.strings | 102 ++++++++++++++++++ alt-tab-macos/ui/FeedbackWindow.swift | 16 +-- alt-tab-macos/ui/Menubar.swift | 8 +- .../PreferencesWindow.swift | 8 +- .../ui/preferences-window/tabs/AboutTab.swift | 10 +- .../tabs/AppearanceTab.swift | 22 ++-- .../tabs/ShortcutsTab.swift | 6 +- 13 files changed, 234 insertions(+), 44 deletions(-) create mode 100644 alt-tab-macos/resources/l10n/en.lproj/InfoPlist.strings create mode 100644 alt-tab-macos/resources/l10n/en.lproj/Localizable.strings create mode 100644 alt-tab-macos/resources/l10n/fr.lproj/InfoPlist.strings create mode 100644 alt-tab-macos/resources/l10n/fr.lproj/Localizable.strings diff --git a/README.md b/README.md index eb0d8702..2b003512 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,12 @@ choose **Open** then click **Open** in the prompt that appears. From macOS 10.12 to 10.15 +## Localization + +The app is currently available in: English, Français + +[Contribute your own language easily on POEditor](https://poeditor.com/join/project/8AOEZ0eAZE) + ## Usage * Press `⌥ option` + `⇥ tab` to shows the thumbnails. diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index 220f45fc..f1285d56 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -31,12 +31,14 @@ D04BA6B6B703DCEFE892D5A4 /* Spaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA5EB5ED248C8C22CC672 /* Spaces.swift */; }; D04BA6D9DA2A8BCD93347F0E /* CollectionViewItemFontIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAC0416F29ADE7BC5A544 /* CollectionViewItemFontIcon.swift */; }; D04BA70FF7262BF5F9E6E13B /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */; }; + D04BA79B891E9C89C015D6DD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAEE5AEEB8692856B45E4 /* InfoPlist.strings */; }; D04BA7F212CDB1B7E101D7A3 /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAFE3AC6E14F394956586 /* GridView.swift */; }; D04BA8373D4DE452C0C081ED /* SF-Pro-Text-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */; }; D04BA84074E5FD6221720BC7 /* CollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */; }; D04BA8EBC0365A019A27C7EA /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */; }; D04BA9CCE02D30C8164A552A /* SystemPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */; }; D04BA9EE5D34A2789DCB0EE2 /* Sysctl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA896E37EFD27CAB61DF0 /* Sysctl.swift */; }; + D04BAA0F39E6160F5703FC33 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAC0D42D7FED725746DA5 /* Localizable.strings */; }; D04BAAD43731608067734ED3 /* DispatchQueues.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */; }; D04BAB5E802C938E78839011 /* TextArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8011143819B48F204C2 /* TextArea.swift */; }; D04BABF88726DA42B2CBA68B /* ThumbnailsPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF40D5E54AD1044B3FF7 /* ThumbnailsPanel.swift */; }; @@ -44,15 +46,18 @@ D04BAC4F69FE9563BC1C5E9C /* DebugProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3915020FB9B34555D74 /* DebugProfile.swift */; }; D04BAC9C031D482119F6DEB8 /* FeedbackWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAFA84FD0B02215718F94 /* FeedbackWindow.swift */; }; D04BACD398A35D82D514A9F7 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BABC180117F8785D250E1 /* TextField.swift */; }; + D04BAD1158CBCC76DE321555 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA1ACE289DC4AD4826D1E /* InfoPlist.strings */; }; D04BAD5A6B2F9EEE6FD4185F /* CollectionViewItemTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA4BABBA0312E0EDBA647 /* CollectionViewItemTitle.swift */; }; D04BAD8346A6A32C9749E0B3 /* TabViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */; }; D04BAE369A14C3126A1606FE /* HelperExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */; }; + D04BAEAB8AB048FF2B16B131 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAE5FA03065C5D23C0C2C /* Localizable.strings */; }; D04BAEF78503D7A2CEFB9E9E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAA44C837F3A67403B9DB /* main.swift */; }; D04BAF3B6F75E50E9AA3E1D2 /* LabelAndControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3D65E7CA78D699EDAB0 /* LabelAndControl.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 4807A6C523A9CD190052A53E /* SkyLight.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SkyLight.framework; path = ../../../../System/Library/PrivateFrameworks/SkyLight.framework; sourceTree = ""; }; + D04BA05F3F36A6D71DCD8475 /* en */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = ""; }; D04BA0CE87BE264C52987ED1 /* 7 windows - 2 lines - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - wide window.jpg"; sourceTree = ""; }; D04BA0E1C5DBC07108AC2F54 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; D04BA0F5EB832B8E142B654B /* 4 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "4 windows - 1 line.jpg"; sourceTree = ""; }; @@ -64,6 +69,7 @@ D04BA2C7B51F68651B3C60E2 /* 6 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "6 windows - 1 line.jpg"; sourceTree = ""; }; D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SystemPermissions.swift; sourceTree = ""; }; D04BA2D2BCBA4C47E25315AF /* HyperlinkLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HyperlinkLabel.swift; sourceTree = ""; }; + D04BA30247D04CEEC2DACEA8 /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = Localizable.strings; sourceTree = ""; }; D04BA32F25860B686DFE818A /* 3 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line.jpg"; sourceTree = ""; }; D04BA35456DA0DDA74F9687E /* Keyboard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; D04BA3915020FB9B34555D74 /* DebugProfile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DebugProfile.swift; sourceTree = ""; }; @@ -90,6 +96,7 @@ D04BA7B6AAB0812631BBC7A2 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.info; path = Info.plist; sourceTree = ""; }; D04BA7ECCE728582D9ECA613 /* determine_version.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = determine_version.sh; sourceTree = ""; }; D04BA8011143819B48F204C2 /* TextArea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextArea.swift; sourceTree = ""; }; + D04BA81CA2D9818FCA9E5024 /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = InfoPlist.strings; sourceTree = ""; }; D04BA82F792DF53958D92572 /* alt-tab-macos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "alt-tab-macos.app"; sourceTree = BUILT_PRODUCTS_DIR; }; D04BA896E37EFD27CAB61DF0 /* Sysctl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Sysctl.swift; sourceTree = ""; }; D04BA89FAEC4A5734D892C4B /* build_release.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = build_release.sh; sourceTree = ""; }; @@ -116,6 +123,7 @@ D04BAD7D8F3CC2C36C8769C6 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = file.yml; path = .travis.yml; sourceTree = ""; }; D04BAD82F652C4ED5D8BF7AE /* 3 windows - 1 line - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - tall window.jpg"; sourceTree = ""; }; D04BADB20AB31BF83593E0BE /* greetings.yml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.yaml; path = greetings.yml; sourceTree = ""; }; + D04BADBCA16C1D448D34F473 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = ""; }; D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = ""; }; D04BAE23C37E0F3B07EEE7B1 /* AboutTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutTab.swift; sourceTree = ""; }; @@ -241,6 +249,7 @@ children = ( D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */, D04BA7A48641612933710091 /* MainMenu.xib */, + D04BAA62C61D1A8906274221 /* l10n */, ); path = resources; sourceTree = ""; @@ -269,6 +278,15 @@ path = ci; sourceTree = ""; }; + D04BA77FA515B70E5E5F2677 /* en.lproj */ = { + isa = PBXGroup; + children = ( + D04BAEE5AEEB8692856B45E4 /* InfoPlist.strings */, + D04BAC0D42D7FED725746DA5 /* Localizable.strings */, + ); + path = en.lproj; + sourceTree = ""; + }; D04BA8965B713BE52849AFAF /* generic-components */ = { isa = PBXGroup; children = ( @@ -306,6 +324,15 @@ path = logic; sourceTree = ""; }; + D04BAA62C61D1A8906274221 /* l10n */ = { + isa = PBXGroup; + children = ( + D04BA77FA515B70E5E5F2677 /* en.lproj */, + D04BAF78C474CFE92FB844FA /* fr.lproj */, + ); + path = l10n; + sourceTree = ""; + }; D04BAAA28315301A906DD201 /* ui */ = { isa = PBXGroup; children = ( @@ -370,6 +397,15 @@ path = workflows; sourceTree = ""; }; + D04BAF78C474CFE92FB844FA /* fr.lproj */ = { + isa = PBXGroup; + children = ( + D04BA1ACE289DC4AD4826D1E /* InfoPlist.strings */, + D04BAE5FA03065C5D23C0C2C /* Localizable.strings */, + ); + path = fr.lproj; + sourceTree = ""; + }; D04BAF7BAEB13280202194EC /* main-window */ = { isa = PBXGroup; children = ( @@ -412,11 +448,11 @@ }; buildConfigurationList = D04BA83C9495F252D87CDF0F /* Build configuration list for PBXProject "alt-tab-macos" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, + fr, ); mainGroup = D04BA1463D2A17038222BB84; productRefGroup = D04BA1A461BBB5A9BE15E015 /* Products */; @@ -435,6 +471,10 @@ files = ( D04BA8373D4DE452C0C081ED /* SF-Pro-Text-Regular.otf in Resources */, D04BA30F92801F5960ACC844 /* MainMenu.xib in Resources */, + D04BA79B891E9C89C015D6DD /* InfoPlist.strings in Resources */, + D04BAA0F39E6160F5703FC33 /* Localizable.strings in Resources */, + D04BAD1158CBCC76DE321555 /* InfoPlist.strings in Resources */, + D04BAEAB8AB048FF2B16B131 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -489,6 +529,41 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXVariantGroup section */ + D04BA1ACE289DC4AD4826D1E /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + D04BA81CA2D9818FCA9E5024 /* fr */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + D04BAC0D42D7FED725746DA5 /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + D04BA05F3F36A6D71DCD8475 /* en */, + ); + name = Localizable.strings; + sourceTree = ""; + }; + D04BAE5FA03065C5D23C0C2C /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + D04BA30247D04CEEC2DACEA8 /* fr */, + ); + name = Localizable.strings; + sourceTree = ""; + }; + D04BAEE5AEEB8692856B45E4 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + D04BADBCA16C1D448D34F473 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + /* Begin XCBuildConfiguration section */ D04BA49BCED00029C5289244 /* Release */ = { isa = XCBuildConfiguration; @@ -496,12 +571,10 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = "alt-tab-macos/alt_tab_macos.entitlements"; CODE_SIGN_IDENTITY = "Local Self-Signed"; - COMBINE_HIDPI_IMAGES = YES; ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = /System/Library/PrivateFrameworks; INFOPLIST_FILE = "alt-tab-macos/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; PRODUCT_BUNDLE_IDENTIFIER = "com.lwouis.alt-tab-macos"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 4.2; @@ -514,12 +587,10 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = "alt-tab-macos/alt_tab_macos.entitlements"; CODE_SIGN_IDENTITY = "Local Self-Signed"; - COMBINE_HIDPI_IMAGES = YES; ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = /System/Library/PrivateFrameworks; INFOPLIST_FILE = "alt-tab-macos/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; PRODUCT_BUNDLE_IDENTIFIER = "com.lwouis.alt-tab-macos"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 4.2; @@ -576,7 +647,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.12; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -630,7 +701,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.12; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = macosx; diff --git a/alt-tab-macos/Info.plist b/alt-tab-macos/Info.plist index 8316a74c..de7595e8 100644 --- a/alt-tab-macos/Info.plist +++ b/alt-tab-macos/Info.plist @@ -3,7 +3,7 @@ CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) + en CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIconFile diff --git a/alt-tab-macos/resources/l10n/en.lproj/InfoPlist.strings b/alt-tab-macos/resources/l10n/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..ee78920b --- /dev/null +++ b/alt-tab-macos/resources/l10n/en.lproj/InfoPlist.strings @@ -0,0 +1,5 @@ +/* Bundle name */ +"CFBundleName" = "alt-tab-macos"; + +/* Copyright (human-readable) */ +"NSHumanReadableCopyright" = "GPL-3.0 license"; diff --git a/alt-tab-macos/resources/l10n/en.lproj/Localizable.strings b/alt-tab-macos/resources/l10n/en.lproj/Localizable.strings new file mode 100644 index 0000000000000000000000000000000000000000..bb6c5dd7bf541b913088a00ba725fca7be201d8c GIT binary patch literal 5472 zcmchbTW=FV42AvNU$N=~DixydARbVJ1mad`DbJf^+eFPxN!k*AJn)^FE;E}nO(Mlr zwAqcvvp)75dp!C3=fsY!urD^|yTkX8Ph}&U^Lt`bB)8VLF0w9?wk`P9_!ZI-PZc^Z zksaHK9oV70MQ3a`%s)i>hN~%ijn)CW`?fj=h_Au3XjpE_y{u1&RY@fJpy=cO2)`Ax z0n#R(O`4tvtAMctT?cIW`UutXXpW@C%s6X+XYH`Q^Lsz*mCtq3yPMMdo%`cl%X*;i z*frQnm{|sH<`^Cx_d+B74?@0-h>*K{c@QckU zib>*Q@jdpGGm4h7NgOSR&*M`LJX)9-tW})h-FNQmn7*C157JMp$UIsIo)5auAo&HZ8BF*MqJoHOKbgTFVO7;g7`M~*MJmpYSoN{pfl_^g zs+%G!$tu=O`d(;-vPLDGW7t`MFh`%G-A>;ZZ4=#Nv5jaq>HDDl%9_`mPf0etBCZv+ zO*^qVh9mBZ^@5n+gqW+JQ1+EvV)X>Qg+0&Mvd?$=c>T~`K5JC&^%_2iz7gH#uAL-4 z7SBRG>SpVfB)%47hpk@p3J%3x^fK^GHS>s_=+u7L3!ZhN8N$3N4Abul=5-oet1<86 zo!(w+M^&%TCU?~HrizukSk-xIRC)ih9+$MdkoAaM_UD=RwwK3LR4>AyAYL;9@@o&Cp{XYmE&yUz9T;%C4dyZ?07 n?FatHb4xtOr1)+><0%j;=JRj@Ea*|ih4_!n Void in if modalResponse == NSApplication.ModalResponse.alertFirstButtonReturn { diff --git a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift index dfb5d8e0..1015c95e 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift @@ -2,7 +2,7 @@ import Cocoa class AboutTab: NSObject { static func make() -> NSTabViewItem { - return TabViewItem.make("About", NSImage.infoName, makeView()) + return TabViewItem.make(NSLocalizedString("About", comment: ""), NSImage.infoName, makeView()) } static func makeView() -> NSGridView { @@ -10,10 +10,10 @@ class AboutTab: NSObject { appIcon.fit(150, 150) let appText = NSStackView(views: [ BoldLabel(App.name), - NSTextField(wrappingLabelWithString: "Version " + App.version), + NSTextField(wrappingLabelWithString: NSLocalizedString("Version ", comment: "") + App.version), NSTextField(wrappingLabelWithString: App.licence), - HyperlinkLabel("Source code repository", App.repository), - HyperlinkLabel("Latest releases", App.repository + "/releases"), + HyperlinkLabel(NSLocalizedString("Source code repository", comment: ""), App.repository), + HyperlinkLabel(NSLocalizedString("Latest releases", comment: ""), App.repository + "/releases"), ]) appText.orientation = .vertical appText.alignment = .left @@ -24,7 +24,7 @@ class AboutTab: NSObject { appInfo.spacing = GridView.interPadding let view = GridView.make([ [appInfo], - [NSButton(title: "Send feedback", target: self, action: #selector(feedbackCallback))], + [NSButton(title: NSLocalizedString("Send feedback", comment: ""), target: self, action: #selector(feedbackCallback))], ]) view.row(at: 1).topPadding = GridView.interPadding * 2 view.cell(atColumnIndex: 0, rowIndex: 1).xPlacement = .center diff --git a/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift index 41ffaf64..132bbc28 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift @@ -4,21 +4,21 @@ class AppearanceTab { private static let rowHeight = CGFloat(20) static func make() -> NSTabViewItem { - return TabViewItem.make("Shortcuts", NSImage.colorPanelName, makeView()) + return TabViewItem.make(NSLocalizedString("Appearance", comment: ""), NSImage.colorPanelName, makeView()) } private static func makeView() -> NSGridView { let view = GridView.make([ - LabelAndControl.makeLabelWithDropdown("Theme", "theme", Preferences.themeMacro.labels), - LabelAndControl.makeLabelWithSlider("Max size on screen", "maxScreenUsage", 10, 100, 10, true, "%"), - LabelAndControl.makeLabelWithSlider("Min windows per row", "minCellsPerRow", 1, 20, 20, true), - LabelAndControl.makeLabelWithSlider("Max windows per row", "maxCellsPerRow", 1, 40, 20, true), - LabelAndControl.makeLabelWithSlider("Min rows of windows", "minRows", 1, 20, 20, true), - LabelAndControl.makeLabelWithSlider("Window app icon size", "iconSize", 0, 64, 11, false, "px"), - LabelAndControl.makeLabelWithSlider("Window title font size", "fontHeight", 0, 64, 11, false, "px"), - LabelAndControl.makeLabelWithDropdown("Show on", "showOnScreen", Preferences.showOnScreenMacro.labels), - LabelAndControl.makeLabelWithSlider("Apparition delay", "windowDisplayDelay", 0, 2000, 11, false, "ms"), - LabelAndControl.makeLabelWithCheckbox("Hide space number labels", "hideSpaceNumberLabels"), + LabelAndControl.makeLabelWithDropdown(NSLocalizedString("Theme", comment: ""), "theme", Preferences.themeMacro.labels), + LabelAndControl.makeLabelWithSlider(NSLocalizedString("Max size on screen", comment: ""), "maxScreenUsage", 10, 100, 10, true, "%"), + LabelAndControl.makeLabelWithSlider(NSLocalizedString("Min windows per row", comment: ""), "minCellsPerRow", 1, 20, 20, true), + LabelAndControl.makeLabelWithSlider(NSLocalizedString("Max windows per row", comment: ""), "maxCellsPerRow", 1, 40, 20, true), + LabelAndControl.makeLabelWithSlider(NSLocalizedString("Min rows of windows", comment: ""), "minRows", 1, 20, 20, true), + LabelAndControl.makeLabelWithSlider(NSLocalizedString("Window app icon size", comment: ""), "iconSize", 0, 64, 11, false, "px"), + LabelAndControl.makeLabelWithSlider(NSLocalizedString("Window title font size", comment: ""), "fontHeight", 0, 64, 11, false, "px"), + LabelAndControl.makeLabelWithDropdown(NSLocalizedString("Show on", comment: ""), "showOnScreen", Preferences.showOnScreenMacro.labels), + LabelAndControl.makeLabelWithSlider(NSLocalizedString("Apparition delay", comment: ""), "windowDisplayDelay", 0, 2000, 11, false, "ms"), + LabelAndControl.makeLabelWithCheckbox(NSLocalizedString("Hide space number labels", comment: ""), "hideSpaceNumberLabels"), ]) view.column(at: 0).xPlacement = .trailing view.rowAlignment = .lastBaseline diff --git a/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift b/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift index 13651d15..401956e6 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift @@ -4,7 +4,7 @@ class ShortcutsTab { private static let rowHeight = CGFloat(20) static func make() -> NSTabViewItem { - return TabViewItem.make("Appearance", NSImage.preferencesGeneralName, makeView()) + return TabViewItem.make(NSLocalizedString("Shortcuts", comment: ""), NSImage.preferencesGeneralName, makeView()) } private static func makeView() -> NSGridView { // TODO: make the validators be a part of each Preference @@ -22,8 +22,8 @@ class ShortcutsTab { } let view = GridView.make([ - LabelAndControl.makeLabelWithDropdown("Alt key", "metaKey", Preferences.metaKeyMacro.labels), - LabelAndControl.makeLabelWithInput("Tab key", "tabKeyCode", 33, "KeyCodes Reference", "https://eastmanreference.com/complete-list-of-applescript-key-codes", tabKeyCodeValidator), + LabelAndControl.makeLabelWithDropdown(NSLocalizedString("Alt key", comment: ""), "metaKey", Preferences.metaKeyMacro.labels), + LabelAndControl.makeLabelWithInput(NSLocalizedString("Tab key", comment: ""), "tabKeyCode", 33, NSLocalizedString("KeyCodes Reference", comment: ""), "https://eastmanreference.com/complete-list-of-applescript-key-codes", tabKeyCodeValidator), ]) view.column(at: 0).xPlacement = .trailing view.rowAlignment = .lastBaseline From 5d36e04655e7580f6b20e1d43b5e129002a1c423 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Sun, 9 Feb 2020 16:43:53 +0900 Subject: [PATCH 63/98] feat: german and spanish localization --- alt-tab-macos.xcodeproj/project.pbxproj | 66 ++++++++++++++++++ .../resources/l10n/de.lproj/InfoPlist.strings | 2 + .../l10n/de.lproj/Localizable.strings | Bin 0 -> 5698 bytes .../resources/l10n/en.lproj/InfoPlist.strings | 3 - .../resources/l10n/es.lproj/InfoPlist.strings | 2 + .../l10n/es.lproj/Localizable.strings | Bin 0 -> 5784 bytes .../resources/l10n/fr.lproj/InfoPlist.strings | 3 - .../ui/preferences-window/tabs/AboutTab.swift | 2 +- 8 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 alt-tab-macos/resources/l10n/de.lproj/InfoPlist.strings create mode 100644 alt-tab-macos/resources/l10n/de.lproj/Localizable.strings create mode 100644 alt-tab-macos/resources/l10n/es.lproj/InfoPlist.strings create mode 100644 alt-tab-macos/resources/l10n/es.lproj/Localizable.strings diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index f1285d56..e64a22e2 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -18,6 +18,7 @@ D04BA308162F8043F8561D03 /* AXUIElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA40A4291E4F310527DBF /* AXUIElement.swift */; }; D04BA30F92801F5960ACC844 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D04BA7A48641612933710091 /* MainMenu.xib */; }; D04BA3261C7DA5F48310E654 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA90C6C36DB1D65BC2B66 /* App.swift */; }; + D04BA3AE19F48237BDCDDA4F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAB8DB0BA2A20D08D9D7F /* Localizable.strings */; }; D04BA40A1C8B02448D720EA3 /* BaseLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7ADB4B6C31B4887AEA3 /* BaseLabel.swift */; }; D04BA42AF817BCDF3F1F13F2 /* AppearanceTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACD85D3966B4C9482E52 /* AppearanceTab.swift */; }; D04BA4312972BFFB0DD1C141 /* BoldLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA6F87B035BCBF2BEAEBC /* BoldLabel.swift */; }; @@ -31,11 +32,13 @@ D04BA6B6B703DCEFE892D5A4 /* Spaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA5EB5ED248C8C22CC672 /* Spaces.swift */; }; D04BA6D9DA2A8BCD93347F0E /* CollectionViewItemFontIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAC0416F29ADE7BC5A544 /* CollectionViewItemFontIcon.swift */; }; D04BA70FF7262BF5F9E6E13B /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */; }; + D04BA744F626B2E89331390B /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA10F57DA97A1D0320122 /* InfoPlist.strings */; }; D04BA79B891E9C89C015D6DD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAEE5AEEB8692856B45E4 /* InfoPlist.strings */; }; D04BA7F212CDB1B7E101D7A3 /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAFE3AC6E14F394956586 /* GridView.swift */; }; D04BA8373D4DE452C0C081ED /* SF-Pro-Text-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */; }; D04BA84074E5FD6221720BC7 /* CollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */; }; D04BA8EBC0365A019A27C7EA /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */; }; + D04BA99DE72CE77BA6CE5A56 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAF762580D0252489A11A /* InfoPlist.strings */; }; D04BA9CCE02D30C8164A552A /* SystemPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */; }; D04BA9EE5D34A2789DCB0EE2 /* Sysctl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA896E37EFD27CAB61DF0 /* Sysctl.swift */; }; D04BAA0F39E6160F5703FC33 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAC0D42D7FED725746DA5 /* Localizable.strings */; }; @@ -53,6 +56,7 @@ D04BAEAB8AB048FF2B16B131 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAE5FA03065C5D23C0C2C /* Localizable.strings */; }; D04BAEF78503D7A2CEFB9E9E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAA44C837F3A67403B9DB /* main.swift */; }; D04BAF3B6F75E50E9AA3E1D2 /* LabelAndControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3D65E7CA78D699EDAB0 /* LabelAndControl.swift */; }; + D04BAFAF889BB3DA9A03FD83 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA3EB20F0A658E10E5A41 /* Localizable.strings */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -83,6 +87,7 @@ D04BA4F23325560BC0BCDDB7 /* 7 windows - 2 lines - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - tall window.jpg"; sourceTree = ""; }; D04BA51D43775E57CE91154A /* 3 windows - 1 line - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - wide window.jpg"; sourceTree = ""; }; D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchQueues.swift; sourceTree = ""; }; + D04BA5988A5BEE68663C130F /* de */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = de; path = InfoPlist.strings; sourceTree = ""; }; D04BA5ABFA5457A86536E2E4 /* 5 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 1 line.jpg"; sourceTree = ""; }; D04BA5B232184F6DB29C701C /* PreferencesWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreferencesWindow.swift; sourceTree = ""; }; D04BA5E819181CB83C5602C7 /* generate_debug_certificate.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = generate_debug_certificate.sh; sourceTree = ""; }; @@ -112,6 +117,7 @@ D04BABC180117F8785D250E1 /* TextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; path = "SF-Pro-Text-Regular.otf"; sourceTree = ""; }; D04BABD0C7A6DBA235C650A5 /* ShortcutsTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShortcutsTab.swift; sourceTree = ""; }; + D04BABE2789ABBA56E959C1B /* de */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = de; path = Localizable.strings; sourceTree = ""; }; D04BAC02D60EF22D9CC7D969 /* commitlint.config.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = commitlint.config.js; sourceTree = ""; }; D04BAC0416F29ADE7BC5A544 /* CollectionViewItemFontIcon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemFontIcon.swift; sourceTree = ""; }; D04BAC159731F80FDAF4EA6C /* 1-row.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1-row.jpg"; sourceTree = ""; }; @@ -120,9 +126,11 @@ D04BAD1BED44EAEB77FED8A4 /* Windows.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Windows.swift; sourceTree = ""; }; D04BAD1C9F215BCCD3B620AC /* alt_tab_macos.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = alt_tab_macos.entitlements; sourceTree = ""; }; D04BAD40CE2D3A8AAC3819D0 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = file.gitignore; path = .gitignore; sourceTree = ""; }; + D04BAD702D40CA5E94A0CC25 /* es */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = es; path = Localizable.strings; sourceTree = ""; }; D04BAD7D8F3CC2C36C8769C6 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = file.yml; path = .travis.yml; sourceTree = ""; }; D04BAD82F652C4ED5D8BF7AE /* 3 windows - 1 line - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - tall window.jpg"; sourceTree = ""; }; D04BADB20AB31BF83593E0BE /* greetings.yml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.yaml; path = greetings.yml; sourceTree = ""; }; + D04BADBAFB42AE72DBE1E59E /* es */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = es; path = InfoPlist.strings; sourceTree = ""; }; D04BADBCA16C1D448D34F473 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = ""; }; D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = ""; }; @@ -161,6 +169,15 @@ name = Frameworks; sourceTree = ""; }; + D04BA13E9A7AB055F50EC090 /* de.lproj */ = { + isa = PBXGroup; + children = ( + D04BAF762580D0252489A11A /* InfoPlist.strings */, + D04BA3EB20F0A658E10E5A41 /* Localizable.strings */, + ); + path = de.lproj; + sourceTree = ""; + }; D04BA1463D2A17038222BB84 = { isa = PBXGroup; children = ( @@ -223,6 +240,15 @@ path = .github; sourceTree = ""; }; + D04BA2D2C269919C49F8AF8D /* es.lproj */ = { + isa = PBXGroup; + children = ( + D04BA10F57DA97A1D0320122 /* InfoPlist.strings */, + D04BAB8DB0BA2A20D08D9D7F /* Localizable.strings */, + ); + path = es.lproj; + sourceTree = ""; + }; D04BA502DEE6E54E9987BAB7 /* windows-10 */ = { isa = PBXGroup; children = ( @@ -329,6 +355,8 @@ children = ( D04BA77FA515B70E5E5F2677 /* en.lproj */, D04BAF78C474CFE92FB844FA /* fr.lproj */, + D04BA13E9A7AB055F50EC090 /* de.lproj */, + D04BA2D2C269919C49F8AF8D /* es.lproj */, ); path = l10n; sourceTree = ""; @@ -453,6 +481,8 @@ knownRegions = ( en, fr, + de, + es, ); mainGroup = D04BA1463D2A17038222BB84; productRefGroup = D04BA1A461BBB5A9BE15E015 /* Products */; @@ -475,6 +505,10 @@ D04BAA0F39E6160F5703FC33 /* Localizable.strings in Resources */, D04BAD1158CBCC76DE321555 /* InfoPlist.strings in Resources */, D04BAEAB8AB048FF2B16B131 /* Localizable.strings in Resources */, + D04BA99DE72CE77BA6CE5A56 /* InfoPlist.strings in Resources */, + D04BAFAF889BB3DA9A03FD83 /* Localizable.strings in Resources */, + D04BA744F626B2E89331390B /* InfoPlist.strings in Resources */, + D04BA3AE19F48237BDCDDA4F /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -530,6 +564,14 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ + D04BA10F57DA97A1D0320122 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + D04BADBAFB42AE72DBE1E59E /* es */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; D04BA1ACE289DC4AD4826D1E /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( @@ -538,6 +580,22 @@ name = InfoPlist.strings; sourceTree = ""; }; + D04BA3EB20F0A658E10E5A41 /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + D04BABE2789ABBA56E959C1B /* de */, + ); + name = Localizable.strings; + sourceTree = ""; + }; + D04BAB8DB0BA2A20D08D9D7F /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + D04BAD702D40CA5E94A0CC25 /* es */, + ); + name = Localizable.strings; + sourceTree = ""; + }; D04BAC0D42D7FED725746DA5 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( @@ -562,6 +620,14 @@ name = InfoPlist.strings; sourceTree = ""; }; + D04BAF762580D0252489A11A /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + D04BA5988A5BEE68663C130F /* de */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ diff --git a/alt-tab-macos/resources/l10n/de.lproj/InfoPlist.strings b/alt-tab-macos/resources/l10n/de.lproj/InfoPlist.strings new file mode 100644 index 00000000..2c81ed0f --- /dev/null +++ b/alt-tab-macos/resources/l10n/de.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Copyright (human-readable) */ +"NSHumanReadableCopyright" = "GPL-3.0 license"; diff --git a/alt-tab-macos/resources/l10n/de.lproj/Localizable.strings b/alt-tab-macos/resources/l10n/de.lproj/Localizable.strings new file mode 100644 index 0000000000000000000000000000000000000000..5599a3f95c799e93c992aad6472940d7e4a46d10 GIT binary patch literal 5698 zcmc(jO>f&q5QgWRUqSc~q(S4{Tl65iZWE+&)7o**lq}bRXi5;}I`VHV&`W+pPDPvd znF+f~*-m@Vq7ZD7%h~yS=VSTzU(fBS9oxbxo9O?Qep730t>>k!wDOzH>|AT-S{d6$ z|9StbR$JXoMYAss&+U=z*+>)%yVmYK(S4)8J^Nj2Q0>{*qIo3BUCL`*)43#UGMOWb z^;4^@6UDTU^rd`M%eI+h%w%~hi}6*X)m)!5_rR@vkl*kH8g-&QaxacWk5Adz7Swd= zy4I30k)#x%ks{XVH?_+<8XRg*&^OX|?6FDu}Bi@do?J;|G#RMv(KoDTU}4;!eKc zTXGOTR`S!e>Q~g8%CnIBMl?yolZ^h@>8W@t?XLCIX?N*td?{ILMUDyza=AzQTAD3& zr4IK9LjOvXS9%lGI4bdtd-u{FSIM%Mj)$l~a1QTK+2^V}t$xIV_cOnaTwbH6xn!pb z7I}i?s0!4pA(r-4^Y`V`-B--Pl**;?JaJ7!Zr_=M8f?{WLuKEK>Vy5^ zJIRI%aUc#?x*mupRSjNXccs-52}?^ZTlN?)pe z^yTlgzZECqL09PKn?TLXbFhp(*wO2aB@6fK(7uG5*KT(nm7zWK<6P%56GLc0*8kTi zK=-iL|92FA6n^>&2im`q55YAP11Nc-D`?*+I@h}1=uJ$)wVufGrRX;HMTWflcplj^ z1Cc#fIxv+ta*~XsuC}5eiHT--CQ1UB+1I+>i33EEr^q5Rk(Wm)@xyC$V`!*DQT zemxm%1GzrM+PS!oC>=!nUs(?JclHy z+v~gc^qC?)RW8uC-szr6oSBiX$BC5M65pZXjFji>f%e4Y9$%;eOZV3#<~B0AWQP6X zn#b8Bo!gn^;;hl1zmk8cfa&y68E5sNO=qqW@g8c5$JbtmD@_K-r+WXpwx_<2%*@Y- Gq3=h9Mz*;C literal 0 HcmV?d00001 diff --git a/alt-tab-macos/resources/l10n/en.lproj/InfoPlist.strings b/alt-tab-macos/resources/l10n/en.lproj/InfoPlist.strings index ee78920b..2c81ed0f 100644 --- a/alt-tab-macos/resources/l10n/en.lproj/InfoPlist.strings +++ b/alt-tab-macos/resources/l10n/en.lproj/InfoPlist.strings @@ -1,5 +1,2 @@ -/* Bundle name */ -"CFBundleName" = "alt-tab-macos"; - /* Copyright (human-readable) */ "NSHumanReadableCopyright" = "GPL-3.0 license"; diff --git a/alt-tab-macos/resources/l10n/es.lproj/InfoPlist.strings b/alt-tab-macos/resources/l10n/es.lproj/InfoPlist.strings new file mode 100644 index 00000000..6493a40b --- /dev/null +++ b/alt-tab-macos/resources/l10n/es.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/*Copyright (human-readable)*/ +"NSHumanReadableCopyright" = "Licencia GPL-3.0"; diff --git a/alt-tab-macos/resources/l10n/es.lproj/Localizable.strings b/alt-tab-macos/resources/l10n/es.lproj/Localizable.strings new file mode 100644 index 0000000000000000000000000000000000000000..c8bb75d513ae5c0e4c56ac1377969c8fd8562f4e GIT binary patch literal 5784 zcmchb%We}v5Jh{PuNZlO0z%0i#3HhcKqMq2A*}r(FTWVuG0vy5%LinEvSR_<)0KAj z#0~<5&x)vfC4`So+#J#+8f&=sz&V_(0n8@P$?N3PV!l{f!`0l5B!+IPw`-DnrGL#GX{05ouC8B7YD2Q?)Y$V_FE#%>(R!@= zw(Gg3Fzo0Iq8!>s@={aQolC>HEFDN6-a>PVXJ;XY_u7&L8IpayRqC#ze?E*|&5jmy z6NwO=Rk%_V^~F0qz0>lsop?J#%u|UtZ#s(Rbk23Lt?tfzlrM#>DMmIuCnJUvJtZ=q z^>6EGA?v3ayV7-Fc^+2Q<)NuKK+X(wO*W0C^-9_ccOX<}u^lli*72P+|M}FWratz*D1pDG4zB4ay-IGj2 zwl7({Kk*);UXhz$G{#j^vX*(w_QNxQIv2(o3w`8s4qv{Nu8Fuy1%pj&!CD z2lilHA<4d;ST(jvJkuEOJt?Bybz!xlspeuHtNr9#4&1x)(!?Vs zv&q4p{xAzGVnn`q77{%}Mb-}7wT^wo!PZ%xc)cn;l6_|a|oP6o^p)KqxGG!P;rBXYZk zZdMr&7f1YUrLlOKy!8eLCV(dDK>Ct1{HuO|5DN?xTCIYkE!V^5_1ZE~H&y zVv0FrqRka5173tvtj}=`U#$h((QA6Pyr%W@FL<6h#%j`0R|dArM`B_9MCiMT4w;u{ z?Ry+s+AmeTPG&Eo%b6=j>fi9ga)%di(D@O0vX+S2T4vRZYq}3(VA^%iPth+jH|upe zOW+e4Lchnn$P5%oX60FsW8Gz4Luam7o%#963BDYpmh9>Y^$K3m|BvtQ*^7XP%AAiw z;7YrVhV;{kp!G&adh|Ry1ek$t>)B#$+w<148WCIT%yO(Pe6yj}*q)2bu>K@4kDe0G zmz8fEhw=^mR(wi^2PUN*IyHm!krg^mhfY7+lI}l!7c!g35ORp_FjUqYK0WrkJaQ|> zldn|tFzeUHH@4TZ>RP|~;`XS!oyOOwDx1NyxAMEV3qF-Sl@wHtQe4|$l zZ^Ybydp6_pKHXSa-5KPFP}Mr3GZ9)=0#*g Date: Mon, 10 Feb 2020 03:24:00 +0900 Subject: [PATCH 64/98] fix: some apps have messy launch behavior See discussion: https://github.com/lwouis/alt-tab-macos/issues/117#issuecomment-583868046 --- alt-tab-macos/api-wrappers/AXUIElement.swift | 12 +++++++----- alt-tab-macos/logic/Application.swift | 18 ++++++++++-------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/alt-tab-macos/api-wrappers/AXUIElement.swift b/alt-tab-macos/api-wrappers/AXUIElement.swift index 814fade5..704359a4 100644 --- a/alt-tab-macos/api-wrappers/AXUIElement.swift +++ b/alt-tab-macos/api-wrappers/AXUIElement.swift @@ -49,13 +49,15 @@ extension AXUIElement { return attribute(kAXSubroleAttribute, String.self) } - func subscribeWithRetry(_ axObserver: AXObserver, _ notification: String, _ pointer: UnsafeMutableRawPointer?) { + func subscribeWithRetry(_ axObserver: AXObserver, _ notification: String, _ pointer: UnsafeMutableRawPointer?, _ callback: (() -> Void)? = nil, _ previousResult: AXError? = nil) { let result = AXObserverAddNotification(axObserver, self, notification as CFString, pointer) - if result != .success && result != .notificationUnsupported && result != .notificationAlreadyRegistered { - DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(10), execute: { - self.subscribeWithRetry(axObserver, notification, pointer) - }) + if result == .success || result == .notificationUnsupported || result == .notificationAlreadyRegistered { + callback?() + return } + DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(10), execute: { + self.subscribeWithRetry(axObserver, notification, pointer, callback, result) + }) } private func attribute(_ key: String, _ type: T.Type) -> T? { diff --git a/alt-tab-macos/logic/Application.swift b/alt-tab-macos/logic/Application.swift index 95e163c3..011802fc 100644 --- a/alt-tab-macos/logic/Application.swift +++ b/alt-tab-macos/logic/Application.swift @@ -4,6 +4,7 @@ class Application: NSObject { var runningApplication: NSRunningApplication var axUiElement: AXUIElement? var axObserver: AXObserver? + var isReallyFinishedLaunching = false init(_ runningApplication: NSRunningApplication) { self.runningApplication = runningApplication @@ -22,13 +23,7 @@ class Application: NSObject { private func addAndObserveWindows() { axUiElement = AXUIElementCreateApplication(runningApplication.processIdentifier) AXObserverCreate(runningApplication.processIdentifier, axObserverCallback, &axObserver) - observeAllWindows() - } - - private func observeAllWindows() { - let windows = getActualWindows() - debugPrint("Adding app: " + (runningApplication.bundleIdentifier ?? "nil"), windows.map { $0.title() }) - addWindows(windows) + debugPrint("Adding app: " + (runningApplication.bundleIdentifier ?? "nil")) observeEvents() } @@ -65,7 +60,14 @@ class Application: NSObject { kAXApplicationHiddenNotification, kAXApplicationShownNotification, ] { - axUiElement!.subscribeWithRetry(axObserver, notification, selfPointer) + axUiElement!.subscribeWithRetry(axObserver, notification, selfPointer, { + // some apps have `isFinishedLaunching == true` but are actually not finished, and will return .cannotComplete + // we consider them ready when the first subscription succeeds, and list their windows again at that point + if !self.isReallyFinishedLaunching { + self.isReallyFinishedLaunching = true + self.observeNewWindows() + } + }) } CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(axObserver), .defaultMode) } From eed03531af0a03be164422fab5ecc96bbc7ebf28 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Mon, 10 Feb 2020 13:56:22 +0900 Subject: [PATCH 65/98] feat: drag-and-drop files on the ui (closes #74) --- alt-tab-macos.xcodeproj/project.pbxproj | 4 + .../CollectionViewFlowLayout.swift | 2 +- .../ui/main-window/CollectionViewItem.swift | 130 +------------- .../main-window/CollectionViewItemTitle.swift | 2 +- .../main-window/CollectionViewItemView.swift | 170 ++++++++++++++++++ .../ui/main-window/ThumbnailsPanel.swift | 12 +- 6 files changed, 187 insertions(+), 133 deletions(-) create mode 100644 alt-tab-macos/ui/main-window/CollectionViewItemView.swift diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index e64a22e2..e9f86cc2 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -53,6 +53,7 @@ D04BAD5A6B2F9EEE6FD4185F /* CollectionViewItemTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA4BABBA0312E0EDBA647 /* CollectionViewItemTitle.swift */; }; D04BAD8346A6A32C9749E0B3 /* TabViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */; }; D04BAE369A14C3126A1606FE /* HelperExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */; }; + D04BAE4CE37C303DDD0347B8 /* CollectionViewItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE073DD0B0D65CD4CBB6 /* CollectionViewItemView.swift */; }; D04BAEAB8AB048FF2B16B131 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAE5FA03065C5D23C0C2C /* Localizable.strings */; }; D04BAEF78503D7A2CEFB9E9E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAA44C837F3A67403B9DB /* main.swift */; }; D04BAF3B6F75E50E9AA3E1D2 /* LabelAndControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3D65E7CA78D699EDAB0 /* LabelAndControl.swift */; }; @@ -133,6 +134,7 @@ D04BADBAFB42AE72DBE1E59E /* es */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = es; path = InfoPlist.strings; sourceTree = ""; }; D04BADBCA16C1D448D34F473 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = ""; }; D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; + D04BAE073DD0B0D65CD4CBB6 /* CollectionViewItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemView.swift; sourceTree = ""; }; D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = ""; }; D04BAE23C37E0F3B07EEE7B1 /* AboutTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutTab.swift; sourceTree = ""; }; D04BAE80772D25834E440975 /* Window.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Window.swift; sourceTree = ""; }; @@ -442,6 +444,7 @@ D04BAF40D5E54AD1044B3FF7 /* ThumbnailsPanel.swift */, D04BA4BABBA0312E0EDBA647 /* CollectionViewItemTitle.swift */, D04BAC0416F29ADE7BC5A544 /* CollectionViewItemFontIcon.swift */, + D04BAE073DD0B0D65CD4CBB6 /* CollectionViewItemView.swift */, ); path = "main-window"; sourceTree = ""; @@ -558,6 +561,7 @@ D04BA6D9DA2A8BCD93347F0E /* CollectionViewItemFontIcon.swift in Sources */, D04BA9EE5D34A2789DCB0EE2 /* Sysctl.swift in Sources */, D04BAC4F69FE9563BC1C5E9C /* DebugProfile.swift in Sources */, + D04BAE4CE37C303DDD0347B8 /* CollectionViewItemView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/alt-tab-macos/ui/main-window/CollectionViewFlowLayout.swift b/alt-tab-macos/ui/main-window/CollectionViewFlowLayout.swift index d78e6147..92868e43 100644 --- a/alt-tab-macos/ui/main-window/CollectionViewFlowLayout.swift +++ b/alt-tab-macos/ui/main-window/CollectionViewFlowLayout.swift @@ -17,7 +17,7 @@ class CollectionViewFlowLayout: NSCollectionViewFlowLayout { var widestRow = CGFloat(0) var totalHeight = CGFloat(0) for (index, attribute) in attributes.enumerated() { - let isNewRow = abs(attribute.frame.origin.y - currentRowY) > CollectionViewItem.height(currentScreen!) + let isNewRow = abs(attribute.frame.origin.y - currentRowY) > CollectionViewItemView.height(currentScreen!) if isNewRow { currentRowWidth -= Preferences.interCellPadding widestRow = max(widestRow, currentRowWidth) diff --git a/alt-tab-macos/ui/main-window/CollectionViewItem.swift b/alt-tab-macos/ui/main-window/CollectionViewItem.swift index d9ee5108..67f59671 100644 --- a/alt-tab-macos/ui/main-window/CollectionViewItem.swift +++ b/alt-tab-macos/ui/main-window/CollectionViewItem.swift @@ -1,35 +1,12 @@ import Cocoa import WebKit -typealias MouseDownCallback = (Window) -> Void -typealias MouseMovedCallback = (CollectionViewItem) -> Void - class CollectionViewItem: NSCollectionViewItem { - var thumbnail = NSImageView() - var appIcon = NSImageView() - var label = CellTitle(Preferences.fontHeight) - var minimizedIcon = FontIcon(FontIcon.sfSymbolCircledMinusSign, Preferences.fontIconSize, .white) - var hiddenIcon = FontIcon(FontIcon.sfSymbolCircledDotSign, Preferences.fontIconSize, .white) - var spaceIcon = FontIcon(FontIcon.sfSymbolCircledNumber0, Preferences.fontIconSize, .white) - var window: Window? - var mouseDownCallback: MouseDownCallback? - var mouseMovedCallback: MouseMovedCallback? + var view_: CollectionViewItemView { view as! CollectionViewItemView } override func loadView() { - let hStackView = makeHStackView() - let vStackView = makeVStackView(hStackView) - let shadow = CollectionViewItem.makeShadow(.gray) - thumbnail.shadow = shadow - appIcon.shadow = shadow - view = vStackView - } - - override func mouseMoved(with event: NSEvent) { - mouseMovedCallback!(self) - } - - override func mouseDown(with theEvent: NSEvent) { - mouseDownCallback!(window!) + view = CollectionViewItemView() + view.wantsLayer = true } override var isSelected: Bool { @@ -38,105 +15,4 @@ class CollectionViewItem: NSCollectionViewItem { view.layer!.borderColor = isSelected ? Preferences.highlightBorderColor.cgColor : .clear } } - - func updateRecycledCellWithNewContent(_ element: Window, _ mouseDownCallback: @escaping MouseDownCallback, _ mouseMovedCallback: @escaping MouseMovedCallback, _ screen: NSScreen) { - window = element - thumbnail.image = element.thumbnail - let (thumbnailWidth, thumbnailHeight) = CollectionViewItem.thumbnailSize(element.thumbnail, screen) - let thumbnailSize = NSSize(width: thumbnailWidth.rounded(), height: thumbnailHeight.rounded()) - thumbnail.image?.size = thumbnailSize - thumbnail.frame.size = thumbnailSize - appIcon.image = element.icon - let appIconSize = NSSize(width: Preferences.iconSize, height: Preferences.iconSize) - appIcon.image?.size = appIconSize - appIcon.frame.size = appIconSize - label.string = element.title - // workaround: setting string on NSTextView change the font (most likely a Cocoa bug) - label.font = Preferences.font - hiddenIcon.isHidden = !window!.isHidden - minimizedIcon.isHidden = !window!.isMinimized - spaceIcon.isHidden = element.spaceIndex == nil || Spaces.isSingleSpace || Preferences.hideSpaceNumberLabels - if !spaceIcon.isHidden { - if element.isOnAllSpaces { - spaceIcon.setStar() - } else { - spaceIcon.setNumber(UInt32(element.spaceIndex!)) - } - } - let fontIconWidth = CGFloat([minimizedIcon, hiddenIcon, spaceIcon].filter { !$0.isHidden }.count) * (Preferences.fontIconSize + Preferences.intraCellPadding) - label.textContainer!.size.width = view.frame.width - Preferences.iconSize - Preferences.intraCellPadding * 3 - fontIconWidth - view.subviews.first!.frame.size = view.frame.size - self.mouseDownCallback = mouseDownCallback - self.mouseMovedCallback = mouseMovedCallback - if view.trackingAreas.count > 0 { - view.removeTrackingArea(view.trackingAreas[0]) - } - view.addTrackingArea(NSTrackingArea(rect: view.bounds, options: [.mouseMoved, .activeAlways], owner: self, userInfo: nil)) - } - - static func makeShadow(_ color: NSColor) -> NSShadow { - let shadow = NSShadow() - shadow.shadowColor = color - shadow.shadowOffset = .zero - shadow.shadowBlurRadius = 1 - return shadow - } - - private func makeHStackView() -> NSStackView { - let hStackView = NSStackView() - hStackView.spacing = Preferences.intraCellPadding - hStackView.setViews([appIcon, label, hiddenIcon, minimizedIcon, spaceIcon], in: .leading) - return hStackView - } - - private func makeVStackView(_ hStackView: NSStackView) -> NSStackView { - let vStackView = NSStackView() - vStackView.wantsLayer = true - vStackView.layer!.backgroundColor = .clear - vStackView.layer!.cornerRadius = Preferences.cellCornerRadius - vStackView.layer!.borderWidth = Preferences.cellBorderWidth - vStackView.layer!.borderColor = .clear - vStackView.edgeInsets = NSEdgeInsets(top: Preferences.intraCellPadding, left: Preferences.intraCellPadding, bottom: Preferences.intraCellPadding, right: Preferences.intraCellPadding) - vStackView.orientation = .vertical - vStackView.spacing = Preferences.intraCellPadding - vStackView.setViews([hStackView, thumbnail], in: .leading) - return vStackView - } - - static func downscaleFactor() -> CGFloat { - let nCellsBeforePotentialOverflow = Preferences.minRows * Preferences.minCellsPerRow - guard CGFloat(Windows.list.count) > nCellsBeforePotentialOverflow else { return 1 } - // TODO: replace this buggy heuristic with a correct implementation of downscaling - return nCellsBeforePotentialOverflow / (nCellsBeforePotentialOverflow + (sqrt(CGFloat(Windows.list.count) - nCellsBeforePotentialOverflow) * 2)) - } - - static func widthMax(_ screen: NSScreen) -> CGFloat { - return (ThumbnailsPanel.widthMax(screen) / Preferences.minCellsPerRow - Preferences.interCellPadding) * CollectionViewItem.downscaleFactor() - } - - static func widthMin(_ screen: NSScreen) -> CGFloat { - return (ThumbnailsPanel.widthMax(screen) / Preferences.maxCellsPerRow - Preferences.interCellPadding) * CollectionViewItem.downscaleFactor() - } - - static func height(_ screen: NSScreen) -> CGFloat { - return (ThumbnailsPanel.heightMax(screen) / Preferences.minRows - Preferences.interCellPadding) * CollectionViewItem.downscaleFactor() - } - - static func width(_ image: NSImage?, _ screen: NSScreen) -> CGFloat { - return max(thumbnailSize(image, screen).0 + Preferences.intraCellPadding * 2, CollectionViewItem.widthMin(screen)) - } - - static func thumbnailSize(_ image: NSImage?, _ screen: NSScreen) -> (CGFloat, CGFloat) { - guard let image = image else { return (0, 0) } - let thumbnailHeightMax = CollectionViewItem.height(screen) - Preferences.intraCellPadding * 3 - Preferences.iconSize - let thumbnailWidthMax = CollectionViewItem.widthMax(screen) - Preferences.intraCellPadding * 2 - let thumbnailHeight = min(image.size.height, thumbnailHeightMax) - let thumbnailWidth = min(image.size.width, thumbnailWidthMax) - let imageRatio = image.size.width / image.size.height - let thumbnailRatio = thumbnailWidth / thumbnailHeight - if thumbnailRatio > imageRatio { - return (image.size.width * thumbnailHeight / image.size.height, thumbnailHeight) - } - return (thumbnailWidth, image.size.height * thumbnailWidth / image.size.width) - } } diff --git a/alt-tab-macos/ui/main-window/CollectionViewItemTitle.swift b/alt-tab-macos/ui/main-window/CollectionViewItemTitle.swift index 18337082..63c63159 100644 --- a/alt-tab-macos/ui/main-window/CollectionViewItemTitle.swift +++ b/alt-tab-macos/ui/main-window/CollectionViewItemTitle.swift @@ -14,7 +14,7 @@ class CellTitle: BaseLabel { self.init(NSRect.zero, textContainer) self.magicOffset = magicOffset textColor = Preferences.fontColor - shadow = CollectionViewItem.makeShadow(.darkGray) + shadow = CollectionViewItemView.makeShadow(.darkGray) defaultParagraphStyle = makeParagraphStyle(size) heightAnchor.constraint(equalToConstant: size + magicOffset).isActive = true } diff --git a/alt-tab-macos/ui/main-window/CollectionViewItemView.swift b/alt-tab-macos/ui/main-window/CollectionViewItemView.swift new file mode 100644 index 00000000..ca35842c --- /dev/null +++ b/alt-tab-macos/ui/main-window/CollectionViewItemView.swift @@ -0,0 +1,170 @@ +import Cocoa + +class CollectionViewItemView: NSView { + var window_: Window? + var thumbnail = NSImageView() + var appIcon = NSImageView() + var label = CellTitle(Preferences.fontHeight) + var minimizedIcon = FontIcon(FontIcon.sfSymbolCircledMinusSign, Preferences.fontIconSize, .white) + var hiddenIcon = FontIcon(FontIcon.sfSymbolCircledDotSign, Preferences.fontIconSize, .white) + var spaceIcon = FontIcon(FontIcon.sfSymbolCircledNumber0, Preferences.fontIconSize, .white) + var mouseDownCallback: MouseDownCallback! + var mouseMovedCallback: MouseMovedCallback! + var dragAndDropTimer: Timer? + + convenience init() { + self.init(frame: .zero) + let hStackView = makeHStackView() + let vStackView = makeVStackView(hStackView) + let shadow = CollectionViewItemView.makeShadow(.gray) + thumbnail.shadow = shadow + appIcon.shadow = shadow + observeDragAndDrop() + subviews.append(vStackView) + } + + private func observeDragAndDrop() { + // NSImageView instances are registered to drag-and-drop by default + thumbnail.unregisterDraggedTypes() + appIcon.unregisterDraggedTypes() + // we only handle URLs (i.e. not text, image, or other draggable things) + registerForDraggedTypes([NSPasteboard.PasteboardType(kUTTypeURL as String)]) + } + + override func draggingUpdated(_ sender: NSDraggingInfo) -> NSDragOperation { + mouseMovedCallback() + return .link + } + + override func draggingEntered(_ sender: NSDraggingInfo) -> NSDragOperation { + dragAndDropTimer = Timer.scheduledTimer(withTimeInterval: 2, repeats: false, block: { _ in + self.mouseDownCallback() + }) + return .link + } + + override func draggingExited(_ sender: NSDraggingInfo?) { + dragAndDropTimer?.invalidate() + dragAndDropTimer = nil + } + + override func performDragOperation(_ sender: NSDraggingInfo) -> Bool { + let urls = sender.draggingPasteboard.readObjects(forClasses: [NSURL.self]) as! [URL] + let appUrl = window_!.application.runningApplication.bundleURL! + let open = try? NSWorkspace.shared.open(urls, withApplicationAt: appUrl, options: [], configuration: [:]) + (App.shared as! App).hideUi() + return open != nil + } + + override func mouseMoved(with event: NSEvent) { + mouseMovedCallback() + } + + override func mouseDown(with theEvent: NSEvent) { + mouseDownCallback() + } + + func updateRecycledCellWithNewContent(_ element: Window, _ mouseDownCallback: @escaping MouseDownCallback, _ mouseMovedCallback: @escaping MouseMovedCallback, _ screen: NSScreen) { + window_ = element + thumbnail.image = element.thumbnail + let (thumbnailWidth, thumbnailHeight) = CollectionViewItemView.thumbnailSize(element.thumbnail, screen) + let thumbnailSize = NSSize(width: thumbnailWidth.rounded(), height: thumbnailHeight.rounded()) + thumbnail.image?.size = thumbnailSize + thumbnail.frame.size = thumbnailSize + appIcon.image = element.icon + let appIconSize = NSSize(width: Preferences.iconSize, height: Preferences.iconSize) + appIcon.image?.size = appIconSize + appIcon.frame.size = appIconSize + label.string = element.title + // workaround: setting string on NSTextView change the font (most likely a Cocoa bug) + label.font = Preferences.font + hiddenIcon.isHidden = !window_!.isHidden + minimizedIcon.isHidden = !window_!.isMinimized + spaceIcon.isHidden = element.spaceIndex == nil || Spaces.isSingleSpace || Preferences.hideSpaceNumberLabels + if !spaceIcon.isHidden { + if element.isOnAllSpaces { + spaceIcon.setStar() + } else { + spaceIcon.setNumber(UInt32(element.spaceIndex!)) + } + } + let fontIconWidth = CGFloat([minimizedIcon, hiddenIcon, spaceIcon].filter { !$0.isHidden }.count) * (Preferences.fontIconSize + Preferences.intraCellPadding) + label.textContainer!.size.width = frame.width - Preferences.iconSize - Preferences.intraCellPadding * 3 - fontIconWidth + subviews.first!.frame.size = frame.size + self.mouseDownCallback = mouseDownCallback + self.mouseMovedCallback = mouseMovedCallback + if trackingAreas.count > 0 { + removeTrackingArea(trackingAreas[0]) + } + addTrackingArea(NSTrackingArea(rect: bounds, options: [.mouseMoved, .activeAlways], owner: self, userInfo: nil)) + } + + static func makeShadow(_ color: NSColor) -> NSShadow { + let shadow = NSShadow() + shadow.shadowColor = color + shadow.shadowOffset = .zero + shadow.shadowBlurRadius = 1 + return shadow + } + + static func downscaleFactor() -> CGFloat { + let nCellsBeforePotentialOverflow = Preferences.minRows * Preferences.minCellsPerRow + guard CGFloat(Windows.list.count) > nCellsBeforePotentialOverflow else { return 1 } + // TODO: replace this buggy heuristic with a correct implementation of downscaling + return nCellsBeforePotentialOverflow / (nCellsBeforePotentialOverflow + (sqrt(CGFloat(Windows.list.count) - nCellsBeforePotentialOverflow) * 2)) + } + + static func widthMax(_ screen: NSScreen) -> CGFloat { + return (ThumbnailsPanel.widthMax(screen) / Preferences.minCellsPerRow - Preferences.interCellPadding) * CollectionViewItemView.downscaleFactor() + } + + static func widthMin(_ screen: NSScreen) -> CGFloat { + return (ThumbnailsPanel.widthMax(screen) / Preferences.maxCellsPerRow - Preferences.interCellPadding) * CollectionViewItemView.downscaleFactor() + } + + static func height(_ screen: NSScreen) -> CGFloat { + return (ThumbnailsPanel.heightMax(screen) / Preferences.minRows - Preferences.interCellPadding) * CollectionViewItemView.downscaleFactor() + } + + static func width(_ image: NSImage?, _ screen: NSScreen) -> CGFloat { + return max(thumbnailSize(image, screen).0 + Preferences.intraCellPadding * 2, CollectionViewItemView.widthMin(screen)) + } + + static func thumbnailSize(_ image: NSImage?, _ screen: NSScreen) -> (CGFloat, CGFloat) { + guard let image = image else { return (0, 0) } + let thumbnailHeightMax = CollectionViewItemView.height(screen) - Preferences.intraCellPadding * 3 - Preferences.iconSize + let thumbnailWidthMax = CollectionViewItemView.widthMax(screen) - Preferences.intraCellPadding * 2 + let thumbnailHeight = min(image.size.height, thumbnailHeightMax) + let thumbnailWidth = min(image.size.width, thumbnailWidthMax) + let imageRatio = image.size.width / image.size.height + let thumbnailRatio = thumbnailWidth / thumbnailHeight + if thumbnailRatio > imageRatio { + return (image.size.width * thumbnailHeight / image.size.height, thumbnailHeight) + } + return (thumbnailWidth, image.size.height * thumbnailWidth / image.size.width) + } + + private func makeHStackView() -> NSStackView { + let hStackView = NSStackView() + hStackView.spacing = Preferences.intraCellPadding + hStackView.setViews([appIcon, label, hiddenIcon, minimizedIcon, spaceIcon], in: .leading) + return hStackView + } + + private func makeVStackView(_ hStackView: NSStackView) -> NSStackView { + let vStackView = NSStackView() + vStackView.wantsLayer = true + vStackView.layer!.backgroundColor = .clear + vStackView.layer!.cornerRadius = Preferences.cellCornerRadius + vStackView.layer!.borderWidth = Preferences.cellBorderWidth + vStackView.layer!.borderColor = .clear + vStackView.edgeInsets = NSEdgeInsets(top: Preferences.intraCellPadding, left: Preferences.intraCellPadding, bottom: Preferences.intraCellPadding, right: Preferences.intraCellPadding) + vStackView.orientation = .vertical + vStackView.spacing = Preferences.intraCellPadding + vStackView.setViews([hStackView, thumbnail], in: .leading) + return vStackView + } +} + +typealias MouseDownCallback = () -> Void +typealias MouseMovedCallback = () -> Void diff --git a/alt-tab-macos/ui/main-window/ThumbnailsPanel.swift b/alt-tab-macos/ui/main-window/ThumbnailsPanel.swift index b48a339f..56b380ec 100644 --- a/alt-tab-macos/ui/main-window/ThumbnailsPanel.swift +++ b/alt-tab-macos/ui/main-window/ThumbnailsPanel.swift @@ -21,8 +21,9 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele backgroundView = ThumbnailsPanel.makeBackgroundView() backgroundView.addSubview(collectionView) contentView!.addSubview(backgroundView) - // highest level possible; this allows the app to go on top of context menus - level = .screenSaver + // 2nd highest level possible; this allows the app to go on top of context menus + // highest level is .screenSaver but makes drag and drop on top the main window impossible + level = .popUpMenu // helps filter out this window from the thumbnails setAccessibilitySubrole(.unknown) } @@ -65,13 +66,16 @@ class ThumbnailsPanel: NSPanel, NSCollectionViewDataSource, NSCollectionViewDele func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem { let item = collectionView.makeItem(withIdentifier: cellId, for: indexPath) as! CollectionViewItem - item.updateRecycledCellWithNewContent(Windows.list[indexPath.item], app!.focusSelectedWindow, app!.thumbnailsPanel!.highlightCell, currentScreen!) + item.view_.updateRecycledCellWithNewContent(Windows.list[indexPath.item], + { self.app!.focusSelectedWindow(item.view_.window_) }, + { self.app!.thumbnailsPanel!.highlightCell(item) }, + currentScreen!) return item } func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> NSSize { guard indexPath.item < Windows.list.count else { return .zero } - return NSSize(width: CollectionViewItem.width(Windows.list[indexPath.item].thumbnail, currentScreen!).rounded(), height: CollectionViewItem.height(currentScreen!).rounded()) + return NSSize(width: CollectionViewItemView.width(Windows.list[indexPath.item].thumbnail, currentScreen!).rounded(), height: CollectionViewItemView.height(currentScreen!).rounded()) } func highlightCell() { From 521fdd838d1660d60c9c6e0db76e251e99609604 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Tue, 11 Feb 2020 19:59:46 +0900 Subject: [PATCH 66/98] feat: adding cocoapods and letsmove/sparkle --- .gitignore | 1 + Podfile | 8 ++ Podfile.lock | 20 +++++ alt-tab-macos.xcodeproj/project.pbxproj | 84 ++++++++++++++++++- .../contents.xcworkspacedata | 10 +++ alt-tab-macos/alt_tab_macos.entitlements | 10 ++- alt-tab-macos/ui/App.swift | 4 + 7 files changed, 129 insertions(+), 8 deletions(-) create mode 100644 Podfile create mode 100644 Podfile.lock create mode 100644 alt-tab-macos.xcworkspace/contents.xcworkspacedata diff --git a/.gitignore b/.gitignore index 38fe947c..17da238c 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ xcuserdata/ xcshareddata/ /node_modules/ /build/ +/Pods/ .DS_Store diff --git a/Podfile b/Podfile new file mode 100644 index 00000000..d49320c0 --- /dev/null +++ b/Podfile @@ -0,0 +1,8 @@ +platform :osx, '10.12' + +target 'alt-tab-macos' do + use_frameworks! + pod 'LetsMove', '1.24' + pod 'Sparkle', '1.22.0' +end + diff --git a/Podfile.lock b/Podfile.lock new file mode 100644 index 00000000..43d2fdc3 --- /dev/null +++ b/Podfile.lock @@ -0,0 +1,20 @@ +PODS: + - LetsMove (1.24) + - Sparkle (1.22.0) + +DEPENDENCIES: + - LetsMove (= 1.24) + - Sparkle (= 1.22.0) + +SPEC REPOS: + trunk: + - LetsMove + - Sparkle + +SPEC CHECKSUMS: + LetsMove: fefe56bc7bc7fb7d37049e28a14f297961229fc5 + Sparkle: 593ac2e677c07bcb6c3b22d621240e7cbedaab57 + +PODFILE CHECKSUM: d7356c4f4fea94deb26f1654c141fcd800355daa + +COCOAPODS: 1.8.4 diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index e9f86cc2..5b002f02 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -8,6 +8,7 @@ /* Begin PBXBuildFile section */ 4807A6C623A9CD190052A53E /* SkyLight.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4807A6C523A9CD190052A53E /* SkyLight.framework */; }; + 76D02BB22BFE7C9E0056008D /* Pods_alt_tab_macos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0712B3BEA2B3780398C0999 /* Pods_alt_tab_macos.framework */; }; D04BA0496ACF1427B6E9D369 /* CGWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA78E3B4E73B40DB77174 /* CGWindow.swift */; }; D04BA0E86F2D30722F97C16F /* Menubar.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF0469B160046170B608 /* Menubar.swift */; }; D04BA1BA0B3F2E0A47883569 /* Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF13DFAA6930676D0492 /* Application.swift */; }; @@ -19,6 +20,7 @@ D04BA30F92801F5960ACC844 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D04BA7A48641612933710091 /* MainMenu.xib */; }; D04BA3261C7DA5F48310E654 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA90C6C36DB1D65BC2B66 /* App.swift */; }; D04BA3AE19F48237BDCDDA4F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAB8DB0BA2A20D08D9D7F /* Localizable.strings */; }; + D04BA3D87405EE52518CCC3E /* Podfile.lock in Resources */ = {isa = PBXBuildFile; fileRef = D04BA2A4F257F4DCE1421758 /* Podfile.lock */; }; D04BA40A1C8B02448D720EA3 /* BaseLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7ADB4B6C31B4887AEA3 /* BaseLabel.swift */; }; D04BA42AF817BCDF3F1F13F2 /* AppearanceTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACD85D3966B4C9482E52 /* AppearanceTab.swift */; }; D04BA4312972BFFB0DD1C141 /* BoldLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA6F87B035BCBF2BEAEBC /* BoldLabel.swift */; }; @@ -53,6 +55,7 @@ D04BAD5A6B2F9EEE6FD4185F /* CollectionViewItemTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA4BABBA0312E0EDBA647 /* CollectionViewItemTitle.swift */; }; D04BAD8346A6A32C9749E0B3 /* TabViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */; }; D04BAE369A14C3126A1606FE /* HelperExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */; }; + D04BAE4A31689CCF132372B7 /* Podfile in Resources */ = {isa = PBXBuildFile; fileRef = D04BA0E071D2EDFDB9A20523 /* Podfile */; }; D04BAE4CE37C303DDD0347B8 /* CollectionViewItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE073DD0B0D65CD4CBB6 /* CollectionViewItemView.swift */; }; D04BAEAB8AB048FF2B16B131 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAE5FA03065C5D23C0C2C /* Localizable.strings */; }; D04BAEF78503D7A2CEFB9E9E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAA44C837F3A67403B9DB /* main.swift */; }; @@ -61,9 +64,13 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 38C426DAE17708EDD4FDADBF /* Pods-alt-tab-macos.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-alt-tab-macos.release.xcconfig"; path = "Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos.release.xcconfig"; sourceTree = ""; }; 4807A6C523A9CD190052A53E /* SkyLight.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SkyLight.framework; path = ../../../../System/Library/PrivateFrameworks/SkyLight.framework; sourceTree = ""; }; + BF12DEA89785CA78B0FE2706 /* Pods-alt-tab-macos.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-alt-tab-macos.debug.xcconfig"; path = "Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos.debug.xcconfig"; sourceTree = ""; }; + C0712B3BEA2B3780398C0999 /* Pods_alt_tab_macos.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_alt_tab_macos.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D04BA05F3F36A6D71DCD8475 /* en */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = ""; }; D04BA0CE87BE264C52987ED1 /* 7 windows - 2 lines - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - wide window.jpg"; sourceTree = ""; }; + D04BA0E071D2EDFDB9A20523 /* Podfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Podfile; sourceTree = ""; }; D04BA0E1C5DBC07108AC2F54 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; D04BA0F5EB832B8E142B654B /* 4 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "4 windows - 1 line.jpg"; sourceTree = ""; }; D04BA107C8B8FE7FF8536606 /* too many windows - 4 lines - paginated.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "too many windows - 4 lines - paginated.jpg"; sourceTree = ""; }; @@ -71,6 +78,7 @@ D04BA1FC9022590D7AA02486 /* 1 window - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1 window - 1 line.jpg"; sourceTree = ""; }; D04BA26154AB2A2897E08CAF /* windows-theme.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "windows-theme.jpg"; sourceTree = ""; }; D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewItem.swift; sourceTree = ""; }; + D04BA2A4F257F4DCE1421758 /* Podfile.lock */ = {isa = PBXFileReference; lastKnownFileType = file.lock; path = Podfile.lock; sourceTree = ""; }; D04BA2C7B51F68651B3C60E2 /* 6 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "6 windows - 1 line.jpg"; sourceTree = ""; }; D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SystemPermissions.swift; sourceTree = ""; }; D04BA2D2BCBA4C47E25315AF /* HyperlinkLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HyperlinkLabel.swift; sourceTree = ""; }; @@ -157,6 +165,7 @@ buildActionMask = 2147483647; files = ( 4807A6C623A9CD190052A53E /* SkyLight.framework in Frameworks */, + 76D02BB22BFE7C9E0056008D /* Pods_alt_tab_macos.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -167,10 +176,20 @@ isa = PBXGroup; children = ( 4807A6C523A9CD190052A53E /* SkyLight.framework */, + C0712B3BEA2B3780398C0999 /* Pods_alt_tab_macos.framework */, ); name = Frameworks; sourceTree = ""; }; + 4A443501F57D4759B190C07E /* Pods */ = { + isa = PBXGroup; + children = ( + BF12DEA89785CA78B0FE2706 /* Pods-alt-tab-macos.debug.xcconfig */, + 38C426DAE17708EDD4FDADBF /* Pods-alt-tab-macos.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; D04BA13E9A7AB055F50EC090 /* de.lproj */ = { isa = PBXGroup; children = ( @@ -198,6 +217,9 @@ D04BA459034C1885CA43A807 /* LICENCE.md */, D04BA2C9EF33A646D0977195 /* .github */, 4807A6C423A9CD190052A53E /* Frameworks */, + 4A443501F57D4759B190C07E /* Pods */, + D04BA2A4F257F4DCE1421758 /* Podfile.lock */, + D04BA0E071D2EDFDB9A20523 /* Podfile */, ); sourceTree = ""; }; @@ -456,9 +478,11 @@ isa = PBXNativeTarget; buildConfigurationList = D04BA4D71CBB2FA4B9947B10 /* Build configuration list for PBXNativeTarget "alt-tab-macos" */; buildPhases = ( + 5968B81A43F20B6ECD92C7F7 /* [CP] Check Pods Manifest.lock */, D04BAD01F4BCEDF8B539AFD2 /* Sources */, D04BA82F32FB183F65DC3E42 /* Frameworks */, D04BA96F3DC99263120BCD21 /* Resources */, + 7641B7923B36478FBF4D7CCD /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -475,6 +499,7 @@ D04BA59EB5ED6F005E8F4407 /* Project object */ = { isa = PBXProject; attributes = { + LastUpgradeCheck = 1130; ORGANIZATIONNAME = lwouis; }; buildConfigurationList = D04BA83C9495F252D87CDF0F /* Build configuration list for PBXProject "alt-tab-macos" */; @@ -512,11 +537,60 @@ D04BAFAF889BB3DA9A03FD83 /* Localizable.strings in Resources */, D04BA744F626B2E89331390B /* InfoPlist.strings in Resources */, D04BA3AE19F48237BDCDDA4F /* Localizable.strings in Resources */, + D04BA3D87405EE52518CCC3E /* Podfile.lock in Resources */, + D04BAE4A31689CCF132372B7 /* Podfile in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 5968B81A43F20B6ECD92C7F7 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-alt-tab-macos-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 7641B7923B36478FBF4D7CCD /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/LetsMove/LetsMove.framework", + "${PODS_ROOT}/Sparkle/Sparkle.framework", + "${PODS_ROOT}/Sparkle/Sparkle.framework.dSYM", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LetsMove.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Sparkle.framework", + "${DWARF_DSYM_FOLDER_PATH}/Sparkle.framework.dSYM", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ D04BAD01F4BCEDF8B539AFD2 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -637,12 +711,13 @@ /* Begin XCBuildConfiguration section */ D04BA49BCED00029C5289244 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 38C426DAE17708EDD4FDADBF /* Pods-alt-tab-macos.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = "alt-tab-macos/alt_tab_macos.entitlements"; CODE_SIGN_IDENTITY = "Local Self-Signed"; + DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = YES; - FRAMEWORK_SEARCH_PATHS = /System/Library/PrivateFrameworks; INFOPLIST_FILE = "alt-tab-macos/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.lwouis.alt-tab-macos"; @@ -653,12 +728,13 @@ }; D04BA6FB4EC72C6A126E86D7 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = BF12DEA89785CA78B0FE2706 /* Pods-alt-tab-macos.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = "alt-tab-macos/alt_tab_macos.entitlements"; CODE_SIGN_IDENTITY = "Local Self-Signed"; + DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = YES; - FRAMEWORK_SEARCH_PATHS = /System/Library/PrivateFrameworks; INFOPLIST_FILE = "alt-tab-macos/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.lwouis.alt-tab-macos"; @@ -670,7 +746,6 @@ D04BA801581D700C583B53FB /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -703,6 +778,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = /System/Library/PrivateFrameworks; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -730,7 +806,6 @@ D04BA9150F87B08AB0ACE4AE /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -763,6 +838,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = /System/Library/PrivateFrameworks; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; diff --git a/alt-tab-macos.xcworkspace/contents.xcworkspacedata b/alt-tab-macos.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..538edcbc --- /dev/null +++ b/alt-tab-macos.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/alt-tab-macos/alt_tab_macos.entitlements b/alt-tab-macos/alt_tab_macos.entitlements index b7d85c34..e10f5b1d 100644 --- a/alt-tab-macos/alt_tab_macos.entitlements +++ b/alt-tab-macos/alt_tab_macos.entitlements @@ -2,9 +2,11 @@ - com.apple.security.app-sandbox - - com.apple.security.files.user-selected.read-only - + com.apple.security.app-sandbox + + com.apple.security.cs.disable-library-validation + + com.apple.security.files.user-selected.read-only + diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 83786120..ebdb2a33 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -1,5 +1,6 @@ import Cocoa import Darwin +import LetsMove let cgsMainConnectionId = CGSMainConnectionID() @@ -26,6 +27,9 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { } func applicationDidFinishLaunching(_ aNotification: Notification) { + #if !DEBUG + PFMoveToApplicationsFolderIfNecessary() + #endif SystemPermissions.ensureAccessibilityCheckboxIsChecked() SystemPermissions.ensureScreenRecordingCheckboxIsChecked() Preferences.loadFromDiskAndUpdateValues() From d3268d032f0634b74bca8995e50f8fe297361fbb Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Tue, 11 Feb 2020 23:08:39 +0900 Subject: [PATCH 67/98] feat: integrate sparkle for auto-updates (closes #131) --- .travis.yml | 4 +- Podfile | 2 +- Podfile.lock | 8 +- README.md | 5 +- alt-tab-macos.xcodeproj/project.pbxproj | 12 +++ alt-tab-macos/Info.plist | 6 ++ alt-tab-macos/logic/Preferences.swift | 80 +++++++++---------- alt-tab-macos/logic/Screen.swift | 4 +- alt-tab-macos/resources/MainMenu.xib | 8 +- alt-tab-macos/ui/App.swift | 5 ++ alt-tab-macos/ui/FeedbackWindow.swift | 4 +- alt-tab-macos/ui/Menubar.swift | 8 +- .../PreferencesWindow.swift | 1 + .../ui/preferences-window/tabs/AboutTab.swift | 9 ++- .../tabs/ShortcutsTab.swift | 2 +- .../preferences-window/tabs/UpdatesTab.swift | 69 ++++++++++++++++ appcast.xml | 28 +++++++ ci/build_release.sh | 2 +- ci/determine_version.sh | 2 + ci/update_appcast.sh | 31 +++++++ package-lock.json | 12 ++- package.json | 1 + release.config.js | 5 +- 23 files changed, 241 insertions(+), 67 deletions(-) create mode 100644 alt-tab-macos/ui/preferences-window/tabs/UpdatesTab.swift create mode 100644 appcast.xml create mode 100755 ci/update_appcast.sh diff --git a/.travis.yml b/.travis.yml index f1bbd554..21538483 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,6 +15,8 @@ script: - if [ $IS_RELEASE ]; then ci/set_version_in_app.sh; fi - ci/build_release.sh - if [ $IS_RELEASE ]; then ci/package_release.sh; fi + - if [ $IS_RELEASE ]; then ci/update_appcast.sh; fi + - if [ $IS_RELEASE ]; then ci/update_homebrew_cask.sh; fi - if [ $IS_RELEASE ]; then npx semantic-release; fi deploy: provider: releases @@ -26,8 +28,6 @@ deploy: cleanup: false on: repo: lwouis/alt-tab-macos -after_deploy: - - ci/update_homebrew_cask.sh branches: except: - "/^v\\d+\\.\\d+\\.\\d+$/" diff --git a/Podfile b/Podfile index d49320c0..de4594bd 100644 --- a/Podfile +++ b/Podfile @@ -3,6 +3,6 @@ platform :osx, '10.12' target 'alt-tab-macos' do use_frameworks! pod 'LetsMove', '1.24' - pod 'Sparkle', '1.22.0' + pod 'Sparkle', '1.23.0' end diff --git a/Podfile.lock b/Podfile.lock index 43d2fdc3..8ee8bfa7 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,10 +1,10 @@ PODS: - LetsMove (1.24) - - Sparkle (1.22.0) + - Sparkle (1.23.0) DEPENDENCIES: - LetsMove (= 1.24) - - Sparkle (= 1.22.0) + - Sparkle (= 1.23.0) SPEC REPOS: trunk: @@ -13,8 +13,8 @@ SPEC REPOS: SPEC CHECKSUMS: LetsMove: fefe56bc7bc7fb7d37049e28a14f297961229fc5 - Sparkle: 593ac2e677c07bcb6c3b22d621240e7cbedaab57 + Sparkle: 55b1a87ba69d56913375a281546b7c82dec95bb0 -PODFILE CHECKSUM: d7356c4f4fea94deb26f1654c141fcd800355daa +PODFILE CHECKSUM: 435b7bc84413df100dee2cabc99746bf7c670f1b COCOAPODS: 1.8.4 diff --git a/README.md b/README.md index 2b003512..8dbf60c5 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,10 @@ Before building my own app, I looked around at similar apps. However, none was c ## Building the project locally -This project has minimal dependency on Xcode-only features (e.g. InterfaceBuilder, Playgrounds). You can build it using 1 command `xcodebuild`. +This project has minimal dependency on Xcode-only features (e.g. InterfaceBuilder, Playgrounds). You can build it using 2 commands: + +* `pod install` to fetch the dependencies with [CocoaPods](https://cocoapods.org/) +* `xcodebuild -workspace alt-tab-macos.xcworkspace -scheme Release` to build the .app Note that on debug builds, to avoid having to re-check the `System Preferences > Security & Privacy` permissions on every build, we use a code-signing certificate. You can generate one on your local machine in one step by running `ci/generate_debug_certificate.sh`. diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index 5b002f02..adaee9e7 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -15,6 +15,7 @@ D04BA2378832FD7E5DE3BC23 /* Applications.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA66B5B4143D2238F50B9 /* Applications.swift */; }; D04BA26B4E9B4378FA7995DF /* HyperlinkLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2D2BCBA4C47E25315AF /* HyperlinkLabel.swift */; }; D04BA278D9EFA568C8D18A4C /* Windows.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD1BED44EAEB77FED8A4 /* Windows.swift */; }; + D04BA29A372E8A644273E7B3 /* update_appcast.sh in Resources */ = {isa = PBXBuildFile; fileRef = D04BA0AAAE82C72855DBBA26 /* update_appcast.sh */; }; D04BA2CBF0EFA04CC80EC1BC /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE80772D25834E440975 /* Window.swift */; }; D04BA308162F8043F8561D03 /* AXUIElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA40A4291E4F310527DBF /* AXUIElement.swift */; }; D04BA30F92801F5960ACC844 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D04BA7A48641612933710091 /* MainMenu.xib */; }; @@ -37,10 +38,12 @@ D04BA744F626B2E89331390B /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA10F57DA97A1D0320122 /* InfoPlist.strings */; }; D04BA79B891E9C89C015D6DD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAEE5AEEB8692856B45E4 /* InfoPlist.strings */; }; D04BA7F212CDB1B7E101D7A3 /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAFE3AC6E14F394956586 /* GridView.swift */; }; + D04BA826A1745BCC7E8C7B26 /* appcast.xml in Resources */ = {isa = PBXBuildFile; fileRef = D04BAAF760E3A8A22BDA84D6 /* appcast.xml */; }; D04BA8373D4DE452C0C081ED /* SF-Pro-Text-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */; }; D04BA84074E5FD6221720BC7 /* CollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */; }; D04BA8EBC0365A019A27C7EA /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */; }; D04BA99DE72CE77BA6CE5A56 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAF762580D0252489A11A /* InfoPlist.strings */; }; + D04BA9AB730AB1AF4055929D /* UpdatesTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA837A9E0A82D54EF4DB0 /* UpdatesTab.swift */; }; D04BA9CCE02D30C8164A552A /* SystemPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */; }; D04BA9EE5D34A2789DCB0EE2 /* Sysctl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA896E37EFD27CAB61DF0 /* Sysctl.swift */; }; D04BAA0F39E6160F5703FC33 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAC0D42D7FED725746DA5 /* Localizable.strings */; }; @@ -69,6 +72,7 @@ BF12DEA89785CA78B0FE2706 /* Pods-alt-tab-macos.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-alt-tab-macos.debug.xcconfig"; path = "Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos.debug.xcconfig"; sourceTree = ""; }; C0712B3BEA2B3780398C0999 /* Pods_alt_tab_macos.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_alt_tab_macos.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D04BA05F3F36A6D71DCD8475 /* en */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = ""; }; + D04BA0AAAE82C72855DBBA26 /* update_appcast.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = update_appcast.sh; sourceTree = ""; }; D04BA0CE87BE264C52987ED1 /* 7 windows - 2 lines - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - wide window.jpg"; sourceTree = ""; }; D04BA0E071D2EDFDB9A20523 /* Podfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Podfile; sourceTree = ""; }; D04BA0E1C5DBC07108AC2F54 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; @@ -112,6 +116,7 @@ D04BA8011143819B48F204C2 /* TextArea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextArea.swift; sourceTree = ""; }; D04BA81CA2D9818FCA9E5024 /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = InfoPlist.strings; sourceTree = ""; }; D04BA82F792DF53958D92572 /* alt-tab-macos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "alt-tab-macos.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + D04BA837A9E0A82D54EF4DB0 /* UpdatesTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UpdatesTab.swift; sourceTree = ""; }; D04BA896E37EFD27CAB61DF0 /* Sysctl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Sysctl.swift; sourceTree = ""; }; D04BA89FAEC4A5734D892C4B /* build_release.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = build_release.sh; sourceTree = ""; }; D04BA8BEE821E2062F23AA97 /* CollectionViewItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItem.swift; sourceTree = ""; }; @@ -122,6 +127,7 @@ D04BAA34E0CB00DED7C04B4F /* 2-rows.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2-rows.jpg"; sourceTree = ""; }; D04BAA44C837F3A67403B9DB /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewFlowLayout.swift; sourceTree = ""; }; + D04BAAF760E3A8A22BDA84D6 /* appcast.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = appcast.xml; sourceTree = ""; }; D04BAB6652494D7575057E86 /* 14 windows - 3 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "14 windows - 3 lines.jpg"; sourceTree = ""; }; D04BABC180117F8785D250E1 /* TextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; path = "SF-Pro-Text-Regular.otf"; sourceTree = ""; }; @@ -220,6 +226,7 @@ 4A443501F57D4759B190C07E /* Pods */, D04BA2A4F257F4DCE1421758 /* Podfile.lock */, D04BA0E071D2EDFDB9A20523 /* Podfile */, + D04BAAF760E3A8A22BDA84D6 /* appcast.xml */, ); sourceTree = ""; }; @@ -324,6 +331,7 @@ D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */, D04BA5E819181CB83C5602C7 /* generate_debug_certificate.sh */, D04BA89FAEC4A5734D892C4B /* build_release.sh */, + D04BA0AAAE82C72855DBBA26 /* update_appcast.sh */, ); path = ci; sourceTree = ""; @@ -352,6 +360,7 @@ D04BACD85D3966B4C9482E52 /* AppearanceTab.swift */, D04BAE23C37E0F3B07EEE7B1 /* AboutTab.swift */, D04BABD0C7A6DBA235C650A5 /* ShortcutsTab.swift */, + D04BA837A9E0A82D54EF4DB0 /* UpdatesTab.swift */, ); path = tabs; sourceTree = ""; @@ -539,6 +548,8 @@ D04BA3AE19F48237BDCDDA4F /* Localizable.strings in Resources */, D04BA3D87405EE52518CCC3E /* Podfile.lock in Resources */, D04BAE4A31689CCF132372B7 /* Podfile in Resources */, + D04BA29A372E8A644273E7B3 /* update_appcast.sh in Resources */, + D04BA826A1745BCC7E8C7B26 /* appcast.xml in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -636,6 +647,7 @@ D04BA9EE5D34A2789DCB0EE2 /* Sysctl.swift in Sources */, D04BAC4F69FE9563BC1C5E9C /* DebugProfile.swift in Sources */, D04BAE4CE37C303DDD0347B8 /* CollectionViewItemView.swift in Sources */, + D04BA9AB730AB1AF4055929D /* UpdatesTab.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/alt-tab-macos/Info.plist b/alt-tab-macos/Info.plist index de7595e8..bbd647a6 100644 --- a/alt-tab-macos/Info.plist +++ b/alt-tab-macos/Info.plist @@ -32,5 +32,11 @@ NSSupportsSuddenTermination true + SUFeedURL + https://raw.githubusercontent.com/lwouis/alt-tab-macos/v3-poc/appcast.xml + SUEnableAutomaticChecks + true + SUPublicEDKey + 2e9SQOBoaKElchSa/4QDli/nvYkyuDNfynfzBF6vJK4= diff --git a/alt-tab-macos/logic/Preferences.swift b/alt-tab-macos/logic/Preferences.swift index cfdd3a06..f4e7dc4c 100644 --- a/alt-tab-macos/logic/Preferences.swift +++ b/alt-tab-macos/logic/Preferences.swift @@ -20,8 +20,8 @@ class Preferences { MacroPreference("⌘ command", ([kVK_Command, kVK_RightCommand], .command)) ]) static let showOnScreenMacro = MacroPreferenceHelper([ - MacroPreference("Main screen", ShowOnScreenPreference.MAIN), - MacroPreference("Screen including mouse", ShowOnScreenPreference.MOUSE), + MacroPreference("Main screen", ShowOnScreenPreference.main), + MacroPreference("Screen including mouse", ShowOnScreenPreference.mouse), ]) static var defaults: [String: String] = [ @@ -36,7 +36,7 @@ class Preferences { "windowDisplayDelay": "0", "theme": themeMacro.macros[0].label, "showOnScreen": showOnScreenMacro.macros[0].label, - "hideSpaceNumberLabels": String(false) + "hideSpaceNumberLabels": String(false), ] static var rawValues = [String: String]() @@ -89,41 +89,41 @@ class Preferences { static func updateAndValidateFromString(_ valueName: String, _ value: String) throws { switch valueName { - case "maxScreenUsage": - maxScreenUsage = try CGFloat(CGFloat(value).orThrow() / 100) - case "minCellsPerRow": - minCellsPerRow = try CGFloat(value).orThrow() - case "maxCellsPerRow": - maxCellsPerRow = try CGFloat(value).orThrow() - case "minRows": - minRows = try CGFloat(value).orThrow() - case "iconSize": - iconSize = try CGFloat(value).orThrow() - case "fontHeight": - fontHeight = try CGFloat(value).orThrow() - font = NSFont.systemFont(ofSize: fontHeight) - case "tabKeyCode": - tabKeyCode = try UInt16(value).orThrow() - case "metaKey": - let p = try metaKeyMacro.labelToMacro[value].orThrow() - metaKeyCodes = p.preferences.0.map { UInt16($0) } - metaModifierFlag = p.preferences.1 - case "theme": - let p = try themeMacro.labelToMacro[value].orThrow() - cellBorderWidth = p.preferences.0 - cellCornerRadius = p.preferences.1 - windowCornerRadius = p.preferences.2 - highlightBorderColor = p.preferences.3 - highlightBackgroundColor = p.preferences.4 - case "windowDisplayDelay": - windowDisplayDelay = DispatchTimeInterval.milliseconds(try Int(value).orThrow()) - case "showOnScreen": - let p = try showOnScreenMacro.labelToMacro[value].orThrow() - showOnScreen = p.preferences - case "hideSpaceNumberLabels": - hideSpaceNumberLabels = try Bool(value).orThrow() - default: - throw NSError.make(domain: "Preferences", message: "Tried to update an unknown preference: '\(valueName)' = '\(value)'") + case "maxScreenUsage": + maxScreenUsage = try CGFloat(CGFloat(value).orThrow() / 100) + case "minCellsPerRow": + minCellsPerRow = try CGFloat(value).orThrow() + case "maxCellsPerRow": + maxCellsPerRow = try CGFloat(value).orThrow() + case "minRows": + minRows = try CGFloat(value).orThrow() + case "iconSize": + iconSize = try CGFloat(value).orThrow() + case "fontHeight": + fontHeight = try CGFloat(value).orThrow() + font = NSFont.systemFont(ofSize: fontHeight) + case "tabKeyCode": + tabKeyCode = try UInt16(value).orThrow() + case "metaKey": + let p = try metaKeyMacro.labelToMacro[value].orThrow() + metaKeyCodes = p.preferences.0.map { UInt16($0) } + metaModifierFlag = p.preferences.1 + case "theme": + let p = try themeMacro.labelToMacro[value].orThrow() + cellBorderWidth = p.preferences.0 + cellCornerRadius = p.preferences.1 + windowCornerRadius = p.preferences.2 + highlightBorderColor = p.preferences.3 + highlightBackgroundColor = p.preferences.4 + case "windowDisplayDelay": + windowDisplayDelay = DispatchTimeInterval.milliseconds(try Int(value).orThrow()) + case "showOnScreen": + let p = try showOnScreenMacro.labelToMacro[value].orThrow() + showOnScreen = p.preferences + case "hideSpaceNumberLabels": + hideSpaceNumberLabels = try Bool(value).orThrow() + default: + throw NSError.make(domain: "Preferences", message: "Tried to update an unknown preference: '\(valueName)' = '\(value)'") } rawValues[valueName] = value } @@ -188,6 +188,6 @@ class MacroPreferenceHelper { } enum ShowOnScreenPreference { - case MAIN - case MOUSE + case main + case mouse } diff --git a/alt-tab-macos/logic/Screen.swift b/alt-tab-macos/logic/Screen.swift index ab18bd40..a3ab7466 100644 --- a/alt-tab-macos/logic/Screen.swift +++ b/alt-tab-macos/logic/Screen.swift @@ -3,8 +3,8 @@ import Cocoa class Screen { static func preferred() -> NSScreen { switch Preferences.showOnScreen! { - case .MOUSE: return withMouse() ?? NSScreen.main!; // .main as fall-back - case .MAIN: return NSScreen.main!; + case .mouse: return withMouse() ?? NSScreen.main!; // .main as fall-back + case .main: return NSScreen.main!; } } diff --git a/alt-tab-macos/resources/MainMenu.xib b/alt-tab-macos/resources/MainMenu.xib index 7138adba..5c2e2380 100644 --- a/alt-tab-macos/resources/MainMenu.xib +++ b/alt-tab-macos/resources/MainMenu.xib @@ -1,7 +1,8 @@ - - + + - + + @@ -669,5 +670,6 @@ + diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index ebdb2a33..fa5b8989 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -70,6 +70,11 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { } } + @objc + func checkForUpdatesNow(_ sender: NSMenuItem) { + UpdatesTab.checkForUpdatesNow(sender) + } + @objc func showPreferencesPanel() { if preferencesWindow == nil { diff --git a/alt-tab-macos/ui/FeedbackWindow.swift b/alt-tab-macos/ui/FeedbackWindow.swift index 894e8841..f7504ad1 100644 --- a/alt-tab-macos/ui/FeedbackWindow.swift +++ b/alt-tab-macos/ui/FeedbackWindow.swift @@ -63,12 +63,12 @@ class FeedbackWindow: NSWindow { } @objc - private func cancelCallback(senderControl: NSControl) { + private func cancelCallback() { close() } @objc - private func sendCallback(senderControl: NSControl) { + private func sendCallback() { URLSession.shared.dataTask(with: prepareRequest(), completionHandler: { data, response, error in if error != nil || response == nil || (response as! HTTPURLResponse).statusCode != 201 { debugPrint("HTTP call failed:", response ?? "nil", error ?? "nil") diff --git a/alt-tab-macos/ui/Menubar.swift b/alt-tab-macos/ui/Menubar.swift index 3aaf2590..27c83307 100644 --- a/alt-tab-macos/ui/Menubar.swift +++ b/alt-tab-macos/ui/Menubar.swift @@ -8,16 +8,20 @@ class Menubar { item.menu!.addItem( withTitle: NSLocalizedString("Show", comment: ""), action: #selector(app.showUi), - keyEquivalent: "s" + keyEquivalent: "" ) item.menu!.addItem( withTitle: NSLocalizedString("Preferences…", comment: ""), action: #selector(app.showPreferencesPanel), keyEquivalent: ",") + item.menu!.addItem( + withTitle: NSLocalizedString("Check for updates…", comment: ""), + action: #selector(app.checkForUpdatesNow), + keyEquivalent: "") item.menu!.addItem( withTitle: NSLocalizedString("Send feedback…", comment: ""), action: #selector(app.showFeedbackPanel), - keyEquivalent: ",") + keyEquivalent: "") item.menu!.addItem(NSMenuItem.separator()) item.menu!.addItem( withTitle: NSLocalizedString("Quit", comment: "") + " " + App.name, diff --git a/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift b/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift index 626ee746..969e75f7 100644 --- a/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift +++ b/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift @@ -53,6 +53,7 @@ class PreferencesWindow: NSWindow { tabViewController.tabStyle = .toolbar tabViewController.addTabViewItem(ShortcutsTab.make()) tabViewController.addTabViewItem(AppearanceTab.make()) + tabViewController.addTabViewItem(UpdatesTab.make()) tabViewController.addTabViewItem(AboutTab.make()) } diff --git a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift index 39c75720..c716ff0e 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift @@ -24,16 +24,17 @@ class AboutTab: NSObject { appInfo.spacing = GridView.interPadding let view = GridView.make([ [appInfo], - [NSButton(title: NSLocalizedString("Send feedback", comment: ""), target: self, action: #selector(feedbackCallback))], + [NSButton(title: NSLocalizedString("Send feedback…", comment: ""), target: self, action: #selector(feedbackCallback))], ]) - view.row(at: 1).topPadding = GridView.interPadding * 2 - view.cell(atColumnIndex: 0, rowIndex: 1).xPlacement = .center + let sendFeedbackCell = view.cell(atColumnIndex: 0, rowIndex: 1) + sendFeedbackCell.xPlacement = .center + sendFeedbackCell.row!.topPadding = GridView.interPadding view.fit() return view } @objc - static func feedbackCallback(senderControl: NSControl) { + static func feedbackCallback() { (App.shared as! App).showFeedbackPanel() } } diff --git a/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift b/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift index 401956e6..0d458663 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift @@ -1,7 +1,7 @@ import Cocoa class ShortcutsTab { - private static let rowHeight = CGFloat(20) + private static let rowHeight = CGFloat(22) // height of the "Tab key" input static func make() -> NSTabViewItem { return TabViewItem.make(NSLocalizedString("Shortcuts", comment: ""), NSImage.preferencesGeneralName, makeView()) diff --git a/alt-tab-macos/ui/preferences-window/tabs/UpdatesTab.swift b/alt-tab-macos/ui/preferences-window/tabs/UpdatesTab.swift new file mode 100644 index 00000000..1982c9d6 --- /dev/null +++ b/alt-tab-macos/ui/preferences-window/tabs/UpdatesTab.swift @@ -0,0 +1,69 @@ +import Cocoa +import Sparkle + +class UpdatesTab: NSObject { + static var dontPeriodicallyCheck: NSButton! + static var periodicallyCheck: NSButton! + static var periodicallyInstall: NSButton! + static var policyObserver = PolicyObserver() + + static func make() -> NSTabViewItem { + return TabViewItem.make(NSLocalizedString("Updates", comment: ""), NSImage.refreshTemplateName, makeView()) + } + + static func makeView() -> NSGridView { + dontPeriodicallyCheck = NSButton(radioButtonWithTitle: NSLocalizedString("Don't check for updates periodically", comment: ""), target: self, action: #selector(updatePolicyCallback)) + dontPeriodicallyCheck.fit() + periodicallyCheck = NSButton(radioButtonWithTitle: NSLocalizedString("Check for updates periodically", comment: ""), target: self, action: #selector(updatePolicyCallback)) + periodicallyCheck.fit() + periodicallyInstall = NSButton(radioButtonWithTitle: NSLocalizedString("Auto-install updates periodically", comment: ""), target: self, action: #selector(updatePolicyCallback)) + periodicallyInstall.fit() + let policyLabel = NSTextField(wrappingLabelWithString: NSLocalizedString("Updates policy:", comment: "")) + let policies = NSStackView(views: [dontPeriodicallyCheck, periodicallyCheck, periodicallyInstall]) + policies.alignment = .left + policies.orientation = .vertical + policies.spacing = GridView.interPadding / 2 + observePolicy() + let view = GridView.make([ + [policyLabel, policies], + [NSButton(title: NSLocalizedString("Check for updates now…", comment: ""), target: self, action: #selector(checkForUpdatesNow))], + ]) + view.cell(atColumnIndex: 0, rowIndex: 0).xPlacement = .trailing + let row1 = view.row(at: 1) + row1.mergeCells(in: NSRange(location: 0, length: 2)) + row1.topPadding = GridView.interPadding + row1.cell(at: 0).xPlacement = .center + view.fit() + return view + } + + private static func observePolicy() { + UserDefaults.standard.addObserver(UpdatesTab.policyObserver, forKeyPath: "SUAutomaticallyUpdate", options: [.initial, .new], context: nil) + UserDefaults.standard.addObserver(UpdatesTab.policyObserver, forKeyPath: "SUEnableAutomaticChecks", options: [.initial, .new], context: nil) + } + + @objc + static func checkForUpdatesNow(_ sender: Any) { + SUUpdater.shared().checkForUpdates(sender) + } + + @objc + static func updatePolicyCallback() { + SUUpdater.shared().automaticallyDownloadsUpdates = periodicallyInstall.state == .on + SUUpdater.shared().automaticallyChecksForUpdates = periodicallyInstall.state == .on || periodicallyCheck.state == .on + } +} + +class PolicyObserver: NSObject { + override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) { + if SUUpdater.shared().automaticallyDownloadsUpdates { + UpdatesTab.periodicallyInstall.state = .on + // Sparkle UI "Automatically download and install updates in the future" doesn't activate periodical checks; we do it manually + SUUpdater.shared().automaticallyChecksForUpdates = true + } else if SUUpdater.shared().automaticallyChecksForUpdates { + UpdatesTab.periodicallyCheck.state = .on + } else { + UpdatesTab.dontPeriodicallyCheck.state = .on + } + } +} diff --git a/appcast.xml b/appcast.xml new file mode 100644 index 00000000..74a8744c --- /dev/null +++ b/appcast.xml @@ -0,0 +1,28 @@ + + + + alt-tab-macos + en + + + Version 2.3.4 + Wed, 22 Jan 2020 07:56:00 +0900 + 10.12 + 2.3.4 (2020-01-22) +

Bug Fixes

+
    +
  • escape key was absorbed by the inactive app (closes #123) (5260619)
  • +
+ ]]> +
+ +
+ +
+
diff --git a/ci/build_release.sh b/ci/build_release.sh index c909d25f..6750e20d 100755 --- a/ci/build_release.sh +++ b/ci/build_release.sh @@ -18,4 +18,4 @@ echo "$APPLE_P12_CERTIFICATE" | base64 --decode > $certificateFile.p12 security import $certificateFile.p12 -P "$APPLE_P12_CERTIFICATE_PASSWORD" -T /usr/bin/codesign security set-key-partition-list -S apple-tool:,apple: -s -k $keychainPassword $keychain # build release .app -xcodebuild CODE_SIGN_IDENTITY="Developer ID Application: Louis Pontoise (QXD7GW8FHY)" +xcodebuild CODE_SIGN_IDENTITY="Developer ID Application: Louis Pontoise (QXD7GW8FHY)" -workspace alt-tab-macos.xcworkspace -scheme Release diff --git a/ci/determine_version.sh b/ci/determine_version.sh index 4242bcb5..ae4dc0ed 100755 --- a/ci/determine_version.sh +++ b/ci/determine_version.sh @@ -4,5 +4,7 @@ set -exu semanticRelease=$(npx semantic-release --dry-run --ci false) version=$(echo "$semanticRelease" | sed -nE 's/.+The next release version is (.+)/\1/p') +changelogDelta=$(echo "$semanticRelease" | sed -n '/Release note for version/,$p' | sed '1d') echo "$version" > VERSION.txt +echo "$changelogDelta" > CHANGELOG_DELTA.txt diff --git a/ci/update_appcast.sh b/ci/update_appcast.sh new file mode 100755 index 00000000..7a38ee35 --- /dev/null +++ b/ci/update_appcast.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +set -exu + +version="$(cat VERSION.txt)" +changelogDelta="$(npx marked < CHANGELOG_DELTA.txt)" +date="$(date +'%a, %d %b %Y %H:%M:%S %z')" +minimumSystemVersion="$(sed -En 's/MACOSX_DEPLOYMENT_TARGET = (.+);/\1/p' alt-tab-macos.xcodeproj/project.pbxproj | head -n 1 | awk '{$1=$1};1')" +version="$(cat VERSION.txt)" +zipName="AltTab-$version.zip" +edSignatureAndLength=$(Pods/Sparkle/bin/sign_update -s $SPARKLE_ED_PRIVATE_KEY "build/Release/$zipName") + +echo " + + Version $version + $date + $minimumSystemVersion + + + + +" > ITEM.txt + +sed -i '' -e "/<\/language>/r ITEM.txt" appcast.xml diff --git a/package-lock.json b/package-lock.json index 6ae4eaf8..20f1b43c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2380,9 +2380,9 @@ "dev": true }, "marked": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", - "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.8.0.tgz", + "integrity": "sha512-MyUe+T/Pw4TZufHkzAfDj6HarCBWia2y27/bhuYkTaiUnfDYFnCP3KUN+9oM7Wi6JA2rymtVYbQu3spE0GCmxQ==", "dev": true }, "marked-terminal": { @@ -6669,6 +6669,12 @@ "yallist": "^3.0.2" } }, + "marked": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", + "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==", + "dev": true + }, "p-limit": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", diff --git a/package.json b/package.json index 572d330a..5e95a119 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "@semantic-release/changelog": "^3.0.4", "@semantic-release/git": "^7.0.16", "husky": "^3.0.4", + "marked": "^0.8.0", "semantic-release": "^15.13.24" } } diff --git a/release.config.js b/release.config.js index 7a9de881..8200cedd 100644 --- a/release.config.js +++ b/release.config.js @@ -40,7 +40,10 @@ module.exports = { '@semantic-release/changelog', [ '@semantic-release/git', { - 'assets': ['CHANGELOG.md'], + 'assets': [ + 'CHANGELOG.md', + 'appcast.xml' + ], }, ], ], From 1b34ae666b325e49548e909d17df7232a2d43267 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 12 Feb 2020 18:48:57 +0900 Subject: [PATCH 68/98] feat: migrate to standard os-backed preferences (closes #161) --- alt-tab-macos/logic/DebugProfile.swift | 4 +- alt-tab-macos/logic/Preferences.swift | 256 ++++++------------ alt-tab-macos/logic/Screen.swift | 2 +- alt-tab-macos/ui/App.swift | 2 +- .../preferences-window/LabelAndControl.swift | 13 +- .../PreferencesWindow.swift | 69 +---- .../tabs/AppearanceTab.swift | 4 +- .../tabs/ShortcutsTab.swift | 2 +- .../preferences-window/tabs/UpdatesTab.swift | 5 + 9 files changed, 107 insertions(+), 250 deletions(-) diff --git a/alt-tab-macos/logic/DebugProfile.swift b/alt-tab-macos/logic/DebugProfile.swift index 564a02e2..24211440 100644 --- a/alt-tab-macos/logic/DebugProfile.swift +++ b/alt-tab-macos/logic/DebugProfile.swift @@ -42,9 +42,9 @@ class DebugProfile { } private static func appPreferences() -> String { - return nestedSeparator + Preferences.rawValues + return nestedSeparator + Preferences.all .sorted { $0.0 < $1.0 } - .map { $0 + intraSeparator + $1 } + .map { $0.key + intraSeparator + Preferences.getAsString($0.key)! } .joined(separator: nestedSeparator) } diff --git a/alt-tab-macos/logic/Preferences.swift b/alt-tab-macos/logic/Preferences.swift index f4e7dc4c..ce15129a 100644 --- a/alt-tab-macos/logic/Preferences.swift +++ b/alt-tab-macos/logic/Preferences.swift @@ -1,193 +1,113 @@ import Cocoa import Carbon.HIToolbox.Events -class Preferences { - // the following constant are not exposed as preferences but may be in the future, probably through macro preferences - static let windowMaterial = NSVisualEffectView.Material.dark - static let fontColor = NSColor.white - static let windowPadding = CGFloat(23) - static let interCellPadding = CGFloat(5) - static let intraCellPadding = CGFloat(5) - static let fontIconSize = CGFloat(20) - - static let themeMacro = MacroPreferenceHelper<(CGFloat, CGFloat, CGFloat, NSColor, NSColor)>([ - MacroPreference(" macOS", (0, 5, 20, .clear, NSColor(red: 0, green: 0, blue: 0, alpha: 0.4))), - MacroPreference("❖ Windows 10", (2, 0, 0, .white, .clear)) - ]) - static let metaKeyMacro = MacroPreferenceHelper<([Int], NSEvent.ModifierFlags)>([ - MacroPreference("⌥ option", ([kVK_Option, kVK_RightOption], .option)), - MacroPreference("⌃ control", ([kVK_Control, kVK_RightControl], .control)), - MacroPreference("⌘ command", ([kVK_Command, kVK_RightCommand], .command)) - ]) - static let showOnScreenMacro = MacroPreferenceHelper([ - MacroPreference("Main screen", ShowOnScreenPreference.main), - MacroPreference("Screen including mouse", ShowOnScreenPreference.mouse), - ]) +let defaults = UserDefaults.standard - static var defaults: [String: String] = [ - "maxScreenUsage": "80", - "minCellsPerRow": "5", - "maxCellsPerRow": "10", - "minRows": "3", - "iconSize": "32", - "fontHeight": "15", - "tabKeyCode": String(kVK_Tab), - "metaKey": metaKeyMacro.macros[0].label, - "windowDisplayDelay": "0", - "theme": themeMacro.macros[0].label, - "showOnScreen": showOnScreenMacro.macros[0].label, - "hideSpaceNumberLabels": String(false), +class Preferences { + // default values + static var defaultValues: [String : Any] = [ + "maxScreenUsage": Float(80), + "minCellsPerRow": Float(5), + "maxCellsPerRow": Float(10), + "minRows": Float(3), + "iconSize": Float(32), + "fontHeight": Float(15), + "tabKeyCode": kVK_Tab, + "windowDisplayDelay": 0, + "metaKey": MacroPreferences.metaKeyList.keys.first!, + "theme": MacroPreferences.themeList.keys.first!, + "showOnScreen": MacroPreferences.showOnScreenList.keys.first!, + "hideSpaceNumberLabels": false, ] - static var rawValues = [String: String]() - - static var cellBorderWidth: CGFloat! - static var cellCornerRadius: CGFloat! - static var tabKeyCode: UInt16! - static var highlightBorderColor: NSColor! - static var highlightBackgroundColor: NSColor! - static var metaKeyCodes: [UInt16]! - static var metaModifierFlag: NSEvent.ModifierFlags! - static var windowDisplayDelay: DispatchTimeInterval! - static var windowCornerRadius: CGFloat! - static var showOnScreen: ShowOnScreenPreference! - static var hideSpaceNumberLabels: Bool! - static var maxScreenUsage: CGFloat! - static var iconSize: CGFloat! - static var fontHeight: CGFloat! - static var font: NSFont! - static var minCellsPerRow: CGFloat! - static var maxCellsPerRow: CGFloat! - static var minRows: CGFloat! - - private static let defaultsFile = fileFromPreferencesFolder("alt-tab-macos-defaults.json") - private static let userFile = fileFromPreferencesFolder("alt-tab-macos.json") - - static func loadFromDiskAndUpdateValues() { - do { - try saveDefaultsToDisk() - let preferencesExist = FileManager.default.fileExists(atPath: userFile.path) - if !preferencesExist { - try FileManager.default.copyItem(at: defaultsFile, to: userFile) - } - rawValues = try loadFromDisk(userFile) - if preferencesExist { - let compatiblePreferences = rawValues.filter { defaults[$0.key] != nil } - rawValues = defaults.merging(compatiblePreferences) { (_, new) in new } - } - try rawValues.forEach { try updateAndValidateFromString($0.key, $0.value) } - if preferencesExist { - try saveRawToDisk() - } - } catch { - debugPrint("Error loading preferences", error) - if (FileManager.default.fileExists(atPath: userFile.path)) { - try! FileManager.default.removeItem(at: userFile) - } - loadFromDiskAndUpdateValues() - } - } - - static func updateAndValidateFromString(_ valueName: String, _ value: String) throws { - switch valueName { - case "maxScreenUsage": - maxScreenUsage = try CGFloat(CGFloat(value).orThrow() / 100) - case "minCellsPerRow": - minCellsPerRow = try CGFloat(value).orThrow() - case "maxCellsPerRow": - maxCellsPerRow = try CGFloat(value).orThrow() - case "minRows": - minRows = try CGFloat(value).orThrow() - case "iconSize": - iconSize = try CGFloat(value).orThrow() - case "fontHeight": - fontHeight = try CGFloat(value).orThrow() - font = NSFont.systemFont(ofSize: fontHeight) - case "tabKeyCode": - tabKeyCode = try UInt16(value).orThrow() - case "metaKey": - let p = try metaKeyMacro.labelToMacro[value].orThrow() - metaKeyCodes = p.preferences.0.map { UInt16($0) } - metaModifierFlag = p.preferences.1 - case "theme": - let p = try themeMacro.labelToMacro[value].orThrow() - cellBorderWidth = p.preferences.0 - cellCornerRadius = p.preferences.1 - windowCornerRadius = p.preferences.2 - highlightBorderColor = p.preferences.3 - highlightBackgroundColor = p.preferences.4 - case "windowDisplayDelay": - windowDisplayDelay = DispatchTimeInterval.milliseconds(try Int(value).orThrow()) - case "showOnScreen": - let p = try showOnScreenMacro.labelToMacro[value].orThrow() - showOnScreen = p.preferences - case "hideSpaceNumberLabels": - hideSpaceNumberLabels = try Bool(value).orThrow() - default: - throw NSError.make(domain: "Preferences", message: "Tried to update an unknown preference: '\(valueName)' = '\(value)'") - } - rawValues[valueName] = value - } - - static func saveRawToDisk() throws { - ProcessInfo.processInfo.disableSuddenTermination() - try saveToDisk(rawValues, userFile) - ProcessInfo.processInfo.enableSuddenTermination() - } - private static func preferencesVersion(_ url: URL) throws -> Int { - return try Int(loadFromDisk(url)["version"] ?? "0").orThrow() + // constant values + // not exposed as preferences now but may be in the future, probably through macro preferences + static var windowMaterial: NSVisualEffectView.Material { .dark } + static var fontColor: NSColor { .white } + static var windowPadding: CGFloat { 23 } + static var interCellPadding: CGFloat { 5 } + static var intraCellPadding: CGFloat { 5 } + static var fontIconSize: CGFloat { 20 } + + // persisted values + static var maxScreenUsage: CGFloat { CGFloat(defaults.float(forKey: "maxScreenUsage") / 100) } + static var minCellsPerRow: CGFloat { CGFloat(defaults.float(forKey: "minCellsPerRow")) } + static var maxCellsPerRow: CGFloat { CGFloat(defaults.float(forKey: "maxCellsPerRow")) } + static var minRows: CGFloat { CGFloat(defaults.float(forKey: "minRows")) } + static var iconSize: CGFloat { CGFloat(defaults.float(forKey: "iconSize")) } + static var fontHeight: CGFloat { CGFloat(defaults.float(forKey: "fontHeight")) } + static var tabKeyCode: UInt16 { UInt16(defaults.integer(forKey: "tabKeyCode")) } + static var windowDisplayDelay: DispatchTimeInterval { DispatchTimeInterval.milliseconds(defaults.integer(forKey: "windowDisplayDelay")) } + static var hideSpaceNumberLabels: Bool { defaults.bool(forKey: "hideSpaceNumberLabels") } + + // macro values + static var theme: Theme { MacroPreferences.themeList[defaults.string(forKey: "theme")!]! } + static var metaKey: MetaKey { MacroPreferences.metaKeyList[defaults.string(forKey: "metaKey")!]! } + static var showOnScreen: ShowOnScreenPreference { MacroPreferences.showOnScreenList[defaults.string(forKey: "showOnScreen")!]! } + + // derived values + static var cellBorderWidth: CGFloat { theme.cellBorderWidth } + static var cellCornerRadius: CGFloat { theme.cellCornerRadius } + static var windowCornerRadius: CGFloat { theme.windowCornerRadius } + static var highlightBorderColor: NSColor { theme.highlightBorderColor } + static var highlightBackgroundColor: NSColor { theme.highlightBackgroundColor } + static var metaKeyCodes: [UInt16] { metaKey.keyCodes.map { UInt16($0) } } + static var metaModifierFlag: NSEvent.ModifierFlags { metaKey.modifierFlag } + static var font: NSFont { NSFont.systemFont(ofSize: fontHeight) } + + static func registerDefaults() { + defaults.register(defaults: defaultValues) } - private static func loadFromDisk(_ url: URL) throws -> [String: String] { - return try JSONDecoder().decode([String: String].self, from: Data(contentsOf: url)) + static func get(_ key: String) -> Any? { + defaults.object(forKey: key) } - private static func saveDefaultsToDisk() throws { - try saveToDisk(defaults, defaultsFile) + static func getAsString(_ key: String) -> String? { + defaults.string(forKey: key) } - private static func saveToDisk(_ values: [String: String], _ path: URL) throws { - let encoder = JSONEncoder() - encoder.outputFormatting = .prettyPrinted - try encoder - .encode(values) - .write(to: path) + static func set(_ key: String, _ value: Any?) { + defaults.set(value, forKey: key) } - private static func fileFromPreferencesFolder(_ fileName: String) -> URL { - return FileManager.default - .urls(for: .libraryDirectory, in: .userDomainMask) - .first! - .appendingPathComponent("Preferences", isDirectory: true) - .appendingPathComponent(fileName) - } + static var all: [String: Any] { defaults.dictionaryRepresentation() } } -struct MacroPreference { +struct Theme { let label: String - let preferences: T - - init(_ label: String, _ preferences: T) { - self.label = label - self.preferences = preferences - } + let cellBorderWidth: CGFloat + let cellCornerRadius: CGFloat + let windowCornerRadius: CGFloat + let highlightBorderColor: NSColor + let highlightBackgroundColor: NSColor } -class MacroPreferenceHelper { - let macros: [MacroPreference] - var labels = [String]() - var labelToMacro = [String: MacroPreference]() - - init(_ array: [MacroPreference]) { - self.macros = array - array.forEach { - labelToMacro[$0.label] = $0 - labels.append($0.label) - } - } +struct MetaKey { + let label: String + let keyCodes: [Int] + let modifierFlag: NSEvent.ModifierFlags } enum ShowOnScreenPreference { case main case mouse } + +// macros are collection of values derived from a single key +// we don't want to store every value in UserDefaults as the user could change them and contradict the macro +class MacroPreferences { + static let themeList = [ + " macOS": Theme(label: " macOS", cellBorderWidth: 0, cellCornerRadius: 5, windowCornerRadius: 20, highlightBorderColor: .clear, highlightBackgroundColor: NSColor(red: 0, green: 0, blue: 0, alpha: 0.4)), + "❖ Windows 10": Theme(label: "❖ Windows 10", cellBorderWidth: 2, cellCornerRadius: 0, windowCornerRadius: 0, highlightBorderColor: .white, highlightBackgroundColor: .clear), + ] + static let metaKeyList = [ + "⌥ option": MetaKey(label: "⌥ option", keyCodes: [kVK_Option, kVK_RightOption], modifierFlag: .option), + "⌃ control": MetaKey(label: "⌃ control", keyCodes: [kVK_Control, kVK_RightControl], modifierFlag: .control), + "⌘ command": MetaKey(label: "⌘ command", keyCodes: [kVK_Command, kVK_RightCommand], modifierFlag: .command) + ] + static let showOnScreenList = [ + "Main screen": ShowOnScreenPreference.main, + "Screen including mouse": ShowOnScreenPreference.mouse, + ] +} diff --git a/alt-tab-macos/logic/Screen.swift b/alt-tab-macos/logic/Screen.swift index a3ab7466..a0f72d4e 100644 --- a/alt-tab-macos/logic/Screen.swift +++ b/alt-tab-macos/logic/Screen.swift @@ -2,7 +2,7 @@ import Cocoa class Screen { static func preferred() -> NSScreen { - switch Preferences.showOnScreen! { + switch Preferences.showOnScreen { case .mouse: return withMouse() ?? NSScreen.main!; // .main as fall-back case .main: return NSScreen.main!; } diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index fa5b8989..7339a9eb 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -32,7 +32,7 @@ class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { #endif SystemPermissions.ensureAccessibilityCheckboxIsChecked() SystemPermissions.ensureScreenRecordingCheckboxIsChecked() - Preferences.loadFromDiskAndUpdateValues() + Preferences.registerDefaults() statusItem = Menubar.make(self) loadMainMenuXib() initPreferencesDependentComponents() diff --git a/alt-tab-macos/ui/preferences-window/LabelAndControl.swift b/alt-tab-macos/ui/preferences-window/LabelAndControl.swift index 2cb46075..ed71bb54 100644 --- a/alt-tab-macos/ui/preferences-window/LabelAndControl.swift +++ b/alt-tab-macos/ui/preferences-window/LabelAndControl.swift @@ -4,7 +4,7 @@ class LabelAndControl: NSObject { static var callbackTarget: PreferencesWindow! static func makeLabelWithInput(_ labelText: String, _ rawName: String, _ width: CGFloat, _ suffixText: String? = nil, _ suffixUrl: String? = nil, _ validator: ((String) -> Bool)? = nil) -> [NSView] { - let input = TextField(Preferences.rawValues[rawName]!) + let input = TextField(Preferences.getAsString(rawName)!) input.validationHandler = validator input.delegate = input input.visualizeValidationState() @@ -15,19 +15,19 @@ class LabelAndControl: NSObject { static func makeLabelWithCheckbox(_ labelText: String, _ rawName: String) -> [NSView] { let checkbox = NSButton(checkboxWithTitle: "", target: nil, action: nil) - setControlValue(checkbox, Preferences.rawValues[rawName]!) + setControlValue(checkbox, Preferences.getAsString(rawName)!) return makeLabelWithProvidedControl(labelText, rawName, checkbox) } static func makeLabelWithDropdown(_ labelText: String, _ rawName: String, _ values: [String], _ suffixText: String? = nil) -> [NSView] { let popUp = NSPopUpButton() popUp.addItems(withTitles: values) - popUp.selectItem(withTitle: Preferences.rawValues[rawName]!) + popUp.selectItem(withTitle: Preferences.getAsString(rawName)!) return makeLabelWithProvidedControl(labelText, rawName, popUp, suffixText) } static func makeLabelWithSlider(_ labelText: String, _ rawName: String, _ minValue: Double, _ maxValue: Double, _ numberOfTickMarks: Int, _ allowsTickMarkValuesOnly: Bool, _ unitText: String = "") -> [NSView] { - let value = Preferences.rawValues[rawName]! + let value = Preferences.getAsString(rawName)! let suffixText = value + " " + unitText let slider = NSSlider() slider.minValue = minValue @@ -74,8 +74,6 @@ class LabelAndControl: NSObject { return suffix } - - static func getControlValue(_ control: NSControl) -> String { if control is NSPopUpButton { return (control as! NSPopUpButton).titleOfSelectedItem! @@ -107,13 +105,10 @@ class LabelAndControl: NSObject { } } - - private static func updateSuffixWithValue(_ control: NSControl, _ value: String) { let suffixIdentifierPredicate = { (view: NSView) -> Bool in view.identifier?.rawValue == control.identifier!.rawValue + ControlIdentifierDiscriminator.SUFFIX.rawValue } - if let suffixView: NSTextField = control.superview?.subviews.first(where: suffixIdentifierPredicate) as? NSTextField { let regex = try! NSRegularExpression(pattern: "^[0-9]+") // first decimal let range = NSMakeRange(0, suffixView.stringValue.count) diff --git a/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift b/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift index 969e75f7..fdab18b2 100644 --- a/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift +++ b/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift @@ -1,7 +1,6 @@ import Cocoa class PreferencesWindow: NSWindow { - var windowCloseRequested = false let tabViewController = TabViewController() override init(contentRect: NSRect, styleMask style: StyleMask, backing backingStoreType: BackingStoreType, defer flag: Bool) { @@ -17,29 +16,10 @@ class PreferencesWindow: NSWindow { } func controlWasChanged(_ senderControl: NSControl) { - let key: String = senderControl.identifier!.rawValue - let previousValue: String = Preferences.rawValues[key]! - let newValue: String = LabelAndControl.getControlValue(senderControl) - let invalidTextField = senderControl is TextField && !(senderControl as! TextField).isValid() - - if (invalidTextField && !windowCloseRequested) || (newValue == previousValue && !invalidTextField) { - return - } - + let newValue = LabelAndControl.getControlValue(senderControl) LabelAndControl.updateControlExtras(senderControl, newValue) - - do { - // TODO: remove conditional as soon a Preference does validation on its own - if invalidTextField && windowCloseRequested { - throw NSError.make(domain: "Preferences", message: "Please enter a valid value for '" + key + "'") - } - try Preferences.updateAndValidateFromString(key, newValue) - try Preferences.saveRawToDisk() - (App.shared as! App).initPreferencesDependentComponents() - } catch let error { - debugPrint("PreferencesWindow: save: error", key, newValue, error) - showSaveErrorSheetModal(error as NSError, senderControl, key, previousValue) // allows recursive call by user choice - } + Preferences.set(senderControl.identifier!.rawValue, newValue) + (App.shared as! App).initPreferencesDependentComponents() } private func setupWindow() { @@ -56,47 +36,4 @@ class PreferencesWindow: NSWindow { tabViewController.addTabViewItem(UpdatesTab.make()) tabViewController.addTabViewItem(AboutTab.make()) } - - private func challengeNextInvalidEditableTextField() { - let invalidFields = (contentView? - .findNestedViews(subclassOf: TextField.self) - .filter({ !$0.isValid() }) - ) - let focusedField = invalidFields?.filter({ $0.currentEditor() != nil }).first - let fieldToNotify = focusedField ?? invalidFields?.first - fieldToNotify?.delegate?.controlTextDidChange?(Notification(name: NSControl.textDidChangeNotification, object: fieldToNotify)) - - if fieldToNotify != focusedField { - makeFirstResponder(fieldToNotify) - } - } - - private func showSaveErrorSheetModal(_ nsError: NSError, _ control: NSControl, _ key: String, _ previousValue: String) { - let alert = NSAlert() - alert.messageText = NSLocalizedString("Could not save Preference", comment: "") - alert.informativeText = nsError.localizedDescription + "\n" - alert.addButton(withTitle: NSLocalizedString("Edit", comment: "")) - alert.addButton(withTitle: NSLocalizedString("Cancel", comment: "")) - alert.addButton(withTitle: NSLocalizedString("Check again", comment: "")) - - alert.beginSheetModal(for: self, completionHandler: { (modalResponse: NSApplication.ModalResponse) -> Void in - if modalResponse == NSApplication.ModalResponse.alertFirstButtonReturn { - debugPrint("PreferencesWindow: save: error: user choice: edit") - self.windowCloseRequested = false - } - if modalResponse == NSApplication.ModalResponse.alertSecondButtonReturn { - debugPrint("PreferencesWindow: save: error: user choice: cancel -> revert value and eventually close window") - try! Preferences.updateAndValidateFromString(key, previousValue) - LabelAndControl.setControlValue(control, previousValue) - LabelAndControl.updateControlExtras(control, previousValue) - if self.windowCloseRequested { - self.close() - } - } - if modalResponse == NSApplication.ModalResponse.alertThirdButtonReturn { - debugPrint("PreferencesWindow: save: error: user choice: check again") - self.controlWasChanged(control) - } - }) - } } diff --git a/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift index 132bbc28..69596095 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift @@ -9,14 +9,14 @@ class AppearanceTab { private static func makeView() -> NSGridView { let view = GridView.make([ - LabelAndControl.makeLabelWithDropdown(NSLocalizedString("Theme", comment: ""), "theme", Preferences.themeMacro.labels), + LabelAndControl.makeLabelWithDropdown(NSLocalizedString("Theme", comment: ""), "theme", MacroPreferences.themeList.values.map { $0.label }), LabelAndControl.makeLabelWithSlider(NSLocalizedString("Max size on screen", comment: ""), "maxScreenUsage", 10, 100, 10, true, "%"), LabelAndControl.makeLabelWithSlider(NSLocalizedString("Min windows per row", comment: ""), "minCellsPerRow", 1, 20, 20, true), LabelAndControl.makeLabelWithSlider(NSLocalizedString("Max windows per row", comment: ""), "maxCellsPerRow", 1, 40, 20, true), LabelAndControl.makeLabelWithSlider(NSLocalizedString("Min rows of windows", comment: ""), "minRows", 1, 20, 20, true), LabelAndControl.makeLabelWithSlider(NSLocalizedString("Window app icon size", comment: ""), "iconSize", 0, 64, 11, false, "px"), LabelAndControl.makeLabelWithSlider(NSLocalizedString("Window title font size", comment: ""), "fontHeight", 0, 64, 11, false, "px"), - LabelAndControl.makeLabelWithDropdown(NSLocalizedString("Show on", comment: ""), "showOnScreen", Preferences.showOnScreenMacro.labels), + LabelAndControl.makeLabelWithDropdown(NSLocalizedString("Show on", comment: ""), "showOnScreen", Array(MacroPreferences.showOnScreenList.keys)), LabelAndControl.makeLabelWithSlider(NSLocalizedString("Apparition delay", comment: ""), "windowDisplayDelay", 0, 2000, 11, false, "ms"), LabelAndControl.makeLabelWithCheckbox(NSLocalizedString("Hide space number labels", comment: ""), "hideSpaceNumberLabels"), ]) diff --git a/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift b/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift index 0d458663..2a016322 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift @@ -22,7 +22,7 @@ class ShortcutsTab { } let view = GridView.make([ - LabelAndControl.makeLabelWithDropdown(NSLocalizedString("Alt key", comment: ""), "metaKey", Preferences.metaKeyMacro.labels), + LabelAndControl.makeLabelWithDropdown(NSLocalizedString("Alt key", comment: ""), "metaKey", MacroPreferences.metaKeyList.values.map { $0.label }), LabelAndControl.makeLabelWithInput(NSLocalizedString("Tab key", comment: ""), "tabKeyCode", 33, NSLocalizedString("KeyCodes Reference", comment: ""), "https://eastmanreference.com/complete-list-of-applescript-key-codes", tabKeyCodeValidator), ]) view.column(at: 0).xPlacement = .trailing diff --git a/alt-tab-macos/ui/preferences-window/tabs/UpdatesTab.swift b/alt-tab-macos/ui/preferences-window/tabs/UpdatesTab.swift index 1982c9d6..4c3b3c85 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/UpdatesTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/UpdatesTab.swift @@ -6,6 +6,8 @@ class UpdatesTab: NSObject { static var periodicallyCheck: NSButton! static var periodicallyInstall: NSButton! static var policyObserver = PolicyObserver() + // this helps prevent double-dipping (i.e. user updates the UI > changes the preference > updates the UI) + static var policyLock = false static func make() -> NSTabViewItem { return TabViewItem.make(NSLocalizedString("Updates", comment: ""), NSImage.refreshTemplateName, makeView()) @@ -49,13 +51,16 @@ class UpdatesTab: NSObject { @objc static func updatePolicyCallback() { + policyLock = true SUUpdater.shared().automaticallyDownloadsUpdates = periodicallyInstall.state == .on SUUpdater.shared().automaticallyChecksForUpdates = periodicallyInstall.state == .on || periodicallyCheck.state == .on + policyLock = false } } class PolicyObserver: NSObject { override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) { + guard !UpdatesTab.policyLock else { return } if SUUpdater.shared().automaticallyDownloadsUpdates { UpdatesTab.periodicallyInstall.state = .on // Sparkle UI "Automatically download and install updates in the future" doesn't activate periodical checks; we do it manually From a821156a1053585afc83d0cf218bea2e9755d3de Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Wed, 12 Feb 2020 20:20:44 +0900 Subject: [PATCH 69/98] feat: make system calls more parallel (closes #160) --- alt-tab-macos/api-wrappers/HelperExtensions.swift | 15 +++++++++++++++ alt-tab-macos/logic/Windows.swift | 13 ++++++------- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/alt-tab-macos/api-wrappers/HelperExtensions.swift b/alt-tab-macos/api-wrappers/HelperExtensions.swift index db2bc0b1..2a1eb5e1 100644 --- a/alt-tab-macos/api-wrappers/HelperExtensions.swift +++ b/alt-tab-macos/api-wrappers/HelperExtensions.swift @@ -107,3 +107,18 @@ extension NSGridView { } } } + +extension Array { + // forEach with each iteration run concurrently on the global queue + func forEachAsync(fn: @escaping (Element) -> Void) { + let group = DispatchGroup() + for element in self { + group.enter() + DispatchQueue.global(qos: .userInteractive).async(group: group) { + fn(element) + group.leave() + } + } + group.wait() + } +} diff --git a/alt-tab-macos/logic/Windows.swift b/alt-tab-macos/logic/Windows.swift index 7192ed7d..b6656858 100644 --- a/alt-tab-macos/logic/Windows.swift +++ b/alt-tab-macos/logic/Windows.swift @@ -26,17 +26,16 @@ class Windows { static func updateSpaces() { let spacesMap = Spaces.allIdsAndIndexes() - for window in list { + list.forEachAsync { window in let spaceIds = window.cgWindowId.spaces() - guard spaceIds.count > 0 else { continue } - if spaceIds.count > 1 { + if spaceIds.count == 1 { + window.spaceId = spaceIds.first! + window.spaceIndex = spacesMap.first { $0.0 == spaceIds.first! }!.1 + } else if spaceIds.count > 1 { window.spaceId = Spaces.currentSpaceId window.spaceIndex = Spaces.currentSpaceIndex window.isOnAllSpaces = true - continue } - window.spaceId = spaceIds.first! - window.spaceIndex = spacesMap.first { $0.0 == spaceIds.first! }!.1 } } @@ -59,7 +58,7 @@ class Windows { } static func refreshAllThumbnails() { - for window in list { + list.forEachAsync { window in window.refreshThumbnail() } } From 7b168094d532b04c504da1bf1bce9213fd6eb8a4 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 13 Feb 2020 00:11:31 +0900 Subject: [PATCH 70/98] refactor: remove non-resources --- alt-tab-macos.xcodeproj/project.pbxproj | 8 -------- 1 file changed, 8 deletions(-) diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index adaee9e7..b0e19b1f 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -15,13 +15,11 @@ D04BA2378832FD7E5DE3BC23 /* Applications.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA66B5B4143D2238F50B9 /* Applications.swift */; }; D04BA26B4E9B4378FA7995DF /* HyperlinkLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2D2BCBA4C47E25315AF /* HyperlinkLabel.swift */; }; D04BA278D9EFA568C8D18A4C /* Windows.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD1BED44EAEB77FED8A4 /* Windows.swift */; }; - D04BA29A372E8A644273E7B3 /* update_appcast.sh in Resources */ = {isa = PBXBuildFile; fileRef = D04BA0AAAE82C72855DBBA26 /* update_appcast.sh */; }; D04BA2CBF0EFA04CC80EC1BC /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE80772D25834E440975 /* Window.swift */; }; D04BA308162F8043F8561D03 /* AXUIElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA40A4291E4F310527DBF /* AXUIElement.swift */; }; D04BA30F92801F5960ACC844 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D04BA7A48641612933710091 /* MainMenu.xib */; }; D04BA3261C7DA5F48310E654 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA90C6C36DB1D65BC2B66 /* App.swift */; }; D04BA3AE19F48237BDCDDA4F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAB8DB0BA2A20D08D9D7F /* Localizable.strings */; }; - D04BA3D87405EE52518CCC3E /* Podfile.lock in Resources */ = {isa = PBXBuildFile; fileRef = D04BA2A4F257F4DCE1421758 /* Podfile.lock */; }; D04BA40A1C8B02448D720EA3 /* BaseLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7ADB4B6C31B4887AEA3 /* BaseLabel.swift */; }; D04BA42AF817BCDF3F1F13F2 /* AppearanceTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACD85D3966B4C9482E52 /* AppearanceTab.swift */; }; D04BA4312972BFFB0DD1C141 /* BoldLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA6F87B035BCBF2BEAEBC /* BoldLabel.swift */; }; @@ -38,7 +36,6 @@ D04BA744F626B2E89331390B /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA10F57DA97A1D0320122 /* InfoPlist.strings */; }; D04BA79B891E9C89C015D6DD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAEE5AEEB8692856B45E4 /* InfoPlist.strings */; }; D04BA7F212CDB1B7E101D7A3 /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAFE3AC6E14F394956586 /* GridView.swift */; }; - D04BA826A1745BCC7E8C7B26 /* appcast.xml in Resources */ = {isa = PBXBuildFile; fileRef = D04BAAF760E3A8A22BDA84D6 /* appcast.xml */; }; D04BA8373D4DE452C0C081ED /* SF-Pro-Text-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */; }; D04BA84074E5FD6221720BC7 /* CollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */; }; D04BA8EBC0365A019A27C7EA /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */; }; @@ -58,7 +55,6 @@ D04BAD5A6B2F9EEE6FD4185F /* CollectionViewItemTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA4BABBA0312E0EDBA647 /* CollectionViewItemTitle.swift */; }; D04BAD8346A6A32C9749E0B3 /* TabViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */; }; D04BAE369A14C3126A1606FE /* HelperExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */; }; - D04BAE4A31689CCF132372B7 /* Podfile in Resources */ = {isa = PBXBuildFile; fileRef = D04BA0E071D2EDFDB9A20523 /* Podfile */; }; D04BAE4CE37C303DDD0347B8 /* CollectionViewItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE073DD0B0D65CD4CBB6 /* CollectionViewItemView.swift */; }; D04BAEAB8AB048FF2B16B131 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAE5FA03065C5D23C0C2C /* Localizable.strings */; }; D04BAEF78503D7A2CEFB9E9E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAA44C837F3A67403B9DB /* main.swift */; }; @@ -546,10 +542,6 @@ D04BAFAF889BB3DA9A03FD83 /* Localizable.strings in Resources */, D04BA744F626B2E89331390B /* InfoPlist.strings in Resources */, D04BA3AE19F48237BDCDDA4F /* Localizable.strings in Resources */, - D04BA3D87405EE52518CCC3E /* Podfile.lock in Resources */, - D04BAE4A31689CCF132372B7 /* Podfile in Resources */, - D04BA29A372E8A644273E7B3 /* update_appcast.sh in Resources */, - D04BA826A1745BCC7E8C7B26 /* appcast.xml in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; From 627f3f789e89c41cd0b20298867c3dcfd8cf5d44 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 13 Feb 2020 11:22:26 +0900 Subject: [PATCH 71/98] fix: layout regression introduced by eed0353 --- .../main-window/CollectionViewItemView.swift | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/alt-tab-macos/ui/main-window/CollectionViewItemView.swift b/alt-tab-macos/ui/main-window/CollectionViewItemView.swift index ca35842c..632a040e 100644 --- a/alt-tab-macos/ui/main-window/CollectionViewItemView.swift +++ b/alt-tab-macos/ui/main-window/CollectionViewItemView.swift @@ -1,6 +1,6 @@ import Cocoa -class CollectionViewItemView: NSView { +class CollectionViewItemView: NSStackView { var window_: Window? var thumbnail = NSImageView() var appIcon = NSImageView() @@ -15,12 +15,11 @@ class CollectionViewItemView: NSView { convenience init() { self.init(frame: .zero) let hStackView = makeHStackView() - let vStackView = makeVStackView(hStackView) + setupView(hStackView) let shadow = CollectionViewItemView.makeShadow(.gray) thumbnail.shadow = shadow appIcon.shadow = shadow observeDragAndDrop() - subviews.append(vStackView) } private func observeDragAndDrop() { @@ -151,18 +150,16 @@ class CollectionViewItemView: NSView { return hStackView } - private func makeVStackView(_ hStackView: NSStackView) -> NSStackView { - let vStackView = NSStackView() - vStackView.wantsLayer = true - vStackView.layer!.backgroundColor = .clear - vStackView.layer!.cornerRadius = Preferences.cellCornerRadius - vStackView.layer!.borderWidth = Preferences.cellBorderWidth - vStackView.layer!.borderColor = .clear - vStackView.edgeInsets = NSEdgeInsets(top: Preferences.intraCellPadding, left: Preferences.intraCellPadding, bottom: Preferences.intraCellPadding, right: Preferences.intraCellPadding) - vStackView.orientation = .vertical - vStackView.spacing = Preferences.intraCellPadding - vStackView.setViews([hStackView, thumbnail], in: .leading) - return vStackView + private func setupView(_ hStackView: NSStackView) { + wantsLayer = true + layer!.backgroundColor = .clear + layer!.cornerRadius = Preferences.cellCornerRadius + layer!.borderWidth = Preferences.cellBorderWidth + layer!.borderColor = .clear + edgeInsets = NSEdgeInsets(top: Preferences.intraCellPadding, left: Preferences.intraCellPadding, bottom: Preferences.intraCellPadding, right: Preferences.intraCellPadding) + orientation = .vertical + spacing = Preferences.intraCellPadding + setViews([hStackView, thumbnail], in: .leading) } } From fd3eab795e383cbee59dd49b6df5c42de3e3b274 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 13 Feb 2020 12:02:09 +0900 Subject: [PATCH 72/98] ci: more logs from altool to follow progress --- ci/package_release.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/package_release.sh b/ci/package_release.sh index 03ac755a..fe49ffc9 100755 --- a/ci/package_release.sh +++ b/ci/package_release.sh @@ -14,6 +14,7 @@ ditto -c -k --keepParent "$appFile" "$zipName" # request notarization requestUUID=$(xcrun altool \ --notarize-app \ + --verbose \ --primary-bundle-id "com.lwouis.alt-tab-macos" \ --username "$APPLE_ID" \ --password "$APPLE_PASSWORD" \ From 40e7d125f06e19c58da3209d5b7dfe25ef246d2d Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Thu, 13 Feb 2020 22:55:16 +0900 Subject: [PATCH 73/98] ci: big refac to finally rationalize the xcode mess XCode project/workspace/configurations/target/pods have been in a mess for a while. Some changes done to address that: * remove alt-tab-macos/ which was confusing * ci/ becomes scripts/ as these can be used locally too * added 3 xcconfig files to set aside important parameters so we stop passing flags around or modifying the huge pbxproj --- .gitignore | 3 +- .travis.yml | 19 +- alt-tab-macos/Info.plist => Info.plist | 0 README.md | 2 +- alt-tab-macos.xcodeproj/project.pbxproj | 662 +++++++++--------- ...entitlements => alt_tab_macos.entitlements | 0 ci/package_release.sh | 40 -- config/base.xcconfig | 13 + config/debug.xcconfig | 6 + config/release.xcconfig | 8 + .../determine_version_and_changelog.sh | 4 +- ...enerate_selfsigned_codesign_certificate.sh | 0 ...port_codesign_certificate_into_keychain.sh | 2 - scripts/package_and_notarize_release.sh | 43 ++ {ci => scripts}/set_version_in_app.sh | 4 +- {ci => scripts}/update_appcast.sh | 11 +- {ci => scripts}/update_homebrew_cask.sh | 2 +- .../api-wrappers/AXUIElement.swift | 0 .../api-wrappers/CGWindow.swift | 0 .../api-wrappers/CGWindowID.swift | 0 .../api-wrappers/HelperExtensions.swift | 0 .../api-wrappers/PrivateApis.swift | 0 .../api-wrappers/Sysctl.swift | 0 .../logic/Application.swift | 0 .../logic/Applications.swift | 0 .../logic/DebugProfile.swift | 0 .../logic/DispatchQueues.swift | 0 {alt-tab-macos => src}/logic/Keyboard.swift | 0 .../logic/Preferences.swift | 0 {alt-tab-macos => src}/logic/Screen.swift | 0 {alt-tab-macos => src}/logic/Spaces.swift | 0 .../logic/SystemPermissions.swift | 0 {alt-tab-macos => src}/logic/Window.swift | 0 {alt-tab-macos => src}/logic/Windows.swift | 0 {alt-tab-macos => src}/main.swift | 0 {alt-tab-macos => src}/resources/MainMenu.xib | 0 .../resources/SF-Pro-Text-Regular.otf | Bin .../resources/l10n/de.lproj/InfoPlist.strings | 0 .../l10n/de.lproj/Localizable.strings | Bin .../resources/l10n/en.lproj/InfoPlist.strings | 0 .../l10n/en.lproj/Localizable.strings | Bin .../resources/l10n/es.lproj/InfoPlist.strings | 0 .../l10n/es.lproj/Localizable.strings | Bin .../resources/l10n/fr.lproj/InfoPlist.strings | 0 .../l10n/fr.lproj/Localizable.strings | 0 {alt-tab-macos => src}/ui/App.swift | 0 .../ui/FeedbackWindow.swift | 0 {alt-tab-macos => src}/ui/Menubar.swift | 0 .../ui/generic-components/GridView.swift | 0 .../generic-components/text/BaseLabel.swift | 0 .../generic-components/text/BoldLabel.swift | 0 .../text/HyperlinkLabel.swift | 0 .../ui/generic-components/text/TextArea.swift | 0 .../generic-components/text/TextField.swift | 0 .../CollectionViewFlowLayout.swift | 0 .../ui/main-window/CollectionViewItem.swift | 0 .../CollectionViewItemFontIcon.swift | 0 .../main-window/CollectionViewItemTitle.swift | 0 .../main-window/CollectionViewItemView.swift | 0 .../ui/main-window/ThumbnailsPanel.swift | 0 .../preferences-window/LabelAndControl.swift | 0 .../PreferencesWindow.swift | 0 .../TabViewController.swift | 0 .../ui/preferences-window/TabViewItem.swift | 0 .../ui/preferences-window/tabs/AboutTab.swift | 0 .../tabs/AppearanceTab.swift | 0 .../tabs/ShortcutsTab.swift | 0 .../preferences-window/tabs/UpdatesTab.swift | 0 68 files changed, 419 insertions(+), 400 deletions(-) rename alt-tab-macos/Info.plist => Info.plist (100%) rename alt-tab-macos/alt_tab_macos.entitlements => alt_tab_macos.entitlements (100%) delete mode 100755 ci/package_release.sh create mode 100644 config/base.xcconfig create mode 100644 config/debug.xcconfig create mode 100644 config/release.xcconfig rename ci/determine_version.sh => scripts/determine_version_and_changelog.sh (77%) rename ci/generate_debug_certificate.sh => scripts/generate_selfsigned_codesign_certificate.sh (100%) rename ci/build_release.sh => scripts/import_codesign_certificate_into_keychain.sh (81%) mode change 100755 => 100644 create mode 100755 scripts/package_and_notarize_release.sh rename {ci => scripts}/set_version_in_app.sh (55%) rename {ci => scripts}/update_appcast.sh (69%) rename {ci => scripts}/update_homebrew_cask.sh (71%) rename {alt-tab-macos => src}/api-wrappers/AXUIElement.swift (100%) rename {alt-tab-macos => src}/api-wrappers/CGWindow.swift (100%) rename {alt-tab-macos => src}/api-wrappers/CGWindowID.swift (100%) rename {alt-tab-macos => src}/api-wrappers/HelperExtensions.swift (100%) rename {alt-tab-macos => src}/api-wrappers/PrivateApis.swift (100%) rename {alt-tab-macos => src}/api-wrappers/Sysctl.swift (100%) rename {alt-tab-macos => src}/logic/Application.swift (100%) rename {alt-tab-macos => src}/logic/Applications.swift (100%) rename {alt-tab-macos => src}/logic/DebugProfile.swift (100%) rename {alt-tab-macos => src}/logic/DispatchQueues.swift (100%) rename {alt-tab-macos => src}/logic/Keyboard.swift (100%) rename {alt-tab-macos => src}/logic/Preferences.swift (100%) rename {alt-tab-macos => src}/logic/Screen.swift (100%) rename {alt-tab-macos => src}/logic/Spaces.swift (100%) rename {alt-tab-macos => src}/logic/SystemPermissions.swift (100%) rename {alt-tab-macos => src}/logic/Window.swift (100%) rename {alt-tab-macos => src}/logic/Windows.swift (100%) rename {alt-tab-macos => src}/main.swift (100%) rename {alt-tab-macos => src}/resources/MainMenu.xib (100%) rename {alt-tab-macos => src}/resources/SF-Pro-Text-Regular.otf (100%) rename {alt-tab-macos => src}/resources/l10n/de.lproj/InfoPlist.strings (100%) rename {alt-tab-macos => src}/resources/l10n/de.lproj/Localizable.strings (100%) rename {alt-tab-macos => src}/resources/l10n/en.lproj/InfoPlist.strings (100%) rename {alt-tab-macos => src}/resources/l10n/en.lproj/Localizable.strings (100%) rename {alt-tab-macos => src}/resources/l10n/es.lproj/InfoPlist.strings (100%) rename {alt-tab-macos => src}/resources/l10n/es.lproj/Localizable.strings (100%) rename {alt-tab-macos => src}/resources/l10n/fr.lproj/InfoPlist.strings (100%) rename {alt-tab-macos => src}/resources/l10n/fr.lproj/Localizable.strings (100%) rename {alt-tab-macos => src}/ui/App.swift (100%) rename {alt-tab-macos => src}/ui/FeedbackWindow.swift (100%) rename {alt-tab-macos => src}/ui/Menubar.swift (100%) rename {alt-tab-macos => src}/ui/generic-components/GridView.swift (100%) rename {alt-tab-macos => src}/ui/generic-components/text/BaseLabel.swift (100%) rename {alt-tab-macos => src}/ui/generic-components/text/BoldLabel.swift (100%) rename {alt-tab-macos => src}/ui/generic-components/text/HyperlinkLabel.swift (100%) rename {alt-tab-macos => src}/ui/generic-components/text/TextArea.swift (100%) rename {alt-tab-macos => src}/ui/generic-components/text/TextField.swift (100%) rename {alt-tab-macos => src}/ui/main-window/CollectionViewFlowLayout.swift (100%) rename {alt-tab-macos => src}/ui/main-window/CollectionViewItem.swift (100%) rename {alt-tab-macos => src}/ui/main-window/CollectionViewItemFontIcon.swift (100%) rename {alt-tab-macos => src}/ui/main-window/CollectionViewItemTitle.swift (100%) rename {alt-tab-macos => src}/ui/main-window/CollectionViewItemView.swift (100%) rename {alt-tab-macos => src}/ui/main-window/ThumbnailsPanel.swift (100%) rename {alt-tab-macos => src}/ui/preferences-window/LabelAndControl.swift (100%) rename {alt-tab-macos => src}/ui/preferences-window/PreferencesWindow.swift (100%) rename {alt-tab-macos => src}/ui/preferences-window/TabViewController.swift (100%) rename {alt-tab-macos => src}/ui/preferences-window/TabViewItem.swift (100%) rename {alt-tab-macos => src}/ui/preferences-window/tabs/AboutTab.swift (100%) rename {alt-tab-macos => src}/ui/preferences-window/tabs/AppearanceTab.swift (100%) rename {alt-tab-macos => src}/ui/preferences-window/tabs/ShortcutsTab.swift (100%) rename {alt-tab-macos => src}/ui/preferences-window/tabs/UpdatesTab.swift (100%) diff --git a/.gitignore b/.gitignore index 17da238c..83cfcec7 100644 --- a/.gitignore +++ b/.gitignore @@ -2,8 +2,7 @@ xcuserdata/ xcshareddata/ /node_modules/ -/build/ +/DerivedData/ /Pods/ .DS_Store - diff --git a/.travis.yml b/.travis.yml index 21538483..b965ae5e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,25 +6,28 @@ node_js: cache: npm env: - IS_RELEASE=$(if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then echo true; fi) + - XCODE_BUILD_PATH="DerivedData/alt-tab-macos/Build/Products/Release" + - VERSION_FILE="VERSION.txt" + - CHANGELOG_DELTA_FILE="CHANGELOG_DELTA.txt" + - APP_NAME="$(awk -F ' = ' '/PRODUCT_NAME/ { print $2; }' < config/base.xcconfig)" install: true # disable default install script: - env | sort - npm ci - npx commitlint-travis - - if [ $IS_RELEASE ]; then ci/determine_version.sh; fi - - if [ $IS_RELEASE ]; then ci/set_version_in_app.sh; fi - - ci/build_release.sh - - if [ $IS_RELEASE ]; then ci/package_release.sh; fi - - if [ $IS_RELEASE ]; then ci/update_appcast.sh; fi - - if [ $IS_RELEASE ]; then ci/update_homebrew_cask.sh; fi + - if [ $IS_RELEASE ]; then scripts/determine_version_and_changelog.sh; fi + - if [ $IS_RELEASE ]; then scripts/set_version_in_app.sh; fi + - xcodebuild -workspace alt-tab-macos.xcworkspace -scheme Release + - if [ $IS_RELEASE ]; then scripts/package_and_notarize_release.sh; fi + - if [ $IS_RELEASE ]; then scripts/update_appcast.sh; fi + - if [ $IS_RELEASE ]; then scripts/update_homebrew_cask.sh; fi - if [ $IS_RELEASE ]; then npx semantic-release; fi deploy: provider: releases token: secure: wcAMT2rbXhhdk6lsc6EG9VZZkSW0BjOwjYSyXzHjKrgiXsQcZAzAsOkuisj8EfeYN9/uhpa8XX7f5KsdkE5reMqVGGWqdmJU4NnmK5Aew0LmBbzFHfffliQecVCzMmGYPmhPcDxAjidYxgCMrMbvQFaElc0WXdIsQNcaNieSkEgZw6TwGsTxgHXABD2e575K3SN/PPcq7Nx5mRZkURI7YLmo2KfsD2OPR4IcEXFpJRFbPcAZIpKaHUIC2VzpayJA93pBe+siwU150p04PzfSs/nTH/nUO9m24SUi6kAIzVN77cExvX+JDnQoVLz0V45L0iJjkKDTVb07rVOsfm6Pcuaaj2ZVXlpujSb7B5LDUIspUn/NnqMLOtzbSTuaGcx2u+zCcC0b17KooznilQ/sFq3YpeNdmjL4VL5fsw1hdpjcP6S9DqZ90TJZqy6xBQP5NubuJukH//BRilhWGfnq5rOFUlqrN8aApJ7gYry0K2rB8rVWWvA9cU+zX351iy0EERICEU6q3rQwq8gFUbdNATPJJgNg7n0PaNXSQTTF9VluZTRVUtMrpA0hWe7dn+Tvrvhrnhmqvccw3Qfw/i3SECIDHHtsjwLqHCx5gkz/xUdf7+t3k6x+r6Veua0Z3jvyVhdHprU47VTSUhM/n87EiKyNRuKa9IpA18eSlZ59exU= file_glob: true - file: - - build/Release/*.zip + file: "$XCODE_BUILD_PATH/*.zip" cleanup: false on: repo: lwouis/alt-tab-macos diff --git a/alt-tab-macos/Info.plist b/Info.plist similarity index 100% rename from alt-tab-macos/Info.plist rename to Info.plist diff --git a/README.md b/README.md index 8dbf60c5..b2cb64b8 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ This project has minimal dependency on Xcode-only features (e.g. InterfaceBuilde * `pod install` to fetch the dependencies with [CocoaPods](https://cocoapods.org/) * `xcodebuild -workspace alt-tab-macos.xcworkspace -scheme Release` to build the .app -Note that on debug builds, to avoid having to re-check the `System Preferences > Security & Privacy` permissions on every build, we use a code-signing certificate. You can generate one on your local machine in one step by running `ci/generate_debug_certificate.sh`. +Note that on debug builds, to avoid having to re-check the `System Preferences > Security & Privacy` permissions on every build, we use a code-signing certificate. You can generate one on your local machine in one step by running `scripts/generate_selfsigned_codesign_certificate.sh`. If you want to contribute a PR, please run `npm install` once. It will add the pre-commit hook to ensure that your commits follow the convention and will pass the PR. diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index b0e19b1f..2608cf19 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -9,57 +9,57 @@ /* Begin PBXBuildFile section */ 4807A6C623A9CD190052A53E /* SkyLight.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4807A6C523A9CD190052A53E /* SkyLight.framework */; }; 76D02BB22BFE7C9E0056008D /* Pods_alt_tab_macos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0712B3BEA2B3780398C0999 /* Pods_alt_tab_macos.framework */; }; - D04BA0496ACF1427B6E9D369 /* CGWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA78E3B4E73B40DB77174 /* CGWindow.swift */; }; - D04BA0E86F2D30722F97C16F /* Menubar.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF0469B160046170B608 /* Menubar.swift */; }; - D04BA1BA0B3F2E0A47883569 /* Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF13DFAA6930676D0492 /* Application.swift */; }; - D04BA2378832FD7E5DE3BC23 /* Applications.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA66B5B4143D2238F50B9 /* Applications.swift */; }; - D04BA26B4E9B4378FA7995DF /* HyperlinkLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2D2BCBA4C47E25315AF /* HyperlinkLabel.swift */; }; - D04BA278D9EFA568C8D18A4C /* Windows.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD1BED44EAEB77FED8A4 /* Windows.swift */; }; - D04BA2CBF0EFA04CC80EC1BC /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE80772D25834E440975 /* Window.swift */; }; - D04BA308162F8043F8561D03 /* AXUIElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA40A4291E4F310527DBF /* AXUIElement.swift */; }; - D04BA30F92801F5960ACC844 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D04BA7A48641612933710091 /* MainMenu.xib */; }; - D04BA3261C7DA5F48310E654 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA90C6C36DB1D65BC2B66 /* App.swift */; }; - D04BA3AE19F48237BDCDDA4F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAB8DB0BA2A20D08D9D7F /* Localizable.strings */; }; - D04BA40A1C8B02448D720EA3 /* BaseLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7ADB4B6C31B4887AEA3 /* BaseLabel.swift */; }; - D04BA42AF817BCDF3F1F13F2 /* AppearanceTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACD85D3966B4C9482E52 /* AppearanceTab.swift */; }; - D04BA4312972BFFB0DD1C141 /* BoldLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA6F87B035BCBF2BEAEBC /* BoldLabel.swift */; }; - D04BA4409C5B3F3595E8E69C /* CollectionViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8BEE821E2062F23AA97 /* CollectionViewItem.swift */; }; - D04BA46C048F35D5BC0417FC /* PreferencesWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA5B232184F6DB29C701C /* PreferencesWindow.swift */; }; - D04BA4D356055A39B97712DE /* PrivateApis.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF0DFC1F44322973CE1E /* PrivateApis.swift */; }; - D04BA57A871B7269BEBAFF84 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA35456DA0DDA74F9687E /* Keyboard.swift */; }; - D04BA57B6719B4BA8DD358DF /* ShortcutsTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BABD0C7A6DBA235C650A5 /* ShortcutsTab.swift */; }; - D04BA57FB9EF1373D59A1AA7 /* CGWindowID.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAEA3EDC4F80FA23DBEC4 /* CGWindowID.swift */; }; - D04BA6083F3EAB7A276EA758 /* TabViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA6FA0F38687C3E420D77 /* TabViewController.swift */; }; - D04BA6B6B703DCEFE892D5A4 /* Spaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA5EB5ED248C8C22CC672 /* Spaces.swift */; }; - D04BA6D9DA2A8BCD93347F0E /* CollectionViewItemFontIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAC0416F29ADE7BC5A544 /* CollectionViewItemFontIcon.swift */; }; - D04BA70FF7262BF5F9E6E13B /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */; }; - D04BA744F626B2E89331390B /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA10F57DA97A1D0320122 /* InfoPlist.strings */; }; - D04BA79B891E9C89C015D6DD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAEE5AEEB8692856B45E4 /* InfoPlist.strings */; }; - D04BA7F212CDB1B7E101D7A3 /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAFE3AC6E14F394956586 /* GridView.swift */; }; - D04BA8373D4DE452C0C081ED /* SF-Pro-Text-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */; }; - D04BA84074E5FD6221720BC7 /* CollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */; }; - D04BA8EBC0365A019A27C7EA /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */; }; - D04BA99DE72CE77BA6CE5A56 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAF762580D0252489A11A /* InfoPlist.strings */; }; - D04BA9AB730AB1AF4055929D /* UpdatesTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA837A9E0A82D54EF4DB0 /* UpdatesTab.swift */; }; - D04BA9CCE02D30C8164A552A /* SystemPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */; }; - D04BA9EE5D34A2789DCB0EE2 /* Sysctl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA896E37EFD27CAB61DF0 /* Sysctl.swift */; }; - D04BAA0F39E6160F5703FC33 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAC0D42D7FED725746DA5 /* Localizable.strings */; }; - D04BAAD43731608067734ED3 /* DispatchQueues.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */; }; - D04BAB5E802C938E78839011 /* TextArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8011143819B48F204C2 /* TextArea.swift */; }; - D04BABF88726DA42B2CBA68B /* ThumbnailsPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAF40D5E54AD1044B3FF7 /* ThumbnailsPanel.swift */; }; - D04BAC0BF53A80D4F1EE22ED /* AboutTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE23C37E0F3B07EEE7B1 /* AboutTab.swift */; }; - D04BAC4F69FE9563BC1C5E9C /* DebugProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3915020FB9B34555D74 /* DebugProfile.swift */; }; - D04BAC9C031D482119F6DEB8 /* FeedbackWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAFA84FD0B02215718F94 /* FeedbackWindow.swift */; }; - D04BACD398A35D82D514A9F7 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BABC180117F8785D250E1 /* TextField.swift */; }; - D04BAD1158CBCC76DE321555 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA1ACE289DC4AD4826D1E /* InfoPlist.strings */; }; - D04BAD5A6B2F9EEE6FD4185F /* CollectionViewItemTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA4BABBA0312E0EDBA647 /* CollectionViewItemTitle.swift */; }; - D04BAD8346A6A32C9749E0B3 /* TabViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */; }; - D04BAE369A14C3126A1606FE /* HelperExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */; }; - D04BAE4CE37C303DDD0347B8 /* CollectionViewItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE073DD0B0D65CD4CBB6 /* CollectionViewItemView.swift */; }; - D04BAEAB8AB048FF2B16B131 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAE5FA03065C5D23C0C2C /* Localizable.strings */; }; - D04BAEF78503D7A2CEFB9E9E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAA44C837F3A67403B9DB /* main.swift */; }; - D04BAF3B6F75E50E9AA3E1D2 /* LabelAndControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3D65E7CA78D699EDAB0 /* LabelAndControl.swift */; }; - D04BAFAF889BB3DA9A03FD83 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA3EB20F0A658E10E5A41 /* Localizable.strings */; }; + D04BA004884A273D4D2D3EF1 /* HelperExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD91161791D42FEC4A60 /* HelperExtensions.swift */; }; + D04BA14D93726795A6937832 /* LabelAndControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2526DC6726E0F7ACF7C /* LabelAndControl.swift */; }; + D04BA15A1B0C4871EA7CB899 /* ShortcutsTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACE22DC907F03D193075 /* ShortcutsTab.swift */; }; + D04BA1B133D53572D7B312C2 /* CollectionViewItemFontIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA1DF8CAB2FAB7FE9244B /* CollectionViewItemFontIcon.swift */; }; + D04BA1CEC6B9C8945FEC8740 /* CollectionViewItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA258B56193958D60978A /* CollectionViewItemView.swift */; }; + D04BA26A691D56031FCCF00C /* Sysctl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8DB8AA7E5570DAC568A /* Sysctl.swift */; }; + D04BA2A6FF9DDDC5A1A68E36 /* Applications.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA282BB16C1554595A968 /* Applications.swift */; }; + D04BA2E64C59D96F6EB27D9D /* FeedbackWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA26C75F76C277653C932 /* FeedbackWindow.swift */; }; + D04BA3BFB0CDF4ED343914B2 /* PreferencesWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA47FF1B7838CF4814538 /* PreferencesWindow.swift */; }; + D04BA3CF766857381519B892 /* DispatchQueues.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAB74451B79FE18B8BEDF /* DispatchQueues.swift */; }; + D04BA48B00B4211A465C7337 /* DebugProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACABD048E62EBE4576CC /* DebugProfile.swift */; }; + D04BA53516E4BA2078A45481 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAE9FE8A2ACA88429535E /* InfoPlist.strings */; }; + D04BA5F99B45DC13B9E9DD91 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8276B3D3905E80B1739 /* Keyboard.swift */; }; + D04BA6187A91A847844B6ABB /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA015A45DE7AFDC9794FE /* Window.swift */; }; + D04BA691CB6082A3C39CBC89 /* TabViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE757BB2B605234FBF58 /* TabViewController.swift */; }; + D04BA69AF6CA6723036F6EB7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA0DE428BF4C08F5E19CE /* InfoPlist.strings */; }; + D04BA69D47B5E60A6AD9CBD9 /* CollectionViewItemTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD1297730B191E96E7FE /* CollectionViewItemTitle.swift */; }; + D04BA6AA07BF870BAFC54DF3 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA63DEDDC0BCE06588541 /* Localizable.strings */; }; + D04BA6C953494839648107D1 /* CollectionViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2A4A4140AF3E09DA94D /* CollectionViewItem.swift */; }; + D04BA737008AA2CD4E230A21 /* Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA10777505D8A67ABD186 /* Application.swift */; }; + D04BA73E90EFEF8247A5105D /* CGWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAC34CFD42A7F6F1F01C0 /* CGWindow.swift */; }; + D04BA76A74267B1346D23687 /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA6D57A1456C07318B8EA /* GridView.swift */; }; + D04BA76DDB00FC50D203D62C /* CollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAC2FEF7248B7BF9579E2 /* CollectionViewFlowLayout.swift */; }; + D04BA775CF3F8D9394A1E256 /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA68C2561D9EE4FD851B8 /* Screen.swift */; }; + D04BA7BE7F3DD24D58ACE942 /* AppearanceTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA64F1F344007EA13BA05 /* AppearanceTab.swift */; }; + D04BA7C348A3CF9862394E23 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D04BA6A1082C0521CD994B42 /* MainMenu.xib */; }; + D04BA7F86F1926FBE31F44BF /* BaseLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA53992F116E5E704CAB3 /* BaseLabel.swift */; }; + D04BA8092885B40CE3527370 /* UpdatesTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD60C97E609A759E721E /* UpdatesTab.swift */; }; + D04BA8480A8FF466CA89DA5B /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA70746DEEC3D30B43F81 /* main.swift */; }; + D04BAA98549C75DF585D2628 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAD91185BD6DA6774E0C4 /* Localizable.strings */; }; + D04BAABE804F3769CE22BEB6 /* HyperlinkLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA49E45BFFF3D9FC60E43 /* HyperlinkLabel.swift */; }; + D04BAADED6FE28D42924AEBF /* PrivateApis.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA5C401AFA55CC67C7188 /* PrivateApis.swift */; }; + D04BAAE70D788E127E61319C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAEBD635643E652AA79A6 /* Localizable.strings */; }; + D04BAB048DE698E013577C51 /* ThumbnailsPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA653BD073CB58E2CFC93 /* ThumbnailsPanel.swift */; }; + D04BAB4EB890853B5B9B2C61 /* BoldLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACEE8D430B8CAAD8C4CD /* BoldLabel.swift */; }; + D04BAB68B7B8D1B548BC3AD5 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAAB92261FC04854FDDE9 /* App.swift */; }; + D04BABD34C901707D28CA239 /* SF-Pro-Text-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = D04BA9C7ECE540D4B4D2F3F0 /* SF-Pro-Text-Regular.otf */; }; + D04BABE88F8E4B54EEFC3B4D /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA9DD88D87718D6A162E9 /* InfoPlist.strings */; }; + D04BABED81800E18732912CC /* CGWindowID.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA03200F5A8FC0CD03607 /* CGWindowID.swift */; }; + D04BABEECBC6D922298BC93A /* Spaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7CF9C2D1BEC7C05AB24 /* Spaces.swift */; }; + D04BAC011A71E0418154F8CD /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA9B93823398A542FF7A0 /* Preferences.swift */; }; + D04BAC0AE7C80F8A37BBC7A5 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA4A4B27D541B489D35CA /* InfoPlist.strings */; }; + D04BAD1BE9DC22C48C53D195 /* AboutTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA4A26987F67DD94C827F /* AboutTab.swift */; }; + D04BAD2A7F2E8BF64EE982E9 /* TextArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7C836A8CE8C0B8D128B /* TextArea.swift */; }; + D04BAD451966B43720120D2E /* Menubar.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD905546AA93E5117B0A /* Menubar.swift */; }; + D04BADBCF20CD72057E7CF09 /* TabViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA27C87B86C4484A5B15B /* TabViewItem.swift */; }; + D04BADCDA9F9A6C3D6499877 /* SystemPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7C6F2519091717F4B4E /* SystemPermissions.swift */; }; + D04BAE6B5382CA561A219A54 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAF27C7004AC98C521FCD /* Localizable.strings */; }; + D04BAF25E67A5B31CF7676DB /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA44F7B5E58A08416706B /* TextField.swift */; }; + D04BAFB973C3D28718FAEB87 /* Windows.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACD976030676FD0761D5 /* Windows.swift */; }; + D04BAFBC862BA5FE0294EA7A /* AXUIElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA6F823BC0EDA9AA4B80A /* AXUIElement.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -67,98 +67,101 @@ 4807A6C523A9CD190052A53E /* SkyLight.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SkyLight.framework; path = ../../../../System/Library/PrivateFrameworks/SkyLight.framework; sourceTree = ""; }; BF12DEA89785CA78B0FE2706 /* Pods-alt-tab-macos.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-alt-tab-macos.debug.xcconfig"; path = "Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos.debug.xcconfig"; sourceTree = ""; }; C0712B3BEA2B3780398C0999 /* Pods_alt_tab_macos.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_alt_tab_macos.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D04BA05F3F36A6D71DCD8475 /* en */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = ""; }; + D04BA015A45DE7AFDC9794FE /* Window.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Window.swift; sourceTree = ""; }; + D04BA03200F5A8FC0CD03607 /* CGWindowID.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindowID.swift; sourceTree = ""; }; D04BA0AAAE82C72855DBBA26 /* update_appcast.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = update_appcast.sh; sourceTree = ""; }; + D04BA0BEF67FCC92B06AA34A /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = ""; }; D04BA0CE87BE264C52987ED1 /* 7 windows - 2 lines - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - wide window.jpg"; sourceTree = ""; }; - D04BA0E071D2EDFDB9A20523 /* Podfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Podfile; sourceTree = ""; }; + D04BA0E071D2EDFDB9A20523 /* Podfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Podfile; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; D04BA0E1C5DBC07108AC2F54 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; D04BA0F5EB832B8E142B654B /* 4 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "4 windows - 1 line.jpg"; sourceTree = ""; }; + D04BA10777505D8A67ABD186 /* Application.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Application.swift; sourceTree = ""; }; D04BA107C8B8FE7FF8536606 /* too many windows - 4 lines - paginated.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "too many windows - 4 lines - paginated.jpg"; sourceTree = ""; }; + D04BA1232AFEEFE90D5CC827 /* debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = debug.xcconfig; sourceTree = ""; }; + D04BA15346AF8E0EF471694A /* en */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = ""; }; D04BA1D80F4EEF2A91BAD29C /* release.config.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = release.config.js; sourceTree = ""; }; + D04BA1DF8CAB2FAB7FE9244B /* CollectionViewItemFontIcon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemFontIcon.swift; sourceTree = ""; }; D04BA1FC9022590D7AA02486 /* 1 window - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1 window - 1 line.jpg"; sourceTree = ""; }; + D04BA209DF87573E375C8CC3 /* es */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = es; path = Localizable.strings; sourceTree = ""; }; + D04BA2526DC6726E0F7ACF7C /* LabelAndControl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LabelAndControl.swift; sourceTree = ""; }; + D04BA258B56193958D60978A /* CollectionViewItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemView.swift; sourceTree = ""; }; D04BA26154AB2A2897E08CAF /* windows-theme.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "windows-theme.jpg"; sourceTree = ""; }; - D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewItem.swift; sourceTree = ""; }; + D04BA26C75F76C277653C932 /* FeedbackWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedbackWindow.swift; sourceTree = ""; }; + D04BA27C87B86C4484A5B15B /* TabViewItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewItem.swift; sourceTree = ""; }; + D04BA282BB16C1554595A968 /* Applications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Applications.swift; sourceTree = ""; }; + D04BA2A4A4140AF3E09DA94D /* CollectionViewItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItem.swift; sourceTree = ""; }; D04BA2A4F257F4DCE1421758 /* Podfile.lock */ = {isa = PBXFileReference; lastKnownFileType = file.lock; path = Podfile.lock; sourceTree = ""; }; D04BA2C7B51F68651B3C60E2 /* 6 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "6 windows - 1 line.jpg"; sourceTree = ""; }; - D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SystemPermissions.swift; sourceTree = ""; }; - D04BA2D2BCBA4C47E25315AF /* HyperlinkLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HyperlinkLabel.swift; sourceTree = ""; }; - D04BA30247D04CEEC2DACEA8 /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = Localizable.strings; sourceTree = ""; }; D04BA32F25860B686DFE818A /* 3 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line.jpg"; sourceTree = ""; }; - D04BA35456DA0DDA74F9687E /* Keyboard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; - D04BA3915020FB9B34555D74 /* DebugProfile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DebugProfile.swift; sourceTree = ""; }; - D04BA3D65E7CA78D699EDAB0 /* LabelAndControl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LabelAndControl.swift; sourceTree = ""; }; - D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; - D04BA40A4291E4F310527DBF /* AXUIElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AXUIElement.swift; sourceTree = ""; }; D04BA4336B6004A0A99849AD /* package.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = package.json; sourceTree = ""; }; + D04BA44F7B5E58A08416706B /* TextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; D04BA459034C1885CA43A807 /* LICENCE.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = LICENCE.md; sourceTree = ""; }; - D04BA4B5292629AA6B560216 /* package_release.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = package_release.sh; sourceTree = ""; }; - D04BA4BABBA0312E0EDBA647 /* CollectionViewItemTitle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemTitle.swift; sourceTree = ""; }; + D04BA47FF1B7838CF4814538 /* PreferencesWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreferencesWindow.swift; sourceTree = ""; }; + D04BA49E45BFFF3D9FC60E43 /* HyperlinkLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HyperlinkLabel.swift; sourceTree = ""; }; + D04BA4A26987F67DD94C827F /* AboutTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutTab.swift; sourceTree = ""; }; + D04BA4B5292629AA6B560216 /* package_and_notarize_release.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = package_and_notarize_release.sh; sourceTree = ""; }; D04BA4F23325560BC0BCDDB7 /* 7 windows - 2 lines - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - tall window.jpg"; sourceTree = ""; }; D04BA51D43775E57CE91154A /* 3 windows - 1 line - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - wide window.jpg"; sourceTree = ""; }; - D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchQueues.swift; sourceTree = ""; }; - D04BA5988A5BEE68663C130F /* de */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = de; path = InfoPlist.strings; sourceTree = ""; }; + D04BA53992F116E5E704CAB3 /* BaseLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseLabel.swift; sourceTree = ""; }; D04BA5ABFA5457A86536E2E4 /* 5 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 1 line.jpg"; sourceTree = ""; }; - D04BA5B232184F6DB29C701C /* PreferencesWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreferencesWindow.swift; sourceTree = ""; }; - D04BA5E819181CB83C5602C7 /* generate_debug_certificate.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = generate_debug_certificate.sh; sourceTree = ""; }; - D04BA5EB5ED248C8C22CC672 /* Spaces.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Spaces.swift; sourceTree = ""; }; - D04BA66B5B4143D2238F50B9 /* Applications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Applications.swift; sourceTree = ""; }; - D04BA6F87B035BCBF2BEAEBC /* BoldLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BoldLabel.swift; sourceTree = ""; }; - D04BA6FA0F38687C3E420D77 /* TabViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewController.swift; sourceTree = ""; }; - D04BA78E3B4E73B40DB77174 /* CGWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindow.swift; sourceTree = ""; }; - D04BA7A48641612933710091 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = ""; }; - D04BA7ADB4B6C31B4887AEA3 /* BaseLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseLabel.swift; sourceTree = ""; }; - D04BA7B6AAB0812631BBC7A2 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.info; path = Info.plist; sourceTree = ""; }; - D04BA7ECCE728582D9ECA613 /* determine_version.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = determine_version.sh; sourceTree = ""; }; - D04BA8011143819B48F204C2 /* TextArea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextArea.swift; sourceTree = ""; }; - D04BA81CA2D9818FCA9E5024 /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = InfoPlist.strings; sourceTree = ""; }; - D04BA82F792DF53958D92572 /* alt-tab-macos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "alt-tab-macos.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - D04BA837A9E0A82D54EF4DB0 /* UpdatesTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UpdatesTab.swift; sourceTree = ""; }; - D04BA896E37EFD27CAB61DF0 /* Sysctl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Sysctl.swift; sourceTree = ""; }; - D04BA89FAEC4A5734D892C4B /* build_release.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = build_release.sh; sourceTree = ""; }; - D04BA8BEE821E2062F23AA97 /* CollectionViewItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItem.swift; sourceTree = ""; }; - D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HelperExtensions.swift; sourceTree = ""; }; - D04BA90C6C36DB1D65BC2B66 /* App.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; + D04BA5C401AFA55CC67C7188 /* PrivateApis.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrivateApis.swift; sourceTree = ""; }; + D04BA5E7D7A67D186B7136FE /* es */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = es; path = InfoPlist.strings; sourceTree = ""; }; + D04BA5E819181CB83C5602C7 /* generate_selfsigned_codesign_certificate.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = generate_selfsigned_codesign_certificate.sh; sourceTree = ""; }; + D04BA62D5EACAAAD7BCD3E79 /* release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = release.xcconfig; sourceTree = ""; }; + D04BA64F1F344007EA13BA05 /* AppearanceTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppearanceTab.swift; sourceTree = ""; }; + D04BA653BD073CB58E2CFC93 /* ThumbnailsPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThumbnailsPanel.swift; sourceTree = ""; }; + D04BA68C2561D9EE4FD851B8 /* Screen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; + D04BA6A1082C0521CD994B42 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = ""; }; + D04BA6D57A1456C07318B8EA /* GridView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GridView.swift; sourceTree = ""; }; + D04BA6EF1954DCE80E539142 /* base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = base.xcconfig; sourceTree = ""; }; + D04BA6F823BC0EDA9AA4B80A /* AXUIElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AXUIElement.swift; sourceTree = ""; }; + D04BA70746DEEC3D30B43F81 /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; + D04BA7C6F2519091717F4B4E /* SystemPermissions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SystemPermissions.swift; sourceTree = ""; }; + D04BA7C836A8CE8C0B8D128B /* TextArea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextArea.swift; sourceTree = ""; }; + D04BA7CF9C2D1BEC7C05AB24 /* Spaces.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Spaces.swift; sourceTree = ""; }; + D04BA7ECCE728582D9ECA613 /* determine_version_and_changelog.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = determine_version_and_changelog.sh; sourceTree = ""; }; + D04BA8276B3D3905E80B1739 /* Keyboard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; + D04BA82F792DF53958D92572 /* AltTab.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AltTab.app; sourceTree = BUILT_PRODUCTS_DIR; }; + D04BA8478F617D6F050B1C00 /* de */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = de; path = Localizable.strings; sourceTree = ""; }; + D04BA8DB8AA7E5570DAC568A /* Sysctl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Sysctl.swift; sourceTree = ""; }; D04BA92541D46EA4F6943A72 /* package-lock.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "package-lock.json"; sourceTree = ""; }; + D04BA9B93823398A542FF7A0 /* Preferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; + D04BA9C7ECE540D4B4D2F3F0 /* SF-Pro-Text-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; path = "SF-Pro-Text-Regular.otf"; sourceTree = ""; }; D04BA9EF65B2E7AF9E3ADCA3 /* 2 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2 windows - 1 line.jpg"; sourceTree = ""; }; D04BAA34E0CB00DED7C04B4F /* 2-rows.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2-rows.jpg"; sourceTree = ""; }; - D04BAA44C837F3A67403B9DB /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; - D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewFlowLayout.swift; sourceTree = ""; }; + D04BAAB92261FC04854FDDE9 /* App.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; D04BAAF760E3A8A22BDA84D6 /* appcast.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = appcast.xml; sourceTree = ""; }; D04BAB6652494D7575057E86 /* 14 windows - 3 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "14 windows - 3 lines.jpg"; sourceTree = ""; }; - D04BABC180117F8785D250E1 /* TextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; - D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; path = "SF-Pro-Text-Regular.otf"; sourceTree = ""; }; - D04BABD0C7A6DBA235C650A5 /* ShortcutsTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShortcutsTab.swift; sourceTree = ""; }; - D04BABE2789ABBA56E959C1B /* de */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = de; path = Localizable.strings; sourceTree = ""; }; + D04BAB74451B79FE18B8BEDF /* DispatchQueues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchQueues.swift; sourceTree = ""; }; + D04BABFEC8F9DF41BB7A449E /* import_codesign_certificate_into_keychain.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = import_codesign_certificate_into_keychain.sh; sourceTree = ""; }; D04BAC02D60EF22D9CC7D969 /* commitlint.config.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = commitlint.config.js; sourceTree = ""; }; - D04BAC0416F29ADE7BC5A544 /* CollectionViewItemFontIcon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemFontIcon.swift; sourceTree = ""; }; D04BAC159731F80FDAF4EA6C /* 1-row.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1-row.jpg"; sourceTree = ""; }; + D04BAC2FEF7248B7BF9579E2 /* CollectionViewFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewFlowLayout.swift; sourceTree = ""; }; + D04BAC34CFD42A7F6F1F01C0 /* CGWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindow.swift; sourceTree = ""; }; D04BAC6AFC7F06D1A567F27A /* set_version_in_app.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = set_version_in_app.sh; sourceTree = ""; }; - D04BACD85D3966B4C9482E52 /* AppearanceTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppearanceTab.swift; sourceTree = ""; }; - D04BAD1BED44EAEB77FED8A4 /* Windows.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Windows.swift; sourceTree = ""; }; - D04BAD1C9F215BCCD3B620AC /* alt_tab_macos.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = alt_tab_macos.entitlements; sourceTree = ""; }; + D04BACABD048E62EBE4576CC /* DebugProfile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DebugProfile.swift; sourceTree = ""; }; + D04BACD976030676FD0761D5 /* Windows.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Windows.swift; sourceTree = ""; }; + D04BACE22DC907F03D193075 /* ShortcutsTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShortcutsTab.swift; sourceTree = ""; }; + D04BACEE8D430B8CAAD8C4CD /* BoldLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BoldLabel.swift; sourceTree = ""; }; + D04BACEECEFD773AC52E817C /* de */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = de; path = InfoPlist.strings; sourceTree = ""; }; + D04BAD1297730B191E96E7FE /* CollectionViewItemTitle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemTitle.swift; sourceTree = ""; }; D04BAD40CE2D3A8AAC3819D0 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = file.gitignore; path = .gitignore; sourceTree = ""; }; - D04BAD702D40CA5E94A0CC25 /* es */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = es; path = Localizable.strings; sourceTree = ""; }; + D04BAD60C97E609A759E721E /* UpdatesTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UpdatesTab.swift; sourceTree = ""; }; D04BAD7D8F3CC2C36C8769C6 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = file.yml; path = .travis.yml; sourceTree = ""; }; D04BAD82F652C4ED5D8BF7AE /* 3 windows - 1 line - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - tall window.jpg"; sourceTree = ""; }; + D04BAD905546AA93E5117B0A /* Menubar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Menubar.swift; sourceTree = ""; }; + D04BAD91161791D42FEC4A60 /* HelperExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HelperExtensions.swift; sourceTree = ""; }; + D04BADA9F7B628E1257A3FFE /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = Localizable.strings; sourceTree = ""; }; D04BADB20AB31BF83593E0BE /* greetings.yml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.yaml; path = greetings.yml; sourceTree = ""; }; - D04BADBAFB42AE72DBE1E59E /* es */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = es; path = InfoPlist.strings; sourceTree = ""; }; - D04BADBCA16C1D448D34F473 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = ""; }; - D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; - D04BAE073DD0B0D65CD4CBB6 /* CollectionViewItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemView.swift; sourceTree = ""; }; + D04BADB7FBE213951CDD81CF /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = InfoPlist.strings; sourceTree = ""; }; D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = ""; }; - D04BAE23C37E0F3B07EEE7B1 /* AboutTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutTab.swift; sourceTree = ""; }; - D04BAE80772D25834E440975 /* Window.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Window.swift; sourceTree = ""; }; + D04BAE757BB2B605234FBF58 /* TabViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewController.swift; sourceTree = ""; }; D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = update_homebrew_cask.sh; sourceTree = ""; }; - D04BAEA3EDC4F80FA23DBEC4 /* CGWindowID.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindowID.swift; sourceTree = ""; }; - D04BAF0469B160046170B608 /* Menubar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Menubar.swift; sourceTree = ""; }; D04BAF076A30A1BAFEDBEA66 /* 5 windows - 2 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 2 lines.jpg"; sourceTree = ""; }; - D04BAF0DFC1F44322973CE1E /* PrivateApis.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrivateApis.swift; sourceTree = ""; }; - D04BAF13DFAA6930676D0492 /* Application.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Application.swift; sourceTree = ""; }; + D04BAF1058D2599E6E8ABBA6 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.info; path = Info.plist; sourceTree = ""; }; D04BAF249324297C07E31164 /* frontpage.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = frontpage.jpg; sourceTree = ""; }; - D04BAF40D5E54AD1044B3FF7 /* ThumbnailsPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThumbnailsPanel.swift; sourceTree = ""; }; + D04BAF6F617FCA44D1F75B60 /* alt_tab_macos.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = alt_tab_macos.entitlements; sourceTree = ""; }; D04BAFA277EAE3BDDDB61110 /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; - D04BAFA84FD0B02215718F94 /* FeedbackWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedbackWindow.swift; sourceTree = ""; }; - D04BAFE3AC6E14F394956586 /* GridView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GridView.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -192,20 +195,28 @@ path = Pods; sourceTree = ""; }; - D04BA13E9A7AB055F50EC090 /* de.lproj */ = { + D04BA0D80B24E72B9B981A1D /* logic */ = { isa = PBXGroup; children = ( - D04BAF762580D0252489A11A /* InfoPlist.strings */, - D04BA3EB20F0A658E10E5A41 /* Localizable.strings */, + D04BA8276B3D3905E80B1739 /* Keyboard.swift */, + D04BACD976030676FD0761D5 /* Windows.swift */, + D04BA9B93823398A542FF7A0 /* Preferences.swift */, + D04BA68C2561D9EE4FD851B8 /* Screen.swift */, + D04BA7C6F2519091717F4B4E /* SystemPermissions.swift */, + D04BA7CF9C2D1BEC7C05AB24 /* Spaces.swift */, + D04BA015A45DE7AFDC9794FE /* Window.swift */, + D04BA10777505D8A67ABD186 /* Application.swift */, + D04BA282BB16C1554595A968 /* Applications.swift */, + D04BAB74451B79FE18B8BEDF /* DispatchQueues.swift */, + D04BACABD048E62EBE4576CC /* DebugProfile.swift */, ); - path = de.lproj; + path = logic; sourceTree = ""; }; D04BA1463D2A17038222BB84 = { isa = PBXGroup; children = ( D04BA1A461BBB5A9BE15E015 /* Products */, - D04BAD48B702C4B1DC543557 /* alt-tab-macos */, D04BAD40CE2D3A8AAC3819D0 /* .gitignore */, D04BA0E1C5DBC07108AC2F54 /* README.md */, D04BAD1F5F5D4427DEA16682 /* docs */, @@ -215,7 +226,7 @@ D04BA4336B6004A0A99849AD /* package.json */, D04BA92541D46EA4F6943A72 /* package-lock.json */, D04BAFA277EAE3BDDDB61110 /* CHANGELOG.md */, - D04BA703DCD38D9757093312 /* ci */, + D04BA703DCD38D9757093312 /* scripts */, D04BA459034C1885CA43A807 /* LICENCE.md */, D04BA2C9EF33A646D0977195 /* .github */, 4807A6C423A9CD190052A53E /* Frameworks */, @@ -223,40 +234,43 @@ D04BA2A4F257F4DCE1421758 /* Podfile.lock */, D04BA0E071D2EDFDB9A20523 /* Podfile */, D04BAAF760E3A8A22BDA84D6 /* appcast.xml */, + D04BA6251F309645757C6000 /* src */, + D04BAF1058D2599E6E8ABBA6 /* Info.plist */, + D04BAF6F617FCA44D1F75B60 /* alt_tab_macos.entitlements */, + D04BAA17F1B492591AAAA9A7 /* config */, ); sourceTree = ""; }; - D04BA157BE7DD972D2EF665A /* text */ = { + D04BA1A461BBB5A9BE15E015 /* Products */ = { isa = PBXGroup; children = ( - D04BA6F87B035BCBF2BEAEBC /* BoldLabel.swift */, - D04BA2D2BCBA4C47E25315AF /* HyperlinkLabel.swift */, - D04BABC180117F8785D250E1 /* TextField.swift */, - D04BA8011143819B48F204C2 /* TextArea.swift */, - D04BA7ADB4B6C31B4887AEA3 /* BaseLabel.swift */, + D04BA82F792DF53958D92572 /* AltTab.app */, ); - path = text; + name = Products; sourceTree = ""; }; - D04BA1A461BBB5A9BE15E015 /* Products */ = { + D04BA1C159E56743F02A3866 /* l10n */ = { isa = PBXGroup; children = ( - D04BA82F792DF53958D92572 /* alt-tab-macos.app */, + D04BA69F91158198644938DF /* en.lproj */, + D04BA376C4D35D1D73E3957E /* fr.lproj */, + D04BABC0D2BA739828F53E24 /* de.lproj */, + D04BAD618AE89C76F26536ED /* es.lproj */, ); - name = Products; + path = l10n; sourceTree = ""; }; - D04BA22D2CA2755FA5902C34 /* api-wrappers */ = { + D04BA229883E5D540D00232D /* ui */ = { isa = PBXGroup; children = ( - D04BA40A4291E4F310527DBF /* AXUIElement.swift */, - D04BA78E3B4E73B40DB77174 /* CGWindow.swift */, - D04BA8F1AA48A323EE5638DC /* HelperExtensions.swift */, - D04BAF0DFC1F44322973CE1E /* PrivateApis.swift */, - D04BAEA3EDC4F80FA23DBEC4 /* CGWindowID.swift */, - D04BA896E37EFD27CAB61DF0 /* Sysctl.swift */, + D04BAAB92261FC04854FDDE9 /* App.swift */, + D04BA62E30174C336E4080FA /* main-window */, + D04BABCD12CA72B06290C248 /* preferences-window */, + D04BAD905546AA93E5117B0A /* Menubar.swift */, + D04BA26C75F76C277653C932 /* FeedbackWindow.swift */, + D04BA2CBF267F267225CA671 /* generic-components */, ); - path = "api-wrappers"; + path = ui; sourceTree = ""; }; D04BA2C9EF33A646D0977195 /* .github */ = { @@ -267,13 +281,33 @@ path = .github; sourceTree = ""; }; - D04BA2D2C269919C49F8AF8D /* es.lproj */ = { + D04BA2CBF267F267225CA671 /* generic-components */ = { isa = PBXGroup; children = ( - D04BA10F57DA97A1D0320122 /* InfoPlist.strings */, - D04BAB8DB0BA2A20D08D9D7F /* Localizable.strings */, + D04BA6D57A1456C07318B8EA /* GridView.swift */, + D04BAA41B9A74189B065D856 /* text */, ); - path = es.lproj; + path = "generic-components"; + sourceTree = ""; + }; + D04BA376C4D35D1D73E3957E /* fr.lproj */ = { + isa = PBXGroup; + children = ( + D04BA9DD88D87718D6A162E9 /* InfoPlist.strings */, + D04BA63DEDDC0BCE06588541 /* Localizable.strings */, + ); + path = fr.lproj; + sourceTree = ""; + }; + D04BA3FA52AA40B827A72F10 /* tabs */ = { + isa = PBXGroup; + children = ( + D04BA64F1F344007EA13BA05 /* AppearanceTab.swift */, + D04BA4A26987F67DD94C827F /* AboutTab.swift */, + D04BACE22DC907F03D193075 /* ShortcutsTab.swift */, + D04BAD60C97E609A759E721E /* UpdatesTab.swift */, + ); + path = tabs; sourceTree = ""; }; D04BA502DEE6E54E9987BAB7 /* windows-10 */ = { @@ -297,110 +331,98 @@ path = "windows-10"; sourceTree = ""; }; - D04BA5A0E9C82F7579CD2B78 /* resources */ = { + D04BA5BB6FB4E7D8F7AD357C /* api-wrappers */ = { isa = PBXGroup; children = ( - D04BABC654F40BE74DA25BC7 /* SF-Pro-Text-Regular.otf */, - D04BA7A48641612933710091 /* MainMenu.xib */, - D04BAA62C61D1A8906274221 /* l10n */, + D04BA6F823BC0EDA9AA4B80A /* AXUIElement.swift */, + D04BAC34CFD42A7F6F1F01C0 /* CGWindow.swift */, + D04BAD91161791D42FEC4A60 /* HelperExtensions.swift */, + D04BA5C401AFA55CC67C7188 /* PrivateApis.swift */, + D04BA03200F5A8FC0CD03607 /* CGWindowID.swift */, + D04BA8DB8AA7E5570DAC568A /* Sysctl.swift */, ); - path = resources; - sourceTree = ""; - }; - D04BA63877FC8FB11C43C3D2 /* alt-tab-macos */ = { - isa = PBXGroup; - children = ( - D04BA26154AB2A2897E08CAF /* windows-theme.jpg */, - D04BAA34E0CB00DED7C04B4F /* 2-rows.jpg */, - D04BAC159731F80FDAF4EA6C /* 1-row.jpg */, - D04BAF249324297C07E31164 /* frontpage.jpg */, - ); - path = "alt-tab-macos"; + path = "api-wrappers"; sourceTree = ""; }; - D04BA703DCD38D9757093312 /* ci */ = { + D04BA6251F309645757C6000 /* src */ = { isa = PBXGroup; children = ( - D04BA7ECCE728582D9ECA613 /* determine_version.sh */, - D04BA4B5292629AA6B560216 /* package_release.sh */, - D04BAC6AFC7F06D1A567F27A /* set_version_in_app.sh */, - D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */, - D04BA5E819181CB83C5602C7 /* generate_debug_certificate.sh */, - D04BA89FAEC4A5734D892C4B /* build_release.sh */, - D04BA0AAAE82C72855DBBA26 /* update_appcast.sh */, + D04BA5BB6FB4E7D8F7AD357C /* api-wrappers */, + D04BA70746DEEC3D30B43F81 /* main.swift */, + D04BA0D80B24E72B9B981A1D /* logic */, + D04BAC282F0F3C3712FB72D6 /* resources */, + D04BA229883E5D540D00232D /* ui */, ); - path = ci; + path = src; sourceTree = ""; }; - D04BA77FA515B70E5E5F2677 /* en.lproj */ = { + D04BA62E30174C336E4080FA /* main-window */ = { isa = PBXGroup; children = ( - D04BAEE5AEEB8692856B45E4 /* InfoPlist.strings */, - D04BAC0D42D7FED725746DA5 /* Localizable.strings */, + D04BAC2FEF7248B7BF9579E2 /* CollectionViewFlowLayout.swift */, + D04BA2A4A4140AF3E09DA94D /* CollectionViewItem.swift */, + D04BA653BD073CB58E2CFC93 /* ThumbnailsPanel.swift */, + D04BAD1297730B191E96E7FE /* CollectionViewItemTitle.swift */, + D04BA1DF8CAB2FAB7FE9244B /* CollectionViewItemFontIcon.swift */, + D04BA258B56193958D60978A /* CollectionViewItemView.swift */, ); - path = en.lproj; + path = "main-window"; sourceTree = ""; }; - D04BA8965B713BE52849AFAF /* generic-components */ = { + D04BA63877FC8FB11C43C3D2 /* alt-tab-macos */ = { isa = PBXGroup; children = ( - D04BAFE3AC6E14F394956586 /* GridView.swift */, - D04BA157BE7DD972D2EF665A /* text */, + D04BA26154AB2A2897E08CAF /* windows-theme.jpg */, + D04BAA34E0CB00DED7C04B4F /* 2-rows.jpg */, + D04BAC159731F80FDAF4EA6C /* 1-row.jpg */, + D04BAF249324297C07E31164 /* frontpage.jpg */, ); - path = "generic-components"; + path = "alt-tab-macos"; sourceTree = ""; }; - D04BAA0972482EFACD1DC24E /* tabs */ = { + D04BA69F91158198644938DF /* en.lproj */ = { isa = PBXGroup; children = ( - D04BACD85D3966B4C9482E52 /* AppearanceTab.swift */, - D04BAE23C37E0F3B07EEE7B1 /* AboutTab.swift */, - D04BABD0C7A6DBA235C650A5 /* ShortcutsTab.swift */, - D04BA837A9E0A82D54EF4DB0 /* UpdatesTab.swift */, + D04BAE9FE8A2ACA88429535E /* InfoPlist.strings */, + D04BAEBD635643E652AA79A6 /* Localizable.strings */, ); - path = tabs; + path = en.lproj; sourceTree = ""; }; - D04BAA1C553891551B903DA7 /* logic */ = { + D04BA703DCD38D9757093312 /* scripts */ = { isa = PBXGroup; children = ( - D04BA35456DA0DDA74F9687E /* Keyboard.swift */, - D04BAD1BED44EAEB77FED8A4 /* Windows.swift */, - D04BADCB1C0F50340A6CAFC2 /* Preferences.swift */, - D04BA3F15EAE8D8C39B6F2CF /* Screen.swift */, - D04BA2D2AD6B1CCA3F3A4DD7 /* SystemPermissions.swift */, - D04BA5EB5ED248C8C22CC672 /* Spaces.swift */, - D04BAE80772D25834E440975 /* Window.swift */, - D04BAF13DFAA6930676D0492 /* Application.swift */, - D04BA66B5B4143D2238F50B9 /* Applications.swift */, - D04BA56E285C3FCDA52ED262 /* DispatchQueues.swift */, - D04BA3915020FB9B34555D74 /* DebugProfile.swift */, + D04BA7ECCE728582D9ECA613 /* determine_version_and_changelog.sh */, + D04BA4B5292629AA6B560216 /* package_and_notarize_release.sh */, + D04BAC6AFC7F06D1A567F27A /* set_version_in_app.sh */, + D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */, + D04BA5E819181CB83C5602C7 /* generate_selfsigned_codesign_certificate.sh */, + D04BA0AAAE82C72855DBBA26 /* update_appcast.sh */, + D04BABFEC8F9DF41BB7A449E /* import_codesign_certificate_into_keychain.sh */, ); - path = logic; + path = scripts; sourceTree = ""; }; - D04BAA62C61D1A8906274221 /* l10n */ = { + D04BAA17F1B492591AAAA9A7 /* config */ = { isa = PBXGroup; children = ( - D04BA77FA515B70E5E5F2677 /* en.lproj */, - D04BAF78C474CFE92FB844FA /* fr.lproj */, - D04BA13E9A7AB055F50EC090 /* de.lproj */, - D04BA2D2C269919C49F8AF8D /* es.lproj */, + D04BA6EF1954DCE80E539142 /* base.xcconfig */, + D04BA62D5EACAAAD7BCD3E79 /* release.xcconfig */, + D04BA1232AFEEFE90D5CC827 /* debug.xcconfig */, ); - path = l10n; + path = config; sourceTree = ""; }; - D04BAAA28315301A906DD201 /* ui */ = { + D04BAA41B9A74189B065D856 /* text */ = { isa = PBXGroup; children = ( - D04BA90C6C36DB1D65BC2B66 /* App.swift */, - D04BAF7BAEB13280202194EC /* main-window */, - D04BAB80CE5308CE20712131 /* preferences-window */, - D04BAF0469B160046170B608 /* Menubar.swift */, - D04BAFA84FD0B02215718F94 /* FeedbackWindow.swift */, - D04BA8965B713BE52849AFAF /* generic-components */, + D04BACEE8D430B8CAAD8C4CD /* BoldLabel.swift */, + D04BA49E45BFFF3D9FC60E43 /* HyperlinkLabel.swift */, + D04BA44F7B5E58A08416706B /* TextField.swift */, + D04BA7C836A8CE8C0B8D128B /* TextArea.swift */, + D04BA53992F116E5E704CAB3 /* BaseLabel.swift */, ); - path = ui; + path = text; sourceTree = ""; }; D04BAAB62DCBD7AF93B7EF89 /* img */ = { @@ -412,68 +434,60 @@ path = img; sourceTree = ""; }; - D04BAB80CE5308CE20712131 /* preferences-window */ = { + D04BABC0D2BA739828F53E24 /* de.lproj */ = { isa = PBXGroup; children = ( - D04BA5B232184F6DB29C701C /* PreferencesWindow.swift */, - D04BA6FA0F38687C3E420D77 /* TabViewController.swift */, - D04BA3D65E7CA78D699EDAB0 /* LabelAndControl.swift */, - D04BA293C53EC5CE00D11E02 /* TabViewItem.swift */, - D04BAA0972482EFACD1DC24E /* tabs */, + D04BA0DE428BF4C08F5E19CE /* InfoPlist.strings */, + D04BAD91185BD6DA6774E0C4 /* Localizable.strings */, ); - path = "preferences-window"; + path = de.lproj; sourceTree = ""; }; - D04BAD1F5F5D4427DEA16682 /* docs */ = { + D04BABCD12CA72B06290C248 /* preferences-window */ = { isa = PBXGroup; children = ( - D04BAAB62DCBD7AF93B7EF89 /* img */, + D04BA47FF1B7838CF4814538 /* PreferencesWindow.swift */, + D04BAE757BB2B605234FBF58 /* TabViewController.swift */, + D04BA2526DC6726E0F7ACF7C /* LabelAndControl.swift */, + D04BA27C87B86C4484A5B15B /* TabViewItem.swift */, + D04BA3FA52AA40B827A72F10 /* tabs */, ); - path = docs; + path = "preferences-window"; sourceTree = ""; }; - D04BAD48B702C4B1DC543557 /* alt-tab-macos */ = { + D04BAC282F0F3C3712FB72D6 /* resources */ = { isa = PBXGroup; children = ( - D04BAD1C9F215BCCD3B620AC /* alt_tab_macos.entitlements */, - D04BAAA28315301A906DD201 /* ui */, - D04BA7B6AAB0812631BBC7A2 /* Info.plist */, - D04BAA44C837F3A67403B9DB /* main.swift */, - D04BAA1C553891551B903DA7 /* logic */, - D04BA22D2CA2755FA5902C34 /* api-wrappers */, - D04BA5A0E9C82F7579CD2B78 /* resources */, + D04BA9C7ECE540D4B4D2F3F0 /* SF-Pro-Text-Regular.otf */, + D04BA6A1082C0521CD994B42 /* MainMenu.xib */, + D04BA1C159E56743F02A3866 /* l10n */, ); - path = "alt-tab-macos"; + path = resources; sourceTree = ""; }; - D04BAE05121D54E4FF6AEDAF /* workflows */ = { + D04BAD1F5F5D4427DEA16682 /* docs */ = { isa = PBXGroup; children = ( - D04BADB20AB31BF83593E0BE /* greetings.yml */, + D04BAAB62DCBD7AF93B7EF89 /* img */, ); - path = workflows; + path = docs; sourceTree = ""; }; - D04BAF78C474CFE92FB844FA /* fr.lproj */ = { + D04BAD618AE89C76F26536ED /* es.lproj */ = { isa = PBXGroup; children = ( - D04BA1ACE289DC4AD4826D1E /* InfoPlist.strings */, - D04BAE5FA03065C5D23C0C2C /* Localizable.strings */, + D04BA4A4B27D541B489D35CA /* InfoPlist.strings */, + D04BAF27C7004AC98C521FCD /* Localizable.strings */, ); - path = fr.lproj; + path = es.lproj; sourceTree = ""; }; - D04BAF7BAEB13280202194EC /* main-window */ = { + D04BAE05121D54E4FF6AEDAF /* workflows */ = { isa = PBXGroup; children = ( - D04BAACB6648E7C2A4E0339D /* CollectionViewFlowLayout.swift */, - D04BA8BEE821E2062F23AA97 /* CollectionViewItem.swift */, - D04BAF40D5E54AD1044B3FF7 /* ThumbnailsPanel.swift */, - D04BA4BABBA0312E0EDBA647 /* CollectionViewItemTitle.swift */, - D04BAC0416F29ADE7BC5A544 /* CollectionViewItemFontIcon.swift */, - D04BAE073DD0B0D65CD4CBB6 /* CollectionViewItemView.swift */, + D04BADB20AB31BF83593E0BE /* greetings.yml */, ); - path = "main-window"; + path = workflows; sourceTree = ""; }; /* End PBXGroup section */ @@ -495,7 +509,7 @@ ); name = "alt-tab-macos"; productName = "alt-tab-macos"; - productReference = D04BA82F792DF53958D92572 /* alt-tab-macos.app */; + productReference = D04BA82F792DF53958D92572 /* AltTab.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -532,16 +546,16 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - D04BA8373D4DE452C0C081ED /* SF-Pro-Text-Regular.otf in Resources */, - D04BA30F92801F5960ACC844 /* MainMenu.xib in Resources */, - D04BA79B891E9C89C015D6DD /* InfoPlist.strings in Resources */, - D04BAA0F39E6160F5703FC33 /* Localizable.strings in Resources */, - D04BAD1158CBCC76DE321555 /* InfoPlist.strings in Resources */, - D04BAEAB8AB048FF2B16B131 /* Localizable.strings in Resources */, - D04BA99DE72CE77BA6CE5A56 /* InfoPlist.strings in Resources */, - D04BAFAF889BB3DA9A03FD83 /* Localizable.strings in Resources */, - D04BA744F626B2E89331390B /* InfoPlist.strings in Resources */, - D04BA3AE19F48237BDCDDA4F /* Localizable.strings in Resources */, + D04BABD34C901707D28CA239 /* SF-Pro-Text-Regular.otf in Resources */, + D04BA7C348A3CF9862394E23 /* MainMenu.xib in Resources */, + D04BA53516E4BA2078A45481 /* InfoPlist.strings in Resources */, + D04BAAE70D788E127E61319C /* Localizable.strings in Resources */, + D04BABE88F8E4B54EEFC3B4D /* InfoPlist.strings in Resources */, + D04BA6AA07BF870BAFC54DF3 /* Localizable.strings in Resources */, + D04BA69AF6CA6723036F6EB7 /* InfoPlist.strings in Resources */, + D04BAA98549C75DF585D2628 /* Localizable.strings in Resources */, + D04BAC0AE7C80F8A37BBC7A5 /* InfoPlist.strings in Resources */, + D04BAE6B5382CA561A219A54 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -599,115 +613,115 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D04BAEF78503D7A2CEFB9E9E /* main.swift in Sources */, - D04BA57A871B7269BEBAFF84 /* Keyboard.swift in Sources */, - D04BA278D9EFA568C8D18A4C /* Windows.swift in Sources */, - D04BA3261C7DA5F48310E654 /* App.swift in Sources */, - D04BA70FF7262BF5F9E6E13B /* Preferences.swift in Sources */, - D04BA8EBC0365A019A27C7EA /* Screen.swift in Sources */, - D04BA9CCE02D30C8164A552A /* SystemPermissions.swift in Sources */, - D04BA308162F8043F8561D03 /* AXUIElement.swift in Sources */, - D04BA0496ACF1427B6E9D369 /* CGWindow.swift in Sources */, - D04BAE369A14C3126A1606FE /* HelperExtensions.swift in Sources */, - D04BA4D356055A39B97712DE /* PrivateApis.swift in Sources */, - D04BA6B6B703DCEFE892D5A4 /* Spaces.swift in Sources */, - D04BA2CBF0EFA04CC80EC1BC /* Window.swift in Sources */, - D04BA57FB9EF1373D59A1AA7 /* CGWindowID.swift in Sources */, - D04BA1BA0B3F2E0A47883569 /* Application.swift in Sources */, - D04BA2378832FD7E5DE3BC23 /* Applications.swift in Sources */, - D04BAAD43731608067734ED3 /* DispatchQueues.swift in Sources */, - D04BA84074E5FD6221720BC7 /* CollectionViewFlowLayout.swift in Sources */, - D04BA4409C5B3F3595E8E69C /* CollectionViewItem.swift in Sources */, - D04BABF88726DA42B2CBA68B /* ThumbnailsPanel.swift in Sources */, - D04BA46C048F35D5BC0417FC /* PreferencesWindow.swift in Sources */, - D04BA6083F3EAB7A276EA758 /* TabViewController.swift in Sources */, - D04BAF3B6F75E50E9AA3E1D2 /* LabelAndControl.swift in Sources */, - D04BAD8346A6A32C9749E0B3 /* TabViewItem.swift in Sources */, - D04BA42AF817BCDF3F1F13F2 /* AppearanceTab.swift in Sources */, - D04BAC0BF53A80D4F1EE22ED /* AboutTab.swift in Sources */, - D04BA57B6719B4BA8DD358DF /* ShortcutsTab.swift in Sources */, - D04BA0E86F2D30722F97C16F /* Menubar.swift in Sources */, - D04BAC9C031D482119F6DEB8 /* FeedbackWindow.swift in Sources */, - D04BA7F212CDB1B7E101D7A3 /* GridView.swift in Sources */, - D04BA4312972BFFB0DD1C141 /* BoldLabel.swift in Sources */, - D04BA26B4E9B4378FA7995DF /* HyperlinkLabel.swift in Sources */, - D04BACD398A35D82D514A9F7 /* TextField.swift in Sources */, - D04BAB5E802C938E78839011 /* TextArea.swift in Sources */, - D04BA40A1C8B02448D720EA3 /* BaseLabel.swift in Sources */, - D04BAD5A6B2F9EEE6FD4185F /* CollectionViewItemTitle.swift in Sources */, - D04BA6D9DA2A8BCD93347F0E /* CollectionViewItemFontIcon.swift in Sources */, - D04BA9EE5D34A2789DCB0EE2 /* Sysctl.swift in Sources */, - D04BAC4F69FE9563BC1C5E9C /* DebugProfile.swift in Sources */, - D04BAE4CE37C303DDD0347B8 /* CollectionViewItemView.swift in Sources */, - D04BA9AB730AB1AF4055929D /* UpdatesTab.swift in Sources */, + D04BAFBC862BA5FE0294EA7A /* AXUIElement.swift in Sources */, + D04BA73E90EFEF8247A5105D /* CGWindow.swift in Sources */, + D04BA004884A273D4D2D3EF1 /* HelperExtensions.swift in Sources */, + D04BAADED6FE28D42924AEBF /* PrivateApis.swift in Sources */, + D04BABED81800E18732912CC /* CGWindowID.swift in Sources */, + D04BA26A691D56031FCCF00C /* Sysctl.swift in Sources */, + D04BA8480A8FF466CA89DA5B /* main.swift in Sources */, + D04BA5F99B45DC13B9E9DD91 /* Keyboard.swift in Sources */, + D04BAFB973C3D28718FAEB87 /* Windows.swift in Sources */, + D04BAC011A71E0418154F8CD /* Preferences.swift in Sources */, + D04BA775CF3F8D9394A1E256 /* Screen.swift in Sources */, + D04BADCDA9F9A6C3D6499877 /* SystemPermissions.swift in Sources */, + D04BABEECBC6D922298BC93A /* Spaces.swift in Sources */, + D04BA6187A91A847844B6ABB /* Window.swift in Sources */, + D04BA737008AA2CD4E230A21 /* Application.swift in Sources */, + D04BA2A6FF9DDDC5A1A68E36 /* Applications.swift in Sources */, + D04BA3CF766857381519B892 /* DispatchQueues.swift in Sources */, + D04BA48B00B4211A465C7337 /* DebugProfile.swift in Sources */, + D04BAB68B7B8D1B548BC3AD5 /* App.swift in Sources */, + D04BA76DDB00FC50D203D62C /* CollectionViewFlowLayout.swift in Sources */, + D04BA6C953494839648107D1 /* CollectionViewItem.swift in Sources */, + D04BAB048DE698E013577C51 /* ThumbnailsPanel.swift in Sources */, + D04BA69D47B5E60A6AD9CBD9 /* CollectionViewItemTitle.swift in Sources */, + D04BA1B133D53572D7B312C2 /* CollectionViewItemFontIcon.swift in Sources */, + D04BA1CEC6B9C8945FEC8740 /* CollectionViewItemView.swift in Sources */, + D04BA3BFB0CDF4ED343914B2 /* PreferencesWindow.swift in Sources */, + D04BA691CB6082A3C39CBC89 /* TabViewController.swift in Sources */, + D04BA14D93726795A6937832 /* LabelAndControl.swift in Sources */, + D04BADBCF20CD72057E7CF09 /* TabViewItem.swift in Sources */, + D04BA7BE7F3DD24D58ACE942 /* AppearanceTab.swift in Sources */, + D04BAD1BE9DC22C48C53D195 /* AboutTab.swift in Sources */, + D04BA15A1B0C4871EA7CB899 /* ShortcutsTab.swift in Sources */, + D04BA8092885B40CE3527370 /* UpdatesTab.swift in Sources */, + D04BAD451966B43720120D2E /* Menubar.swift in Sources */, + D04BA2E64C59D96F6EB27D9D /* FeedbackWindow.swift in Sources */, + D04BA76A74267B1346D23687 /* GridView.swift in Sources */, + D04BAB4EB890853B5B9B2C61 /* BoldLabel.swift in Sources */, + D04BAABE804F3769CE22BEB6 /* HyperlinkLabel.swift in Sources */, + D04BAF25E67A5B31CF7676DB /* TextField.swift in Sources */, + D04BAD2A7F2E8BF64EE982E9 /* TextArea.swift in Sources */, + D04BA7F86F1926FBE31F44BF /* BaseLabel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - D04BA10F57DA97A1D0320122 /* InfoPlist.strings */ = { + D04BA0DE428BF4C08F5E19CE /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - D04BADBAFB42AE72DBE1E59E /* es */, + D04BACEECEFD773AC52E817C /* de */, ); name = InfoPlist.strings; sourceTree = ""; }; - D04BA1ACE289DC4AD4826D1E /* InfoPlist.strings */ = { + D04BA4A4B27D541B489D35CA /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - D04BA81CA2D9818FCA9E5024 /* fr */, + D04BA5E7D7A67D186B7136FE /* es */, ); name = InfoPlist.strings; sourceTree = ""; }; - D04BA3EB20F0A658E10E5A41 /* Localizable.strings */ = { + D04BA63DEDDC0BCE06588541 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - D04BABE2789ABBA56E959C1B /* de */, + D04BADA9F7B628E1257A3FFE /* fr */, ); name = Localizable.strings; sourceTree = ""; }; - D04BAB8DB0BA2A20D08D9D7F /* Localizable.strings */ = { + D04BA9DD88D87718D6A162E9 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - D04BAD702D40CA5E94A0CC25 /* es */, + D04BADB7FBE213951CDD81CF /* fr */, ); - name = Localizable.strings; + name = InfoPlist.strings; sourceTree = ""; }; - D04BAC0D42D7FED725746DA5 /* Localizable.strings */ = { + D04BAD91185BD6DA6774E0C4 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - D04BA05F3F36A6D71DCD8475 /* en */, + D04BA8478F617D6F050B1C00 /* de */, ); name = Localizable.strings; sourceTree = ""; }; - D04BAE5FA03065C5D23C0C2C /* Localizable.strings */ = { + D04BAE9FE8A2ACA88429535E /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - D04BA30247D04CEEC2DACEA8 /* fr */, + D04BA0BEF67FCC92B06AA34A /* en */, ); - name = Localizable.strings; + name = InfoPlist.strings; sourceTree = ""; }; - D04BAEE5AEEB8692856B45E4 /* InfoPlist.strings */ = { + D04BAEBD635643E652AA79A6 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - D04BADBCA16C1D448D34F473 /* en */, + D04BA15346AF8E0EF471694A /* en */, ); - name = InfoPlist.strings; + name = Localizable.strings; sourceTree = ""; }; - D04BAF762580D0252489A11A /* InfoPlist.strings */ = { + D04BAF27C7004AC98C521FCD /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - D04BA5988A5BEE68663C130F /* de */, + D04BA209DF87573E375C8CC3 /* es */, ); - name = InfoPlist.strings; + name = Localizable.strings; sourceTree = ""; }; /* End PBXVariantGroup section */ @@ -715,35 +729,15 @@ /* Begin XCBuildConfiguration section */ D04BA49BCED00029C5289244 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 38C426DAE17708EDD4FDADBF /* Pods-alt-tab-macos.release.xcconfig */; + baseConfigurationReference = D04BA62D5EACAAAD7BCD3E79 /* release.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = "alt-tab-macos/alt_tab_macos.entitlements"; - CODE_SIGN_IDENTITY = "Local Self-Signed"; - DEVELOPMENT_TEAM = ""; - ENABLE_HARDENED_RUNTIME = YES; - INFOPLIST_FILE = "alt-tab-macos/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.lwouis.alt-tab-macos"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; }; name = Release; }; D04BA6FB4EC72C6A126E86D7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BF12DEA89785CA78B0FE2706 /* Pods-alt-tab-macos.debug.xcconfig */; + baseConfigurationReference = D04BA1232AFEEFE90D5CC827 /* debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = "alt-tab-macos/alt_tab_macos.entitlements"; - CODE_SIGN_IDENTITY = "Local Self-Signed"; - DEVELOPMENT_TEAM = ""; - ENABLE_HARDENED_RUNTIME = YES; - INFOPLIST_FILE = "alt-tab-macos/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.lwouis.alt-tab-macos"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; }; name = Debug; }; @@ -782,7 +776,6 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = /System/Library/PrivateFrameworks; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -801,7 +794,6 @@ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; @@ -842,7 +834,6 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_SEARCH_PATHS = /System/Library/PrivateFrameworks; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -854,7 +845,6 @@ MACOSX_DEPLOYMENT_TARGET = 10.12; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - SDKROOT = macosx; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; }; name = Release; diff --git a/alt-tab-macos/alt_tab_macos.entitlements b/alt_tab_macos.entitlements similarity index 100% rename from alt-tab-macos/alt_tab_macos.entitlements rename to alt_tab_macos.entitlements diff --git a/ci/package_release.sh b/ci/package_release.sh deleted file mode 100755 index fe49ffc9..00000000 --- a/ci/package_release.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -set -exu - -appName="AltTab" -version="$(cat VERSION.txt)" -appFile="$appName.app" -zipName="$appName-$version.zip" - -cd build/Release -mv "alt-tab-macos.app" "$appFile" -ditto -c -k --keepParent "$appFile" "$zipName" - -# request notarization -requestUUID=$(xcrun altool \ - --notarize-app \ - --verbose \ - --primary-bundle-id "com.lwouis.alt-tab-macos" \ - --username "$APPLE_ID" \ - --password "$APPLE_PASSWORD" \ - --file "$zipName" 2>&1 | - awk '/RequestUUID/ { print $NF; }') -if [[ $requestUUID == "" ]]; then exit 1; fi - -# poll notarization status until done -request_status="in progress" -while [[ "$request_status" == "in progress" ]]; do - sleep 10 - request_status=$(xcrun altool \ - --notarization-info "$requestUUID" \ - --username "$APPLE_ID" \ - --password "$APPLE_PASSWORD" 2>&1 | - awk -F ': ' '/Status:/ { print $2; }') - echo "notarization status: $request_status" -done -if [[ $request_status != "success" ]]; then exit 1; fi - -# staple build -xcrun stapler staple "$appFile" -ditto -c -k --keepParent "$appFile" "$zipName" diff --git a/config/base.xcconfig b/config/base.xcconfig new file mode 100644 index 00000000..5a8206b3 --- /dev/null +++ b/config/base.xcconfig @@ -0,0 +1,13 @@ +// docs: https://help.apple.com/xcode/#/dev745c5c974 + +PRODUCT_NAME = AltTab +PRODUCT_BUNDLE_IDENTIFIER = com.lwouis.alt-tab-macos +MACOSX_DEPLOYMENT_TARGET = 10.12 +SWIFT_VERSION = 4.2 +INFOPLIST_FILE = Info.plist +CODE_SIGN_ENTITLEMENTS = alt_tab_macos.entitlements +ENABLE_HARDENED_RUNTIME = YES // for notorization +IDEDerivedDataPathOverride = DerivedData +FRAMEWORK_SEARCH_PATHS = $(inherited) /System/Library/PrivateFrameworks // for SkyLight.framework +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks // for accessing swift dylibs at runtime +SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG // for macros like `#if DEBUG` diff --git a/config/debug.xcconfig b/config/debug.xcconfig new file mode 100644 index 00000000..62b087cc --- /dev/null +++ b/config/debug.xcconfig @@ -0,0 +1,6 @@ +// docs: https://help.apple.com/xcode/#/dev745c5c974 + +#include "Pods/Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos.debug.xcconfig" +#include "base.xcconfig" + +CODE_SIGN_IDENTITY = Local Self-Signed diff --git a/config/release.xcconfig b/config/release.xcconfig new file mode 100644 index 00000000..164683c5 --- /dev/null +++ b/config/release.xcconfig @@ -0,0 +1,8 @@ +// docs: https://help.apple.com/xcode/#/dev745c5c974 + +#include "Pods/Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos.release.xcconfig" +#include "base.xcconfig" + +CODE_SIGN_IDENTITY = Developer ID Application: Louis Pontoise (QXD7GW8FHY) +OTHER_CODE_SIGN_FLAGS = --timestamp // for notorization +CODE_SIGN_INJECT_BASE_ENTITLEMENTS = NO // for notorization diff --git a/ci/determine_version.sh b/scripts/determine_version_and_changelog.sh similarity index 77% rename from ci/determine_version.sh rename to scripts/determine_version_and_changelog.sh index ae4dc0ed..193c89c3 100755 --- a/ci/determine_version.sh +++ b/scripts/determine_version_and_changelog.sh @@ -6,5 +6,5 @@ semanticRelease=$(npx semantic-release --dry-run --ci false) version=$(echo "$semanticRelease" | sed -nE 's/.+The next release version is (.+)/\1/p') changelogDelta=$(echo "$semanticRelease" | sed -n '/Release note for version/,$p' | sed '1d') -echo "$version" > VERSION.txt -echo "$changelogDelta" > CHANGELOG_DELTA.txt +echo "$version" > $VERSION_FILE +echo "$changelogDelta" > $CHANGELOG_DELTA_FILE diff --git a/ci/generate_debug_certificate.sh b/scripts/generate_selfsigned_codesign_certificate.sh similarity index 100% rename from ci/generate_debug_certificate.sh rename to scripts/generate_selfsigned_codesign_certificate.sh diff --git a/ci/build_release.sh b/scripts/import_codesign_certificate_into_keychain.sh old mode 100755 new mode 100644 similarity index 81% rename from ci/build_release.sh rename to scripts/import_codesign_certificate_into_keychain.sh index 6750e20d..214ad903 --- a/ci/build_release.sh +++ b/scripts/import_codesign_certificate_into_keychain.sh @@ -17,5 +17,3 @@ echo "$APPLE_P12_CERTIFICATE" | base64 --decode > $certificateFile.p12 # import p12 into Keychain security import $certificateFile.p12 -P "$APPLE_P12_CERTIFICATE_PASSWORD" -T /usr/bin/codesign security set-key-partition-list -S apple-tool:,apple: -s -k $keychainPassword $keychain -# build release .app -xcodebuild CODE_SIGN_IDENTITY="Developer ID Application: Louis Pontoise (QXD7GW8FHY)" -workspace alt-tab-macos.xcworkspace -scheme Release diff --git a/scripts/package_and_notarize_release.sh b/scripts/package_and_notarize_release.sh new file mode 100755 index 00000000..94d28d93 --- /dev/null +++ b/scripts/package_and_notarize_release.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +set -exu + +version="$(cat $VERSION_FILE)" +appFile="$APP_NAME.app" +zipName="$APP_NAME-$version.zip" +bundleId="$(awk -F ' = ' '/PRODUCT_BUNDLE_IDENTIFIER/ { print $2; }' < config/base.xcconfig)" + +cd "$XCODE_BUILD_PATH" +ditto -c -k --keepParent "$appFile" "$zipName" + +# request notarization +requestUUID=$(xcrun altool \ + --notarize-app \ + --verbose \ + -ITunesTransport DAV \ + --primary-bundle-id "$bundleId" \ + --username "$APPLE_ID" \ + --password "$APPLE_PASSWORD" \ + --file "$zipName" 2>&1 | + tee /dev/tty | + awk '/RequestUUID/ { print $NF; }') +if [[ $requestUUID == "" ]]; then exit 1; fi + +# poll notarization status until done +requestStatus="in progress" +while [[ "$requestStatus" == "in progress" ]]; do + sleep 10 + requestLogs=$(xcrun altool \ + --notarization-info "$requestUUID" \ + --username "$APPLE_ID" \ + --password "$APPLE_PASSWORD" 2>&1) + requestStatus=$(echo "$requestLogs" | awk -F ': ' '/Status:/ { print $2; }') +done +if [[ $requestStatus != "success" ]]; then + echo "$requestLogs" | awk -F ': ' '/LogFileURL:/ { print $2; }' | xargs curl + exit 1 +fi + +# staple build +xcrun stapler staple "$appFile" +ditto -c -k --keepParent "$appFile" "$zipName" diff --git a/ci/set_version_in_app.sh b/scripts/set_version_in_app.sh similarity index 55% rename from ci/set_version_in_app.sh rename to scripts/set_version_in_app.sh index 7c0aaed7..1e4f7d03 100755 --- a/ci/set_version_in_app.sh +++ b/scripts/set_version_in_app.sh @@ -2,6 +2,6 @@ set -exu -version="$(cat VERSION.txt)" +version="$(cat $VERSION_FILE)" # set the version in the app meta-data for the AppStore and app "Get Info" panel -sed -i '' -e "s/#VERSION#/$version/" alt-tab-macos/Info.plist +sed -i '' -e "s/#VERSION#/$version/" Info.plist diff --git a/ci/update_appcast.sh b/scripts/update_appcast.sh similarity index 69% rename from ci/update_appcast.sh rename to scripts/update_appcast.sh index 7a38ee35..8d75b613 100755 --- a/ci/update_appcast.sh +++ b/scripts/update_appcast.sh @@ -2,13 +2,12 @@ set -exu -version="$(cat VERSION.txt)" -changelogDelta="$(npx marked < CHANGELOG_DELTA.txt)" +version="$(cat $VERSION_FILE)" +changelogDelta="$(npx marked < $CHANGELOG_DELTA_FILE)" date="$(date +'%a, %d %b %Y %H:%M:%S %z')" -minimumSystemVersion="$(sed -En 's/MACOSX_DEPLOYMENT_TARGET = (.+);/\1/p' alt-tab-macos.xcodeproj/project.pbxproj | head -n 1 | awk '{$1=$1};1')" -version="$(cat VERSION.txt)" -zipName="AltTab-$version.zip" -edSignatureAndLength=$(Pods/Sparkle/bin/sign_update -s $SPARKLE_ED_PRIVATE_KEY "build/Release/$zipName") +minimumSystemVersion="$(awk -F ' = ' '/MACOSX_DEPLOYMENT_TARGET/ { print $2; }' < config/base.xcconfig)" +zipName="$APP_NAME-$version.zip" +edSignatureAndLength=$(Pods/Sparkle/bin/sign_update -s $SPARKLE_ED_PRIVATE_KEY "$XCODE_BUILD_PATH/$zipName") echo " diff --git a/ci/update_homebrew_cask.sh b/scripts/update_homebrew_cask.sh similarity index 71% rename from ci/update_homebrew_cask.sh rename to scripts/update_homebrew_cask.sh index c3861500..7c95e161 100755 --- a/ci/update_homebrew_cask.sh +++ b/scripts/update_homebrew_cask.sh @@ -2,6 +2,6 @@ set -exu -version="$(cat VERSION.txt)" +version="$(cat $VERSION_FILE)" cask-repair --cask-version "$version" alt-tab diff --git a/alt-tab-macos/api-wrappers/AXUIElement.swift b/src/api-wrappers/AXUIElement.swift similarity index 100% rename from alt-tab-macos/api-wrappers/AXUIElement.swift rename to src/api-wrappers/AXUIElement.swift diff --git a/alt-tab-macos/api-wrappers/CGWindow.swift b/src/api-wrappers/CGWindow.swift similarity index 100% rename from alt-tab-macos/api-wrappers/CGWindow.swift rename to src/api-wrappers/CGWindow.swift diff --git a/alt-tab-macos/api-wrappers/CGWindowID.swift b/src/api-wrappers/CGWindowID.swift similarity index 100% rename from alt-tab-macos/api-wrappers/CGWindowID.swift rename to src/api-wrappers/CGWindowID.swift diff --git a/alt-tab-macos/api-wrappers/HelperExtensions.swift b/src/api-wrappers/HelperExtensions.swift similarity index 100% rename from alt-tab-macos/api-wrappers/HelperExtensions.swift rename to src/api-wrappers/HelperExtensions.swift diff --git a/alt-tab-macos/api-wrappers/PrivateApis.swift b/src/api-wrappers/PrivateApis.swift similarity index 100% rename from alt-tab-macos/api-wrappers/PrivateApis.swift rename to src/api-wrappers/PrivateApis.swift diff --git a/alt-tab-macos/api-wrappers/Sysctl.swift b/src/api-wrappers/Sysctl.swift similarity index 100% rename from alt-tab-macos/api-wrappers/Sysctl.swift rename to src/api-wrappers/Sysctl.swift diff --git a/alt-tab-macos/logic/Application.swift b/src/logic/Application.swift similarity index 100% rename from alt-tab-macos/logic/Application.swift rename to src/logic/Application.swift diff --git a/alt-tab-macos/logic/Applications.swift b/src/logic/Applications.swift similarity index 100% rename from alt-tab-macos/logic/Applications.swift rename to src/logic/Applications.swift diff --git a/alt-tab-macos/logic/DebugProfile.swift b/src/logic/DebugProfile.swift similarity index 100% rename from alt-tab-macos/logic/DebugProfile.swift rename to src/logic/DebugProfile.swift diff --git a/alt-tab-macos/logic/DispatchQueues.swift b/src/logic/DispatchQueues.swift similarity index 100% rename from alt-tab-macos/logic/DispatchQueues.swift rename to src/logic/DispatchQueues.swift diff --git a/alt-tab-macos/logic/Keyboard.swift b/src/logic/Keyboard.swift similarity index 100% rename from alt-tab-macos/logic/Keyboard.swift rename to src/logic/Keyboard.swift diff --git a/alt-tab-macos/logic/Preferences.swift b/src/logic/Preferences.swift similarity index 100% rename from alt-tab-macos/logic/Preferences.swift rename to src/logic/Preferences.swift diff --git a/alt-tab-macos/logic/Screen.swift b/src/logic/Screen.swift similarity index 100% rename from alt-tab-macos/logic/Screen.swift rename to src/logic/Screen.swift diff --git a/alt-tab-macos/logic/Spaces.swift b/src/logic/Spaces.swift similarity index 100% rename from alt-tab-macos/logic/Spaces.swift rename to src/logic/Spaces.swift diff --git a/alt-tab-macos/logic/SystemPermissions.swift b/src/logic/SystemPermissions.swift similarity index 100% rename from alt-tab-macos/logic/SystemPermissions.swift rename to src/logic/SystemPermissions.swift diff --git a/alt-tab-macos/logic/Window.swift b/src/logic/Window.swift similarity index 100% rename from alt-tab-macos/logic/Window.swift rename to src/logic/Window.swift diff --git a/alt-tab-macos/logic/Windows.swift b/src/logic/Windows.swift similarity index 100% rename from alt-tab-macos/logic/Windows.swift rename to src/logic/Windows.swift diff --git a/alt-tab-macos/main.swift b/src/main.swift similarity index 100% rename from alt-tab-macos/main.swift rename to src/main.swift diff --git a/alt-tab-macos/resources/MainMenu.xib b/src/resources/MainMenu.xib similarity index 100% rename from alt-tab-macos/resources/MainMenu.xib rename to src/resources/MainMenu.xib diff --git a/alt-tab-macos/resources/SF-Pro-Text-Regular.otf b/src/resources/SF-Pro-Text-Regular.otf similarity index 100% rename from alt-tab-macos/resources/SF-Pro-Text-Regular.otf rename to src/resources/SF-Pro-Text-Regular.otf diff --git a/alt-tab-macos/resources/l10n/de.lproj/InfoPlist.strings b/src/resources/l10n/de.lproj/InfoPlist.strings similarity index 100% rename from alt-tab-macos/resources/l10n/de.lproj/InfoPlist.strings rename to src/resources/l10n/de.lproj/InfoPlist.strings diff --git a/alt-tab-macos/resources/l10n/de.lproj/Localizable.strings b/src/resources/l10n/de.lproj/Localizable.strings similarity index 100% rename from alt-tab-macos/resources/l10n/de.lproj/Localizable.strings rename to src/resources/l10n/de.lproj/Localizable.strings diff --git a/alt-tab-macos/resources/l10n/en.lproj/InfoPlist.strings b/src/resources/l10n/en.lproj/InfoPlist.strings similarity index 100% rename from alt-tab-macos/resources/l10n/en.lproj/InfoPlist.strings rename to src/resources/l10n/en.lproj/InfoPlist.strings diff --git a/alt-tab-macos/resources/l10n/en.lproj/Localizable.strings b/src/resources/l10n/en.lproj/Localizable.strings similarity index 100% rename from alt-tab-macos/resources/l10n/en.lproj/Localizable.strings rename to src/resources/l10n/en.lproj/Localizable.strings diff --git a/alt-tab-macos/resources/l10n/es.lproj/InfoPlist.strings b/src/resources/l10n/es.lproj/InfoPlist.strings similarity index 100% rename from alt-tab-macos/resources/l10n/es.lproj/InfoPlist.strings rename to src/resources/l10n/es.lproj/InfoPlist.strings diff --git a/alt-tab-macos/resources/l10n/es.lproj/Localizable.strings b/src/resources/l10n/es.lproj/Localizable.strings similarity index 100% rename from alt-tab-macos/resources/l10n/es.lproj/Localizable.strings rename to src/resources/l10n/es.lproj/Localizable.strings diff --git a/alt-tab-macos/resources/l10n/fr.lproj/InfoPlist.strings b/src/resources/l10n/fr.lproj/InfoPlist.strings similarity index 100% rename from alt-tab-macos/resources/l10n/fr.lproj/InfoPlist.strings rename to src/resources/l10n/fr.lproj/InfoPlist.strings diff --git a/alt-tab-macos/resources/l10n/fr.lproj/Localizable.strings b/src/resources/l10n/fr.lproj/Localizable.strings similarity index 100% rename from alt-tab-macos/resources/l10n/fr.lproj/Localizable.strings rename to src/resources/l10n/fr.lproj/Localizable.strings diff --git a/alt-tab-macos/ui/App.swift b/src/ui/App.swift similarity index 100% rename from alt-tab-macos/ui/App.swift rename to src/ui/App.swift diff --git a/alt-tab-macos/ui/FeedbackWindow.swift b/src/ui/FeedbackWindow.swift similarity index 100% rename from alt-tab-macos/ui/FeedbackWindow.swift rename to src/ui/FeedbackWindow.swift diff --git a/alt-tab-macos/ui/Menubar.swift b/src/ui/Menubar.swift similarity index 100% rename from alt-tab-macos/ui/Menubar.swift rename to src/ui/Menubar.swift diff --git a/alt-tab-macos/ui/generic-components/GridView.swift b/src/ui/generic-components/GridView.swift similarity index 100% rename from alt-tab-macos/ui/generic-components/GridView.swift rename to src/ui/generic-components/GridView.swift diff --git a/alt-tab-macos/ui/generic-components/text/BaseLabel.swift b/src/ui/generic-components/text/BaseLabel.swift similarity index 100% rename from alt-tab-macos/ui/generic-components/text/BaseLabel.swift rename to src/ui/generic-components/text/BaseLabel.swift diff --git a/alt-tab-macos/ui/generic-components/text/BoldLabel.swift b/src/ui/generic-components/text/BoldLabel.swift similarity index 100% rename from alt-tab-macos/ui/generic-components/text/BoldLabel.swift rename to src/ui/generic-components/text/BoldLabel.swift diff --git a/alt-tab-macos/ui/generic-components/text/HyperlinkLabel.swift b/src/ui/generic-components/text/HyperlinkLabel.swift similarity index 100% rename from alt-tab-macos/ui/generic-components/text/HyperlinkLabel.swift rename to src/ui/generic-components/text/HyperlinkLabel.swift diff --git a/alt-tab-macos/ui/generic-components/text/TextArea.swift b/src/ui/generic-components/text/TextArea.swift similarity index 100% rename from alt-tab-macos/ui/generic-components/text/TextArea.swift rename to src/ui/generic-components/text/TextArea.swift diff --git a/alt-tab-macos/ui/generic-components/text/TextField.swift b/src/ui/generic-components/text/TextField.swift similarity index 100% rename from alt-tab-macos/ui/generic-components/text/TextField.swift rename to src/ui/generic-components/text/TextField.swift diff --git a/alt-tab-macos/ui/main-window/CollectionViewFlowLayout.swift b/src/ui/main-window/CollectionViewFlowLayout.swift similarity index 100% rename from alt-tab-macos/ui/main-window/CollectionViewFlowLayout.swift rename to src/ui/main-window/CollectionViewFlowLayout.swift diff --git a/alt-tab-macos/ui/main-window/CollectionViewItem.swift b/src/ui/main-window/CollectionViewItem.swift similarity index 100% rename from alt-tab-macos/ui/main-window/CollectionViewItem.swift rename to src/ui/main-window/CollectionViewItem.swift diff --git a/alt-tab-macos/ui/main-window/CollectionViewItemFontIcon.swift b/src/ui/main-window/CollectionViewItemFontIcon.swift similarity index 100% rename from alt-tab-macos/ui/main-window/CollectionViewItemFontIcon.swift rename to src/ui/main-window/CollectionViewItemFontIcon.swift diff --git a/alt-tab-macos/ui/main-window/CollectionViewItemTitle.swift b/src/ui/main-window/CollectionViewItemTitle.swift similarity index 100% rename from alt-tab-macos/ui/main-window/CollectionViewItemTitle.swift rename to src/ui/main-window/CollectionViewItemTitle.swift diff --git a/alt-tab-macos/ui/main-window/CollectionViewItemView.swift b/src/ui/main-window/CollectionViewItemView.swift similarity index 100% rename from alt-tab-macos/ui/main-window/CollectionViewItemView.swift rename to src/ui/main-window/CollectionViewItemView.swift diff --git a/alt-tab-macos/ui/main-window/ThumbnailsPanel.swift b/src/ui/main-window/ThumbnailsPanel.swift similarity index 100% rename from alt-tab-macos/ui/main-window/ThumbnailsPanel.swift rename to src/ui/main-window/ThumbnailsPanel.swift diff --git a/alt-tab-macos/ui/preferences-window/LabelAndControl.swift b/src/ui/preferences-window/LabelAndControl.swift similarity index 100% rename from alt-tab-macos/ui/preferences-window/LabelAndControl.swift rename to src/ui/preferences-window/LabelAndControl.swift diff --git a/alt-tab-macos/ui/preferences-window/PreferencesWindow.swift b/src/ui/preferences-window/PreferencesWindow.swift similarity index 100% rename from alt-tab-macos/ui/preferences-window/PreferencesWindow.swift rename to src/ui/preferences-window/PreferencesWindow.swift diff --git a/alt-tab-macos/ui/preferences-window/TabViewController.swift b/src/ui/preferences-window/TabViewController.swift similarity index 100% rename from alt-tab-macos/ui/preferences-window/TabViewController.swift rename to src/ui/preferences-window/TabViewController.swift diff --git a/alt-tab-macos/ui/preferences-window/TabViewItem.swift b/src/ui/preferences-window/TabViewItem.swift similarity index 100% rename from alt-tab-macos/ui/preferences-window/TabViewItem.swift rename to src/ui/preferences-window/TabViewItem.swift diff --git a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift b/src/ui/preferences-window/tabs/AboutTab.swift similarity index 100% rename from alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift rename to src/ui/preferences-window/tabs/AboutTab.swift diff --git a/alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift b/src/ui/preferences-window/tabs/AppearanceTab.swift similarity index 100% rename from alt-tab-macos/ui/preferences-window/tabs/AppearanceTab.swift rename to src/ui/preferences-window/tabs/AppearanceTab.swift diff --git a/alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift b/src/ui/preferences-window/tabs/ShortcutsTab.swift similarity index 100% rename from alt-tab-macos/ui/preferences-window/tabs/ShortcutsTab.swift rename to src/ui/preferences-window/tabs/ShortcutsTab.swift diff --git a/alt-tab-macos/ui/preferences-window/tabs/UpdatesTab.swift b/src/ui/preferences-window/tabs/UpdatesTab.swift similarity index 100% rename from alt-tab-macos/ui/preferences-window/tabs/UpdatesTab.swift rename to src/ui/preferences-window/tabs/UpdatesTab.swift From 7cdcd689977d9e14bb8330f68a21c3442d91a47d Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 14 Feb 2020 12:52:22 +0900 Subject: [PATCH 74/98] fix: notarization issues --- Podfile.lock | 2 +- alt-tab-macos.xcodeproj/project.pbxproj | 22 +++++++++++++++++++ config/base.xcconfig | 4 ++-- config/debug.xcconfig | 2 +- config/release.xcconfig | 7 +++--- scripts/codesign_sparkle_embedded_apps.sh | 10 +++++++++ ...port_codesign_certificate_into_keychain.sh | 0 scripts/package_and_notarize_release.sh | 16 +++++++++----- 8 files changed, 50 insertions(+), 13 deletions(-) create mode 100755 scripts/codesign_sparkle_embedded_apps.sh mode change 100644 => 100755 scripts/import_codesign_certificate_into_keychain.sh diff --git a/Podfile.lock b/Podfile.lock index 8ee8bfa7..1e903bb5 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -15,6 +15,6 @@ SPEC CHECKSUMS: LetsMove: fefe56bc7bc7fb7d37049e28a14f297961229fc5 Sparkle: 55b1a87ba69d56913375a281546b7c82dec95bb0 -PODFILE CHECKSUM: 435b7bc84413df100dee2cabc99746bf7c670f1b +PODFILE CHECKSUM: 465451026269525f0f1d2dc7053cf0b789a35421 COCOAPODS: 1.8.4 diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index 2608cf19..6ceffd2a 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -33,6 +33,7 @@ D04BA76A74267B1346D23687 /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA6D57A1456C07318B8EA /* GridView.swift */; }; D04BA76DDB00FC50D203D62C /* CollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAC2FEF7248B7BF9579E2 /* CollectionViewFlowLayout.swift */; }; D04BA775CF3F8D9394A1E256 /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA68C2561D9EE4FD851B8 /* Screen.swift */; }; + D04BA7B1C67F18623E6110D8 /* codesign_sparkle_embedded_apps.sh in Resources */ = {isa = PBXBuildFile; fileRef = D04BA123744B0C27E9F54B05 /* codesign_sparkle_embedded_apps.sh */; }; D04BA7BE7F3DD24D58ACE942 /* AppearanceTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA64F1F344007EA13BA05 /* AppearanceTab.swift */; }; D04BA7C348A3CF9862394E23 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D04BA6A1082C0521CD994B42 /* MainMenu.xib */; }; D04BA7F86F1926FBE31F44BF /* BaseLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA53992F116E5E704CAB3 /* BaseLabel.swift */; }; @@ -78,6 +79,7 @@ D04BA10777505D8A67ABD186 /* Application.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Application.swift; sourceTree = ""; }; D04BA107C8B8FE7FF8536606 /* too many windows - 4 lines - paginated.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "too many windows - 4 lines - paginated.jpg"; sourceTree = ""; }; D04BA1232AFEEFE90D5CC827 /* debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = debug.xcconfig; sourceTree = ""; }; + D04BA123744B0C27E9F54B05 /* codesign_sparkle_embedded_apps.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = codesign_sparkle_embedded_apps.sh; sourceTree = ""; }; D04BA15346AF8E0EF471694A /* en */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = ""; }; D04BA1D80F4EEF2A91BAD29C /* release.config.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = release.config.js; sourceTree = ""; }; D04BA1DF8CAB2FAB7FE9244B /* CollectionViewItemFontIcon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemFontIcon.swift; sourceTree = ""; }; @@ -399,6 +401,7 @@ D04BA5E819181CB83C5602C7 /* generate_selfsigned_codesign_certificate.sh */, D04BA0AAAE82C72855DBBA26 /* update_appcast.sh */, D04BABFEC8F9DF41BB7A449E /* import_codesign_certificate_into_keychain.sh */, + D04BA123744B0C27E9F54B05 /* codesign_sparkle_embedded_apps.sh */, ); path = scripts; sourceTree = ""; @@ -502,6 +505,7 @@ D04BA82F32FB183F65DC3E42 /* Frameworks */, D04BA96F3DC99263120BCD21 /* Resources */, 7641B7923B36478FBF4D7CCD /* [CP] Embed Pods Frameworks */, + 48B68D6C23F6412C009BF4AD /* ShellScript */, ); buildRules = ( ); @@ -556,12 +560,30 @@ D04BAA98549C75DF585D2628 /* Localizable.strings in Resources */, D04BAC0AE7C80F8A37BBC7A5 /* InfoPlist.strings in Resources */, D04BAE6B5382CA561A219A54 /* Localizable.strings in Resources */, + D04BA7B1C67F18623E6110D8 /* codesign_sparkle_embedded_apps.sh in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 48B68D6C23F6412C009BF4AD /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "scripts/codesign_sparkle_embedded_apps.sh\n"; + }; 5968B81A43F20B6ECD92C7F7 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/config/base.xcconfig b/config/base.xcconfig index 5a8206b3..8f4fe14f 100644 --- a/config/base.xcconfig +++ b/config/base.xcconfig @@ -1,4 +1,4 @@ -// docs: https://help.apple.com/xcode/#/dev745c5c974 +// docs: https://help.apple.com/xcode/mac/11.4/#/itcaec37c2a6 PRODUCT_NAME = AltTab PRODUCT_BUNDLE_IDENTIFIER = com.lwouis.alt-tab-macos @@ -6,7 +6,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.12 SWIFT_VERSION = 4.2 INFOPLIST_FILE = Info.plist CODE_SIGN_ENTITLEMENTS = alt_tab_macos.entitlements -ENABLE_HARDENED_RUNTIME = YES // for notorization +ENABLE_HARDENED_RUNTIME = YES // for notarization IDEDerivedDataPathOverride = DerivedData FRAMEWORK_SEARCH_PATHS = $(inherited) /System/Library/PrivateFrameworks // for SkyLight.framework LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks // for accessing swift dylibs at runtime diff --git a/config/debug.xcconfig b/config/debug.xcconfig index 62b087cc..43022968 100644 --- a/config/debug.xcconfig +++ b/config/debug.xcconfig @@ -1,4 +1,4 @@ -// docs: https://help.apple.com/xcode/#/dev745c5c974 +// docs: https://help.apple.com/xcode/mac/11.4/#/itcaec37c2a6 #include "Pods/Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos.debug.xcconfig" #include "base.xcconfig" diff --git a/config/release.xcconfig b/config/release.xcconfig index 164683c5..791e508b 100644 --- a/config/release.xcconfig +++ b/config/release.xcconfig @@ -1,8 +1,9 @@ -// docs: https://help.apple.com/xcode/#/dev745c5c974 +// docs: https://help.apple.com/xcode/mac/11.4/#/itcaec37c2a6 #include "Pods/Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos.release.xcconfig" #include "base.xcconfig" CODE_SIGN_IDENTITY = Developer ID Application: Louis Pontoise (QXD7GW8FHY) -OTHER_CODE_SIGN_FLAGS = --timestamp // for notorization -CODE_SIGN_INJECT_BASE_ENTITLEMENTS = NO // for notorization +OTHER_CODE_SIGN_FLAGS = --timestamp --deep --options runtime // for notarization +CODE_SIGN_INJECT_BASE_ENTITLEMENTS = NO // for notarization +COCOAPODS_PARALLEL_CODE_SIGN = YES // codesign pods faster diff --git a/scripts/codesign_sparkle_embedded_apps.sh b/scripts/codesign_sparkle_embedded_apps.sh new file mode 100755 index 00000000..fde94451 --- /dev/null +++ b/scripts/codesign_sparkle_embedded_apps.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +set -exu + +# codesign --deep is only 1 level deep. It misses Sparkle embedded app AutoUpdate +# this build phase script works around the issue + +if [[ "$CONFIGURATION" == "Release" ]]; then + codesign --verbose --force --sign "$CODE_SIGN_IDENTITY" $OTHER_CODE_SIGN_FLAGS "${PODS_ROOT}/Sparkle/Sparkle.framework/Resources/Autoupdate.app" +fi diff --git a/scripts/import_codesign_certificate_into_keychain.sh b/scripts/import_codesign_certificate_into_keychain.sh old mode 100644 new mode 100755 diff --git a/scripts/package_and_notarize_release.sh b/scripts/package_and_notarize_release.sh index 94d28d93..0699ff95 100755 --- a/scripts/package_and_notarize_release.sh +++ b/scripts/package_and_notarize_release.sh @@ -11,7 +11,7 @@ cd "$XCODE_BUILD_PATH" ditto -c -k --keepParent "$appFile" "$zipName" # request notarization -requestUUID=$(xcrun altool \ +requestUuid=$(xcrun altool \ --notarize-app \ --verbose \ -ITunesTransport DAV \ @@ -20,17 +20,21 @@ requestUUID=$(xcrun altool \ --password "$APPLE_PASSWORD" \ --file "$zipName" 2>&1 | tee /dev/tty | - awk '/RequestUUID/ { print $NF; }') -if [[ $requestUUID == "" ]]; then exit 1; fi + awk '/RequestUUID/ { print $NF;exit; }') +if [[ $requestUuid == "" ]]; then exit 1; fi -# poll notarization status until done +# poll notarization status until success/invalid, or 15min have passed requestStatus="in progress" -while [[ "$requestStatus" == "in progress" ]]; do +timeoutCounter=0 +until [[ "$requestStatus" == "success" ]] || [[ "$requestStatus" == "invalid" ]] || [[ $timeoutCounter -eq 1500 ]]; do sleep 10 + timeoutCounter=$((timeoutCounter+10)) + set +e requestLogs=$(xcrun altool \ - --notarization-info "$requestUUID" \ + --notarization-info "$requestUuid" \ --username "$APPLE_ID" \ --password "$APPLE_PASSWORD" 2>&1) + set -e requestStatus=$(echo "$requestLogs" | awk -F ': ' '/Status:/ { print $2; }') done if [[ $requestStatus != "success" ]]; then From dd8fee31dd742f522e1378bf06205880c354da5f Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 14 Feb 2020 13:20:18 +0900 Subject: [PATCH 75/98] ci: schemes should be shared and versioned --- .gitignore | 3 +- .../xcshareddata/xcschemes/Debug.xcscheme | 72 +++++++++++++++++++ .../xcshareddata/xcschemes/Release.xcscheme | 72 +++++++++++++++++++ 3 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 alt-tab-macos.xcodeproj/xcshareddata/xcschemes/Debug.xcscheme create mode 100644 alt-tab-macos.xcodeproj/xcshareddata/xcschemes/Release.xcscheme diff --git a/.gitignore b/.gitignore index 83cfcec7..16c960ca 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ /.idea/ xcuserdata/ -xcshareddata/ +WorkspaceSettings.xcsettings +IDEWorkspaceChecks.plist /node_modules/ /DerivedData/ /Pods/ diff --git a/alt-tab-macos.xcodeproj/xcshareddata/xcschemes/Debug.xcscheme b/alt-tab-macos.xcodeproj/xcshareddata/xcschemes/Debug.xcscheme new file mode 100644 index 00000000..930b3a64 --- /dev/null +++ b/alt-tab-macos.xcodeproj/xcshareddata/xcschemes/Debug.xcscheme @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/alt-tab-macos.xcodeproj/xcshareddata/xcschemes/Release.xcscheme b/alt-tab-macos.xcodeproj/xcshareddata/xcschemes/Release.xcscheme new file mode 100644 index 00000000..59814bc2 --- /dev/null +++ b/alt-tab-macos.xcodeproj/xcshareddata/xcschemes/Release.xcscheme @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 038223b02ad4f965ae29d4d599eda5b28ad4d417 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 14 Feb 2020 13:29:08 +0900 Subject: [PATCH 76/98] fix: letsmove was not active on release builds --- config/base.xcconfig | 1 - config/debug.xcconfig | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/config/base.xcconfig b/config/base.xcconfig index 8f4fe14f..c96bbc19 100644 --- a/config/base.xcconfig +++ b/config/base.xcconfig @@ -10,4 +10,3 @@ ENABLE_HARDENED_RUNTIME = YES // for notarization IDEDerivedDataPathOverride = DerivedData FRAMEWORK_SEARCH_PATHS = $(inherited) /System/Library/PrivateFrameworks // for SkyLight.framework LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks // for accessing swift dylibs at runtime -SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG // for macros like `#if DEBUG` diff --git a/config/debug.xcconfig b/config/debug.xcconfig index 43022968..16172c77 100644 --- a/config/debug.xcconfig +++ b/config/debug.xcconfig @@ -4,3 +4,4 @@ #include "base.xcconfig" CODE_SIGN_IDENTITY = Local Self-Signed +SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG // for macro `#if DEBUG` From 19260ff00d02f3fbcbd58f7f06a9b9b3bfec860f Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 14 Feb 2020 13:50:04 +0900 Subject: [PATCH 77/98] ci: only 1 build, not 1 for each env var --- .travis.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index b965ae5e..ad9e8c7a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,11 +5,12 @@ node_js: - 10 cache: npm env: - - IS_RELEASE=$(if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then echo true; fi) - - XCODE_BUILD_PATH="DerivedData/alt-tab-macos/Build/Products/Release" - - VERSION_FILE="VERSION.txt" - - CHANGELOG_DELTA_FILE="CHANGELOG_DELTA.txt" - - APP_NAME="$(awk -F ' = ' '/PRODUCT_NAME/ { print $2; }' < config/base.xcconfig)" + global: + - IS_RELEASE=$(if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then echo true; fi) + - XCODE_BUILD_PATH="DerivedData/alt-tab-macos/Build/Products/Release" + - VERSION_FILE="VERSION.txt" + - CHANGELOG_DELTA_FILE="CHANGELOG_DELTA.txt" + - APP_NAME="$(awk -F ' = ' '/PRODUCT_NAME/ { print $2; }' < config/base.xcconfig)" install: true # disable default install script: - env | sort From fe6c8651bec2bbf4cdd329c4a230a7a58887bb6a Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 14 Feb 2020 13:54:13 +0900 Subject: [PATCH 78/98] ci: adding back missing codesign cert --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index ad9e8c7a..82eefb20 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,7 @@ script: - npx commitlint-travis - if [ $IS_RELEASE ]; then scripts/determine_version_and_changelog.sh; fi - if [ $IS_RELEASE ]; then scripts/set_version_in_app.sh; fi + - scripts/import_codesign_certificate_into_keychain.sh - xcodebuild -workspace alt-tab-macos.xcworkspace -scheme Release - if [ $IS_RELEASE ]; then scripts/package_and_notarize_release.sh; fi - if [ $IS_RELEASE ]; then scripts/update_appcast.sh; fi From 5bf61cfaa12fd0d04775b7774aff6b6982d3837b Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 14 Feb 2020 15:01:01 +0900 Subject: [PATCH 79/98] ci: added missing pod install --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 82eefb20..2cee8b81 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,7 @@ script: - npx commitlint-travis - if [ $IS_RELEASE ]; then scripts/determine_version_and_changelog.sh; fi - if [ $IS_RELEASE ]; then scripts/set_version_in_app.sh; fi + - pod install - scripts/import_codesign_certificate_into_keychain.sh - xcodebuild -workspace alt-tab-macos.xcworkspace -scheme Release - if [ $IS_RELEASE ]; then scripts/package_and_notarize_release.sh; fi From 5dd45014fb50515d511b268f4b91aa45254f5075 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 14 Feb 2020 15:47:28 +0900 Subject: [PATCH 80/98] refactor: less unnecessary logs --- alt-tab-macos.xcodeproj/project.pbxproj | 1 + 1 file changed, 1 insertion(+) diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index 6ceffd2a..49564c86 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -583,6 +583,7 @@ runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "scripts/codesign_sparkle_embedded_apps.sh\n"; + showEnvVarsInLog = 0; }; 5968B81A43F20B6ECD92C7F7 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; From 54605f2ca4e39200db5355323538844aca5e2514 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 14 Feb 2020 16:00:02 +0900 Subject: [PATCH 81/98] fix: also codesign debug builds --- config/base.xcconfig | 3 ++- config/release.xcconfig | 1 - scripts/codesign_sparkle_embedded_apps.sh | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/config/base.xcconfig b/config/base.xcconfig index c96bbc19..0b5e027d 100644 --- a/config/base.xcconfig +++ b/config/base.xcconfig @@ -6,7 +6,8 @@ MACOSX_DEPLOYMENT_TARGET = 10.12 SWIFT_VERSION = 4.2 INFOPLIST_FILE = Info.plist CODE_SIGN_ENTITLEMENTS = alt_tab_macos.entitlements -ENABLE_HARDENED_RUNTIME = YES // for notarization IDEDerivedDataPathOverride = DerivedData FRAMEWORK_SEARCH_PATHS = $(inherited) /System/Library/PrivateFrameworks // for SkyLight.framework LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks // for accessing swift dylibs at runtime +ENABLE_HARDENED_RUNTIME = YES // for notarization +OTHER_CODE_SIGN_FLAGS = --timestamp --deep --options runtime // for notarization diff --git a/config/release.xcconfig b/config/release.xcconfig index 791e508b..f9c373d8 100644 --- a/config/release.xcconfig +++ b/config/release.xcconfig @@ -4,6 +4,5 @@ #include "base.xcconfig" CODE_SIGN_IDENTITY = Developer ID Application: Louis Pontoise (QXD7GW8FHY) -OTHER_CODE_SIGN_FLAGS = --timestamp --deep --options runtime // for notarization CODE_SIGN_INJECT_BASE_ENTITLEMENTS = NO // for notarization COCOAPODS_PARALLEL_CODE_SIGN = YES // codesign pods faster diff --git a/scripts/codesign_sparkle_embedded_apps.sh b/scripts/codesign_sparkle_embedded_apps.sh index fde94451..bfdc85a3 100755 --- a/scripts/codesign_sparkle_embedded_apps.sh +++ b/scripts/codesign_sparkle_embedded_apps.sh @@ -5,6 +5,4 @@ set -exu # codesign --deep is only 1 level deep. It misses Sparkle embedded app AutoUpdate # this build phase script works around the issue -if [[ "$CONFIGURATION" == "Release" ]]; then - codesign --verbose --force --sign "$CODE_SIGN_IDENTITY" $OTHER_CODE_SIGN_FLAGS "${PODS_ROOT}/Sparkle/Sparkle.framework/Resources/Autoupdate.app" -fi +codesign --verbose --force --sign "$CODE_SIGN_IDENTITY" $OTHER_CODE_SIGN_FLAGS "${PODS_ROOT}/Sparkle/Sparkle.framework/Resources/Autoupdate.app" From db734629375e8f8f4162ad2dbb63d8de46308bd8 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 14 Feb 2020 12:59:04 +0900 Subject: [PATCH 82/98] fix: getting sparkle ready for release --- Info.plist | 2 +- appcast.xml | 19 ------------------- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/Info.plist b/Info.plist index bbd647a6..eb901d43 100644 --- a/Info.plist +++ b/Info.plist @@ -33,7 +33,7 @@ NSSupportsSuddenTermination true SUFeedURL - https://raw.githubusercontent.com/lwouis/alt-tab-macos/v3-poc/appcast.xml + https://raw.githubusercontent.com/lwouis/alt-tab-macos/master/appcast.xml SUEnableAutomaticChecks true SUPublicEDKey diff --git a/appcast.xml b/appcast.xml index 74a8744c..766b41e0 100644 --- a/appcast.xml +++ b/appcast.xml @@ -4,25 +4,6 @@ alt-tab-macos en - - Version 2.3.4 - Wed, 22 Jan 2020 07:56:00 +0900 - 10.12 - 2.3.4 (2020-01-22) -

Bug Fixes

-
    -
  • escape key was absorbed by the inactive app (closes #123) (5260619)
  • -
- ]]> -
- -
From fd226a358e0e85dd753d5202716134ab16102e28 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 14 Feb 2020 18:54:46 +0900 Subject: [PATCH 83/98] feat: improved translations --- README.md | 4 +- .../l10n/en.lproj/Localizable.strings | Bin 5472 -> 11034 bytes src/resources/l10n/es.lproj/InfoPlist.strings | 2 +- .../l10n/fr.lproj/Localizable.strings | 68 +++++++++++++++++- 4 files changed, 68 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b2cb64b8..fc71604f 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,9 @@ From macOS 10.12 to 10.15 ## Localization -The app is currently available in: English, Français +The app is currently available in: English, Français, Deutsch, Español, 日本語 -[Contribute your own language easily on POEditor](https://poeditor.com/join/project/8AOEZ0eAZE) +[Contribute your own language easily!](https://poeditor.com/join/project/8AOEZ0eAZE) ## Usage diff --git a/src/resources/l10n/en.lproj/Localizable.strings b/src/resources/l10n/en.lproj/Localizable.strings index bb6c5dd7bf541b913088a00ba725fca7be201d8c..d8a2d77fd7622a84d54232d70c99ea2e34c90f18 100644 GIT binary patch literal 11034 zcmds7O>fgc5S=r>!s-D^1r1z598f_5QJ~Nd&W`JT&@_qSq;2}+f%kT>X6+<$LZYIv zs>b$sckTCfW_D)0zkhXPM-urW1N>(Ay~bZIeHr6=C?iO2p@z@-PE!TOyq%!6f9(z_gJrqzJAvbuWP+(Qx9powA+C^4^~b4rq%Z_ z_Y>ee#nl*S3tSU5ZGQmiyw=;C zFT&aE7xrYGQQFMjYC6T%p4niG*bA{MEs9ZX0WWg{uan3DEH9U{u*NW^t**LzXuoP- zW6ERH`3{Kt@+7d7tz|!DM83HZjahI0?0tw`;ylG9hRUP9e86hW%#b$4IG*;CK!Ya8 zA-ln<64)Lyxg5tLifC8w>6@vK;AISpV$RH1hv(!f1#d$fnR%DKhHNEhd5t@oe{1f2 z3mN;x{(IBo`eykPn42PkXSSgE!*?7P`S;~o`(|Vx8m74vS3a(Gtf{21Me<{@Wm7xf zEPMvyJK!&1LH9tOgmsSBS>S|gzj3i#>vk|gpVEi5FxRkro0>w&EGJFvy|Y3#O7!Go z0Pm52iI}CBmF3#EgOw@^Wo@QpYnGL!_P$y9iq*NSS+aWd3VM=b&1MCIm7{GOsXJ5X z&?M*(>q_*(DgNn+hiEsIr;(Lya!lXs&dbb-O60S+g>U5Fpe>B^%$`i*8`&Xro@9-5kjL%`?8oi$df54by8(+KN8T15I1%998Rg9;*z8$a(pVa5gKpFV$LyU|vIO(u%sS zu{`Iht5zB3JewZZyPjPH-sp$;MXk=1@@V(kfHux>s12I)v;&#uxUq*+e5KqwN=DV( zXF{*Q>Y3IdOPgn=&#$&zUtE)ZDBlyfNxT)_Tsmr~iWF3|3fX(tzsI98ZH@aiQ zkhUAb5Z2{}(%ZL@DiX%b17yYA=`lq{y$JDaJHHH^KzB!2ZFTpPA+E~}p~o2R1o(2) z(U|Gn;hcMZSUY2$#GO5?#7^*A@(@QK|I*htTR#FfT9vhLM6?Rshg8K~lY9cAlZFF8lMn?Ylbi*5lYRz{limu(lVS~WlROT> zlV%V8lgtpRlim@YljIVrllBv?lMEHElOh(blQ Date: Fri, 14 Feb 2020 22:20:28 +0900 Subject: [PATCH 84/98] fix: feedback token injected during ci Github expires token in source code so we have to hide it away in CI (for now) --- .travis.yml | 2 +- Info.plist | 2 ++ alt-tab-macos.xcodeproj/project.pbxproj | 4 ++-- ...sion_in_app.sh => replace_environment_variables_in_app.sh} | 3 ++- src/ui/FeedbackWindow.swift | 3 ++- 5 files changed, 9 insertions(+), 5 deletions(-) rename scripts/{set_version_in_app.sh => replace_environment_variables_in_app.sh} (57%) diff --git a/.travis.yml b/.travis.yml index 2cee8b81..3811b65e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ script: - npm ci - npx commitlint-travis - if [ $IS_RELEASE ]; then scripts/determine_version_and_changelog.sh; fi - - if [ $IS_RELEASE ]; then scripts/set_version_in_app.sh; fi + - if [ $IS_RELEASE ]; then scripts/replace_environment_variables_in_app.sh; fi - pod install - scripts/import_codesign_certificate_into_keychain.sh - xcodebuild -workspace alt-tab-macos.xcworkspace -scheme Release diff --git a/Info.plist b/Info.plist index eb901d43..bcbd505b 100644 --- a/Info.plist +++ b/Info.plist @@ -38,5 +38,7 @@ true SUPublicEDKey 2e9SQOBoaKElchSa/4QDli/nvYkyuDNfynfzBF6vJK4= + FeedbackToken + #FEEDBACK_TOKEN# diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index 49564c86..09e89c84 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -140,7 +140,7 @@ D04BAC159731F80FDAF4EA6C /* 1-row.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1-row.jpg"; sourceTree = ""; }; D04BAC2FEF7248B7BF9579E2 /* CollectionViewFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewFlowLayout.swift; sourceTree = ""; }; D04BAC34CFD42A7F6F1F01C0 /* CGWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindow.swift; sourceTree = ""; }; - D04BAC6AFC7F06D1A567F27A /* set_version_in_app.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = set_version_in_app.sh; sourceTree = ""; }; + D04BAC6AFC7F06D1A567F27A /* replace_environment_variables_in_app.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = replace_environment_variables_in_app.sh; sourceTree = ""; }; D04BACABD048E62EBE4576CC /* DebugProfile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DebugProfile.swift; sourceTree = ""; }; D04BACD976030676FD0761D5 /* Windows.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Windows.swift; sourceTree = ""; }; D04BACE22DC907F03D193075 /* ShortcutsTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShortcutsTab.swift; sourceTree = ""; }; @@ -396,7 +396,7 @@ children = ( D04BA7ECCE728582D9ECA613 /* determine_version_and_changelog.sh */, D04BA4B5292629AA6B560216 /* package_and_notarize_release.sh */, - D04BAC6AFC7F06D1A567F27A /* set_version_in_app.sh */, + D04BAC6AFC7F06D1A567F27A /* replace_environment_variables_in_app.sh */, D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */, D04BA5E819181CB83C5602C7 /* generate_selfsigned_codesign_certificate.sh */, D04BA0AAAE82C72855DBBA26 /* update_appcast.sh */, diff --git a/scripts/set_version_in_app.sh b/scripts/replace_environment_variables_in_app.sh similarity index 57% rename from scripts/set_version_in_app.sh rename to scripts/replace_environment_variables_in_app.sh index 1e4f7d03..a117983e 100755 --- a/scripts/set_version_in_app.sh +++ b/scripts/replace_environment_variables_in_app.sh @@ -3,5 +3,6 @@ set -exu version="$(cat $VERSION_FILE)" -# set the version in the app meta-data for the AppStore and app "Get Info" panel + sed -i '' -e "s/#VERSION#/$version/" Info.plist +sed -i '' -e "s/#FEEDBACK_TOKEN#/$FEEDBACK_TOKEN/" Info.plist diff --git a/src/ui/FeedbackWindow.swift b/src/ui/FeedbackWindow.swift index f7504ad1..a8667b08 100644 --- a/src/ui/FeedbackWindow.swift +++ b/src/ui/FeedbackWindow.swift @@ -1,6 +1,7 @@ import Cocoa class FeedbackWindow: NSWindow { + static let token = Bundle.main.object(forInfoDictionaryKey: "FeedbackToken") as! String var body: TextArea! var email: TextArea! var sendButton: NSButton! @@ -83,7 +84,7 @@ class FeedbackWindow: NSWindow { request.addValue("application/json", forHTTPHeaderField: "Content-Type") request.addValue("application/json", forHTTPHeaderField: "Accept") // access token of the alt-tab-macos-bot github account, with scope repo > public_repo - request.addValue("token 231413d7bf0e6cc533aae851c83dca25afed86bb", forHTTPHeaderField: "Authorization") + request.addValue("token " + FeedbackWindow.token, forHTTPHeaderField: "Authorization") request.httpBody = try! JSONSerialization.data(withJSONObject: [ "title": "[In-app feedback]", "body": assembleBody() From e282de92efd2debe5e9334ebec1bbca542003e70 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Mon, 17 Feb 2020 18:49:29 +0900 Subject: [PATCH 85/98] refactor: move resources to top level --- alt-tab-macos.xcodeproj/project.pbxproj | 204 +++++++++--------- {src/resources => resources}/MainMenu.xib | 0 .../SF-Pro-Text-Regular.otf | Bin .../l10n/de.lproj/InfoPlist.strings | 0 .../l10n/de.lproj/Localizable.strings | Bin .../l10n/en.lproj/InfoPlist.strings | 0 .../l10n/en.lproj/Localizable.strings | Bin .../l10n/es.lproj/InfoPlist.strings | 0 .../l10n/es.lproj/Localizable.strings | Bin .../l10n/fr.lproj/InfoPlist.strings | 0 .../l10n/fr.lproj/Localizable.strings | 0 11 files changed, 101 insertions(+), 103 deletions(-) rename {src/resources => resources}/MainMenu.xib (100%) rename {src/resources => resources}/SF-Pro-Text-Regular.otf (100%) rename {src/resources => resources}/l10n/de.lproj/InfoPlist.strings (100%) rename {src/resources => resources}/l10n/de.lproj/Localizable.strings (100%) rename {src/resources => resources}/l10n/en.lproj/InfoPlist.strings (100%) rename {src/resources => resources}/l10n/en.lproj/Localizable.strings (100%) rename {src/resources => resources}/l10n/es.lproj/InfoPlist.strings (100%) rename {src/resources => resources}/l10n/es.lproj/Localizable.strings (100%) rename {src/resources => resources}/l10n/fr.lproj/InfoPlist.strings (100%) rename {src/resources => resources}/l10n/fr.lproj/Localizable.strings (100%) diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index 09e89c84..898610ab 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -10,54 +10,53 @@ 4807A6C623A9CD190052A53E /* SkyLight.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4807A6C523A9CD190052A53E /* SkyLight.framework */; }; 76D02BB22BFE7C9E0056008D /* Pods_alt_tab_macos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0712B3BEA2B3780398C0999 /* Pods_alt_tab_macos.framework */; }; D04BA004884A273D4D2D3EF1 /* HelperExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD91161791D42FEC4A60 /* HelperExtensions.swift */; }; + D04BA084CD1236EC78D90A01 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BACCBE5F97BE9B6CA645B /* Localizable.strings */; }; + D04BA100BD0F47828EB649FF /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAAEC2847830A3991F8D1 /* InfoPlist.strings */; }; D04BA14D93726795A6937832 /* LabelAndControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2526DC6726E0F7ACF7C /* LabelAndControl.swift */; }; D04BA15A1B0C4871EA7CB899 /* ShortcutsTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACE22DC907F03D193075 /* ShortcutsTab.swift */; }; D04BA1B133D53572D7B312C2 /* CollectionViewItemFontIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA1DF8CAB2FAB7FE9244B /* CollectionViewItemFontIcon.swift */; }; D04BA1CEC6B9C8945FEC8740 /* CollectionViewItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA258B56193958D60978A /* CollectionViewItemView.swift */; }; D04BA26A691D56031FCCF00C /* Sysctl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8DB8AA7E5570DAC568A /* Sysctl.swift */; }; + D04BA276B3241D440F65B149 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA5C2BB394F1624DD5B45 /* InfoPlist.strings */; }; D04BA2A6FF9DDDC5A1A68E36 /* Applications.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA282BB16C1554595A968 /* Applications.swift */; }; D04BA2E64C59D96F6EB27D9D /* FeedbackWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA26C75F76C277653C932 /* FeedbackWindow.swift */; }; + D04BA34AC850A273AB288B1E /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA3B51D05213404938366 /* Localizable.strings */; }; D04BA3BFB0CDF4ED343914B2 /* PreferencesWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA47FF1B7838CF4814538 /* PreferencesWindow.swift */; }; + D04BA3C24F4F644EA91DE38C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA717693DA18CB74BAED1 /* Localizable.strings */; }; D04BA3CF766857381519B892 /* DispatchQueues.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAB74451B79FE18B8BEDF /* DispatchQueues.swift */; }; D04BA48B00B4211A465C7337 /* DebugProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACABD048E62EBE4576CC /* DebugProfile.swift */; }; - D04BA53516E4BA2078A45481 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAE9FE8A2ACA88429535E /* InfoPlist.strings */; }; + D04BA570E7806F28741B1472 /* SF-Pro-Text-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = D04BA0CDCFF1F0B1A77E3E86 /* SF-Pro-Text-Regular.otf */; }; D04BA5F99B45DC13B9E9DD91 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8276B3D3905E80B1739 /* Keyboard.swift */; }; D04BA6187A91A847844B6ABB /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA015A45DE7AFDC9794FE /* Window.swift */; }; D04BA691CB6082A3C39CBC89 /* TabViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE757BB2B605234FBF58 /* TabViewController.swift */; }; - D04BA69AF6CA6723036F6EB7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA0DE428BF4C08F5E19CE /* InfoPlist.strings */; }; D04BA69D47B5E60A6AD9CBD9 /* CollectionViewItemTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD1297730B191E96E7FE /* CollectionViewItemTitle.swift */; }; - D04BA6AA07BF870BAFC54DF3 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA63DEDDC0BCE06588541 /* Localizable.strings */; }; D04BA6C953494839648107D1 /* CollectionViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2A4A4140AF3E09DA94D /* CollectionViewItem.swift */; }; D04BA737008AA2CD4E230A21 /* Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA10777505D8A67ABD186 /* Application.swift */; }; D04BA73E90EFEF8247A5105D /* CGWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAC34CFD42A7F6F1F01C0 /* CGWindow.swift */; }; D04BA76A74267B1346D23687 /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA6D57A1456C07318B8EA /* GridView.swift */; }; D04BA76DDB00FC50D203D62C /* CollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAC2FEF7248B7BF9579E2 /* CollectionViewFlowLayout.swift */; }; D04BA775CF3F8D9394A1E256 /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA68C2561D9EE4FD851B8 /* Screen.swift */; }; - D04BA7B1C67F18623E6110D8 /* codesign_sparkle_embedded_apps.sh in Resources */ = {isa = PBXBuildFile; fileRef = D04BA123744B0C27E9F54B05 /* codesign_sparkle_embedded_apps.sh */; }; D04BA7BE7F3DD24D58ACE942 /* AppearanceTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA64F1F344007EA13BA05 /* AppearanceTab.swift */; }; - D04BA7C348A3CF9862394E23 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D04BA6A1082C0521CD994B42 /* MainMenu.xib */; }; D04BA7F86F1926FBE31F44BF /* BaseLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA53992F116E5E704CAB3 /* BaseLabel.swift */; }; D04BA8092885B40CE3527370 /* UpdatesTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD60C97E609A759E721E /* UpdatesTab.swift */; }; D04BA8480A8FF466CA89DA5B /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA70746DEEC3D30B43F81 /* main.swift */; }; - D04BAA98549C75DF585D2628 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAD91185BD6DA6774E0C4 /* Localizable.strings */; }; + D04BA8D6055F6F2E42C976EA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA5DE6536C4A6558FD80C /* InfoPlist.strings */; }; D04BAABE804F3769CE22BEB6 /* HyperlinkLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA49E45BFFF3D9FC60E43 /* HyperlinkLabel.swift */; }; D04BAADED6FE28D42924AEBF /* PrivateApis.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA5C401AFA55CC67C7188 /* PrivateApis.swift */; }; - D04BAAE70D788E127E61319C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAEBD635643E652AA79A6 /* Localizable.strings */; }; D04BAB048DE698E013577C51 /* ThumbnailsPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA653BD073CB58E2CFC93 /* ThumbnailsPanel.swift */; }; D04BAB4EB890853B5B9B2C61 /* BoldLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACEE8D430B8CAAD8C4CD /* BoldLabel.swift */; }; D04BAB68B7B8D1B548BC3AD5 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAAB92261FC04854FDDE9 /* App.swift */; }; - D04BABD34C901707D28CA239 /* SF-Pro-Text-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = D04BA9C7ECE540D4B4D2F3F0 /* SF-Pro-Text-Regular.otf */; }; - D04BABE88F8E4B54EEFC3B4D /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA9DD88D87718D6A162E9 /* InfoPlist.strings */; }; D04BABED81800E18732912CC /* CGWindowID.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA03200F5A8FC0CD03607 /* CGWindowID.swift */; }; D04BABEECBC6D922298BC93A /* Spaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7CF9C2D1BEC7C05AB24 /* Spaces.swift */; }; D04BAC011A71E0418154F8CD /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA9B93823398A542FF7A0 /* Preferences.swift */; }; - D04BAC0AE7C80F8A37BBC7A5 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA4A4B27D541B489D35CA /* InfoPlist.strings */; }; + D04BAC3169D54014CBA9ACE5 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAE7F55A4A3EC5F6D311A /* Localizable.strings */; }; D04BAD1BE9DC22C48C53D195 /* AboutTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA4A26987F67DD94C827F /* AboutTab.swift */; }; D04BAD2A7F2E8BF64EE982E9 /* TextArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7C836A8CE8C0B8D128B /* TextArea.swift */; }; D04BAD451966B43720120D2E /* Menubar.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD905546AA93E5117B0A /* Menubar.swift */; }; D04BADBCF20CD72057E7CF09 /* TabViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA27C87B86C4484A5B15B /* TabViewItem.swift */; }; D04BADCDA9F9A6C3D6499877 /* SystemPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7C6F2519091717F4B4E /* SystemPermissions.swift */; }; - D04BAE6B5382CA561A219A54 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAF27C7004AC98C521FCD /* Localizable.strings */; }; + D04BAEE31B6FFCDC779E6C17 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D04BAC2FF99F629CD4ED20FC /* MainMenu.xib */; }; + D04BAF12DF5D15B9D7D316A4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BA61693F710CD7BD054D7 /* InfoPlist.strings */; }; D04BAF25E67A5B31CF7676DB /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA44F7B5E58A08416706B /* TextField.swift */; }; D04BAFB973C3D28718FAEB87 /* Windows.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACD976030676FD0761D5 /* Windows.swift */; }; D04BAFBC862BA5FE0294EA7A /* AXUIElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA6F823BC0EDA9AA4B80A /* AXUIElement.swift */; }; @@ -71,20 +70,19 @@ D04BA015A45DE7AFDC9794FE /* Window.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Window.swift; sourceTree = ""; }; D04BA03200F5A8FC0CD03607 /* CGWindowID.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindowID.swift; sourceTree = ""; }; D04BA0AAAE82C72855DBBA26 /* update_appcast.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = update_appcast.sh; sourceTree = ""; }; - D04BA0BEF67FCC92B06AA34A /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = ""; }; + D04BA0CDCFF1F0B1A77E3E86 /* SF-Pro-Text-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; path = "SF-Pro-Text-Regular.otf"; sourceTree = ""; }; D04BA0CE87BE264C52987ED1 /* 7 windows - 2 lines - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - wide window.jpg"; sourceTree = ""; }; D04BA0E071D2EDFDB9A20523 /* Podfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Podfile; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + D04BA0E11E83F177B07EE19C /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = Localizable.strings; sourceTree = ""; }; D04BA0E1C5DBC07108AC2F54 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; D04BA0F5EB832B8E142B654B /* 4 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "4 windows - 1 line.jpg"; sourceTree = ""; }; D04BA10777505D8A67ABD186 /* Application.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Application.swift; sourceTree = ""; }; D04BA107C8B8FE7FF8536606 /* too many windows - 4 lines - paginated.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "too many windows - 4 lines - paginated.jpg"; sourceTree = ""; }; D04BA1232AFEEFE90D5CC827 /* debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = debug.xcconfig; sourceTree = ""; }; D04BA123744B0C27E9F54B05 /* codesign_sparkle_embedded_apps.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = codesign_sparkle_embedded_apps.sh; sourceTree = ""; }; - D04BA15346AF8E0EF471694A /* en */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = ""; }; D04BA1D80F4EEF2A91BAD29C /* release.config.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = release.config.js; sourceTree = ""; }; D04BA1DF8CAB2FAB7FE9244B /* CollectionViewItemFontIcon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemFontIcon.swift; sourceTree = ""; }; D04BA1FC9022590D7AA02486 /* 1 window - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1 window - 1 line.jpg"; sourceTree = ""; }; - D04BA209DF87573E375C8CC3 /* es */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = es; path = Localizable.strings; sourceTree = ""; }; D04BA2526DC6726E0F7ACF7C /* LabelAndControl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LabelAndControl.swift; sourceTree = ""; }; D04BA258B56193958D60978A /* CollectionViewItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemView.swift; sourceTree = ""; }; D04BA26154AB2A2897E08CAF /* windows-theme.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "windows-theme.jpg"; sourceTree = ""; }; @@ -107,30 +105,31 @@ D04BA53992F116E5E704CAB3 /* BaseLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseLabel.swift; sourceTree = ""; }; D04BA5ABFA5457A86536E2E4 /* 5 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 1 line.jpg"; sourceTree = ""; }; D04BA5C401AFA55CC67C7188 /* PrivateApis.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrivateApis.swift; sourceTree = ""; }; - D04BA5E7D7A67D186B7136FE /* es */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = es; path = InfoPlist.strings; sourceTree = ""; }; + D04BA5D2FD6E26D82721C574 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = ""; }; D04BA5E819181CB83C5602C7 /* generate_selfsigned_codesign_certificate.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = generate_selfsigned_codesign_certificate.sh; sourceTree = ""; }; D04BA62D5EACAAAD7BCD3E79 /* release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = release.xcconfig; sourceTree = ""; }; D04BA64F1F344007EA13BA05 /* AppearanceTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppearanceTab.swift; sourceTree = ""; }; D04BA653BD073CB58E2CFC93 /* ThumbnailsPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThumbnailsPanel.swift; sourceTree = ""; }; + D04BA662DF59DF9A97FDA598 /* de */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = de; path = Localizable.strings; sourceTree = ""; }; D04BA68C2561D9EE4FD851B8 /* Screen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; - D04BA6A1082C0521CD994B42 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = ""; }; D04BA6D57A1456C07318B8EA /* GridView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GridView.swift; sourceTree = ""; }; D04BA6EF1954DCE80E539142 /* base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = base.xcconfig; sourceTree = ""; }; D04BA6F823BC0EDA9AA4B80A /* AXUIElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AXUIElement.swift; sourceTree = ""; }; D04BA70746DEEC3D30B43F81 /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; + D04BA7957E5E02FB09BCE10C /* de */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = de; path = InfoPlist.strings; sourceTree = ""; }; + D04BA7C25BD7B68BCEEE38B5 /* en */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = ""; }; D04BA7C6F2519091717F4B4E /* SystemPermissions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SystemPermissions.swift; sourceTree = ""; }; D04BA7C836A8CE8C0B8D128B /* TextArea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextArea.swift; sourceTree = ""; }; D04BA7CF9C2D1BEC7C05AB24 /* Spaces.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Spaces.swift; sourceTree = ""; }; D04BA7ECCE728582D9ECA613 /* determine_version_and_changelog.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = determine_version_and_changelog.sh; sourceTree = ""; }; D04BA8276B3D3905E80B1739 /* Keyboard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; D04BA82F792DF53958D92572 /* AltTab.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AltTab.app; sourceTree = BUILT_PRODUCTS_DIR; }; - D04BA8478F617D6F050B1C00 /* de */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = de; path = Localizable.strings; sourceTree = ""; }; D04BA8DB8AA7E5570DAC568A /* Sysctl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Sysctl.swift; sourceTree = ""; }; D04BA92541D46EA4F6943A72 /* package-lock.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "package-lock.json"; sourceTree = ""; }; D04BA9B93823398A542FF7A0 /* Preferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; - D04BA9C7ECE540D4B4D2F3F0 /* SF-Pro-Text-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; path = "SF-Pro-Text-Regular.otf"; sourceTree = ""; }; D04BA9EF65B2E7AF9E3ADCA3 /* 2 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2 windows - 1 line.jpg"; sourceTree = ""; }; D04BAA34E0CB00DED7C04B4F /* 2-rows.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2-rows.jpg"; sourceTree = ""; }; + D04BAA9E0539EE620D08F63F /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = InfoPlist.strings; sourceTree = ""; }; D04BAAB92261FC04854FDDE9 /* App.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; D04BAAF760E3A8A22BDA84D6 /* appcast.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = appcast.xml; sourceTree = ""; }; D04BAB6652494D7575057E86 /* 14 windows - 3 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "14 windows - 3 lines.jpg"; sourceTree = ""; }; @@ -139,23 +138,23 @@ D04BAC02D60EF22D9CC7D969 /* commitlint.config.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = commitlint.config.js; sourceTree = ""; }; D04BAC159731F80FDAF4EA6C /* 1-row.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1-row.jpg"; sourceTree = ""; }; D04BAC2FEF7248B7BF9579E2 /* CollectionViewFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewFlowLayout.swift; sourceTree = ""; }; + D04BAC2FF99F629CD4ED20FC /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = ""; }; D04BAC34CFD42A7F6F1F01C0 /* CGWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGWindow.swift; sourceTree = ""; }; D04BAC6AFC7F06D1A567F27A /* replace_environment_variables_in_app.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = replace_environment_variables_in_app.sh; sourceTree = ""; }; D04BACABD048E62EBE4576CC /* DebugProfile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DebugProfile.swift; sourceTree = ""; }; + D04BACB97A5895839BCB14BD /* es */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = es; path = InfoPlist.strings; sourceTree = ""; }; D04BACD976030676FD0761D5 /* Windows.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Windows.swift; sourceTree = ""; }; D04BACE22DC907F03D193075 /* ShortcutsTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShortcutsTab.swift; sourceTree = ""; }; D04BACEE8D430B8CAAD8C4CD /* BoldLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BoldLabel.swift; sourceTree = ""; }; - D04BACEECEFD773AC52E817C /* de */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = de; path = InfoPlist.strings; sourceTree = ""; }; D04BAD1297730B191E96E7FE /* CollectionViewItemTitle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemTitle.swift; sourceTree = ""; }; + D04BAD241A6928F45355B315 /* es */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = es; path = Localizable.strings; sourceTree = ""; }; D04BAD40CE2D3A8AAC3819D0 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = file.gitignore; path = .gitignore; sourceTree = ""; }; D04BAD60C97E609A759E721E /* UpdatesTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UpdatesTab.swift; sourceTree = ""; }; D04BAD7D8F3CC2C36C8769C6 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = file.yml; path = .travis.yml; sourceTree = ""; }; D04BAD82F652C4ED5D8BF7AE /* 3 windows - 1 line - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - tall window.jpg"; sourceTree = ""; }; D04BAD905546AA93E5117B0A /* Menubar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Menubar.swift; sourceTree = ""; }; D04BAD91161791D42FEC4A60 /* HelperExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HelperExtensions.swift; sourceTree = ""; }; - D04BADA9F7B628E1257A3FFE /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = Localizable.strings; sourceTree = ""; }; D04BADB20AB31BF83593E0BE /* greetings.yml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.yaml; path = greetings.yml; sourceTree = ""; }; - D04BADB7FBE213951CDD81CF /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = InfoPlist.strings; sourceTree = ""; }; D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = ""; }; D04BAE757BB2B605234FBF58 /* TabViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewController.swift; sourceTree = ""; }; D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = update_homebrew_cask.sh; sourceTree = ""; }; @@ -215,6 +214,15 @@ path = logic; sourceTree = ""; }; + D04BA12944432EA45A7548CE /* es.lproj */ = { + isa = PBXGroup; + children = ( + D04BAAEC2847830A3991F8D1 /* InfoPlist.strings */, + D04BA717693DA18CB74BAED1 /* Localizable.strings */, + ); + path = es.lproj; + sourceTree = ""; + }; D04BA1463D2A17038222BB84 = { isa = PBXGroup; children = ( @@ -240,6 +248,7 @@ D04BAF1058D2599E6E8ABBA6 /* Info.plist */, D04BAF6F617FCA44D1F75B60 /* alt_tab_macos.entitlements */, D04BAA17F1B492591AAAA9A7 /* config */, + D04BA9CA03317B315B267E21 /* resources */, ); sourceTree = ""; }; @@ -251,17 +260,6 @@ name = Products; sourceTree = ""; }; - D04BA1C159E56743F02A3866 /* l10n */ = { - isa = PBXGroup; - children = ( - D04BA69F91158198644938DF /* en.lproj */, - D04BA376C4D35D1D73E3957E /* fr.lproj */, - D04BABC0D2BA739828F53E24 /* de.lproj */, - D04BAD618AE89C76F26536ED /* es.lproj */, - ); - path = l10n; - sourceTree = ""; - }; D04BA229883E5D540D00232D /* ui */ = { isa = PBXGroup; children = ( @@ -275,6 +273,15 @@ path = ui; sourceTree = ""; }; + D04BA2641C1A385861945B7C /* en.lproj */ = { + isa = PBXGroup; + children = ( + D04BA5C2BB394F1624DD5B45 /* InfoPlist.strings */, + D04BACCBE5F97BE9B6CA645B /* Localizable.strings */, + ); + path = en.lproj; + sourceTree = ""; + }; D04BA2C9EF33A646D0977195 /* .github */ = { isa = PBXGroup; children = ( @@ -292,15 +299,6 @@ path = "generic-components"; sourceTree = ""; }; - D04BA376C4D35D1D73E3957E /* fr.lproj */ = { - isa = PBXGroup; - children = ( - D04BA9DD88D87718D6A162E9 /* InfoPlist.strings */, - D04BA63DEDDC0BCE06588541 /* Localizable.strings */, - ); - path = fr.lproj; - sourceTree = ""; - }; D04BA3FA52AA40B827A72F10 /* tabs */ = { isa = PBXGroup; children = ( @@ -346,13 +344,21 @@ path = "api-wrappers"; sourceTree = ""; }; + D04BA61DD16A622D398FED3E /* fr.lproj */ = { + isa = PBXGroup; + children = ( + D04BA61693F710CD7BD054D7 /* InfoPlist.strings */, + D04BA3B51D05213404938366 /* Localizable.strings */, + ); + path = fr.lproj; + sourceTree = ""; + }; D04BA6251F309645757C6000 /* src */ = { isa = PBXGroup; children = ( D04BA5BB6FB4E7D8F7AD357C /* api-wrappers */, D04BA70746DEEC3D30B43F81 /* main.swift */, D04BA0D80B24E72B9B981A1D /* logic */, - D04BAC282F0F3C3712FB72D6 /* resources */, D04BA229883E5D540D00232D /* ui */, ); path = src; @@ -382,15 +388,6 @@ path = "alt-tab-macos"; sourceTree = ""; }; - D04BA69F91158198644938DF /* en.lproj */ = { - isa = PBXGroup; - children = ( - D04BAE9FE8A2ACA88429535E /* InfoPlist.strings */, - D04BAEBD635643E652AA79A6 /* Localizable.strings */, - ); - path = en.lproj; - sourceTree = ""; - }; D04BA703DCD38D9757093312 /* scripts */ = { isa = PBXGroup; children = ( @@ -406,6 +403,25 @@ path = scripts; sourceTree = ""; }; + D04BA85F16881B290C4A33CD /* de.lproj */ = { + isa = PBXGroup; + children = ( + D04BA5DE6536C4A6558FD80C /* InfoPlist.strings */, + D04BAE7F55A4A3EC5F6D311A /* Localizable.strings */, + ); + path = de.lproj; + sourceTree = ""; + }; + D04BA9CA03317B315B267E21 /* resources */ = { + isa = PBXGroup; + children = ( + D04BA0CDCFF1F0B1A77E3E86 /* SF-Pro-Text-Regular.otf */, + D04BAC2FF99F629CD4ED20FC /* MainMenu.xib */, + D04BAC2B70BC798C57B0B492 /* l10n */, + ); + path = resources; + sourceTree = ""; + }; D04BAA17F1B492591AAAA9A7 /* config */ = { isa = PBXGroup; children = ( @@ -437,15 +453,6 @@ path = img; sourceTree = ""; }; - D04BABC0D2BA739828F53E24 /* de.lproj */ = { - isa = PBXGroup; - children = ( - D04BA0DE428BF4C08F5E19CE /* InfoPlist.strings */, - D04BAD91185BD6DA6774E0C4 /* Localizable.strings */, - ); - path = de.lproj; - sourceTree = ""; - }; D04BABCD12CA72B06290C248 /* preferences-window */ = { isa = PBXGroup; children = ( @@ -458,14 +465,15 @@ path = "preferences-window"; sourceTree = ""; }; - D04BAC282F0F3C3712FB72D6 /* resources */ = { + D04BAC2B70BC798C57B0B492 /* l10n */ = { isa = PBXGroup; children = ( - D04BA9C7ECE540D4B4D2F3F0 /* SF-Pro-Text-Regular.otf */, - D04BA6A1082C0521CD994B42 /* MainMenu.xib */, - D04BA1C159E56743F02A3866 /* l10n */, + D04BA2641C1A385861945B7C /* en.lproj */, + D04BA61DD16A622D398FED3E /* fr.lproj */, + D04BA85F16881B290C4A33CD /* de.lproj */, + D04BA12944432EA45A7548CE /* es.lproj */, ); - path = resources; + path = l10n; sourceTree = ""; }; D04BAD1F5F5D4427DEA16682 /* docs */ = { @@ -476,15 +484,6 @@ path = docs; sourceTree = ""; }; - D04BAD618AE89C76F26536ED /* es.lproj */ = { - isa = PBXGroup; - children = ( - D04BA4A4B27D541B489D35CA /* InfoPlist.strings */, - D04BAF27C7004AC98C521FCD /* Localizable.strings */, - ); - path = es.lproj; - sourceTree = ""; - }; D04BAE05121D54E4FF6AEDAF /* workflows */ = { isa = PBXGroup; children = ( @@ -550,17 +549,16 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - D04BABD34C901707D28CA239 /* SF-Pro-Text-Regular.otf in Resources */, - D04BA7C348A3CF9862394E23 /* MainMenu.xib in Resources */, - D04BA53516E4BA2078A45481 /* InfoPlist.strings in Resources */, - D04BAAE70D788E127E61319C /* Localizable.strings in Resources */, - D04BABE88F8E4B54EEFC3B4D /* InfoPlist.strings in Resources */, - D04BA6AA07BF870BAFC54DF3 /* Localizable.strings in Resources */, - D04BA69AF6CA6723036F6EB7 /* InfoPlist.strings in Resources */, - D04BAA98549C75DF585D2628 /* Localizable.strings in Resources */, - D04BAC0AE7C80F8A37BBC7A5 /* InfoPlist.strings in Resources */, - D04BAE6B5382CA561A219A54 /* Localizable.strings in Resources */, - D04BA7B1C67F18623E6110D8 /* codesign_sparkle_embedded_apps.sh in Resources */, + D04BA570E7806F28741B1472 /* SF-Pro-Text-Regular.otf in Resources */, + D04BAEE31B6FFCDC779E6C17 /* MainMenu.xib in Resources */, + D04BA276B3241D440F65B149 /* InfoPlist.strings in Resources */, + D04BA084CD1236EC78D90A01 /* Localizable.strings in Resources */, + D04BAF12DF5D15B9D7D316A4 /* InfoPlist.strings in Resources */, + D04BA34AC850A273AB288B1E /* Localizable.strings in Resources */, + D04BA8D6055F6F2E42C976EA /* InfoPlist.strings in Resources */, + D04BAC3169D54014CBA9ACE5 /* Localizable.strings in Resources */, + D04BA100BD0F47828EB649FF /* InfoPlist.strings in Resources */, + D04BA3C24F4F644EA91DE38C /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -683,66 +681,66 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - D04BA0DE428BF4C08F5E19CE /* InfoPlist.strings */ = { + D04BA3B51D05213404938366 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - D04BACEECEFD773AC52E817C /* de */, + D04BA0E11E83F177B07EE19C /* fr */, ); - name = InfoPlist.strings; + name = Localizable.strings; sourceTree = ""; }; - D04BA4A4B27D541B489D35CA /* InfoPlist.strings */ = { + D04BA5C2BB394F1624DD5B45 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - D04BA5E7D7A67D186B7136FE /* es */, + D04BA5D2FD6E26D82721C574 /* en */, ); name = InfoPlist.strings; sourceTree = ""; }; - D04BA63DEDDC0BCE06588541 /* Localizable.strings */ = { + D04BA5DE6536C4A6558FD80C /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - D04BADA9F7B628E1257A3FFE /* fr */, + D04BA7957E5E02FB09BCE10C /* de */, ); - name = Localizable.strings; + name = InfoPlist.strings; sourceTree = ""; }; - D04BA9DD88D87718D6A162E9 /* InfoPlist.strings */ = { + D04BA61693F710CD7BD054D7 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - D04BADB7FBE213951CDD81CF /* fr */, + D04BAA9E0539EE620D08F63F /* fr */, ); name = InfoPlist.strings; sourceTree = ""; }; - D04BAD91185BD6DA6774E0C4 /* Localizable.strings */ = { + D04BA717693DA18CB74BAED1 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - D04BA8478F617D6F050B1C00 /* de */, + D04BAD241A6928F45355B315 /* es */, ); name = Localizable.strings; sourceTree = ""; }; - D04BAE9FE8A2ACA88429535E /* InfoPlist.strings */ = { + D04BAAEC2847830A3991F8D1 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - D04BA0BEF67FCC92B06AA34A /* en */, + D04BACB97A5895839BCB14BD /* es */, ); name = InfoPlist.strings; sourceTree = ""; }; - D04BAEBD635643E652AA79A6 /* Localizable.strings */ = { + D04BACCBE5F97BE9B6CA645B /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - D04BA15346AF8E0EF471694A /* en */, + D04BA7C25BD7B68BCEEE38B5 /* en */, ); name = Localizable.strings; sourceTree = ""; }; - D04BAF27C7004AC98C521FCD /* Localizable.strings */ = { + D04BAE7F55A4A3EC5F6D311A /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - D04BA209DF87573E375C8CC3 /* es */, + D04BA662DF59DF9A97FDA598 /* de */, ); name = Localizable.strings; sourceTree = ""; diff --git a/src/resources/MainMenu.xib b/resources/MainMenu.xib similarity index 100% rename from src/resources/MainMenu.xib rename to resources/MainMenu.xib diff --git a/src/resources/SF-Pro-Text-Regular.otf b/resources/SF-Pro-Text-Regular.otf similarity index 100% rename from src/resources/SF-Pro-Text-Regular.otf rename to resources/SF-Pro-Text-Regular.otf diff --git a/src/resources/l10n/de.lproj/InfoPlist.strings b/resources/l10n/de.lproj/InfoPlist.strings similarity index 100% rename from src/resources/l10n/de.lproj/InfoPlist.strings rename to resources/l10n/de.lproj/InfoPlist.strings diff --git a/src/resources/l10n/de.lproj/Localizable.strings b/resources/l10n/de.lproj/Localizable.strings similarity index 100% rename from src/resources/l10n/de.lproj/Localizable.strings rename to resources/l10n/de.lproj/Localizable.strings diff --git a/src/resources/l10n/en.lproj/InfoPlist.strings b/resources/l10n/en.lproj/InfoPlist.strings similarity index 100% rename from src/resources/l10n/en.lproj/InfoPlist.strings rename to resources/l10n/en.lproj/InfoPlist.strings diff --git a/src/resources/l10n/en.lproj/Localizable.strings b/resources/l10n/en.lproj/Localizable.strings similarity index 100% rename from src/resources/l10n/en.lproj/Localizable.strings rename to resources/l10n/en.lproj/Localizable.strings diff --git a/src/resources/l10n/es.lproj/InfoPlist.strings b/resources/l10n/es.lproj/InfoPlist.strings similarity index 100% rename from src/resources/l10n/es.lproj/InfoPlist.strings rename to resources/l10n/es.lproj/InfoPlist.strings diff --git a/src/resources/l10n/es.lproj/Localizable.strings b/resources/l10n/es.lproj/Localizable.strings similarity index 100% rename from src/resources/l10n/es.lproj/Localizable.strings rename to resources/l10n/es.lproj/Localizable.strings diff --git a/src/resources/l10n/fr.lproj/InfoPlist.strings b/resources/l10n/fr.lproj/InfoPlist.strings similarity index 100% rename from src/resources/l10n/fr.lproj/InfoPlist.strings rename to resources/l10n/fr.lproj/InfoPlist.strings diff --git a/src/resources/l10n/fr.lproj/Localizable.strings b/resources/l10n/fr.lproj/Localizable.strings similarity index 100% rename from src/resources/l10n/fr.lproj/Localizable.strings rename to resources/l10n/fr.lproj/Localizable.strings From ccbd4046d5509a8e28c6b9809c8e498e6e6f5d83 Mon Sep 17 00:00:00 2001 From: "louis.pontoise" <> Date: Fri, 21 Feb 2020 18:21:20 +0900 Subject: [PATCH 86/98] docs: add a guide to navigate the project for newcomers --- CONTRIBUTING.md | 47 +++++++++++++++++++++++++ README.md | 6 ++-- alt-tab-macos.xcodeproj/project.pbxproj | 2 ++ 3 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..d1b7490f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,47 @@ +# Contributing to the project + +This project is open-source under the [GPL v3 license](https://github.com/lwouis/alt-tab-macos/blob/master/LICENCE.md). Contributions are welcomed! + +In this document you will find some pointers to get started + +## Mac development ecosystem + +Mac development ecosystem is pretty terrible in general. They keep piling on the tech stacks on top of each other, so you have C APIs, ObjC APIs, Swift APIs, Interface builder, Playgrounds, Swift UI. All these are bridging each other with a bunch of macros, SDKs glue, compiler flags, compatibility mode, XCode legacy build system, etc. So keep that in mind. For alt-tab, we are on Swift 4.2. Note that swift just recently started being stable, but overall any change of version breaks a lot of stuff. Swift itself is the worst governed language project I’ve seen in modern times. + +Regarding SDKs, it’s very different from other (better) ecosystems like Java. Here the SDK is bundled with XCode, and XCode is bundled with the OS. This means that from a machine running let’s say macOS 10.10, you have access to only a specific range of XCode versions (you can’t run the latest for instance), and these give you access to a specific range of SDKs (i.e. Swift + objc + c + bridges + compiler + toolchain + etc) + +Documentation is abysmal. Very simple things are not documented at all, and good information is hard to find. Compared to other ecosystem I’ve worked on in the past like Android, nodejs, Java, rust, this is really a bad spot. You can truly tell Apple doesn’t care about supporting third-parties. They are in such a good position that people will struggle and just push through to deliver on their ecosystem because it is so valuable, and because they don’t have to care, they don’t. They could pay an intern to update the docs over the summer for instance, just to give you context of the lack of care we are talking about here. + +Dependencies were historically never handled by Apple. The community came up with [Cocoapods](https://cocoapods.org/) which is the de-facto dependency manager for Apple ecosystem projects these days, even though Apple is now trying to push their own. + +OS APIs are quite limited for the kind of low-level, system-wide app alt-tab is. This means often we just don’t have an API to do something. For instance, there is no API to ask the OS “how many Spaces does the user have?” or “Can you focus the window on Space 2?”. There are however, retro-engineered private APIs which you can call. These are not documented at all, not guaranteed to be there in future macOS releases, and prevent us from releasing alt-tab on the Mac AppStore. We have tried my best to [document](src/api-wrappers/PrivateApis.swift) the ones we are using, as well as ones we investigated in the past. + +## This project specifically + +To mitigate the issues listed above, we took some measures. + +We minimize reliance on XCode, InterfaceBuilder, Playground, and other GUI tools. You can’t cut the dependency completely though as only XCode can build macos apps. Currently the project has these files: + +* 1 xib (InterfaceBuilder UI file, describing the menubar items like “Edit” or “Format”) +* `alt-tab-macos.xcodeproj` file describing alt-tab itself. It contains some settings for the app +* `alt-tab-macos.xcworkspace` file describing an xcode workspace containing alt-tab + cocoapods dependencies. You open that file to open the project in XCode or AppCode +* `Alt-tab-macos.entitlements` and Info.plist which are static files describing some app config for XCode +* `PodFile` and `PodFile.lock` describe dependencies on open-source libraries (e.g. [Sparkle](https://github.com/sparkle-project/Sparkle)) +* Some `.xcconfig` files in `config/` which contain XCode settings that people typically change using XCode UI, but that I want to be version controlled + +We use the command line to build the project, not XCode GUI. See how to build in the [README.md](README.md). + +The project directory is organized in the following way: + +| Path | Role | +|------|-------| +| `config/` | XCode build settings | +| `docs/` | supporting material to document the project | +| `resources/` | files that are shipped inside the final `.app` (e.g. icons) | +| `scripts/` | bash scripts useful for CI and local workflows | +| `src/` | Swift source code | +| `src/api-wrappers` | Wrapping some unfriendly APIs (usually C-APIs) | +| `src/logic` | Business logic (i.e. "models") | +| `src/ui` | UI code (e.g. sublasses of NSView or NSCollectionView) | + +Other folders/files are either tooling or auto-generated (e.g. `Pods/` and `Frameworks/` are generated by `pod install`) \ No newline at end of file diff --git a/README.md b/README.md index fc71604f..1716176d 100644 --- a/README.md +++ b/README.md @@ -39,9 +39,11 @@ The app is currently available in: English, Français, Deutsch, Español, 日本 * Change the shortcut key, switch to a Windows theme and more, using the Preferences window. * If you like scriptable/portable configuration, you can edit `~/Library/Preferences/alt-tab-macos.json`. -## Community +## Contributing -Come discuss with us on the [Discord server](https://discord.gg/mHvmcqT). +* [CONTRIBUTING.md](CONTRIBUTING.md) gives an overview of the project for newcomers who want to contribute. +* Come discuss with us on the [Discord server](https://discord.gg/mHvmcqT). +* [Suggest an enhancement or discuss an issue on github](https://github.com/lwouis/alt-tab-macos/issues). ## Alternatives diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index 898610ab..b5dd10d2 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -125,6 +125,7 @@ D04BA8276B3D3905E80B1739 /* Keyboard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; D04BA82F792DF53958D92572 /* AltTab.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AltTab.app; sourceTree = BUILT_PRODUCTS_DIR; }; D04BA8DB8AA7E5570DAC568A /* Sysctl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Sysctl.swift; sourceTree = ""; }; + D04BA926AF41D226EA1ACBA1 /* CONTRIBUTING.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CONTRIBUTING.md; sourceTree = ""; }; D04BA92541D46EA4F6943A72 /* package-lock.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "package-lock.json"; sourceTree = ""; }; D04BA9B93823398A542FF7A0 /* Preferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; D04BA9EF65B2E7AF9E3ADCA3 /* 2 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2 windows - 1 line.jpg"; sourceTree = ""; }; @@ -249,6 +250,7 @@ D04BAF6F617FCA44D1F75B60 /* alt_tab_macos.entitlements */, D04BAA17F1B492591AAAA9A7 /* config */, D04BA9CA03317B315B267E21 /* resources */, + D04BA926AF41D226EA1ACBA1 /* CONTRIBUTING.md */, ); sourceTree = ""; }; From 943b0ecbf39f2c87c1fd743251af850d601b9f40 Mon Sep 17 00:00:00 2001 From: Louis Pontoise Date: Mon, 24 Feb 2020 18:09:42 +0900 Subject: [PATCH 87/98] refactor: remove unused protocol --- src/ui/App.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/App.swift b/src/ui/App.swift index 7339a9eb..cb360828 100644 --- a/src/ui/App.swift +++ b/src/ui/App.swift @@ -4,7 +4,7 @@ import LetsMove let cgsMainConnectionId = CGSMainConnectionID() -class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { +class App: NSApplication, NSApplicationDelegate { static let name = Bundle.main.object(forInfoDictionaryKey: "CFBundleName") as! String static let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as! String static let licence = Bundle.main.object(forInfoDictionaryKey: "NSHumanReadableCopyright") as! String From fe3077caf4c1e0836ddaf87dc6844a27fb9c0bed Mon Sep 17 00:00:00 2001 From: Louis Pontoise Date: Mon, 24 Feb 2020 18:36:41 +0900 Subject: [PATCH 88/98] refactor: correctly append to build settings from pods --- config/base.xcconfig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/config/base.xcconfig b/config/base.xcconfig index 0b5e027d..2252d987 100644 --- a/config/base.xcconfig +++ b/config/base.xcconfig @@ -7,7 +7,6 @@ SWIFT_VERSION = 4.2 INFOPLIST_FILE = Info.plist CODE_SIGN_ENTITLEMENTS = alt_tab_macos.entitlements IDEDerivedDataPathOverride = DerivedData -FRAMEWORK_SEARCH_PATHS = $(inherited) /System/Library/PrivateFrameworks // for SkyLight.framework -LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks // for accessing swift dylibs at runtime +FRAMEWORK_SEARCH_PATHS[config=*] = $(inherited) /System/Library/PrivateFrameworks // for SkyLight.framework ENABLE_HARDENED_RUNTIME = YES // for notarization OTHER_CODE_SIGN_FLAGS = --timestamp --deep --options runtime // for notarization From 655bd5ca317008fd9b73730aaa635fdf8c92f729 Mon Sep 17 00:00:00 2001 From: Louis Pontoise Date: Wed, 26 Feb 2020 13:43:30 +0900 Subject: [PATCH 89/98] fix: auto-update preferences sync with os from launch --- src/ui/App.swift | 9 ++++----- src/ui/preferences-window/tabs/UpdatesTab.swift | 13 ++++++------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/ui/App.swift b/src/ui/App.swift index cb360828..6986922b 100644 --- a/src/ui/App.swift +++ b/src/ui/App.swift @@ -28,7 +28,7 @@ class App: NSApplication, NSApplicationDelegate { func applicationDidFinishLaunching(_ aNotification: Notification) { #if !DEBUG - PFMoveToApplicationsFolderIfNecessary() + PFMoveToApplicationsFolderIfNecessary() #endif SystemPermissions.ensureAccessibilityCheckboxIsChecked() SystemPermissions.ensureScreenRecordingCheckboxIsChecked() @@ -39,6 +39,8 @@ class App: NSApplication, NSApplicationDelegate { Spaces.initialDiscovery() Applications.initialDiscovery() Keyboard.listenToGlobalEvents(self) + preferencesWindow = PreferencesWindow() + UpdatesTab.observeUserDefaults() } // keyboard shortcuts are broken without a menu. We generated the default menu from XCode and load it @@ -46,7 +48,7 @@ class App: NSApplication, NSApplicationDelegate { private func loadMainMenuXib() { var menuObjects: NSArray? Bundle.main.loadNibNamed("MainMenu", owner: self, topLevelObjects: &menuObjects) - menu = menuObjects?.first(where: {$0 is NSMenu }) as? NSMenu + menu = menuObjects?.first(where: { $0 is NSMenu }) as? NSMenu } // we put application code here which should be executed on init() and Preferences change @@ -77,9 +79,6 @@ class App: NSApplication, NSApplicationDelegate { @objc func showPreferencesPanel() { - if preferencesWindow == nil { - preferencesWindow = PreferencesWindow() - } Screen.repositionPanel(preferencesWindow!, Screen.preferred(), .appleCentered) preferencesWindow?.show() } diff --git a/src/ui/preferences-window/tabs/UpdatesTab.swift b/src/ui/preferences-window/tabs/UpdatesTab.swift index 4c3b3c85..40a4d6aa 100644 --- a/src/ui/preferences-window/tabs/UpdatesTab.swift +++ b/src/ui/preferences-window/tabs/UpdatesTab.swift @@ -13,7 +13,12 @@ class UpdatesTab: NSObject { return TabViewItem.make(NSLocalizedString("Updates", comment: ""), NSImage.refreshTemplateName, makeView()) } - static func makeView() -> NSGridView { + static func observeUserDefaults() { + UserDefaults.standard.addObserver(UpdatesTab.policyObserver, forKeyPath: "SUAutomaticallyUpdate", options: [.initial, .new], context: nil) + UserDefaults.standard.addObserver(UpdatesTab.policyObserver, forKeyPath: "SUEnableAutomaticChecks", options: [.initial, .new], context: nil) + } + + static private func makeView() -> NSGridView { dontPeriodicallyCheck = NSButton(radioButtonWithTitle: NSLocalizedString("Don't check for updates periodically", comment: ""), target: self, action: #selector(updatePolicyCallback)) dontPeriodicallyCheck.fit() periodicallyCheck = NSButton(radioButtonWithTitle: NSLocalizedString("Check for updates periodically", comment: ""), target: self, action: #selector(updatePolicyCallback)) @@ -25,7 +30,6 @@ class UpdatesTab: NSObject { policies.alignment = .left policies.orientation = .vertical policies.spacing = GridView.interPadding / 2 - observePolicy() let view = GridView.make([ [policyLabel, policies], [NSButton(title: NSLocalizedString("Check for updates now…", comment: ""), target: self, action: #selector(checkForUpdatesNow))], @@ -39,11 +43,6 @@ class UpdatesTab: NSObject { return view } - private static func observePolicy() { - UserDefaults.standard.addObserver(UpdatesTab.policyObserver, forKeyPath: "SUAutomaticallyUpdate", options: [.initial, .new], context: nil) - UserDefaults.standard.addObserver(UpdatesTab.policyObserver, forKeyPath: "SUEnableAutomaticChecks", options: [.initial, .new], context: nil) - } - @objc static func checkForUpdatesNow(_ sender: Any) { SUUpdater.shared().checkForUpdates(sender) From 9ed898695eebd25e61120fcc657520844944470f Mon Sep 17 00:00:00 2001 From: Louis Pontoise Date: Thu, 5 Mar 2020 10:08:34 +0900 Subject: [PATCH 90/98] fix: cpu and memory leaks (see discussion in #117) --- src/api-wrappers/AXUIElement.swift | 32 ++++++++++++++++++++++--- src/logic/Application.swift | 38 +++++++++++++++++++++++------- src/logic/Applications.swift | 8 +++---- src/logic/Window.swift | 35 ++++++++++++++++++++------- src/logic/Windows.swift | 1 + src/ui/App.swift | 3 ++- 6 files changed, 92 insertions(+), 25 deletions(-) diff --git a/src/api-wrappers/AXUIElement.swift b/src/api-wrappers/AXUIElement.swift index 704359a4..45734f13 100644 --- a/src/api-wrappers/AXUIElement.swift +++ b/src/api-wrappers/AXUIElement.swift @@ -49,14 +49,40 @@ extension AXUIElement { return attribute(kAXSubroleAttribute, String.self) } - func subscribeWithRetry(_ axObserver: AXObserver, _ notification: String, _ pointer: UnsafeMutableRawPointer?, _ callback: (() -> Void)? = nil, _ previousResult: AXError? = nil) { + func subscribeWithRetry(_ axObserver: AXObserver, _ notification: String, _ pointer: UnsafeMutableRawPointer?, _ callback: (() -> Void)? = nil, _ runningApplication: NSRunningApplication? = nil, _ wid: CGWindowID? = nil, _ attemptsCount: Int = 0) { + if attemptsCount == 0 || attemptsCount % 1000 == 0 { + if let runningApplication = runningApplication { +// debugPrint("attempt pid", attemptsCount, pid, notification, Applications.appsInSubscriptionRetryLoop.filter { $0.starts(with: String(pid)) }) + } + if let wid = wid { +// debugPrint("attempt wid", attemptsCount, wid, notification, Windows.windowsInSubscriptionRetryLoop.filter { $0.starts(with: String(wid)) }) + } + } + if let runningApplication = runningApplication, Applications.appsInSubscriptionRetryLoop.first(where: { $0 == String(runningApplication.processIdentifier) + String(notification) }) == nil { +// debugPrint("early quit pid", attemptsCount, pid, notification) + return + } + if let wid = wid, Windows.windowsInSubscriptionRetryLoop.first(where: { $0 == String(wid) + String(notification) }) == nil { +// debugPrint("early quit wid", attemptsCount, wid, notification) + return + } let result = AXObserverAddNotification(axObserver, self, notification as CFString, pointer) if result == .success || result == .notificationUnsupported || result == .notificationAlreadyRegistered { + debugPrint("subbed", attemptsCount, runningApplication, wid, Applications.list.first(where: { $0.runningApplication.processIdentifier == runningApplication?.processIdentifier })) callback?() + if let runningApplication = runningApplication { + Application.stopSubscriptionRetries(notification, runningApplication) + debugPrint("app sub list", Applications.appsInSubscriptionRetryLoop) + } + if let wid = wid { + Window.stopSubscriptionRetries(notification, wid) + debugPrint("win sub list", Windows.windowsInSubscriptionRetryLoop) + } return } - DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(10), execute: { - self.subscribeWithRetry(axObserver, notification, pointer, callback, result) + DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(10), execute: { [weak self] in + guard let self = self else { return } + self.subscribeWithRetry(axObserver, notification, pointer, callback, runningApplication, wid, attemptsCount + 1) }) } diff --git a/src/logic/Application.swift b/src/logic/Application.swift index 011802fc..67b48316 100644 --- a/src/logic/Application.swift +++ b/src/logic/Application.swift @@ -6,6 +6,20 @@ class Application: NSObject { var axObserver: AXObserver? var isReallyFinishedLaunching = false + static let notifications = [ + kAXApplicationActivatedNotification, + kAXFocusedWindowChangedNotification, + kAXWindowCreatedNotification, + kAXApplicationHiddenNotification, + kAXApplicationShownNotification, + ] + + // some apps never finish their subscription retry loop; they should be stopped to avoid infinite loop + static func stopSubscriptionRetries(_ notification: String, _ runningApplication: NSRunningApplication) { + debugPrint("removeObservers", runningApplication.processIdentifier, runningApplication.bundleIdentifier) + Applications.appsInSubscriptionRetryLoop.removeAll { $0 == String(runningApplication.processIdentifier) + String(notification) } + } + init(_ runningApplication: NSRunningApplication) { self.runningApplication = runningApplication super.init() @@ -16,6 +30,14 @@ class Application: NSObject { } } + deinit { + debugPrint("deinit", runningApplication.processIdentifier, runningApplication.bundleIdentifier) + // some apps never finish launching; subscription retries should be stopped to avoid infinite loops + Application.notifications.forEach { Application.stopSubscriptionRetries($0, runningApplication) } + // some apps never finish launching; observer should be removed to avoid leak + removeObserver() + } + func removeObserver() { runningApplication.safeRemoveObserver(self, "isFinishedLaunching") } @@ -53,22 +75,20 @@ class Application: NSObject { private func observeEvents() { guard let axObserver = axObserver else { return } let selfPointer = UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()) - for notification in [ - kAXApplicationActivatedNotification, - kAXFocusedWindowChangedNotification, - kAXWindowCreatedNotification, - kAXApplicationHiddenNotification, - kAXApplicationShownNotification, - ] { - axUiElement!.subscribeWithRetry(axObserver, notification, selfPointer, { + for notification in Application.notifications { + debugPrint("subscribeWithRetry app", runningApplication.processIdentifier, notification, runningApplication.bundleIdentifier) + Applications.appsInSubscriptionRetryLoop.append(String(runningApplication.processIdentifier) + String(notification)) + axUiElement!.subscribeWithRetry(axObserver, notification, selfPointer, { [weak self] in // some apps have `isFinishedLaunching == true` but are actually not finished, and will return .cannotComplete // we consider them ready when the first subscription succeeds, and list their windows again at that point + guard let self = self else { return } if !self.isReallyFinishedLaunching { self.isReallyFinishedLaunching = true self.observeNewWindows() } - }) + }, runningApplication) } + debugPrint("app sub list", Applications.appsInSubscriptionRetryLoop) CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(axObserver), .defaultMode) } } diff --git a/src/logic/Applications.swift b/src/logic/Applications.swift index 1b05dcb6..64fe88b4 100644 --- a/src/logic/Applications.swift +++ b/src/logic/Applications.swift @@ -3,6 +3,7 @@ import Cocoa class Applications { static var list = [Application]() static var appsObserver = RunningApplicationsObserver() + static var appsInSubscriptionRetryLoop = [String]() static func observeNewWindows() { for app in list { @@ -53,12 +54,11 @@ class Applications { static func removeRunningApplications(_ runningApps: [NSRunningApplication]) { for runningApp in runningApps { - guard let app = Applications.list.first(where: { $0.runningApplication.isEqual(runningApp) }) else { continue } - Windows.list.removeAll(where: { $0.application.runningApplication.isEqual(runningApp) }) - // some apps never finish launching; the observer leaks for them without this - app.removeObserver() Applications.list.removeAll(where: { $0.runningApplication.isEqual(runningApp) }) + Windows.list.removeAll(where: { $0.application.runningApplication.isEqual(runningApp) }) } + debugPrint("app sub list", Applications.appsInSubscriptionRetryLoop) + debugPrint("win sub list", Windows.windowsInSubscriptionRetryLoop) guard Windows.list.count > 0 else { (App.shared as! App).hideUi(); return } // TODO: implement of more sophisticated way to decide which thumbnail gets focused on app quit Windows.focusedWindowIndex = 1 diff --git a/src/logic/Window.swift b/src/logic/Window.swift index fc689404..5db9d764 100644 --- a/src/logic/Window.swift +++ b/src/logic/Window.swift @@ -14,6 +14,18 @@ class Window { var application: Application var axObserver: AXObserver? + static let notifications = [ + kAXUIElementDestroyedNotification, + kAXTitleChangedNotification, + kAXWindowMiniaturizedNotification, + kAXWindowDeminiaturizedNotification, + ] + + static func stopSubscriptionRetries(_ notification: String, _ cgWindowId: CGWindowID) { + debugPrint("removeObservers", cgWindowId) + Windows.windowsInSubscriptionRetryLoop.removeAll { $0 == (String(cgWindowId) + String(notification)) } + } + init(_ axUiElement: AXUIElement, _ application: Application) { // TODO: make a efficient batched AXUIElementCopyMultipleAttributeValues call once for each window, and store the values self.axUiElement = axUiElement @@ -30,17 +42,22 @@ class Window { observeEvents() } + deinit { + debugPrint("deinit", cgWindowId, title) + // some windows never finish launching; subscription retries should be stopped to avoid infinite loops + Window.notifications.forEach { Window.stopSubscriptionRetries($0, cgWindowId) } + } + private func observeEvents() { AXObserverCreate(application.runningApplication.processIdentifier, axObserverCallback, &axObserver) guard let axObserver = axObserver else { return } - for notification in [ - kAXUIElementDestroyedNotification, - kAXTitleChangedNotification, - kAXWindowMiniaturizedNotification, - kAXWindowDeminiaturizedNotification, - ] { - axUiElement.subscribeWithRetry(axObserver, notification, nil) + for notification in Window.notifications { + debugPrint("subscribeWithRetry win", cgWindowId, notification, title) + Windows.windowsInSubscriptionRetryLoop.append(String(cgWindowId) + String(notification)) + axUiElement.subscribeWithRetry(axObserver, notification, nil, nil, nil, cgWindowId) } + debugPrint("app sub list", Applications.appsInSubscriptionRetryLoop) + debugPrint("win sub list", Windows.windowsInSubscriptionRetryLoop) CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(axObserver), .defaultMode) } @@ -56,7 +73,8 @@ class Window { // macOS bug: when switching to a System Preferences window in another space, it switches to that space, // but quickly switches back to another window in that space // You can reproduce this buggy behaviour by clicking on the dock icon, proving it's an OS bug - DispatchQueues.focusActions.async { + DispatchQueues.focusActions.async { [weak self] in + guard let self = self else { return } var elementConnection = UInt32(0) CGSGetWindowOwner(cgsMainConnectionId, self.cgWindowId, &elementConnection) var psn = ProcessSerialNumber() @@ -115,6 +133,7 @@ private func axObserverCallback(observer: AXObserver, element: AXUIElement, noti private func eventWindowDestroyed(_ app: App, _ element: AXUIElement) { guard let existingIndex = Windows.list.firstIndexThatMatches(element) else { return } Windows.list.remove(at: existingIndex) + debugPrint("win sub list", Windows.windowsInSubscriptionRetryLoop) guard Windows.list.count > 0 else { app.hideUi(); return } Windows.moveFocusedWindowIndexAfterWindowDestroyedInBackground(existingIndex) app.refreshOpenUi() diff --git a/src/logic/Windows.swift b/src/logic/Windows.swift index b6656858..530f61c7 100644 --- a/src/logic/Windows.swift +++ b/src/logic/Windows.swift @@ -4,6 +4,7 @@ class Windows { // order in the array is important: most-recently-used elements are first static var list = [Window]() static var focusedWindowIndex = Array.Index(0) + static var windowsInSubscriptionRetryLoop = [String]() static func focusedWindow() -> Window? { return list.count > focusedWindowIndex ? list[focusedWindowIndex] : nil diff --git a/src/ui/App.swift b/src/ui/App.swift index 6986922b..27962b1a 100644 --- a/src/ui/App.swift +++ b/src/ui/App.swift @@ -122,7 +122,8 @@ class App: NSApplication, NSApplicationDelegate { Windows.refreshAllThumbnails() Windows.focusedWindowIndex = 0 Windows.cycleFocusedWindowIndex(step) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + Preferences.windowDisplayDelay, execute: { + DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + Preferences.windowDisplayDelay, execute: { [weak self] in + guard let self = self else { return } self.refreshOpenUi() if self.uiWorkShouldBeDone { self.thumbnailsPanel?.show() } }) From 3f5d9f571bec6b539c71e84dcf882ceb3d9d68d2 Mon Sep 17 00:00:00 2001 From: Louis Pontoise Date: Thu, 5 Mar 2020 11:58:09 +0900 Subject: [PATCH 91/98] refactor: remove debug logs --- src/api-wrappers/AXUIElement.swift | 21 ++------------------- src/logic/Application.swift | 8 ++------ src/logic/Applications.swift | 6 ++---- src/logic/Window.swift | 10 ++-------- 4 files changed, 8 insertions(+), 37 deletions(-) diff --git a/src/api-wrappers/AXUIElement.swift b/src/api-wrappers/AXUIElement.swift index 45734f13..81855ff3 100644 --- a/src/api-wrappers/AXUIElement.swift +++ b/src/api-wrappers/AXUIElement.swift @@ -50,33 +50,16 @@ extension AXUIElement { } func subscribeWithRetry(_ axObserver: AXObserver, _ notification: String, _ pointer: UnsafeMutableRawPointer?, _ callback: (() -> Void)? = nil, _ runningApplication: NSRunningApplication? = nil, _ wid: CGWindowID? = nil, _ attemptsCount: Int = 0) { - if attemptsCount == 0 || attemptsCount % 1000 == 0 { - if let runningApplication = runningApplication { -// debugPrint("attempt pid", attemptsCount, pid, notification, Applications.appsInSubscriptionRetryLoop.filter { $0.starts(with: String(pid)) }) - } - if let wid = wid { -// debugPrint("attempt wid", attemptsCount, wid, notification, Windows.windowsInSubscriptionRetryLoop.filter { $0.starts(with: String(wid)) }) - } - } - if let runningApplication = runningApplication, Applications.appsInSubscriptionRetryLoop.first(where: { $0 == String(runningApplication.processIdentifier) + String(notification) }) == nil { -// debugPrint("early quit pid", attemptsCount, pid, notification) - return - } - if let wid = wid, Windows.windowsInSubscriptionRetryLoop.first(where: { $0 == String(wid) + String(notification) }) == nil { -// debugPrint("early quit wid", attemptsCount, wid, notification) - return - } + if let runningApplication = runningApplication, Applications.appsInSubscriptionRetryLoop.first(where: { $0 == String(runningApplication.processIdentifier) + String(notification) }) == nil { return } + if let wid = wid, Windows.windowsInSubscriptionRetryLoop.first(where: { $0 == String(wid) + String(notification) }) == nil { return } let result = AXObserverAddNotification(axObserver, self, notification as CFString, pointer) if result == .success || result == .notificationUnsupported || result == .notificationAlreadyRegistered { - debugPrint("subbed", attemptsCount, runningApplication, wid, Applications.list.first(where: { $0.runningApplication.processIdentifier == runningApplication?.processIdentifier })) callback?() if let runningApplication = runningApplication { Application.stopSubscriptionRetries(notification, runningApplication) - debugPrint("app sub list", Applications.appsInSubscriptionRetryLoop) } if let wid = wid { Window.stopSubscriptionRetries(notification, wid) - debugPrint("win sub list", Windows.windowsInSubscriptionRetryLoop) } return } diff --git a/src/logic/Application.swift b/src/logic/Application.swift index 67b48316..6a645e96 100644 --- a/src/logic/Application.swift +++ b/src/logic/Application.swift @@ -16,7 +16,6 @@ class Application: NSObject { // some apps never finish their subscription retry loop; they should be stopped to avoid infinite loop static func stopSubscriptionRetries(_ notification: String, _ runningApplication: NSRunningApplication) { - debugPrint("removeObservers", runningApplication.processIdentifier, runningApplication.bundleIdentifier) Applications.appsInSubscriptionRetryLoop.removeAll { $0 == String(runningApplication.processIdentifier) + String(notification) } } @@ -31,7 +30,6 @@ class Application: NSObject { } deinit { - debugPrint("deinit", runningApplication.processIdentifier, runningApplication.bundleIdentifier) // some apps never finish launching; subscription retries should be stopped to avoid infinite loops Application.notifications.forEach { Application.stopSubscriptionRetries($0, runningApplication) } // some apps never finish launching; observer should be removed to avoid leak @@ -45,7 +43,7 @@ class Application: NSObject { private func addAndObserveWindows() { axUiElement = AXUIElementCreateApplication(runningApplication.processIdentifier) AXObserverCreate(runningApplication.processIdentifier, axObserverCallback, &axObserver) - debugPrint("Adding app: " + (runningApplication.bundleIdentifier ?? "nil")) + debugPrint("Adding app", runningApplication.processIdentifier, runningApplication.bundleIdentifier ?? "nil") observeEvents() } @@ -76,7 +74,6 @@ class Application: NSObject { guard let axObserver = axObserver else { return } let selfPointer = UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()) for notification in Application.notifications { - debugPrint("subscribeWithRetry app", runningApplication.processIdentifier, notification, runningApplication.bundleIdentifier) Applications.appsInSubscriptionRetryLoop.append(String(runningApplication.processIdentifier) + String(notification)) axUiElement!.subscribeWithRetry(axObserver, notification, selfPointer, { [weak self] in // some apps have `isFinishedLaunching == true` but are actually not finished, and will return .cannotComplete @@ -88,7 +85,6 @@ class Application: NSObject { } }, runningApplication) } - debugPrint("app sub list", Applications.appsInSubscriptionRetryLoop) CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(axObserver), .defaultMode) } } @@ -97,7 +93,7 @@ private func axObserverCallback(observer: AXObserver, element: AXUIElement, noti let application = Unmanaged.fromOpaque(applicationPointer!).takeUnretainedValue() let app = App.shared as! App let type = notificationName as String - debugPrint("OS event: " + type, element.title() ?? "nil") + debugPrint("OS event", type, element.title() ?? "nil") switch type { case kAXApplicationActivatedNotification: eventApplicationActivated(app, element) case kAXApplicationHiddenNotification, kAXApplicationShownNotification: eventApplicationHiddenOrShown(app, element, type) diff --git a/src/logic/Applications.swift b/src/logic/Applications.swift index 64fe88b4..06d18017 100644 --- a/src/logic/Applications.swift +++ b/src/logic/Applications.swift @@ -57,8 +57,6 @@ class Applications { Applications.list.removeAll(where: { $0.runningApplication.isEqual(runningApp) }) Windows.list.removeAll(where: { $0.application.runningApplication.isEqual(runningApp) }) } - debugPrint("app sub list", Applications.appsInSubscriptionRetryLoop) - debugPrint("win sub list", Windows.windowsInSubscriptionRetryLoop) guard Windows.list.count > 0 else { (App.shared as! App).hideUi(); return } // TODO: implement of more sophisticated way to decide which thumbnail gets focused on app quit Windows.focusedWindowIndex = 1 @@ -78,11 +76,11 @@ class RunningApplicationsObserver: NSObject { switch type { case .insertion: let apps = change![.newKey] as! [NSRunningApplication] - debugPrint("OS event: apps launched", apps.map { ($0.processIdentifier, $0.bundleIdentifier) }) + debugPrint("OS event", "apps launched", apps.map { ($0.processIdentifier, $0.bundleIdentifier) }) Applications.addRunningApplications(apps) case .removal: let apps = change![.oldKey] as! [NSRunningApplication] - debugPrint("OS event: apps quit", apps.map { ($0.processIdentifier, $0.bundleIdentifier) }) + debugPrint("OS event", "apps quit", apps.map { ($0.processIdentifier, $0.bundleIdentifier) }) Applications.removeRunningApplications(apps) default: return } diff --git a/src/logic/Window.swift b/src/logic/Window.swift index 5db9d764..1446d7dd 100644 --- a/src/logic/Window.swift +++ b/src/logic/Window.swift @@ -22,7 +22,6 @@ class Window { ] static func stopSubscriptionRetries(_ notification: String, _ cgWindowId: CGWindowID) { - debugPrint("removeObservers", cgWindowId) Windows.windowsInSubscriptionRetryLoop.removeAll { $0 == (String(cgWindowId) + String(notification)) } } @@ -38,12 +37,11 @@ class Window { self.spaceIndex = Spaces.currentSpaceIndex self.isOnAllSpaces = false self.title = Window.bestEffortTitle(axUiElement, cgWindowId, application) - debugPrint("Adding window: " + title, application.runningApplication.bundleIdentifier ?? "nil", Spaces.currentSpaceId, Spaces.currentSpaceIndex) + debugPrint("Adding window", cgWindowId, title, application.runningApplication.bundleIdentifier ?? "nil", Spaces.currentSpaceId, Spaces.currentSpaceIndex) observeEvents() } deinit { - debugPrint("deinit", cgWindowId, title) // some windows never finish launching; subscription retries should be stopped to avoid infinite loops Window.notifications.forEach { Window.stopSubscriptionRetries($0, cgWindowId) } } @@ -52,12 +50,9 @@ class Window { AXObserverCreate(application.runningApplication.processIdentifier, axObserverCallback, &axObserver) guard let axObserver = axObserver else { return } for notification in Window.notifications { - debugPrint("subscribeWithRetry win", cgWindowId, notification, title) Windows.windowsInSubscriptionRetryLoop.append(String(cgWindowId) + String(notification)) axUiElement.subscribeWithRetry(axObserver, notification, nil, nil, nil, cgWindowId) } - debugPrint("app sub list", Applications.appsInSubscriptionRetryLoop) - debugPrint("win sub list", Windows.windowsInSubscriptionRetryLoop) CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(axObserver), .defaultMode) } @@ -121,7 +116,7 @@ class Window { private func axObserverCallback(observer: AXObserver, element: AXUIElement, notificationName: CFString, _: UnsafeMutableRawPointer?) -> Void { let type = notificationName as String let app = App.shared as! App - debugPrint("OS event: " + type, element.title() ?? "nil") + debugPrint("OS event", type, element.title() ?? "nil") switch type { case kAXUIElementDestroyedNotification: eventWindowDestroyed(app, element) case kAXWindowMiniaturizedNotification, kAXWindowDeminiaturizedNotification: eventWindowMiniaturizedOrDeminiaturized(app, element, type) @@ -133,7 +128,6 @@ private func axObserverCallback(observer: AXObserver, element: AXUIElement, noti private func eventWindowDestroyed(_ app: App, _ element: AXUIElement) { guard let existingIndex = Windows.list.firstIndexThatMatches(element) else { return } Windows.list.remove(at: existingIndex) - debugPrint("win sub list", Windows.windowsInSubscriptionRetryLoop) guard Windows.list.count > 0 else { app.hideUi(); return } Windows.moveFocusedWindowIndexAfterWindowDestroyedInBackground(existingIndex) app.refreshOpenUi() From e20db1ff6276c81c356a57eb8f63ad66f09b3ae1 Mon Sep 17 00:00:00 2001 From: Louis Pontoise Date: Fri, 6 Mar 2020 11:17:58 +0900 Subject: [PATCH 92/98] fix: list temporary AXDialog windows like activity monitor --- src/api-wrappers/AXUIElement.swift | 3 ++- src/logic/Application.swift | 12 +++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/api-wrappers/AXUIElement.swift b/src/api-wrappers/AXUIElement.swift index 81855ff3..9a98d1f8 100644 --- a/src/api-wrappers/AXUIElement.swift +++ b/src/api-wrappers/AXUIElement.swift @@ -18,7 +18,8 @@ extension AXUIElement { // Some non-windows have subrole: nil (e.g. some OS elements), "AXUnknown" (e.g. Bartender), "AXSystemDialog" (e.g. Intellij tooltips) // Some non-windows have title: nil (e.g. some OS elements) // Minimized windows or windows of a hidden app have subrole "AXDialog" - return title() != nil && (subrole() == "AXStandardWindow" || isMinimized() || isAppHidden) && isOnNormalLevel() + // Activity Monitor main window subrole is "AXDialog" for a brief moment at launch; it then becomes "AXStandardWindow" + return title() != nil && (["AXStandardWindow", "AXDialog"].contains(subrole()) || isMinimized() || isAppHidden) && isOnNormalLevel() } func isOnNormalLevel() -> Bool { diff --git a/src/logic/Application.swift b/src/logic/Application.swift index 6a645e96..d2d5d9b1 100644 --- a/src/logic/Application.swift +++ b/src/logic/Application.swift @@ -48,18 +48,12 @@ class Application: NSObject { } func observeNewWindows() { - var newWindows = [AXUIElement]() - for window in getActualWindows() { - guard Windows.list.firstIndexThatMatches(window) == nil else { continue } - newWindows.append(window) - } + let newWindows = axUiElement!.windows()? + .filter { $0.isActualWindow(runningApplication.isHidden) } + .filter { Windows.list.firstIndexThatMatches($0) == nil } ?? [] addWindows(newWindows) } - private func getActualWindows() -> [AXUIElement] { - return axUiElement!.windows()?.filter { $0.isActualWindow(runningApplication.isHidden) } ?? [] - } - override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) { guard let isFinishedLaunching = change![.newKey], isFinishedLaunching as! Bool else { return } removeObserver() From 7d5a5a8523078db6d136a94fc132362eede1ed76 Mon Sep 17 00:00:00 2001 From: Louis Pontoise Date: Mon, 9 Mar 2020 17:36:15 +0900 Subject: [PATCH 93/98] feat: add an app icon and menubar icon (closes #38) --- Info.plist | 18 +- alt-tab-macos.xcodeproj/project.pbxproj | 25 +- config/base.xcconfig | 1 + resources/icons/originals/app-icon.svg | 232 ++++++++++++++++++ resources/icons/originals/menubar-icon.svg | 17 ++ .../icons/rasterized.xcassets/Contents.json | 6 + .../app-icon.appiconset/Contents.json | 59 +++++ .../app-icon.appiconset/icon_512x512@2x.png | Bin 0 -> 677724 bytes .../menubar-icon.imageset/Contents.json | 17 ++ .../menubar-icon.imageset/icon_16x16@2x.png | Bin 0 -> 656 bytes src/ui/Menubar.swift | 5 +- 11 files changed, 368 insertions(+), 12 deletions(-) create mode 100644 resources/icons/originals/app-icon.svg create mode 100644 resources/icons/originals/menubar-icon.svg create mode 100644 resources/icons/rasterized.xcassets/Contents.json create mode 100644 resources/icons/rasterized.xcassets/app-icon.appiconset/Contents.json create mode 100644 resources/icons/rasterized.xcassets/app-icon.appiconset/icon_512x512@2x.png create mode 100644 resources/icons/rasterized.xcassets/menubar-icon.imageset/Contents.json create mode 100644 resources/icons/rasterized.xcassets/menubar-icon.imageset/icon_16x16@2x.png diff --git a/Info.plist b/Info.plist index bcbd505b..ac805ad8 100644 --- a/Info.plist +++ b/Info.plist @@ -2,12 +2,12 @@ + ATSApplicationFontsPath + CFBundleDevelopmentRegion en CFBundleExecutable $(EXECUTABLE_NAME) - CFBundleIconFile - CFBundleIdentifier $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion @@ -20,25 +20,23 @@ #VERSION# CFBundleVersion #VERSION# + FeedbackToken + #FEEDBACK_TOKEN# LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) + LSUIElement + true NSHumanReadableCopyright GPL-3.0 licence NSPrincipalClass NSApplication - LSUIElement - true - ATSApplicationFontsPath - NSSupportsSuddenTermination true - SUFeedURL - https://raw.githubusercontent.com/lwouis/alt-tab-macos/master/appcast.xml SUEnableAutomaticChecks true + SUFeedURL + https://raw.githubusercontent.com/lwouis/alt-tab-macos/master/appcast.xml SUPublicEDKey 2e9SQOBoaKElchSa/4QDli/nvYkyuDNfynfzBF6vJK4= - FeedbackToken - #FEEDBACK_TOKEN# diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index b5dd10d2..9d41d8b4 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -8,6 +8,7 @@ /* Begin PBXBuildFile section */ 4807A6C623A9CD190052A53E /* SkyLight.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4807A6C523A9CD190052A53E /* SkyLight.framework */; }; + 4858C9B323FBA80200A5BCD9 /* rasterized.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4858C9B223FBA80200A5BCD9 /* rasterized.xcassets */; }; 76D02BB22BFE7C9E0056008D /* Pods_alt_tab_macos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0712B3BEA2B3780398C0999 /* Pods_alt_tab_macos.framework */; }; D04BA004884A273D4D2D3EF1 /* HelperExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD91161791D42FEC4A60 /* HelperExtensions.swift */; }; D04BA084CD1236EC78D90A01 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BACCBE5F97BE9B6CA645B /* Localizable.strings */; }; @@ -65,6 +66,7 @@ /* Begin PBXFileReference section */ 38C426DAE17708EDD4FDADBF /* Pods-alt-tab-macos.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-alt-tab-macos.release.xcconfig"; path = "Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos.release.xcconfig"; sourceTree = ""; }; 4807A6C523A9CD190052A53E /* SkyLight.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SkyLight.framework; path = ../../../../System/Library/PrivateFrameworks/SkyLight.framework; sourceTree = ""; }; + 4858C9B223FBA80200A5BCD9 /* rasterized.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = rasterized.xcassets; sourceTree = ""; }; BF12DEA89785CA78B0FE2706 /* Pods-alt-tab-macos.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-alt-tab-macos.debug.xcconfig"; path = "Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos.debug.xcconfig"; sourceTree = ""; }; C0712B3BEA2B3780398C0999 /* Pods_alt_tab_macos.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_alt_tab_macos.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D04BA015A45DE7AFDC9794FE /* Window.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Window.swift; sourceTree = ""; }; @@ -126,7 +128,7 @@ D04BA82F792DF53958D92572 /* AltTab.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AltTab.app; sourceTree = BUILT_PRODUCTS_DIR; }; D04BA8DB8AA7E5570DAC568A /* Sysctl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Sysctl.swift; sourceTree = ""; }; D04BA926AF41D226EA1ACBA1 /* CONTRIBUTING.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CONTRIBUTING.md; sourceTree = ""; }; - D04BA92541D46EA4F6943A72 /* package-lock.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "package-lock.json"; sourceTree = ""; }; + D04BA97D4F5B72B3AB87A4A5 /* app-icon.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; path = "app-icon.svg"; sourceTree = ""; }; D04BA9B93823398A542FF7A0 /* Preferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; D04BA9EF65B2E7AF9E3ADCA3 /* 2 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2 windows - 1 line.jpg"; sourceTree = ""; }; D04BAA34E0CB00DED7C04B4F /* 2-rows.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2-rows.jpg"; sourceTree = ""; }; @@ -157,6 +159,7 @@ D04BAD91161791D42FEC4A60 /* HelperExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HelperExtensions.swift; sourceTree = ""; }; D04BADB20AB31BF83593E0BE /* greetings.yml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.yaml; path = greetings.yml; sourceTree = ""; }; D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = ""; }; + D04BAE31C445719E8F8C60E1 /* menubar-icon.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; path = "menubar-icon.svg"; sourceTree = ""; }; D04BAE757BB2B605234FBF58 /* TabViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewController.swift; sourceTree = ""; }; D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = update_homebrew_cask.sh; sourceTree = ""; }; D04BAF076A30A1BAFEDBEA66 /* 5 windows - 2 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 2 lines.jpg"; sourceTree = ""; }; @@ -405,6 +408,15 @@ path = scripts; sourceTree = ""; }; + D04BA7568B7165A7726306A7 /* icons */ = { + isa = PBXGroup; + children = ( + 4858C9B223FBA80200A5BCD9 /* rasterized.xcassets */, + D04BAAE3B28A88C49177414C /* originals */, + ); + path = icons; + sourceTree = ""; + }; D04BA85F16881B290C4A33CD /* de.lproj */ = { isa = PBXGroup; children = ( @@ -420,6 +432,7 @@ D04BA0CDCFF1F0B1A77E3E86 /* SF-Pro-Text-Regular.otf */, D04BAC2FF99F629CD4ED20FC /* MainMenu.xib */, D04BAC2B70BC798C57B0B492 /* l10n */, + D04BA7568B7165A7726306A7 /* icons */, ); path = resources; sourceTree = ""; @@ -455,6 +468,15 @@ path = img; sourceTree = ""; }; + D04BAAE3B28A88C49177414C /* originals */ = { + isa = PBXGroup; + children = ( + D04BA97D4F5B72B3AB87A4A5 /* app-icon.svg */, + D04BAE31C445719E8F8C60E1 /* menubar-icon.svg */, + ); + path = originals; + sourceTree = ""; + }; D04BABCD12CA72B06290C248 /* preferences-window */ = { isa = PBXGroup; children = ( @@ -560,6 +582,7 @@ D04BA8D6055F6F2E42C976EA /* InfoPlist.strings in Resources */, D04BAC3169D54014CBA9ACE5 /* Localizable.strings in Resources */, D04BA100BD0F47828EB649FF /* InfoPlist.strings in Resources */, + 4858C9B323FBA80200A5BCD9 /* rasterized.xcassets in Resources */, D04BA3C24F4F644EA91DE38C /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/config/base.xcconfig b/config/base.xcconfig index 2252d987..c1356795 100644 --- a/config/base.xcconfig +++ b/config/base.xcconfig @@ -10,3 +10,4 @@ IDEDerivedDataPathOverride = DerivedData FRAMEWORK_SEARCH_PATHS[config=*] = $(inherited) /System/Library/PrivateFrameworks // for SkyLight.framework ENABLE_HARDENED_RUNTIME = YES // for notarization OTHER_CODE_SIGN_FLAGS = --timestamp --deep --options runtime // for notarization +ASSETCATALOG_COMPILER_APPICON_NAME = app-icon diff --git a/resources/icons/originals/app-icon.svg b/resources/icons/originals/app-icon.svg new file mode 100644 index 00000000..07f5076a --- /dev/null +++ b/resources/icons/originals/app-icon.svg @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/icons/originals/menubar-icon.svg b/resources/icons/originals/menubar-icon.svg new file mode 100644 index 00000000..3e499400 --- /dev/null +++ b/resources/icons/originals/menubar-icon.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/resources/icons/rasterized.xcassets/Contents.json b/resources/icons/rasterized.xcassets/Contents.json new file mode 100644 index 00000000..da4a164c --- /dev/null +++ b/resources/icons/rasterized.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/resources/icons/rasterized.xcassets/app-icon.appiconset/Contents.json b/resources/icons/rasterized.xcassets/app-icon.appiconset/Contents.json new file mode 100644 index 00000000..09056c40 --- /dev/null +++ b/resources/icons/rasterized.xcassets/app-icon.appiconset/Contents.json @@ -0,0 +1,59 @@ +{ + "images" : [ + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "512x512", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "icon_512x512@2x.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/resources/icons/rasterized.xcassets/app-icon.appiconset/icon_512x512@2x.png b/resources/icons/rasterized.xcassets/app-icon.appiconset/icon_512x512@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fbec5b4dfd6b69e7663a12ca7f6d1d682544d001 GIT binary patch literal 677724 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

    M`h$xj>OHM?HOg9!GOWM1fR6zO z1tL$IOm3sgf&bCAo&hN`g?om_jD3*IRWC4nUcdO*q!;j8O)h`WUhsEzcaHS;7m7i-FV6j@y%XKI!|8~1ob=cGp_fbfRy1gC~*ftE{t^`>_3EU0Ab7dOzMwbAzSpfaiJVO;4kWz~V zVd+AIwX%#1MRN_6@~H3#6%)m84$qq4Y0kfn>{4~Y1XJ;j(S%)>(h8yCQ3Vpg9gTfg zCUfWC+op|Dx3<4i&4KM3 z0j}D7k+$JRh+rG-Q)&=0ZQSA3e#f-)76n@AxEA=1yYpWI0LMr4i6@?+m!7{#I+E_y z3Yn3dnGuwf_5m8j(qS(2z?*eFV(+>f_bjdL&!1ZYA^VF^Tt@ak|Cy`wh0k84Z+iDV z^zGky-x3HoSDp9j>@V%M?hK+c0AjV$f&kQTtO2ObSEZh3zkGxK#m~G%U;g5?I@*75 za8gJAkB?6J(SO?}Pj-+cuFKE7gQ^{u=BS~YcPL?O#?-~xx%YODeHzL$0jhM8dAjpI zJk~l&-s#TNl=>EpOp%C7!YzOMdp8z`dhB^G8|oY7+2r2(0vj7;*4c1I<8OXN86W@| zVv6Q0*2l3R5iq86Ei#ebGQ1sA?rtTMTNFgwq<%_oQ98{^^fzeyM>qszYo|k!v~M*} zYnVY}_mbdM($_R&pORkKdE|1!T~>}1aW+^ZHBfA&uBvULP6iRXFL&tJ-Wu7Riw{asDF9? zTmNT|oc_HZeZKgLJWQ9kecg)dmhJ)Y(T{$VKl|Cw*6IIc^S?6v|H&tx#El-z`Nz-V z2$b)zDc~}4cTb`EncN@v?8*a)r zBiQP}ca_)5&6c$dEIBADRc1`=bADQSg-6wG{lAPKvgNDgY+Y$eISHW50@&Dee^Ul3 zfY9<_t=omwTaPviCHM@0GWEHf1WjHk|XVdeoaag2&FeGgYc!nh?z?;4=uSc7ITUV z+$Dgq>1)6>j~RX*%I(Hhe{U+j?>N6%)gVAAr<^DM^Z)!Zz56#`YNOT=;W^J2njlzv z-~pkJZL&iqmjqk52b#csE0?a3$C3ZCN#5b|DZzlB_^~hfF@?J8HE7|s07oV@Knsga za{;4;d%auIi1@+bi64h3`z-*r{4TQtO1>Hh_}mf*cg20ZZK9ktzRIIac**bPgs zyw95Pemy$e(ic8+g}(GF*XZdlU9ao>506gksQ--{NA zLMKsRCGq)znNP>Y#-jWO1Hbq7S%It+B#EpCy;-lt6kBcN(;dtlZjp8B`IAUGS|4dACau-OGUqwkd%6e=c zA(_fN>=zlHS3IgNZ}ud=a!A-djhET@#U!=NdS1WU=3QIKk`ClR$MBmkfc);9nwx7F!iod5cK8U0`Bw155FdFP$0n>TOrg$ox- z0KjGfl+W*f@SERNEc3GV{$zcfwyTrH@LscoY4vR6*JYxc2d?-)e{g_RU+Oas>;EN0 z-9b?VidS7PQ4iUeyV*J_oO{54(bn#;^=y{6-0GHpb?Rx2Fs{p(eVM_)%b4yG0@$z$ zqLOFT0nt7GG(b=WEVo@dm*1DFv$Lsi>4@e2-liP|$e^7}xsOp~bo1Ou%qlR*E&HA+ z?vPqWp+8e7D-|WHHoaT=+H%FIj@qtPj)w$c>?MKY5v;qO2P4Pr6$jdhn9blu6(t7G zrcV)n?%8Xkkz6ayMv#1j#p6UqPqpkag1jl4`)%7sawjJnI=75&A1$NIPyB;t>EHdH zuWvyTY}NDUYh`5*1)WhsSht)li$x?D(Ugy?Dsc5t?V?1F`(}96`M-Iyjs6$s|8G4- zFTHS30~dA5KH)TKGJJ7>A9bo5ci!L%`_>GzwwA9PwI^~~gCo-SO4wZ3s{xa}{Wb0H zw{tWK|9t*4*Xrl)d-mw9Z$D4(c-IAb>(`y9OZT6ra~JxtfW7SFqXoak;eX}DBYN)X zoAvvvU%uJ*6jeLSZW%Hc?ZPF#B4){h_X=`jVhF5hN8VC3>cB~xWebbOMw!- zWL0W3!FK|BPvCs)Ez9JxR-t#iGK@qCW=a8r08clDt$I#D5M*5*Xl_n{dMjZBIHzzU zlT;ys42|+L;zMR*8b}}`F{^bKL2pORtf1O6f%2p5g0@4wz`>MA{Ym6JfwTd9qyW=E zEWgfqa@s?KWf+)}JcNpc!ZCpworl5jFsJ~*dj|cF<=RXnz{RFMgZ_7%9rj@~Io&G_vy6CT{Lyg@ z)5A4W?>m&Yan_gfcp`hSXS2*3ue^K#!S){sAy{e<$yA2Al?QYLoDG{8Hsc-5wTrZ{ zPDv?vk|&ol)Gd7vfTE*sZfO1LaoY$GyM*GbkKPhKZBf5_73Fq?vM^i7SKUYOO)tIll3coU$sGKOp{Sy8CVK zs#D(UJSCRR{!QLHx~Pt`xgG+lI0*x3asMVo)v-oJ+$di+?z6?6SU^u&oB|)}ls@dK z`3wf>(_O&Zs~h*VM^bn0Cvs+^E+raVyb3GH`fdXPOcnrcc2ykm{iJcvu zj)MF31pMrMHa_rqT?Wu|y!_J5cBcFC*)Kr=O2$MsI#n?x8G{~F+<0OF+O zV%yZ|@csPxt5*)mr*_F8rzMq%4!Vxs6sNX0o2Mtu=`5f1dP`6K%2oREm#)y)e?#L0 z4Pn(O@aJU_2>W){y+(JP_M2fe?Vt{rWUI$)tVUPO2`)~rJO4WR|HAXv>F+NAfO34^ z7LTw|Cjt8*P?A??k08!2DE}U$_vCbjBHahayg~X+~PqD$1j#m!SEHLNg&XBMeui5 zY8tf6{iA9u$iyU9bd(<3iU`gBd)2;<-!PRw^;;0z zOksq-{tavN9CrtiNe0S+sz$Nr^@`(){O^52MzdjQfWa)Ij_p}rm;ZZrB&8RU4ty?W z-%n+N!Q%-cuSWQs%K%n-1N@IpFVjx_-$^}^7>B9|t8!jf$dtko{#d70Flmge|8x82 zC12hQ5&{<_JA!{$=7j&_*cHly$hTUi5JkI+;$VuGf)Yh*!NCBwY5EynWdr;@yO16w z35ziH17+e&&2kdJ>3!#5S%wEZs|f2NAn4k@-C6tDQU(5B0ng&4x}1}+>%*W*i0a&z zfrP~^ptig@$>kC#=yRkQWJ4IdGGf440sbrqSTQPg7G$2aw;u(-bq8}sBWiW-+(Ugy zI5zw3>lR+O>fFWJ`+x4w{ki(1Z0hjXV~^G64?OTdUH^ai@?|Q!|CeWr^IyOF(SNJH z`Jc+uRhJTsR1_N`N|1MyKJs!1rQX8SdXz zO7E<&8l| z^ShF^i4C*GAG%`ZE^KSOL)->BzvQ@kLtV&F6B=}4o5VThlI$&Da^}zj_?<*nP?*}1 zd`7-31=^AeH+kVj{aW>D+0T9TMm>*xQ_pDEBMuGV=KM8bGzcs=zPU?smu+e!IBc%6 zP)URfEQ8!mx=cZLi+}#PYwe9$6y#(q{yo$oezWb)_DNY|Uq_fX{Ty4NzxQL$(&bkU z7pJ?NOMioIUcXV#r!S89(c+ZXGwnBRGdgvU$$}*`=}@!8%(l^XD1oa@KMt=Qt9L|) zHxKB>QeO%B-RuE?D_0Kaul>J1Tj4Fii#jSVP^d(nl$oI!+5p}$4f@phY`d+a?`0JJ z;O6lH&oSM&eoWV|9WL-KL5jLQ|G19YANNiA3XG*a%clekieq2WzIOSjIrHUnys4WF z9v-&O!ObObaN}tCEOjg&ExR50=TrW7&a@awG}1rEXI+@lU|echl#QP;P+*BeaA^m4 zJQ?qwu>j4C%$RU|AMZEbCDCC=^G5&@rurUm;qoxf;oK7-!L11Ii>N@ zG1X=M#>yji-U6v1U%g8zexNtXcW2#&p69q$F93Rs?Y=vg|&1pp4aTb@m z`V6ddrS$=DD>uDkZ4YuSuK2M&6BEIsb3&$5RYc{=6?Us1Rb|e=t{w)Sb~K~IX8n=z ziu~_W00i12L4Zy#KI_|}Al)$61FHoL*;#;L6n26r1&lMDeJaTw|}ga(T^qahN_)^{CM-fxXxYL((! zSZeS!@V|zR7(tlJ|3=3sAJ{k((>vMe0_|SE?)Jale|&NNSC2gM2o`?(x`o%R3INm& zE$jc6FMi^QCyY{_d+s^g_5bSCtD3(4zHs3}{ZVEBl;7pt?Q-3}cj29~ZO3Aj&k5hC z&Z!bMoSdQx-8$lLEJHcgufWq!G`{ztx13^rQ3o zhG!gGFLI?T4UBSTfjbCh&Wg?3S_PI1XBWht+!ec}F#yFJ`&V8$s7JUR*C0UOT|FEN z=mHQG3I!#l?*UK(g=4{kh-G~*o-PC%AWcbB-sy3329(RXyVWYa?+)w`4Gj#oW8->4d^Ty(kUU!FlanQ>QoRi*e#o;PD*vGYM4DBF< zszHMWWx`I$SMfSJuA}^={F?_iYkej7a8TF%AJdQhjVI~F=Wq6P@LN+hGpBQB;A5sT zM)n`99I;@@wvNi*=ni^u)~{VVTJBGpIy?3dqVW4{texOV-B zu3kM{+WM&euAk!kFX>8s^^^eVa$th1bwHrE0nWBj-DP!8zv{ z@Cld$G&M{^efeU<&0+T1{T)ZHNaahABgX4cGMFs}d%saoQjJ8E@C$V^;u+yp9P%DA zQNEGWJLUF?n4;`crz<-G1Q0}0mz{<%^NxNI9idZboK6@pv>H*j&Pr56a|TGDZHk64 zQP2}es2X%+EP`Wscm-NuG-9!}zz{GenushQO72Jt+71kPRWC<8U7yf|&}hm)Zc!&r z5=;-DXF|D+oJvt z^vBRG){L@KZpDIy;(VM|QkXeM&i@uf0{)NX&-H)fSsr8)MNllQAoh?5Hb_O;zQ4=a42mjXR?`N^nxJYd1DYk+sAtpfNN`|ENff$r~R z7(Ds3u2oVYN2S=g#>n$sz-xVNay|ITNv=rtXa$`!-Z*yQa2ckQr6bQc$Bqx?Cn^= z#xvsc{qgE>mofcq4>WA5!%sS4At>Ft55Q7xNwXp!{VFpBPN|lN((N(FoS}@X=+4SErqF^ui(itsnX_{r>NL znC|R5)Sq@|{rve;I)8eO_V&-!Gw;{yy?X3jT^3UQt=ck}7Ju;QuQFB*81xwzo4%~! zRQmyr`zw0@6uke*-~TFo=3ls5^ z!DrFI>lDlE<$yp`9x{4__Q1`6Q0mc8a{zaE&*>dHun|hdwRN6i!=dyf$Z3=@M7w2F zmf~19r?O&=Gm=8N&&H=JalIcn;z-%>Lao99DjuN3y8Rcn#q5$DznMmUns7-tepGdo zkK#G~sYz?=*(tY^*DhX#mvpnb)*zEz9s@#V$iI;w-lN; z6Q1JF5xmA*M3cBh$Zxd9QMcK9MqQB*^coFb>TSm0H0V1CPVuL(!#-n1ij_3I+uPM9HM;}}{BL;o zoHM#G9Emt{Y{og+4>SFb8s1>w|xe{{wqh0ZH0eTt--(yKG01bOcmt<(%DQt z6U4t!)+_y(WC|N{_P4d1;{314wU=mW#toJG;ZJR!B@~*y9TcuGxSEJWU{k*#*rPI9 zp=Sa(5Y<|KnJ?XrHUHM%_VBi!1VB+z+`ewXb*qm7G^%*)vBzWy0?6Cn{&srdg%|3( zix)4};{l8F-`D?_(f^u9o&Wl&XPPZ;#YVVn{daWkRrcZWCOmu;$17Jk(&xnMYYz~# zByP@#Kp?@1*Bl+vdiv&rp)PTJ#pt{FMXH>T8x3)W;RPeVO#bAD1m`i|65BSrB5>u-865#?Tim=wFpH{ zyaezBHIS45rkxaG0zT_r27^lt2{$!Os0)!gR|hvw>5E@@m44H^&n*Ff=FqPCnfEJg zpI#-Cum6i$6>&#{TWe<1Xj>W;xJ=}i8n@-UjXa;$=4voA5>B8XHAi z_j(PC^)}&N$}f)fdKs0rwd~vkcG;ZnZ~ySq^zVN7!5XDjXT1eY&eQ(6{UvCyzc{{o z_1M4`1X$6^Xd-QnRKBWmY@_()G=n;`VHx4C&VR+R1p+pwCw2P#Kl<@!=x6`YvvhFS zrr2-#5qQD4HgfK2T>`0)F&w1zO^ArlB4>(igulyZeBI}uAKQ0&%1hsHZ?{!FVPf5P znr!IxG`8d;1RLqNv_96p*z`^Qd}M3F1pSfk=r1&Q6(P5T^wDSlaRN?0w#NWP zGW-MG(HZ>T--1bEPlDqL24(7ELWf2Ck!AvXdEhlDKHSTW-yvOUyO>@82gIyhc8Ub$ zHkBO^#x~EgMc=n~8H4a@yvj18=h6N#I9F{-{fbse?l!`2et#Lf zS$VDI*!Q%?vjMWR9DC01nyToMyG;SAa4CM=orB(mHGoj5kUibrJ0ASjqwV&SWiL3Q zH_&OfuiwyhO9KEO`p}2UEP#67X8_dm>n~lpRQ3P})YCWr&0_R5a` zecHD4qX1WB8Nk{$0t9412e@*;b#e|x{_TP;b9gkc3Di@JQqEPSkM^juRj#L=yh7jb zP506M;&krqAJq}<6&!&_9HYT#91-RII!hwOF+myN8|x?|<)@p|>JXPH@`d(4_0OIo z^zO}Y7uS8k5D-J3Ci!OEdijMz`kVjlQ%exwA-eZ1 z+v=2`lpXr_OMC6tAi&<91_9PJ2+)pM^kZb46r?-5eQo@vjr^BSEwkL0{RNiK&6_9m zKmLthr7!&J*Xoq|(_>#(zun4690bNfidgUH4jAomia}!w4J>`2v{2fukV)OZZ?&xk zVhI40tDT_G>*(!`%OjNbWb46zFugSySnZcMzfO!nyh2Ve5NC$7rm5TN%G?a%bT8pv zY_?H*Cge^!2SXvxtYF|~#?sU5rQLOr;b+dDl^yvhC;%GUE|_Ry<{Z>ZD4jydmS#qj zL;*LKbQnaL8=$Y(7X&5F-ci6I%1?Wv{K6R)#LekXjZftT9PP(&YfZ^>9F)AH6HTg` z^ik9yP>;ea(}wXLGMdjq+A5Xt1uJmm?E%Ix260sW8s0(hBJ2Q$wi~gxkCvhR0P-D_ zac_n*_@5p0Gx0lAN-Z7Mqt=U+k(GS{zSc2;v8d6ZGFAm(`6=f>UUP$ja^1roQ zw=wDRG4a8MqpULhN zEYh~fS28CY2l%a1|BsJO>a_Tyqr(~q`1nshZ9y1AxPQ+SD>TRmMW23Fobht4>hYO< zZwPKU?JZ9IwJWFe<3I8=z4!fZrEh-Ey?rLY39V1|Xz#d<{Ob&WvK*iV065GJsrz$? z^bHL+ZO?@g04U#eQ$gQY@R?t|K|lFFJWVe?cfGEcKU$psqvO-+bh`>ABMvoI@^tl? z0yFZHG!nruViej=VrIRS7Cfn}xS@L9MrDIq=*CB+v<-SWy4F+ikgdb+)q+L`2UiUN z0B*nsyE^klZUch03@v7g7)Dh9|H!RD_k*#*5uYxDhq^Ii7na$OjJ=s0Z8fTfzT@D~ zM6Shh6cW`3OtThtgV=GFrv_4 zr3^#wM|29UZ<)}+mFz4N@Ht0t3@D~BeLVytK-UJmmH(4@PXn9rK$vm*G-L&MBiuZ; z1<^oPM!}f=4F1ou+uN2x-)K3lOJj|=^eE^Xt%Gv8-Y$Fw&JnjfqP&~uQPwmG6#1W0 zdc@{!sfL+pY?P zZL5=;O<$J=um>hfw{uhhp=COl!&`O!P41ApVBKq}bCEg4{Sn`q$0k;JFRjkq@!&o8 z+_QJ}>QyeA$m>S(x361s-I4%6H;jW!)K>%>4_>==ZB>o{yyK2Ls)M_XfR?nj_P&cBO3p1?`ULdL|=Sl8ir za_Qf`>XZ5?y@DIolIpwOZF%18o}o z+MHfg0xdF5)Rq$H9sqqqzaA7gT%zTl_^B7@7eDn%-6T&p%{w|gsmB%8k@IBKmGW2Q z&h}`f#|r~%;hLmHTT^vxuEQLGEvPBuu&wp&Dj4u?$*3X0(~2o5@+d4jt!bSJKTi>D ziBwBq9F9eYgy;-r2VKoZ9!BoQsh?Tcdv3=y!;AcH2A>94XuKH9(*C0;H)f;mGnsYOa?VcUvWD}n{l1Yisfe}=f@Q9fnj=C@J=ZRo%#rJmMK^dhjz;S76LLm_}}t%e6&=QQ5@<}IptL# znfj8A8TZGrbIC*jIFGu;>!2Mr%`Q2$n%F+$z1Jp*XdPb(_YD-D%BV2d28hh$&@8{f z#KV(;t;W8MeWXmKHr4)fM|ASQ9c6QFv++zn8Qr@a8-T^<6IozoVNz`W>S(ta0Nj`G zwjW}=)b{&YdqB4%%py2VY2<&wWfzHat)bz4Kas3Hh5Z4-)G2YqJwV_v$o{#<%iV(y zKDb((f2Om#^!D`|zHUVTfVm$$S)w;T{^LK+WD0B^W(NTO`x)2!Ocu#jBssGz<_KS;E^Ow^A zw62nNwYdE)ssT2Q^a(;-gO?S&GEbmxE4b8r_fpQy3TYe3Wj^gk>Pavx^}s~#ZAKuR zgG`{2drh$j$^v&DW~#*mRw$!&E$-V;H;*gM=Z5-*YeMH1n)&&kdx;+XmV0dKfBjzY zI=^Zqty+|W@GPkxO5gPEi}dbqe+#|! z>z2?EZ~BIJD`PdC;)?B{u#`R!>eJ+w--m}A`lU}^rhoZ!uh8{tZ3p}^?f+)kP5po>Q#0G8Xvw zd)`SO_`sv|?#Cafzn}ifW%|r#o~4g}{7ZE8>H(d3iT5REM!^P^*DXfX=Sbb!%)PEK zl20l>F|bPHfo9^Kbm0WD4S$ zo$=I+Gz1Q4#5K@8;+zZRD7UO$$#uJ&*56(y=*1v!v~JZ^5f;pkux96f$_YHC^Li)z zKPd(A#lXg_J_63OG&~RR2AMUvX3u$2Q&RtwwP>@=+CD{fBf#fwF8%u!YE%5lgr@Oa zsyW(fG{giz49@}WWq8ofj~92eo zA|-7*G7MZrszUifpd@*{erS2OS_a6toCNUGKmF6hJW|H(>&>}tMF61oa-Y7z?|tuk ztMgwjb^gnHJpxcq04PfU$|z_F0+hAs>iknD>ErG8x${I1=uv>jdsqAQCaL7>Ww1K5ITYMxlEq=}?+P z&^j9`b>x4EL6(g_%3*-4&fK1?<#c(@z3kd}uwh_v_)pu6fCbrdjG)V)`xeLfrPgNs zQyf2OJDr>3Mc8DHxe5=8$}r8ib34!N1}vrjNRf8tAq^*`r=v8*5i6VOou01S`t9ZO zm8Wjdr+@Bcdf)rMu1#NWM@ZJX_xH=@fO~FW1T{ZKor$uuPZJGK!Pr)TtjEXbPWZ+7 zuK|GN{)J`q|L1<@xpq|HrXL3hf;fzTIVk;WoShJ(^in&bD6Dc^oj$AWv($It{2p!3 zEy0qd9caC+&i>~=bB(_6*=zLH`_I#(@4lPf@!%axFyKP(3Z7|e$9ws6?dl1A`SaK5 zSHEzbo>|(z%*rUo=Cu+3Q#v?2uHPpot&f^g1=P%{N=jaT8@|{aOd$YL+EBa=)bL<$ zm~bg-waw8P6f`dJ8B;c1W4dAN!0QP}`Fo}vO$+qI;U_xqj%U2@#!EI1$!UkD@YC=v z*6nGt0XS;AQY^KC%_WD|GU0{{?q^L-=^>Sz&FAG0);;L;UD@G{m2i0 ziazm)FOAENCTJ6=d7cteOxGScJ}oE;&$B~sWr+C*%GY=gjTPkFl>d$Ronr(4C$tSM zp$Tv1v{9Ft6CsYb7O0%c1E;3Bt$=Q%^rlW0zxiVVn;FoTd$OCX&v zv|iRmy;f=CkehyT(*CQ5?UgRQhXE3UPj>VL#|H{pfp%56ND{wGo+H8O>Yq6oqeOa^L*7y6fMH(4Pu9x>m)%k~vP0Db2 zS0?m};MPoJ#zKMRt&4+3YXwzL0?;Tl8Q*8)3Tp~>6eWX!2o_|3poON?8xd=~DD8p} z_e)ebR|i_^sB)R|er|tFvM=<{{>cmUE#G=im$2bmn22?y z3-G9{lt}8@?`=OCu1}3WDI@=7%71nKZ_>fdgE|}F|NUS6Qk@2`Yw1S^o+7?x$&nfV z#8I(B0R~+?72t^K#&iv?MUmAb>h@@JuI&4;u1DS#qp}=(_wtKJ%jd8*$^N+&z4h%E z=+fKH(ZzfB>D>91wL=LkT)%Qk*RP(^D=!?m-AQ?GDFyxuljm9MJP$in@GL%`@ihl*^cjaTcJ&lz_$kUWHIfBVv^D_eFW^Fyg92WU4DidO zP6{m)Nhq3|qvM0P$WU&4PmH88!ZiD(&}AbxIP3jeQXdlKUV>T#;31kj-!zgJ>KWHqQfgiU0%ZLGK@;fFu+9rTg!{SNx_moL*_{VN}*pZtl>(pSE6+3U?+)PLIvKQo4z zGMNUbg(y4ALq?|&{0{d)wqb(yJjkgxaPf|Ngr9)kadw&X;4jKiXMr>d31z)5|FhaM zBmc)|;`9#*ovfgf^j&`*^~aniIY5@*^pa#QnTEWHpLkl@TyEiSFew5aEp3{u05I^3 z{}VisePw!&bU2%lkgr|O8!kzY880K8?J72qo}l4+u%*g^D88?ak_(>H(X;wOH-Zv=Q&H{ZT~gV&ng;x5Dqc z?z(H$r~H@StGn;Md$qTC8RfG$MXPcOz-F^4(?9C_^>S?+ajgCqZ++z3@8-S73ptiG z$+W}>?mPUJa#b1jAgCPMD19oNQ#jYYL+7lDk0ciWZsNG`BQ%YkApT zqp;*bs2JncBDwGPZ;aDm=~MM<{>4?~ZHH}Bw%H zy$w{6$u>Qc1~+wBYH($7=!=8@;-d7*Mt)y@(mzjs=>|Rj%mKan@)6y*(bn{zoGhdL zM{U&q;AX+St@|&*g0@7X1w3dM=z+*aJX*duvacqkCd?ycF(+9xI+h=Gj;Y8=)Ead& zlB5}$G#Xs9=ew?%u^k=Ypir%bKn_UPJL=9j%%EcC-K3QOWq>vFb%eyoh zbh9>*}V&80U};r47?IeibMIjBgq^D$Vd_PDPWTN zKiG{q4Xa+=eT@wXeC8jTkn~?Pi2ya<1;NIjOI`HpDEFmHfn#4-zyBdQ0D6qhs^(0K1tve##gD_ zfKR~F1Bqz+WH~dFmC{NxdzPTiCN+bEg%tjdVEbE~a_VruQkAla!iWd44guZ+`dNdxAz7jYc@}#6N27rpj?({eJVWp2*-L8Jm>kd%0jQjK4^E82T1`Ed~QFwO9oLx(asI@WMJ_OM5 za&r9h$3Onx{fiHN@PpeYpM0`ShrNB>lIu+m02JrHbo56*`cW>&0G8wb9)0xDa_pZv z|K+o~c=6(DNmnUzafAw0u1g?b@%i_bPxPj#PL5^AYp1roT?@FAD^=DKn|3@0dyf;Yf5Ttxo6UwUe1(3+KE0>g8duh zzS%!3av{Cnj;$-3*uD13NyYOW@4DbYkZliur0z#`g2K(FeNr<1dU`t(e5=P1wvF_T z50A|GKUkdq!^1Z6|Jh%7nSShtzE~aOGE!cS?Aw|FM1wtNHtes%z|Mu0YEC!JyD!do zsauyIY&ZQZ`w$qQnof_lv$O5XQi79hKW^}}kM^I`b^ZtaQ%3$vFreUAod2zDbm$-& zUcZLRMkaV1p?Ez*(>+`B0-SamTlgcU({ct;Ik|R;rnBfFeXT+FaX4!{CLfT}&|Mk}jgzc(5r0)FJU_kj^b#dYW5DE7B8J8rvg#D;O zM4bQY?t~&7!%Z@i2EEAD3r9cp*M8zNpZUz`GN8O&e9G4&uiMwJ^SULc0F+MGJpjt@ zC5khoxpu88zuNP<{=eKWPLXxCE&*6R{P`QNJ^7yd-clXjRXZn*PS-bSpYN`GF55sO zzNZzn8`eE9MK=O;CrfZ@x$+ZEK@3b--9_M%mampyHsb4}^a=y_%DXNx`6-Nx4B76; z))`Qr+q*LUK*d_F8U|ST44Sepz~V->0|3iFMLPk6%He*e6+mKLFWi?2b(^)R=DU`H z%HoTI@^0If0F<-O+7ol!cjw)#B zWfrHk>|kGxmfJg6)ky9B-jZsc=wJNo%XIfWd-T|EzR!;0+icshcc-W4>D;;Vb>>5v zK~T@U=atpX3`fzKpeLKQwe3^Gq>rB0qwo62e>vu_(0Cc~KU%&ET|fKub^0IwyDwIU z`FMdHs0yJ$GQxd=g4azZ%c)(*T8(J>}R5k}(F9gyY__l1KwAr41FQ0Wi z0icytlpn6e-)vhjs{}qCeV?3e+H8PwGQ-A?XRK5#N%wVL#8LZT<^+oXM(~Bh zbV*Q$;cl*HIV!Z*OTXiJ*3HPPK2{{4xH*-j&Wp<>5;t&^Pg_#pDxR-Zr2qp>-?yS< zCtf@$OJVaROfHXn5`L%w+C!#ogK$pa7G1AwL~M2jNg@l1gKtLgoZz&_y-iG{%e3=? zN+5t8@-h5w_=){6gOn3Y0(`_-UyH9gki`G9t^miHdwHwAPgV&66g}`K{^V~90$7*_ z$I|*x`v`QS1&x$l@4mrv9#Z+oPB2UE9b`ln0yTt5g_ED$7t?mQx{2`sbWxvy> z(g$_@qa*YbwiWTpOc(|_X4nU;1~?Fof&E?1+oqpZQMaeq0H?CNx1AZ*xw10~hruD# z4MHgJ%nn9JUlD{ha9G14DGHQO%kX!#z4rIt^V(~#tsZ&gk+PQ@zu~~d?d#Wk-Lhi< zKl;&+(g#2ILF&r^@EUqjo&Vw-mG%E+WR#*jmw$Qfh3Ed@rAJ5!SjtZ7d#}|1fS7h5 za?8i2>` z;%*?7YFBl%zw8ZA{QZq=cy9>;9G7Vk4jXM74DCojYTF@{dWs*nZLteeb{7|z4tgK9 zk?7ODX`Y03!cn8loD!s`#BWMUU?R9hXtx#unPG|`wPQO9u4?T(WEz+DaV{X zIgAQ#p@X8pN@Q%akZ+j{usY$|ZtEqwy|-@8e>H?x<#+oQp#2*3kTyG{;@)@kKk45( zn_#1RA#BlbfUX4+i>rCSEi-yxr@LTadbvcSq2hUE-Zpf`1=%=0-uVnMz_|!+z~oT^ z_ziTW-)yCW(K2%cX&@n*vDA#chzOw5_b|&ss2lBZM1I#L>6?b%(J3H`eIW@kGmr?{ zhDMwRo6cP6PCKyEIedld6 z)*%^&*0r7QA~cd=5R_{X3ZtJ+S3IK$ta}JnB>snY6ZRka&eOX*J`11x3xm-!=a(k+ zp}s<#D3sg&$k+gc&ZA6g0z4~SG88I9Ut+7w;CFr;^*;u5WGEf$i1)EQh{8SquO3^g z67oW&IRU?5QUU&u)Q+sWsElv+jlLmq6JJc!H{4ek*z}Y1-&AeWb^t&*6>4StZ$Yde z@MAywEQ>bqqk(UgpM(7mZI-Dx@+b>S)NJ+ldhfxz@4mavPA{{_IZt`KeZ6Vdn;rnb zXiW(Klv4n%T)9$a0n9p(%P9b5oqrDk2+jZ~BmbK2$>VF+jzylk!2CcZg@y5s*00fB z{9xp{W)!g!Tj!8!zOdk_x=nmjItc(Z2*a^~!BEQ5I&8+#QnxSe+x**xfDB1ozRfl8KRPZW z`Ny>Ci(T5(xm67UT)T2Y-|<~#`XE zPG5b0gcc1hvk5l!6oS(_#s741_K%Lr_i=qz*2O>ltJmmn{AoLLKQ8%ADR*jX(U5FHi``HwED4H?;Jjk$Wh$TMYfdaxU_DR_6 z4UI02G)KTc!CCK0N{Dt7@8u;{rY!)-{bZ3^jBV` zkN@nG^k4m#KUFslG#w|v|3cu1db!v%JZVblM5$`O&om6WQ+Yp*?u*rjGAh*5W%#aZ zCXc3xB+)#+7og>yK=q-Q-Qj}KNz97;@A@ap5N%Kd01P-ta{b4{sPioJeBv zXniSf6?K8@5Ja#;r=bSmH{YPJ_m@P#9d0t*MTBDtq&tSKTH z=2K5SbxOCdTXwza0RV0tU!yj#8K8bD1>Jk^y}SekYR~sm0BXONO#u5T0ENKH9sp(i zzmA&n&CSUd&hy>_(uw+%Z?v`XS~p6@rm2+k8I&BzzBE>1ij?&zB_1SU5)#c=-(mVH zEDb_#0Rdqjfe=?>SY8UL;}l2l#+-sxu$0xM6e^f{R%V)jbtImI! z2~d{=tlB0jX4Db}05;Xh-<H3X!44!WMSK&3o zn9M0A7_kq!$=WI@9cvG0^gil9Lx4u0eS2?id!KIGl7Lk|0OD zMu10b2getlbM8MAA8}Sg2rDQUh=;Rlzzy$ZC$f;4C+))yYb!?yQX+n&7GUoWoShJO zA_?T&MnogQB>oF>9Q#EDLQkLp7|kVE3G%2pUTp2JiE#D>ph+Yn|4Zh7#0UABB8tAW ztr@sF{lCt7>a(BT@%Fo$T7-?42*$RsCswb^c?~RBdDF6D_c6`!X24}8p?9@Omb0_(EW1$} zXO~+NTxVUobc?gU6S3FQYZc$HQ8FI~-p+C<@_$H?iQQnr;79Bc&6n8{GEaZUI%5yk zCrWqS-Z}T&0jc~kyQQTx|Dj`3mjgKe_)BHE%(*IKThq+sxGR?0CG9AYJ|&>NtE2vP z+P`!ihOH$~Bq#E8AtyGy-QDVCJ5lcT_2yr<0iycXv_%cGjEOqDL*W#qIt{^fpg{4L!9oj!jb?KRn7 zX8^ofwRk%YuqvWRau%iLIt5=K5YS&3WIBmPy6aC$mrR2I!>@J~S9+^14?_wc&aW@G zjFy8c8ZjW)V0Pivfin$J(rjzq6)3Daox8!Xq-oQI8iQ#qO*rY|2&qlMg95v_j7C!# z?e2=b2)NaH+XDdDv^^-$VG@u6!RTcI{AngnqfyDD5ketf7p2TzZYa3j*4+vg8d)ul zbvb^n$i*4}=!V`BW2)(Y@l&tTQ%_!}_bx$zZ+`rq1=ltcU=0pGI{z9q#d_<=cRl8B z(~lwCg!>X8c@^KMpc}Qj-J+n0hL6%@|n~-IJDw~6X4?+{uD-R@SN@ZJL7)V zrEA(P!)^fpr5c#wiKOSLqDk&Kggi;XSw>7s2+oB}o+mh+2Gk_**$M4Q#?a}|Vw)sm zx$t{vBUJpB5Ce-Tr`aE!|5r9a%F>!)X<0ZJJOOqBnZ*$&AL;1NK_n?uv%dDVnBo8< z8Wu%BUboyPM{$HjumgK#z6LWDoAB{=i;fIu9cbyeZjL%k={A)Gcm;i=g^R%#WKky6 zT|CPZ_(j6+@_GfM(MI3`Fj_sDM<|bW8(1ZI-)5(+`RDHZbKMK&?z_*m4P&=W1`ff- z#B2Jkuko^Nu(UmS!u9ar10Q&_e#-SDKlCa3kstmf{nJl;iSn`&s~T=N@INbg5y`C1 z9w1g43=Rr;A7i}`1i%>qJ7v-UufN4RE0dt#LK@fqk*zb~c>2u$g#1rQFPUzYDIPSG zg!oFR&w_U&QBQNDGoKy(h}V3`Y4+^(uD}wdP3yi-b2B*x9Vx-?@59of$t8&i^N2lG znu8cdZ|x=N9CDeJZFR`Vj62hG>qLBnTD=qCjYA}_0!N! z@4oZl;?Mo)kN#-cEPlhU*MGOKU)Oa@_5h$HFCTsM(Ynt6nP;BSclG^Ucilz(m_I2; zqLr)c0Z_hmDL^>^pv(X$qp{DQ9DLz{^B0;^y$Grky20D^34z5oN@Q*)WY%ZqnVO`w zOMD_9sgVJYOv4jAqk9c{M0q4Z3@U>#Psyc1obNDTLZ98^e;}o zlm!9Xx&)ve8d&o7qUyM{)Ifo(mnWwJazIgDzAvp;)lS)p1^|{3k9CZMZFs$ zQRt#UKr%@oSuj{eOPB)&41s|jDWoEfKfK+isXlK`SXUBABlJ1^12d(YA7>Xgdd2wnfKXFuCa2(5DKZPC`kx7h%jIxApH zS6@A*Pk#I*`s~lYRs#{bGydVhY26&J?yBF7ON9*$ua%+Z%9XJ7z6L62o&}i(&3&1ZECdBbF;}_8KY7DnPOH}N( zhIJSJ4^JliKT+rmh9^MRp>^Y?@tXIa*D*JqIaJw4j8w)Z)iHCfu#B!6oWuba4_@#D z2Pl>CTgw0#>>bc7p_^UfgCB?u28YSo2HF$?e6emC zaLG_c4jfZC%sJ#X`^FMv`Wy994p!vna)u0+$upY0o62R^kwI$)2XD-iXD(nxA@~Bp zOoTqq-~iDOWgP`F@drvL&9Usyg`%@8G$F-aw$EIu@CL=~8$MUt?dFEoubt55J~p-L zBDG5ZlN~;q-*DWH0Oa7nj#n;BjK<4>UiIuR+qbI%qgth;DDTP~rfr`GEEEFYGcpyV zaUwBy3VDT7JX7XszCEnYe`^KkL^Br`pW}{u-gC70hKnCq29yh+8@heH>DQZn3?PBc zq{jeWx^#)3dg>{a6m}S8Ip**5^puy+y2G+sMoh~QfU9yXjz&EWuzZ(5!MEIb>Efdo z?)i7BBU_Gk+ux_VHxJYL^n4xd9i&^DALZj!j5cL=u<-{GI$?9{+9rd-s?aNwF?e3w z(vTY1u2NM@bbnF^{99>GI@vRbyRsYU%9H(&zsh~vZYFN(On@@!XORcXlZ`0rZ_9yy zY)1i7`>1hQN-8HT{!%#)aNB?@ftUUL^K^W&*N%kSY+VTPccb8u}UL5r+^!(EYRlwhMaa~U^DI3^rH*IZy8PPvI zZBzYE`_%r^jh-TK+D84CXJ7rw4SM45K2IP2sTb(Er*AaJzmEE!)&M}+^}m#}g^}`U z8%P`#T`^Df)vOunY%q!{denEjG@u(#y`f3ujpTM%5f+32`xevj6ov$QqP1Q4xjuo> zKgg=N^q%2Oh6|sE>U&=x+&sZ)6ie|vCHURwo#%@qOe20d&yH6#gNG*Rf35lBm7Fa? zzLhh|BlC2HsXP7a zbvr7yoP4ssw_d(i_45tiaEadio_8$w0H52YuHEzLEa;pZFci_czpMpZ&~pmR?d*z23z%=l>wXprBd#a~Vd)7s$JjZ_noc z$QHd1MZ$aHm`!m~quKC|rDmhAkB`R5|w4Lu71%l3cZFyvN$pxiU7u&wy8{jL$k3D3a$6J1`D^3UZlKgq^rMT$6Gn1d{)#J1+S?2(&eb{ehPrL!$5uNz~`10 zY(z`n&sYn|Li@KoK5c+wT><^JZTd?GANz0q)-p(Z^4;J4-P^^F+$}6_U%&3_mTm(0 z(n~MZn{o``gAYDfW&mg>4xM@7!iBnbKwkz>NB#Bc`vAz#T>0u3{^xIbaH(TcLvY*e zhL8G5022d1qi=l|{=NquWp<>tS%oSR8;#-awVNbxvX{Q3pbbRpFn^ypR8Ir2(RY^} zE#g%i@KqLo9OA{&w+iTn1Z(XT&c*oXCkkw9HLJF?fmYSQEnEI=T3|xjasXEQP8x>w zB!I?{^?f-yum%IRZF23o;|*P0MnJBx&HyM8$}$>$z8eEfVTM8nI>@TP(*gklwkW8~ zGo9C!TR?l6LVL`Piq?-*LiU81^k)Y9TclUl0!JY7L;Vt?9u zS8klkxBeOJ031gt4)M_)1?Xy44p zdVU4dHayorI2yYW+MPP=<1&ogn?gI3wc-nbeW-kH&F(DLm`n*~pof zF&hz6xe(fiCpe*unvly`eWwPS!szwGtP3s9jJMP(y-@8_JG_+=)%m4~~=3Gmo^l_dK_e?mdT-7zN zJdXtdxE&k21Om=2PXDWy58A#a+qMC&ba_yh-vLeOOgkSCNRU}G^G*RF-h7?^TfXw! z_f_c$mjCbnu1A+3z@zkk{qw({e&X-`Qk@y_Pe1-eD+}u%RBdXn@ErJGh=NRH+AVP@ z)a6fe&`zI?FyWId34At}V19L^B+5rg@DYtX&ad;1LK%{v?EEh~r5BW-G>mC3EVgmyK zzkK8J^@ZuKt(h-Yr@b7Vwz_G8!{_9w6`?<+OO)>Dt52#&^D&wXt#;8}^YkPD+t9yK zC|jJM;w-HW6>iFn3=7ufGK|aTy zE#OwsEt>`OyYhG2Wp)R7`MPiMNMGyC(oosd4dBA))5HN&xkVxaJ$N2_5r6CZtdHRL zF6Wn$Qq-AD(P`#79GZ&wlx)%?MEJ&s|so z2Ity73D*|qzXlY_uRbMg+mFF3yZcw?|7cUE{~wpnN!t@((`T%Nol^lF0{9iDvo6=M zV0d(;=4HCkq!h%HlHzj*g0Ze-q(=n_%8ZgyWFp>yi(r0L1_>|6PiYR@DZw-V1Vamo~G>WqEm<=X{V;pS~Ylqk;Y#7U|L}+K41`{&7 z%8nM`^p0tql1~$3OW&Wt{xk$0t?FD3MdZP_42gQ)CfD2V!jCJ?Q_wlU=;Z~fr`%5fjgU9HS=jmdb01;CkVIr5yRpQGT1|Sm{eDENpVR)XaC!jI2(UGx) z<^+gxKI0l>7DJnIXh(I=g0tLZeyyf^*G2r+aWHO`V0T%Kd6C#FMlQ4 zSvWl&>&8B4eKk;af9JuZUHsqRb$)jlHOd7Fzlmo0XyE@;qsr+hJ=e)dvp|7gI+-h+H%|Bd_~HrF-!r5*&-jN-DrKf>RPI!oKI1Oc{GZMoH} zM-)R)2zG?K7J;?|JMFUx1__})8;~d+1?aj?=~g0B5Qt`Jd2oi4wsW&o6H=KL?C|7GOgxTkLdDCI*@yzmiipVvoajdcqExP!|?QTexQD7C4%*ARgc zlvEUrk?v8q&HJ|&E9lHBK}t1d6b7C!2!h~s#uY8a&i9Z$a^IOyM0~WXNu;eBAr-9_ z5Lgj|TwfxRw5kz|bq8f7O}%NZ(CUvin?b6>U(UHN4*AWSM|5NPT)%#}+#l1y@;N#> zsZM)IQ%31a`s02~-)SGYKe%y9S6)4)*DkkB{EAb5R7d&S=6*Mpa&Fu>t~>qTxN%a; zJvcb7vjH^lK&X_kS$6)|b;U$sl)FiDaAp`%Oq{LWmm$!@G_O^Bgl$(c>`qIY`m>Rp zgmfNtmuSoojmnOkzD!Lr1~Fp$1ck#s1Ar2&LNpj+!T1LVA|$R7b83Oq0!ld>z5;0_ zl;~|JsXTk9PbA_oKyKCNdJt!*!Pr~t!u}A-M!&-$y)I7G`wyg#fRPXdTQ$kla4+$G zms|+OVs_?4Ot$Fs%mxGK63Y&J<{jcy&KP0>7i-;2G_j*XTACW}k~)rK<>LB+a1<;P z9FgI>Qh7|NeylPW-9$4%ptL&FH>8!&cGmF(`dE2e^C5u{z|5fkJN{TL2DethASajw z(5Lqn{no zBzUkEK|K7oFTEQ_^D($UNtTVU(C}X9^{-iPjise$>@};7F#ewj(2%vgSTVLDPqXYE zj7i{85=WHE5{WbpI*}v}L@;GB>{NhzBe`v=Wu^K|Q~)y}a7bYA8~MIm+y1QB$b01^ zfGl&MY{ut+n`#fvl;QH#BuJ^JeG8N!0IYwM)h%$j-S+40GypN`Xo)Gw0p)dtMX}g+ zU&)v9`s`biuiOSWYAxN4YpMm7VE6i&b|{bKy7Sw9*F)v|z3+W5^Xo;VZePEy>sAB+ zYA5T_4WIt>r)$sk836YF;>C-0Up5HTcjwNXtCZ14{%c+g1YF;od_f6|7mw~>{bJkj zq8k9_E}Nt%1PKcOcn+@%3>u_VpOVClDJrYzXups0cW9gL;2?XNt1Z4fRNOgfY_fG# z(~ckXGw)gBgB=fQqZBpowhQc9=CWkx3bSw8+0cAPZ z@glchdF6m`27o9`9C;;FV1*OV!E7dk`#Qzil;nyWK=B`FCLO=T`8Jh1{v<;FL$22SrK zNfNa&N0>R)hVb!_y1~j$|MYqn@@|BZ2W?7(t%PzK)36Ck834c;g2?|4FU*jdRXYR! z47oN0p|Def03^3NklzJLOiaN$^L%dNjG~eGhC+A`0D+!oD-@3`3E_Z@5$#nwTj(!y6coU((Y~nDqlK?ST zzUtkCwCe*zNY=X6=MDm+EySzbV%~ z(Tyi^n~+PWF|eqp07mS_W1HI3R~a*zksuy)P=2FM@IlFxsV!=>XjGE>{Lz|SqC%wZ zpnLCeV?uFdT}rIGDpr8l(d^N=0`nGTK`;o%`!=1qVIKgUF3D;HQ)l?3Bsp7Jy>L{f z9w?xY7WKf4>*oVIVnW{gq(4^yOR>DVQQx-hz+XoD4;P2NIP1k}zjp0-`7Ga859>!q z@~cySqXh-p$bPv$soyny{T$Zs5(Fsal^{Y59vpAR(IbW3?%+A2(FN&brdd@vy7bP5 z)UMyATp9EmI{%tpqI0|RN^L#nkzh(>czQiK=S06X-kp?_dIO9K zS8PP1p`2?6)(>epr1a^rnBGX(QpP^YG(E$!=Hd8Uf6e-c0j3#k=4nm2&s_c__NUDM z)Ma1<0@y!ZC~h%Lm%j~9tTFW!rw?ghEIGEa8;IbzisKa>5s46p%le_OKo=+;y-@gq z3Na0Ns70N6lf@H~i`9{K#d{IP0ME|FlqXSa&wE*Bj(KkMB5@OIEw~iR?fw6AiR7Lc@hG4y++CISQ`G6D)ad@o4ZM!;$TG~51z=E2Ou^~5c9keRb^4pnIxy*9H{&bo_K*9L zfO0h7&Bb}YQ9o^Fz||{<)v>>FwK?}!uN*W-zXu3vU|{*&xPDwe#qn<={-<@sznl>tjHtPr)>Cg(6Omh_KWWYf2vs>kV z;`9x0<-#*zk;5I0c}S=-NFNCxwTl4J0pZO56!~9`=UztN$dz=dLK4FPJeLg-)-b@H zz#7UjvAKg^t)Dmvmd-0Fz@Y+s2rdNK7ixfZ0UWTn5nR9}afeW#e=Mub0wB|Ox)Gob z1PB=0oGVQCLL+LF#QZcplQ|y4HRT^3UxD4AwE6DG-&vOkeCikeZ2f-!2fi^$90iH3 zefj`L;D4bx+C!j4%NQUXugrq@OYvYRZ|qwc=yMnU6DR&Z113rM#Wo)G)JzV~e>ZG+ zNHK#s201*?(t8SdmQz&>c?3jF;{VJu1R}|PnrEG46=m7j-=Raw5gyAE9syH;sxeuf z8k=_zmWfIbp;N*$o)pkeJeAd9Mp94TZkvs~e)W_Bz$AkV6lgmM2#Cio<12>6-wSOFMk_>gAVT4)V0z92^|fZ`cH|&Ro~s|H~49<-1bN zzdF49h4gl18Zqq0*+#vEm#Q8DuZY+P6M?$?b$b{64LKs6q>Eh6XDUlHQq&*qn zvELRf#CNizJ};byl)jG6G1}b{)sScJD=P&IwA?4dC?65&MkfKsj?WJEM=~OF7A+Gr zhD`WBJeSbU*bZF`N3u2GIxaHeL;zpHbONHUZ*(6$%O1^yf*#&y=T}l1-ogKp_`k!a z;0^|u;H}d&%1qS(1KAMr4F&!WI0hIc<&QGPaPIODH^V}_XR^_{Lni#6>VztQV@AGr z=Lfh<`qH;v(lgIowHaKxBu?7}$=KR!X8UCFMx1ieUM6!)Fk=yW#_^fr(F)2yv zfbx0zE0^gff8v+uul|*vrLQda1OLl>#tbtOUZKX@qPu?gt{lDgoZQLeC zci9l+8Kq5|x&P%s@J{`{AUlMCmfEg<-5IIpo-rc2q&|P){blt3&O7g1F9XV_bo+YK zuUoPQzz*ksNSD6t{@l59A)z||<^4Z=@ypL|S*{mi-WEn%6!S^h2yjI~SGI^9DJPLe zy=>&)XT-acUf*xkB5Lo2B^W(b?m;A+O;58l)HzF!wqu}6?N)@eSp!7Ih?rG(iyNHJ;taLEf*+j{*R6~bx(jg(%;jSo&Pu6vd({FeXKn$S*h@-(+Ewk zL~@i3Wqk&y2t~YN*+f|>H+n;+NeKWV{73M_`^Q+VFIEEd*;VH*G~e_qX4&vFURkl z)5_anggtS7x>jv8aZnN&I#CftGs{c;rr;1{fXa6pZZt-IsL64|C38l z;5+Kc0+e7t7E%4illKX7xJL*nz4MZ=KTr8x`-G%3$a9 z7(@}84NP$EWVjD_h|_44A8cjivcnYu6Mp9dIx(Fq1#+5!kG&ShO+v+NfdvU^DK@Uw zDY3kO$b`oSC7BqgwG;b$r4WNX1|B)%n82JlwPZSnEHJqL{9!#*+jGYD2z0D85|V*% zvwMI|cN5cP0|Ihc)IzW-0RykM9-&@~+=dnlq_~YUY}o@zQBTt94m3>5&#w1RTNCU<(SL z-HIRnYCnL2!oINF!HM9g$WT}rkV#KS`c8P1B5Kg1Zx~pD0w*;n&`tv=4u6>eaN0i_ z0d|L<0hg#mqQQ`>7DO_>n;0GD6s2Ygf|o{Pvb6;&j@C!xXuQi^ttPR-PzUy9U~qUp zYyN;6$Nu8vXjv0eq%fp2$7`$!Q!0%|UThe<4t1k5+Z+;TIQDD6fnNU#MsMJlJ`EoQ z2f*2RmT+2V>jN*heN!|#I+@Na$S8Z@Rcs{6{+rRNjI<01h<0EfXpq6M;Fwa&(suDQ zVnl)B1nr>=bErQUa*R&5{4T4M(1oKB8Z)E%t?Y z5J1b&O#pQkfZ>;Ei5Bfk%lViUZuE9@wStcm4J}IEwE&C(S#N^d9uTq-uCt6OCzU zAUp3ba*15-w`Rk2{?8S#k1%Uz=q$!8lZVP_@*d=IZU>$e5lpWR4`f1t76TW9Yz9H- zok3;~&-8*quZ|v#eX_d)nC9Y#2gZnc#=o_X0&{ZK*+dw$$Z}Nkcs`+EcPY>H_S4y) zt5;8Kj}TAnoIS`+rqR*X_uDN6f~oBgd=Vvn{OMRUCtgAu(YE1JX1c1poEQK~9@_Rz zUbP3Si7v%cpLyn)^?Tp@Ufl=a_Vp%SwkP`>437C~2eptDa&-+^g%&BIfWfO~$fBEM;XIC%T}$ zba-Oz*VZ^~Y279o5FW=Fb&GVR#DvDL;V~#Vf0qlB-Us?UTv-T<%oVx}StyFt43KIq zG3Usmo@ApxTNBVkafU*wh&+uNGgCM*3%<*3CK8N3nJCogFZKGP`V0CSLrFs)?1XeG zvxn!JYbLoleaskfy>0!Euxh_@zz1lJ#|izs3yzuLNXkuURQag;K(~{!&2X^tV(ARE zus!1e3jM;6Kp3%1&%D&hh4hV`2HzQn{0!TqrkU_RnM0lo3#^Nwu*^8x$lZ|g84ffM z+EyTll?cxanHlj-Ix^2R5G|vp$@HL^qqCVR>GHyib>?~BX0n}A&3X!${B`8 ziv$i-ObJthQ?QAMhW@mw8DOEb z25^gs+_1txUfJxmZ2sy&053bs=YjV6GbA^G_X2H`gKKsf4aKspOinU5@dy%(So^sB zf%;ABFEao>{Jp=Ge(Z1m$r=p!@JHTPHxoRQ|H++rn_V(C&CZK==$Dy1Gg&MY9S(}( zWX@|ceWF1mm(3`qIO-+Ia(ApBpR3;96{MSiHn1{*cnWa)y|Jz&N%=t!nMV%1HqB{@~z%h^8XZp5aD-*S06m8%HevPwBdt^Cp(Ji! zjod8jAY5|Y;&m8q{naQxTjCxWu5v&?YYc)MOBAt#K*!OpZ3_nw82p_lQ9hTim5>MZ zse{wo#gr@SNFlezV1KEnDVF>fT?V;;TQ5=0J^{e_9)l1LwF@({#FC8Uq1nNZMuRRB z21bNY*=NN#6i?_3N_y^O;o3kzfdY&U2xUW*EU=U7i;!i!Q1k{ovNB~d!)VfeDjsFD9?4x0lp8!?RVLa}z>3#pBi z_@F+_d1TKnpUoxj6r4FlO}-P3V;~&rozw6{nO3_lIyY ziu^z0UrW1Y&e7&Uh$SH* zL}TEM16~Y*rI92YYiN_BWB>M1)dt!6+#^dJy!eRx(T{#~w@|o!{kpDOwFH2XFdlpC zF@EyNC+WclA1p@!%H_+K<+aydE3b@%%MyU{-IoAlu@|n(o8#wI`V~sGXo0$6o*oGlWL%#O&_2DQE|XfNj#!*V);M@; z9M!S2;{c=N6&LWT2g=`7S--y$jf1GMSzDts8mNfU(jsH4&+qMtD zYPD%)sB;cNa2OpzAqe-@KC>$eW+IBCxmt#d`O+g@iXDwGPGI^P&=nfWmH`a{9EIL} z;dJsrS)}|f=HoXS8Z(8{F~M3XCw(p-#hla+%yZLr&~sAS{Lye{usAU^b_X6c~xX&5D&t@IkVU zi@en8A{uY@kOoVnh8CE`<>(gw-=T|7V=+z8n8atMyFp?)bOY z-pQ9==_diy4PSlvfOs(xZjPich?eA@!e)@rzGK22bf+jwOeiJ;#(J#HV;9T=SN;0V zzC@q|1OD<4e3%}8{GHDKgjLJ*K6P(|pRkXVet2hEyq8cng#iRlm}e%q+~x`YTi^op zOfED-XVb~yGt-A>U99EMqzo%RY7_0i!1=jRdgJGw3iV8Y4g8OtM8<|gag8R_0W_q@ zbhc%TuuIYvjFmtcXYs!npft!b%J4$BgGo);WHg{Bz(YM?sK)^woI(K-?^PynVlb6K zZFZ5EjLQN90mrk!n}NUB=PN>;D;CVz8Zy#Pv4%_j zfwlkose1r?@!;wg2qJ%lagO({l8+imw31Ve@JQLB{9~IsXv+wcL6z;d_03j~+^c_D zKD|_kv~nu(0~hu6{f$p#iyB`!VP&QgYn`n?3C3O-hfsmYUVPgJfW-DhEE@!}D!2+4 zi}JP0&QXY7+_uvIT6NpD@d$6)3;@Fw1X(g9^Ci7-wja9^MFEV4mH{a9e2|N9y)Hf{ zG~9am(gpfhR3sr(D!FP^RGi>Pe9b6K`O#i*!=GafJ)uEhx&w22dd3>^Yzk=1$cR1N zOz=bLGTf&=N;$;-##$Mk%a8|013V3~N`#yzwUX82?d#9RGNNsTtvdha{@-^K9s)NR zrrda{$JyIHlo30OqG1g*R_?bltu_9Xh!|cBsRhQtLXB*wC3Q@uvcvh-oH5 zg0mlAc%fK<%=jO9KT#SQ&T@8l759c9_t18vTQa!PqKUH8TPui zKzo{B^+sJ{vLyKGSFceX{SWGofc&s+*uMwb0>ss^vcBS2%#>g4C3RTIXw+$0hO$_N z90c-Xpp2r?p7^5NmstVd^O5(_Kl+*fg#Pi*{Ks|Uz=xM-XMxHzX@^vR@jy)T zEAx^yHs;M;QejE$$rLm^0soWX=Jn+E(LBcgy-bsV0AGNack_S1p}&yvQD{n@$Zq3x z23joOZrbvo^IyK{v|tiYEAqB6N4y^!f|*y?UwOqYM`W`l>>%9&0I~GIOwXT* zwBw5XwG9FQ>J#YamIitNi^J1agq>i-%R{au#ztFxd};Hh2vhHJgZTXEd1@NNrJl6I!Bm>c!~!@z!>Oilft=;kTWM71kiTm7$fv zRp_l+Pyuv6JsF@m6J15H3pN!`8WCsRF~G%nsq12E$NIY+FL+9}DM)I!fa~O92b;3t zx62S5<*y`(2m(xhGvt=Io{z}Ipo`}yrq7lzQ4wqTLBJ2?LT*&tP>kb`PNa}y*o~Ip zkPNH?>0>*F{vpRd;Dc~wywaubR*bHE#Lesxa+>p6Bz$AJp$^dz?}$%yK51uJ*yj^U znWR?{5%I@9ahRgQ!jbt558^&EDkS`M(WAVfxCb5*fK4U_i-;TgsOUN7H(D?y-_x>B z+$FQ)B;{53#0{h3SNVOp$A@PXVoN~U?V&m|=E_qi-A(Bzvr-KvKGrQneJsH+&v6oUe> ziu%2U;Dsc7vJ;g9#k=@l0*t_Wy+6w||FW@b4Ge6>-d%qAM&0Rw%CO5AM4L_Ei85ILI(@%ZP%tq|~fh!%~;$eS<({Yyc%lLxSg0 zoUfI*p|-8t`L*~5cjY(oVrOZe2`lOdTN76iRNmEP02@DUq(%XGL+dqJ5I|@&79=SR z!A49ELAFweOr{H+E&ol)vQmZV8W3}#tP|RCG43`WOAg71g1!mL4btFuyBEq%z9}7& z35?C4VQ{oXD=;?zPs z=aJTrpdWxHa=By0$gSQFGIhGeb&^&D-yv-_riU8ez;iz9rx1Fl%^BJn?IXW?TIV0* z8IainZ7XgNJg^CJI4Y@M-GI(=JydMQNbuI7f`hQD9^wnptwUc3bU+FPg z5}7hI7v)y~B;&M!v(o2l!V}3Ki3vG0DdpLUT?F*^Y%Hj4WBe1EU!8+i04q4l&G(dz z1AqKa(Wm~^e?foozy1h4^w50~Y#Qlq)bBK;2&t9Ucq~;z1SZ#a5rtmR{y{>@q-swH zGYfm$iOkE*1)$@ldPVt#CwZC42VFSA31ZU;iv~uJjQ2n*l$#h31Gp2B3FvjXAM@0|JDFPpbH=f20n6F+1e|&p;Dc-C6md* zOeT1V!PI8~fUx4eL7>rxz-(&!Uf*-~_x<^YmjOs_SyBbJuiwyhs{#PEm-Z`9>x^k710CXP!eZB+%vU=2uZ){G#U?Ty`=Y*~sv*;9lwz>P#?UYJojq$3b zS~u7G|FQS)LAzepeHgaZ`+WyD;@|*>AR$ON;86rQF#xhn8Hpk(PcZpMw46U$H-Jn^ z?sTScYB{yriQ?Glv=SMosWQ{X@^mD3(q`i6IPr{VyGi6k&TWh+wsi}~B5g9U0ngAj zWdH&Q;NWtu-}kJ%d+&Amt+n_20i;B5CUYL(JMa5G&%Ug+_PX!=?9Cz6U_>NP5kEIT zJfTL~mG(zO7I;f%QhUEX>)oMc%yG&Xk-qOAeMUv0cyXv*JL#_@5V-Yq>P>(3JpuNg z#|{sNlHtw(y{n^^P_U|s{`qse5cF;QwW9#-#0A5z2K_i%JcDHT`S%F?tER)ClFZT; zClj7=jG#5a01n#M)xAilA36?U5QB#614NjR#6`0H43I?O4 zP#%$0LW5TAGcH&6Q6ZrjlWKt3%i$Qr5i*$g0I8hdpT9+a@l0s8tWum>Oa@4)OL<1a zU_FaUV0SUePzK!F>d$2s9HY_X-GG%gr(za7laZjS!^L@gFfoDh9L}bwe1+V)z7?2h zM?YjGaD;GCfw?dqIxzlR(o9f#2ArP8R-j1jb>e|^JIi}zSTg)84@qu-3lGpte^vmo zE2lwmyblHYsWG0u26nEyBX~ob#|il}IznfT7^Q5g#;rWI)wvWq-pt+pKJbFz`)Eu=+?Pq2)iOaSZ#P zbg-;|gL|k090W-q*{ahd{~V@dDgO8hx5=w^l1K_sw-t3|<2sSb_bmTrb3KTZ3XdEV zzZ{f?{G*-@y%Rb@D+G6%egj>EuzLCCk)H}3y>K0XlrU+!Z&%lo8z?Q2v-P-kDCzWP z8T*S#=GXZ*=sxokBwiE9=LQ9V1^GAW30um~u7mt|OQl0@0~1#nPXQmsSz~rQJCLW3 zJlYcgk3atS?$8S3+t)XDeXBQC=p6Cvv(L7D0O<1N%WWe-XO{~XF7z+&d*A!|NdRyZ zAn8$n&Qa&iodeZHbX9J>5Xw*J=F#i>WRYzz`m~{XurBnf{f(;|D$~m_ktqm3a%doxT)Q*&=XAo5u2*DVJyZT6~DJ;ib|}B zXkQjqJ08-U5MUCThf>NX-VeJ8{Y!Bqq!?8w%Z3{*=mGtll_Xf#O7;NY%-@m9E2<-& zMDgxAI$t#zCP)j4O!2S}(K9cwkp)~U>?_TY2M}f)Pbv5_^b~mI9!T;Sr4AO5F+iN> z&=>rpB#HqaCds|2^%jQPE5N!{0GjL_3kOZ_fZM&h>w5efMx z_^HZgk$)>^_}3v4$uM%Iz5qV9lA{#i{1b7*E|Zfjb5~qoMqVU-7xFI)`ImM1gBPFC zwoDWcy#$Eo1fJsJ;}GLFOQL<9nUannw44|($dg<1+=S|(WjM^=FOSYpE)lD&b z?z&lQ^#~}(;Rp;>)Az<>DKa3SOhq;c4KuW+8yiao?8*rQAe*4w!DxWN?fVCeHxxwT z)c{^84^g~>*rT%@XIJQGp8+@`%YH-q&>Z8Fwna;u^irz>H~8lgqV45imQ>26)gsD;EtW-`*m|j_Z@&7<^)!{;n=yKL@W7E z+!bv|@u~Ja6#6nvI*sItS~^RuzLHF>+4MzZ<~?hXiMT4KwAya0{*Y*QGo50!`16C*7gd~ z8Yr(!AHMjMOx;463QgjVk8>a)xrt=>%#afm=Ht@f;?h9MgC<_vf9vqV{df0`1OM_b z{2%Dof8+l`f9MbYp1zr29Xkx%G3lE2oS*`(%=%G6xDlAF^9(x6_V{;l+0ERAzeQaX znCVRA3@}NeC6sN9!GdGW6VnFlKK9}uL|24~YEX6nyAjOc5a<*bZ?dT_fXKZ06_9$( z`iT-hqTaTk8dsnpFF7tExgp7QQvV`|xpyk4w?rtfHVk;t-E;U16p*n^^#r|rLPxLP zn(4tjODhK~PKd4Jk!BY06Zt6nq9F(PXRkI59S55PCWD#VsXoM^%WZxnO8kQGpt^m1BiFb36##Anw*TAk;X@BS z~|i$U#LG7J;VDkK>)D-(MGG}+pC zQ+F;-24MZv#DG{mMjhEs0&qn%mOk!VYDWPwC*`-WQGTAR-4Sh+DepL7XeC-neU}`7 z@*2?>5id1Dp+C7p5EVNfn=Fhb;mmkIDXB$7Is&zTE$=C?8ot~kEuf%en6Qiwz22M* zCA5^F1(weD%%IQCe_ggu2k=5zxxicvY%MdsWI7uxQC||A&OvNql%cE3MpJC*CaaFD z88^U{XMiQZ&AqM+b1neon5sj=;Cxw-6L{w_n^q;L0!ddL6ag@*NM%9H&PHNpahdjN z;Ruk;9Qh4zZ?^XqO`!r5}PgX|5N|>-%r2( z#h>g6fgkzw_vgN}&Xy7@hn%!Y;qtGXSxAb^dy-`c2t6piMALvnSh zP1Z8J_+HAmoO7@h7x_mSFuZcJ3==9)0JA_$zZRGh*q?lcs4`*YbvMmx6OS zlvg2I8=UQk%!F{i3j%q9-$Y3~6Rc5m!Np8eNtAd@K!n5+h8vxG@p=?+d^VS2w~Zs% zCn+>#oAgWL0-pi`==~ThqfgX{*9_N<<12KI?;S#}OYqf`8G4NSaui&BZr%ku zyj8+YT{d3yoqJ%ZKv_00HVI%?%BCEkHR((E12nLdlxEc3(=iK!3V}TzA*ZsjzWAUu zN5vNKpHds-ot#4Gvvcif|BS{r_j$M{QqJ8x<@3kK^m-TIkpS57$^O|LDH|V7bXD*{ zWG>$c=z`_vy7PtpR%!7nwO6Yg{mNt^;eo`x(cWU_%Dc2gTF}XztI88a z76NC0-=Al04#Zu7Mb+wzDcmmqA`@R={u0g}o%k?)k#ZldO|oy42(^%ZQ=TaQLJZFe zju@3Gkvt$yGoF;3p@0DpM!Y22=6avzDtMCY<03OI9tGld6pA3BHjv9`S z$iz<8ZelSUHx3aC9fI-?a;&^I=`7blnV4C(L!YH&)qnNZ@PS#KVx3S>=e51lE4~7N z=(Vq3i$u6N@dqvwDP&L6N4T6{v;eOn4I~58WFrOoDPmLPUuZ2!JP&9L7U8NWEABGG zxl9BLQP@~=;Hdfuc1E(1{lq7~r@t2Pul|W2qQCh!o~QrMpZz8JJAdal9i)1R+Ytj# zDpnwBs-t4|QO9NQxp2{YOhhaD5AyG_7mAE1|nnFI~KC#0}jC|E%O`G-^22OiL` zKp;QSrraAO$?{L&r!d+8>;`Z#{WNi!8cFAKa+jOZN-mTCqIWRhm%^7)1Ac2O;g*v= zB8AN5LcQ!JoJ&0_ILfepwm-=3^_x_EOUHpIng10462NC#!yKZ~Dfp6{Cq^@7frW1t`a1dlh4qbFgZ47CjtuD9YXdAf#hKY+|M=XwC$C(&a`f=S z54V#578>F9_03-2vONH}Xzq`G^rQ6HV~Nfo&8!fKNmC>T79bfeq^}5&tZb=xL$M)FUx`4Zn+=lAnwz&_ z@AtcSF=b^yV+L7wIt%m4TO$>!ludxb#HBP0x{wth;0LD+?^AN22AWNt;9IqKLDzdC(aqJnWc}Q}rnymMO&N=X&H!_p-X@nL1Z#_GV$%$dbBYPVC zW_NXcWtRc#!#$BTEr9>n>kDPv(SV|V!3jSMpfdzC^*kH2nAxo`2Ay)gs2Eb3SA0borCiDsmhIJpBE{9zPN5HJ`|G^QNw@YF~Ch4>N& z?>MD2NFk8HNjFVQCUM_14?2w%YYQHkEi>qRib;(Tz(JQN{|r2~Vkr0&|ED~c=qYZ? zB>#l+&!Lw?b}DXp6k?XE03msX@GO1@aD8|XuR|-QX88x^A>jEkJ11UOQX8pl?2|dw zop5p88GVGl4V;inD?OLN0Qtw#z;iaUE~zzhn7Ocuq#z4dk|k6M{Iqy(@5p)rt)I=k zpUGJ6Of=x%?0(*)b%RJVBJ@pF*DwRUjb$6!OojMko(Z z3^Vyy7@t(40gZjBbPX&StdUO+5RCbptO{r=0sia%_K(xA|He=DjRV^~yJSjI zAyUChnyu}Or<39TyX90IlN>atb z9u6q`?agV}yWO@4CsZnK|5XVwn{@)Y>$C!yCmgR>%{1BTc5RxQ;N7fFwJ$z8e&hpB z|B?IKt*4%Pif&)ObJw?W6TrlU=g*&SoBnN=FJJDzKk$JMh#mzfr4HFqfOb!h0+ibB z4cT5CJl#2Y&r3H)u)P~4BvNq1cKn~FtT-zTnS_QSYl-nBFEkt{u$pjex(1GO7iJte zk`K(3GRda+nj_-MOEg<&3Pt6yAOFV;3QxH2`JdkSw~au&n)x9^Cu@qL{oFJYXNJ4o zJil$$wjP7jjsg_eYXFQbCGt&Qh1QBVD0lW%XXYaylBAGgHZ*#(JDmE>P+NH}cNxl} zUZ3>UfqRHQ8b3jpWTP6yBTNK!BT<1c^5j^dLg!R}zJiBlczN+`##g4luycTuiQo!~ zWJt2?VBd9Fzo5mW3}BUNClhv`oC)|?Ik_cKXsQFpiPRZDtB($Y%XH~eQhk6`5b&O` zTMG*gQWZ8T_%+V(zT#QO0-R(kA^4k9XDHhfA41YpDo~WivBF zfc@|5*KTz^J(m9Ck$^M>dv!=c7b@x!5TGpD5Y6%rI9LS63nN>RUp%+AB^p$CIkOSs zRqDnJWWbwvgP}au1tk!%X7IG}^`#G8q(AesKiXdr_;Y{$e@CDC;SW<@4qg%|5U?@^ z(3sSyVzNYz3N0n;YY=dm#)WV=!_K%qmShY1Hw=K~P*M|YhY^~~ej}Wd*Qmc> z4Zth4QRE+ga|mRTdDmGAJIeng+okKY&r@L{PvAg;$)1PyS>Of3YGUJKBN=LE;WSQm ze@;YV!bEi6kfRr_(Z-Y*WLoXkXkn9gydo-0I!T^j*oj%WS`V-U+i0*l$MjRkETJS` zJn^f3NlW>KK+XbAI_Lltlt_@B6Ychd<3kDk_PKrJpLz6!7hX7OKijM2bo=@pxxQtu z0KnBp@!4meO{%c%>exQpNdUSTVB6)9u3fv!n>We?3}(OK8#fcENvco;Nu($H~B<>AtW_g;Sp*=|33a60mP9+`oH zG)Jm0e%W}k_MC-#v~6y!a4db|A*p4=%P0VcSJej{$57;pliv#@=8gFlIrYN-s)&&*UUh1haJ+doU0#5w9bY z6}c>6ICRxE?K{1jwip~7;)8W^(m~26;P1_jRyeih=_E>t0;wQbSvd$#l+93e{+fb? zfNp|j*>J93S7THIOPujR7E5-6BuSKyKNns|o`v1((mKk4Gga{ruYF|4 zM06=l%Le`10j?=PUE|zkKD$DR29l}PNlSZf>DbGwT+JUjdAk+Oh zKoL|0A${#PG3o+}wj`VP;#j0Wz`+m4 zFX)1+XOvTA*124e#6*bEZ=zSZ98%-UQm4cK1$w-Pn#$S+`3Jsdc<%gAo@MxehH6WT z2pzm6QFV;XPB+IHq|#(SpXEPtyVtI(S5N5cU%yIs?fsO^ga4t0xCY|_`X%*G3;DP2 zMVyoTlQW=Ho~t?zaGh6&Vc&tXHE#{|XV4y~%777)fLzMv2TWAkF1ieZge3oaAU^fO zPtp(V|GxGQU!}kK*Po~V$G`no=^y>0SG|i&FDU{%4FS-HCYeE8y^ubWO6$UC$^N?l z7~zP9TQ&PG!IhMf07HKk#bY+9$iK;WZaC!Mai9b2Qt%loMHiB^;ysX6S$^ts26(Fc zqrNg?GUYLm(Ekx9ON?{DV;WxynGYVcdg}jYl#~Z4^ZEk6_GzyH9KCi+^%oa{L7Vzy z2XHvhfV8Omgh^)>Dab+>y@(YSTXmuSen$jP05JV-djbpqAhir^WHxAplj#{R?5Nm^ z0qe_G5D{4%7SRtXLaVR$?zr?%Jo(^*5B~ao;<#-DcuKdg-;wKEeGDL8U0fe~>@mM_ z@#4kC5XMdIC_tA4eGS0twJ#X_w|iedz4rIPiqQ$b-FK}6*^SG!p17((4d=?ho-VobBstF2R zec+mOw{y+u|B3EtXvjTq8X3f{Alp6wEd{x+n`R=xYBD9=?f0~m$5sE=*bPd-qNmN?|!b~8c1#()C2VR6B#T94DS8sH0j);6r)47)7x!17)W z4KIyx777P9cp~s2fD=FKckQC!3^OW3?ue#)l*a_&mfW;E1|e>v=1P)B(X3wF^mFj! z47*H>(xVmuHKLB>%L@*-&8)d}G$bL7Ym{J~k=scuZPgIN_^s!IqKb7JyD zD=8I#o|V=n+H5W{!O;`~wp!pnrIp1)JrkW`iN zVJ;tV#3wG>PhD4KYLPv$>zK3XUcgX2R@%e|2~MRvz!u3MQ-Gph+2L#7`zr!J`Z4o|1xbQQri`EdONh=Te=Xfs~2kbmgPz;T%sah`}K7Ks3k z8DFD~)eAo`V8>TBgfhtu&Z2s=E@O~n>j&iD>`B!RL~%b80uq;?w*_z}fUPEt0)~KB z5MRpWiC`=h_VGXXCzV$zXb0U8`kTbr1Hdtq0*5b&H(k;6!ah;ByKaFtQXzCwz)^7u zx#0G@yTdAfZ0vOM(A zL-OjYugdGMzut@KAGK2e+IKh#uwU&I07}xZPXOGy^#W;ywvd*Rm{S$O_CoeNGMATy9G-6FW?%QUL=%991X~tiWGn$6y*36 zRSKgAI|*SYVNCjw05WF#TfMeAz;^#{)pw+4bgD5rFL4rp&5Z1J8`*Mb2CJ5p>P$0) zy*iXwCeJaWg$DX-RZa@S>PO3#al}_8P<=6wo{gsEIWIAoAxloQnDcp9SJi;|u)9tG z3zvGdq-2GSr)QEOL5IwLb3&epY4sjg4}O^w&dAs1Y&b2AXDRs(lkvy$lfkYqnCE8B z_go-T0E5Pmy#c#9H-$Bk*Nvb)3urKM0n!L>);@U^Kp(xiO^${n7*e1?RAz_(S7w^@ z7SkNyz%vI6k^`uocqN0JY&#$`OG*u1kr|vnt?$$*(bC%{N%Eh{JJ3AU=T&o@??;f6 z>45y4g-jBjE(^@rF~TmvNj7Is=&&4Hdp`CBj8!+te&o>Uzr2Da|5w|^q%1+3DD#mJ zTkBH9vBJN?+u^0EwdUuv)DA>-eC8xy%$V6`UiN4Dp?$pi^=tlWz_5n`$paWm3)qsr zkQF$ImKI2$9`wd3BfpXe0{->3kl5C>-$&ayekV2Mz=R?YfXBvwKm=3yT*-lO`F9$? zT#4~`K^cF3^7ni%{h6Qp3_bS`ewu#fXFo%q_`%1tOxCd`FARpA9cY^5cvqOVyedjl z#3nS!zXdtWMgHLmnMZw+c|3F?l&SK+5Fmy|l6|!TLLjT4SBNJ2Uu73{7V-?P0K?Ti zNd&Z#%fDp(gmA0Kxj$z5q+W?nDP+4|@=o$^_n9H-QTky{c$=+E!N2N+qt|ajMQ8F5 zYx5fbuOYJ=+3TP#RB3!sX&6C~W61fw*Y1fNe9zxvi*bMK0T3{H@;&j3fQuoCCP9zT zgP~w3{be)+@L}?e0IefqY%R7sH%s4Aw{bMu2bh+3BHd#&Y=%hX>?&)?dSN zR678?=|U9wxWtaT)S2_*_>^#+;A8?&q{3pB*xF(fZkDkeU;8q7kR(_!Yl?pJ&fx3) zwu1*p=bbjBM*xlhU~J4SRwq+X^W;_@I%Xfmy`bcmPrS`EM{KX4g z>Ss22p{VE9E5!r03hzv9=mCti!=?8K>;XDp0T(UIakP;ih4JvFR0!PRQb%cCUPlg) zB!?^GF`8hvaKk^FmszJ9eBiz}&p-sb837r0nc^8wG`yJgBjn#QF0znBAoj$Y#jn8e zMEs{N#5Ubp!2vMio$%TMj)FHPCwzQ3Hd!?W$5}AK&jQ0VTP_r{M*3TjC#2AqKtpT+9T zIjPz5GtYeb`}$FWzy8IaqJQ;Ie2Okzx)|z61#r`ek%IOVwD{IdtIvf#Gx;BCLG||{ zdAhu;?IOGfgIMYfi+A*I$)EmKRW;EBViSCsfoe zJOTMHItmk+0ZW3^+gSQI;8P%+-WJa~Y+RNQ+;k(r8!niB!pcT2G_i8PhBbJc1IR!u z$(Y3N^a;WIDC40-<#W*$9?7>LVIBR4hq_g>u5fCWJ3@iYE zN$|Nlo;W={J#H(=+hj7)G<3JGZ{m8-UIBRe>8JarododGOE2}`Z3V!6_uXgA;7p;% z04l%4YXU71V99|0>eYYn(q3V|*&mJ_IOt?|b?{Iq0+pz_fp4&(;j?beZg zu_A4S0dD@&w@@%3^o@gypk&5U$P@1)B+>pAqXpm_$`+F(QHwySBRxwQaEM(y6Qz1n zeNO<@(F^U$(0{-(&&V@@VM%y8faHc0+JXWZHk!F;g$tJ!MuvFRKDH5SCL?)_EMgDZ_YZwU3NJCq(Z$}s)5A;&tFH3XbfkkCJ?RYE5rPzBg zAxo0}2hA&7`Czh$-1}y+vdlpAnrAR!bp%qnLg+o1s>7y>;{6^B89cI%OS z;Qtf*1VDd9;II5q`jO9kzvIP=1fxC*fK;SDhCvn-UB`*vqivr=(7}~DCL$A zbYGr%`y{?8WtIP2IFvZP_ElRc1VxR82)ys%SjnvjbZ%eHD? zARcL@@nq|0d&Ah7V79-%6Ts*LSf%(OXn%*Gdji2^iB0Ij?(Q^iFr0$6t0+sK?U%6$ z;Hb`_z`C_;yL;}%Z8r`pv00NH5hOs_wdDI?nb4T|*y!j;4fIZvnyxg=3{=HZhgc2R z@=3IE@B*hI%A?Yk(rXwO7$dJ|K{7*mH0}A{JabRtoUF#G(LF0mPNx?l{OI? z)7(k~{uFF(w%!~B30%&cJ=1PoRPaM)NfH&)JlnaL!9R=*S(upW(4ZF>yOf6gG-{22El!Tlh%vALS>T$*7po1~+LjFY9 zso;Qr*c*t*LHXy}rUpc|+%^TfjF`$auBp#Tv+7(kr+Qpqm8p#xR;uNR2pvmnLMEjF zat_Z?{yDXmc>wPdEofM@dU`+J#7hF^O_Km5Bl-Q>tJmNafekhTti5sIFGvOJr}C$M zn&=SGG~>v*EOM30f<$m@4M_qCR!C8iJOPCXI$Hc$F77xAQORl~fp9G#`A$}6Wpy9N zii7bp)7I#NOZ%ZG`ot%{hyKjZ{V4s~7k{e1BJlA~K9(5SWH;L$3ASG9t`+>LL^Q6S zHg1e$CIVXmq%%~w^lNQ#EYHUPFzM#PYovHq`R4=&#~2$RG~-sJ7yivKC;gN7ApWzl zh_aEWtj~!6FOC6pXO($j$0)()I=1L7)MG0hmh_iM1kU;qEM>m&NEq&3y9x9ID3qy< zh6Nf>K$7~g@wXdXV44$6kc=v%!&d?@F>C>Spg0&8d4mhRVw@%FWJWn4L!eA_rGjkZ zR0L000!Ov$JO8hL_R?PG@;;W_Rh@tP`sS{0bpoJgYFYxIUC%!IYzye+^5x6@Sqq9^ zd+jxO#n;{Zh2p)|7b~o{a=4}a&pqS`0dkM&vlj2)ASqNJi4Om z+ZmL-?s~_*<)lyVjw5}HWdowxy={zND?@#F8>L-xH0;Lo!sDd;0>4 zh0R!4^Bend9WJmW6wBG#J3iqSjECInSwg}T)=rz)?ZIh-K6W1^HfOf21c(LHgHX2m z;QcplxstKjkE3Jpgl19%l*2}uo+tV&>L>eIRKVPBHd6S`+6+-n0$BTDfRd3+ea5m< zDfh<*uT**Z6yTJK1EnBh8Fp(Ms}ccyrF_hvP$KZWl-tF_OoyTs^%>jYVr0Q6r_bsf zK|?;HV_qO+i*fnh4rwcE96Z6n3H|s0J8aHH_{b8V7Q=88tR6CD~7x0c%j!a#SsF%u*pBkpv6ki4)MB&WfKbUW-V*&9X1$3-ag8tND{l zyPM8v&;&zfhR_v~>PwMFS@hvf5f}M~*$)iP&SE8Wjg;iPY#l}~peG8%et+fxlb-<&!-szeW!$wnG`cDu* zZ(A%I-~1$iTlDJJulnn7ggP1dmT*+rgDk0Fa{<2!lTeb%NP2277!cVPi#GXy)pf?? zkQIzb`>pZa^{45t1*zR@FFMt}J9qH>jI?fm%8Bnh39`^T1``I?RaX1PfuH_<`pduY zN9oso<0t8v{r5|czCTa|0d=*=RTpr=Q9>~U0T6~+eG(?Jjhjz4K$d?e4@kAfuvX20>l<@=}3g)0- zT-{%w#}IKMfb*09ENFZ=ufho!44Z`jIPQsYfDA6Q%H0o!1O77e|LyPAty`i? z|NEW**8CgWtrt~r`?U56z160+L6^yR=3wZ3Ti@==-FC`1rj|t}%6|8IW5s<^7ri~f zasr3xFdVF=$pO+0{v0YZ3=Vr3xFI>ZN8f0{_v?%LJ#Zg@+lDqfHNGS1z-*c1BVGRA zHyRYS$$WC{p~~;xRXn`j#v4xZ;`X2PF1I zQgt`L)k$M;PH28cJR4f0YdA+4E~$Y>wly;&f$W4<>l$~Eoawk7h zw*hx)VWng7S|$dyVu-!9oC>b)D$JmZ7tiVsT-IOpSp5!bRn~3N8Dc?sHG%1fR(=Hc zx|!}aJH56Mpz&Ce4dn&nlN7upCgDjZA)K=qgYp&v$D7s-m|$w>Ty+jp;WJ23R`ECa z#Ed`aN29@%OfwkGfsvJhrqH7k&H%5&KH6e1VnGUqz6EsTsM7-fwi@8qzW9^$@BjIK zk$&ihKOFK8>lYm8J9&#mXPJ3-XVjsJBr5v44bf z;?Me9viw^`2Ku1fW;PVywIY+qm!kL=nK~%{lkJ(gtK!Uv5YuE+*fkd5O`%tbW1IpW zaT&oC0K4m_ybDSF}z2rQl$A&#+4Mp{(x+DZ!5T4>P8YH< zsrWRxXZd$L?*$MF!L(f|qu1sq0Gfz^k+W3-7B7JVVefUeo_5;fZe%407486m!g#^$gVhWi7BZ~Nh~`!i<1icy z&j{d=V6LTs8)et<;=N=<)1OgYW-+C|k zSFy2Je}9;D6*2o^d{xK~Q(sjEk0ZrRUc?mu#xHtDoYo-YYN}&EDyVz+pLbZ^!)8agtpbRAsZ_&5G4|CItDEF?In|SZpAf;-GST9!Gko`dWzkX? zcE`Us|Il1fdHMOu81aNBJN)RxXQN=wf2;!bZVM#(q_j>IYd?O=?ek_?*nW%r6> zXymM8SbrOxOo!M#K^c((JIW4ceo4P197>lPktIMbTMXp3@ldTNQh3tJLSPzThF+2~ z28dh0tb@%lyG;kikC7J8bJYRPCh%qD{8KGQfqLquRAQne>vBN;QHMB56MP{5Jj=i9 zFplpyk}k8~?9k)@fe800$hr$Jqz9!>gpLo~Uy1$d_l!5l3EGUt zvzytu(SuBKD*Y7z(O2QR!|x6@^zHf&hX6`Qg-nQ2uxmP$;@;}2jA{U2pRR^DbrUo4 z(43$QW*N3SIe51}N&PcCpC~ApY!LDctd0qCEIX}~23{5fO}lWkC$a*E+Bgj+rAr^W zNI&wUAERIU(r4+v_@zHiKk}K6_16ZhJA$q$Q(+8aAz=b5B_pH+Lm{sY4z%wwXcH)9 zl0~G{Wll<0o)7$(I(CInfQjPzW;;0=R-R z&d!r!_P-rV07nE0C3x1jQW`Ux4B6}zs#F+pvZKZ|>7cUQiZJ+C3OPAC5^;|lpL_E3 z^z`T#fAJUj%U}L-6`9-DH*tN-696sZZ3Day{zZ>(XeR;mN9~`s5g>t1xaXdG`fy*r ze%($2=vUhZz?S~E6#%v=;BUP7TQ3adsM5D*u3NjSnuCgfJ=>?UA)iPwinP=c#<-ph zWLVz68*0~FqJB>pS{Xqey^;H1K_D3dU}&9ud>@%{n?@X5IO0SHScw4Rmm3{$=GnF~7Au@7TS{JeS(N2rmMwA~ za9eX?`w6S|DIJ5lo zq9i)SawesdBm{gK>D#fgw)DT>-$Xb48}u4`0L+2EXp=%!hr`1J4_CnqeVnRf{#y=c z3LfB3{S^y7_10XKdE%QiOP9dJvXbO1uShW+&7pTaX&eapcvig8ACVQF2p@10H~^K0 zF=?G(-TyuD*{z)f@ci@7_knxqrI+NDS6*pf<-&yv zeUz_Wy^7WQy|!`S&6_vv_`hCv|DBJIkNJOi`_;E@()MEKAQ>kCoE}{r0?969lKC!X z?_Dt%B^b&SWn%J~gV|#667uA`8Fgo%@gD{dmkHL2vf3q?R!fQ zoNlMQ+vPl`1<@kDZ-5?`;EvDOCqQA-BLIC7!O(w0b37oYWJhRSM#<&obcwLan4 z*&#hE097?705cfRY8K`jq|75ez83iML^)CeJzHe1UarhboAG^7`@R9=Qm!61R(NZ@ zoQ&YGXWj=V*zmji@1}SCUnUG5l!W&)C*Wq{&NpSj;CkyEUW3{3JE&B@tO6XlrgQ2o;$YN zEdLe9<+bDw2Ken+ruroR*qab#9^k~I?Z3X1SC{$wvhDr7fBcW%>aPo=+5aN{o{OqF z&B4SG&;nQq?MJGID2P@w9ZnIbCUS6Yhj5JYYX+R^RG!Us1sg=&WB0QWjPIyC7)AjC zAV%aDc$-a4zJdfjJYY)#hOazCo#89O4Ez4GtqS-{zwk$UGT?Ln*8h5}3Xqb>I-mwD z(B%YIkr@dtc5)%k@Jv=@U{H-^?7|PrJc(M&b4@1yJj*`@p2$+RD#7Jf0h#PSlnr{pw%xc#rm%KE+HSoPI}f01j%JKBh{#?0+&-w5#aTf|iPKJ$SZd>OiS zi((UVH6(>Fc<=A-bLcsj;{{*(IJL5y*#M+AtOTGTS=h`pOK<*!c9>o#(jcWyRIsDV z1X&MtNp*d)tq{<%C_DQv_ucz1|C=9r;e{8tZ79#H%>M1`8@k?$R{&(601$m=qYvCi zKl)KS34q#}j_vcxl`Flh{pl+Jq^|*>F7$FICnwU51AP1B)^lQte>>gJO}{O~Xr$nU zeGB{k^t-*6WS64wbr9m(>$WvZz$^%Cxa+q=*+OW z5)Qdju!{nwQhp%SKW+0r!?mpj7{>{YzT(nJ*WH>?1F*-Vuo&-QcGCPq* z!*Lf^b9dmsOo-mmE-`?9?z( zvg}gHh6JP3I8DxBfx}Frn@9{~xfnaOzyh>D80OhMqR8f>F@OOu#jU?>d^j^f!3V}r z1TCvOsv^0(Wwp(jN`dj>!fvbOz?nQC;@YV=B>pt_XsawzU4nbglQC|NsKj%#?!iOi zhExCt)@MO1@_Ut~L?5n(1M&y`+GL|jFY@}~7z_3piYLoIjMK^?GyH%dQr{^54DE$P zhx}8*O_Hv1$U%Nk{%c_DEh5eZAM)Du3fV;VkprJ+T?_@)z5!n3xW%k*z-oBRI(Q-f zUKSiaLi&Ynm;+$oH}vp};3d9~%IQ1e5e?;JGhrJCbSc`236AbN5Cp@+-nU|#y%w;I z8*K%^wQD!Wt8gl7u74zVY(c3vM)BSCqHzTmMIu_%1E>sp=%%0`yFQZ{{?F2{e(AIHm;TECvA-gKWnBIdX9-Wj!4yfuI}J6mJRKlmc@}09$CDtj zV|Ek#8KT*4P{svepR%JAd}B%Fnmo6$WWsR`Z9$aFx*d<&@I2!|B%t2{9^~tT*BQ^N z@9f{v2!ftpn171I(>NjI=!I*ppNSG~Vxrjj!rs9rGsY$qDpws2(-qMar!xTnJ)!bt zz=R1RRcOk`b~1oC4|#@2scrkCO`X};ACQ0dUDS?@8BXA_s_QE*#G!23{qO##p4`Wb zyq`$+=5Jr${B=z4!PO&6NNauJ3tw>EU`6h~|9*M>_1F84yYIf6uU)&=@3$mCI|abn zYD@ohB>-6)SLx)1i-t=W1X1l~$SqcZr z{{>d>N~s_B7pnv8-7RH#h@iGOGO*v>!E>K+7Bd+}CPu|B{pdoXq>cJ2hK-!8EH(?- z-uBX zjX}~^Jbj(6l^QonMIj+D`(6l5k@^G0Lu)5D#aJ ztN_&Jsm+8uI02zEr4SN+*U!?;f*AQ%;(h_-7BvNDgQJ}Icc@Q#YK8T22nMEw0~;R% z4x@JlPRXhW!*{B9h8WHa<2JomK2dIvNXFQ|EIA}ZLp3xjnJl?zFM3g|JI4r3x z`;-hfIx~^{!SNk@sc-ZJ-4q_52_Py?RSr9m)`-)Jg=BGmlB-%^>Ckccjq;i_L()w6 zod{{OVD{n+uSCn~UmWoy{|mvC3HJE53gENjou5%@=inF&H8;slrOlynQ$UbOClSha zg1oFG=9*e1v^O7;q@CPn+@-HTPoC*;)2xz>@2MNw1Z>Ssh-#`Az@9BU4#=rIZ z>9780f17^(Km1ktn}7Ye7+azlZ|rMUqkd0HUH36u&e)qL?2k}~Q3|{nd?0JHmlv9B z0?Ok`meH1AKMc<%6`Z~?w9n3#&QnyhGZP&O=rQq{?0>l!pjww8D1q(6cT8l^Osgob zx=7+A0DkQjO_Uypn-*}^Ib{DUpvosBVh}3rLs4g?cs_8^0KaED+q2CRFbI&xJDf%( z1Lgu2GQyZ(lQ{zD(MJ5jMy(ceqP9QoUym-_|H#R{jocPAMX=S)0prj`M<-ZECYvC;*k=_-0#<`_ z`y5mE5(g2g*Rbh(Hh65{E;?dg?LaZFGw$zP0X%g5mfCQIp|1egybpBRRx5L=^C@u8 zOEWFXEFX>M2MiC6Wh8E7`ttx>6=fdK1D*Qqj8QeR2t3C00u^wUynooa(&#WNmpXiw zfRWMxz}piz=5V27Y5lsg=ZtT~Ulc|KDGf*|H#Ov54mv0%YVkSB!g4a1jdcnHiZw<@ zIonwKlb{2V)V>g9M+3*5sW6u;a8({;u%3qd=y>AK$@Ccv9Gq(H*-@K5-bz!1Q4m)H z6N7&){c`LX%ESvkhYTS?J~?Cnga-j3|4c~2a7LXTGPOdXB`M23XS9hz*3gj-3R<7} zJN{0NGocL6zj?y?Ksdc{S~CoQqvSTE2wC8dHYoq+@|@r^O>VN6X&HK#Q$Gdh@v#NW zD>0X;1#6oq@e%NE$bM2vlt&C(Ttev2rUVu+k@FqMfBj4|z#una>-763z7pnzuf5@V zIMW3Plk^`g8NJ#|p&~;nS|}Ip6Hw?5r>3|X^%{Y@*#xplIoD6#I8YMx1#x}6&>QRk z=89gKRaLOt73{d$i9z4M7nsTEH1MMm>~L;6!Knm*B*myINx|d*oD)v>-G2`~^O=v) z=ld%HpY7k<5rfuFAtQ{BB;8^ph~RyrYW+f%CEAj;{Bx=0e4i*YehpIA0i1^vc}tLn zd8GXAQvRV1QXy9C1rQT_$osfDDcgr4{|9iL^=Ev7s4hwdPKZMbOZ#iGS5NwD z0LcN&h&Ue0vXo-+}8rI|i_gmAwYAdfaCJ&!0a}`@uzh z!)*mX``$JIw6f)so_qWC=S+%ZJKg^YpB`Ty#%&m22=TKMxQU$%z!Jh9&w)wdroN05 zTG$f}q#YUS3e}YZobr5TxYz(|0egGrUpg{GdOY9=>?O>bfUxSZg+u9wktLVU5HvgD zaHnSgv;bo#G3(m;*V%v2B24eo<&Ryz=@O^j&W=5pAQPP*yf4 z%47?d2ZNICP4^G~=GqCNL1E@awK9XKP7Yc`K7)&V)dP|HarRrQ&veiS!KsVE^aKSF zY7Yv*cTIsCf;sF=RA*t&y3!1QdWTz0P6R@SFAf^m3WUIbl&u1{q`Nqe18NUS_qCys zfh4N1qZ7ax1rrHGr-}#$IZ4)hEOez56<()UGKx+awj2GFvEjq=FHlzs?6qvIcUS=s z5y?`=BqxavJ*N^ZhC?Px2&<^e3LM3ihVD7UxQzO){ws4I&X5ehq0_7YXkM9eSb{QN zN82XzQfxqCKrvl9aP?z8iF{}4kpz(R`87)bXfqoIN*+wcD*y}$GJ_GFbPMdl;Wu59 z!M5?4TwifzHjy~5DghlO_&hju;vDP@qm-pSl`O0J=gyLl`v>8NX(6B!yRDF<7dZ>0 z(wKt3C`=Hu1Lc)`nKJU0Pk=oha+x z)n&8vR@PuaPF}@|f&G%}DJNDc71uDg|GO^eugMA>zjVWZT(pr}*^2(d&)VmqF~!S9 z#$pUSVo-GXe<;mS5d8&X1gWi}0^$z+T0%ZVJSZWH7(B?`P&dF1Zoe-Fe5Q z*Is*#pMU;&e&(5H-qU03|EGApC$9js3k29CjvjgBk-o9tOE0}d_uqd%*((4PJiXnx zabu^yrJVu*%m3T!0Neie(cgOWw_bea;&&5`rR;tAUONi#c=tXY*};v`g-}H$o1Q?? z>g*T*gL3ghIM%L6DPRgnSEYE$e+1eaopQ*@Sh`~y6!yjWzPPvb!J-z3T>w)M(Kr6E zGc`!t+Sl9pYXPXR%rLMmfiRifm+eRX*=_NvT)UA?dqNRk1@s2b)u?rHO1!e zqqCOMx8aW@T*Zbq4ELxDG?N)NOjwbRmP}4S;46iBfl$^LD*0LtabA@n$&O$E<kzn6`tI`Y`q_BFa3zwWhphc&J^c~%;Sk>tL~qK@ z_O&sLE;!3SQPOqZHWGD-Pkg6^y&~ZIXo4d!5aj=iyZZv5OG!c>Bz$e(FhV^Rt1U#L ztj!W{0<)&hiz>q*d>L15W3&4Jzrosc&JX?Yhx^}8{E6R7zx+3zr~mJt{cH4h{`PMs zT%EQ8Dp<0t7!W?HCjZ4YPUG<|bKRe1s>N)sxVuw&+HgL;p*?XdAJgo`Epx5&O~RD_4f4+*L$8pdHU(6+lM^<_~Y`muYFD0NdWElKKPgW?z;~-k3bz0 z=_vqs&-ViOyKlex<|)Zrt}OR|H+EMB@3>V4;pn^x2LlWv;y))PG)sIcS92SfS#9m^ zMzSHQn|;;bU(Js~slV0v5g^C-cVl$?``EDAqx914HTOrDNS0682ZGYgzaMIou^Dx>11Fkq%?1T(<`b&%dftC^yzurQlG zH-W^&mP=VvW>_7Ka{p2cl<3$=;OK4j&wzLQWU#^u7$_R|z9)kYW07rJc3uGAWuH(l zW>X3<$zu@0Ksg72g--UIDTsQ&De*A@2hwlzqHG;w%D+RVuz7<&xGKSEIG9y~7Pz)A zGykuy!u>9{v-Yd)Nbqfu0cI`@z<7fst!96;f$6@%3BCnkA*6%JEwUHVB8Rvkqo_C7 z^bwR{nstlIGw7b=>OoLuGbwdEW~m{XDVX6$oP=h+wsIH*N%^$SQD0GlKNVYEN&aaq z|111b09T&X@A)3`+kz+cNyLVk2PZhrq74?*@9p{S0HCPG``3jo3BFzEF_)=$+@07q zlXrTm4sEP_`^R5X^tm~_F*|GaJd(7Wl(WgM)tB(A0eYvr0BxcZSg$mwd3J2WPqATGn|BT}XetF=li{FnYD{TILVuhEZu<_GAJOBb~rN#L{V zWbwWeKT+1N4mW{LtM)&J(K!r%lk;V*BC`wQ~{VsaJ$6+pI;=UeZ<(^%Vdw-dN})l{gtQ?wENhYI(Y%yep{y zff?D*Dij`2PuS&u1H4-Q8-N%J0I88VF;+PZ{S!U8&k@C$Y7%P%{-(TiwsF@R6g?Uc zk>cIaBX@o34?fT)hT8`6cEa54>zljY^8~=>KmYlb1W5Au;DZnH0}nhSz?!T{Yr_UKPwiN&;ySGCipvhsRiNOLBdJZvH?nZI^;{lF8pvVkY zg%S>!w!^#8Y1TvBXW`@312$0%0dLWMU#?GKoE&tHT-{jF5E$+FNWkE8&V|a@E?}qw z-Z4k}hN3_3t0S6V%J~~7`mDjW={^ACJ>_bgDmBc>82{H&F$Ur#tD)ia>5ZH6!a&+b zHG+pkb_N~EwDbiN@I*;TOKprmxi9f!iTOypT@~piWovB)6 zA6(H_OAvXVO-c16@T-KBIiRAI<6W%UGz+`1dS0Sh{3QLgA4-O+8eIEsawO1T%xDRy zhDcEn1Y2g5Cd1AJG@fx12XuDO5Kkd=Ve%MRAi*yGS!Z|+6cs7>Xk*1!7`#C!vl)Rj zE(PaWwq6GVz48nl6m-ZWeL7+!$*~9NE5SqP%2_OkvaaIvB!AB|C^8M-QFk$DqKa#V z1;(1@iz$;HX=QhX4ry4>VG_$hQ-6Zt+<4A(V9ZwXpO}PHt)l|VueGR)NULU6*Gl~T z9^<$Z5hm^o1AP|DOKq%dWb4jetn2hMi30Z5hcJoG}AiJG`iu$TWR!Ci((VM3ZYTuh!&AsCM_ z5ZaPN-}o6B0V+5LmN5fPfupQAmbD2TGyN~o&V%W-{dREar&#Zn2@)$c6X7h?Uxv31I!PwKvH#*L`Z-TrlbT4|_USY^BaKwURh z0qohRSox}f98{yPEJmCZ3RF(VUBKJ-}LofB>>VO>Cz3qUU}sedF{2=y{(om5yr>d}(!)t!Qd zO|_N@{p_qud;X(9h*d=0-ko(wqRZ!0s49M+Hi^60Ar zW+g)ZLK~H0K?fUWUQl2;KD55%jOTLZQ=}LtxpN+4t6PFTBElrBm6bvp?*_V@5`GA; zKpTh3;TQ_&W`BmVD}|V)ECa?II@BCr3t&ax|8LK>Q}J$2_2|E*FJ5o20qm0iJ|mox z3RxCyw%b*w%=n=!B!(qZLXx@BV5gD*hXz(b8j{=K8tsmLa7H<1^z+IF5rl+8Im{X( zce<31Rb9J>O~HT>{AQSil+c9(M*$E8#u{ixmQbaj4d5;bBz7HMR|Akp3M^xshTK2% z>5tK0{DnV8zt)ohKSqx}`u>SZl{z7No2->`?8G;?a8v?@Ju%u_7jTZTElC->3l}I6b9keVTT={;7?TYP}%E<>RMiT4#8yTbpUS3_(>^uc*qy%SH}Q7xNy1+9(SUN)M=0m z?*Sv8`mRB8+=lPKxl%|`>seh%c7AHt#%E4Q$uxFS$AZAA&45yMY7B1V0_?7cT*iYE z=cE?AO)*Vn_w$l`0Vg765m)`KLgnf}M!>@b9*2p)0r^kAq_oT4o6ihR{ek?0iy{EM z6q-@_bwD(xd+&r*ZOM6vD+ge?{K-6z0LfYpkADxZ2B>XNL5A@@>Kx9us3av6P?!0n z3rvpz2U6_^QMR&@Kr3HV#9A?(#WS0Xv$L)5fBc(o?i1igd;7Q33Rc&R0fA8s^w^6p zI;KT1BHjklk&Dj5RR>0+z&Dn!n`|O+EU=X_NIBTFq=*H*obVyZ{Dy&X5CU~J2fyi9 zN}kpB&@lOzuX>`st@{CjovN*SCdu?G=EJe)OaL`{m1*<)Mcjl2>1S zm9AX5;vCE49rXU!UICzT=3`3&?Eg9kot&J=E2p`MQ!80eb+k%y)qPk3;0bqH;PjP#~()~z+oPudhfQm!E7f1w62bh zw|E7>94xop)u^Cil}Q;_L+_}%qcH0=%q}C1J*$iXR6JDY1B3b8_a>k;!@h$qg_#4x z&4!PO7?iiOMMbP$LP=LA%R=}aaMMm=8RNXP_t2HHxOQ<~Wf8Xnzs$^(?8$VwP@yw3 z{+&sncu6=c;!F=EQc$er(I^toj|#aVNS1_ifV)9kT%eQm-Qc5;e}t2er=_$Lj1{m% z643)|H}J}@1{=dO1(pLH3e@69#hc5gz?i5m@F!LaUpipQj&Pa{L)aClD*x76z85_@ z9FVlBJd>8*65?q+Wc=+Z%;OVRLE{VyEk!9-Bt^m?!^{bucXP=Z--;rT(96h~ll;pW zeJuo*M{;ph);NDPIndUIKwoZwaIB-fJa`+z4q0|JZ$FT^)~F+bOMBw{%3v-|>j zKHllw-#^{RX8Eo)=f14~=&Jz8;#tJF=u)&P0t7?jPSFt08qy{QB9V#w&0ak-W8fx9 zhp3d7`|GYH^#w6+bW!Br$Be>1$PG9#{GQ7wz>g~uFzGqS2%1yOK7?&!aApFuu=(O; zDt;BdWLXrqSQQbxIqus%D@Rhao9c)5O2D7)rwDwGe&%O?j6VK@kC8Jb5oL=*35F#9 z-?04`lC0&t&73wcl)_HQ)KYv_`LE(g2V2RIVOgoVuUG*&(B3RPL~~M?lJ4&J4(g`p zM*t6JRdkVLBoCX;IJ$Cc1`Oo*kkjIa>*$JqwEr##UbipxXXhO`Kx5FUWFc0sS5^n` z88Ykb^JM>b$|oTXAbVgFmwu7xo&bdR8MoCM?H!%Fw4W^QvFj60JkjE>)llEQ-o^Ev zCji<}fNdXuFMQz({r6YD`c-bH0FVx_ZUpF;z6M|yYKHbIfIs-+TQ5H6abg#gjc*;j zL981~um+w8M@5-P-L`PpdO~;ZP$u zc&{58T>-F9J9Hzx0~){xhHeApp`VkJy%1wlrUc40CH>!}=!ebYCR+IdFEz?=N&G0EEyGs^RoYt3g{W~F9Fj8PgMY*5=|eOzUP31EICYS z&)k^>X1MqKU9@W}094=Lh-C}ChAa8gJ-kPTy#R{n80n76bsqp{F|vH z1b|c?-5Yfz$(9AR;%Mh20w}b}{74|z|3VXhu92)$B4%1~9)q+;ALa`gd<66uI1{BH zo{Idt9mO$Z;5!Li7I69M27hSuSHJjg(7*VHpQ1~bE_!kz zB`mqx9!l^IorMX=c{S6)>wr$Edfi`zsO1*Fv2UKV;5);G@E_D=H0z{ygR$#2I*2+v zWB68kGCl=ApsgUK1 zuJdh9I~Bk-1^jQ`c)9~6xx1!;eP<&^VILQR2_iRWsA4S3wsbD~@q(V*8ZBzUHY?wE2N+M$BLEvF z`i{OHN2o6(jD!TabI>k*l|Xj5Twkr1eQ%#5m>+dE)<9qBZ!`5r{qVuw=vX0OLN4JI zneOq>SRbE1M`lg+h@{i;3ILQNaH>p>8EEOGkW5X`D`9V;_-tL!uwY99dP?XlQ;-rC zGB-aZDJc6u<_q9+cQz0YKx7Vvgo+0jK8DEDdCV$7<2r`nED1Oz6>!S9GU6=pxCld* zpW@Upw8Nb6!T{M47=tMQU#JJQ6Fuy^-v?*d@sxlkRU;tN;;Q^*y@Znu4Z#;f+vIPz z%yL`lJi}f;Ck+F1Sp}i)*lNFsXBtxqS#S+Rc?HhOSriXWBt64mH_0?n#+^b081bQ% z8mIxZKsf-Y#h z%S-kvk53o&mt+Bel>_qc9nd8IBw7ALCuK?JBxu;?jC<;kfp3+RRmBASR0fK|W&wJe z3RZswKsJZpoZR;K{Q0~4Mt}^;Jpx9~HV`nd04<@3Nra(LQpK3DmUJ)tYI6AMDx7qW zYn%Q<`(_`ruwkH|oqn8P%)vLllP`f&AeV7<7_cqFi!=U|%UC6y%>j@&nHPJG_>O15 z5K>2qfZn`@Q#%x|&p! zen9>OM?@+HD=G4NRO-xB(cTaEU!3GRmk(WBUZ-WEchu3e(w*36<%)0Y68INCE9>Ov z*ngJOu}XHMC=4z;OKQQApKuK!PBHb5`_>N0V6@#p;M_%2$9j6E+!>ZI6KQ_`tK`Se|aiFwhLVI08 z@9#g4_6=OTenOVK7!Joc2_OX>VHcfV0%SF9k)5-cL9zBdA;aK11g-2x$IIw%3en3! z(d1xC`k*N}f$*Wu(>g}mf&%==p8^UsHG-Nmu{=1B$;q(3io-_G7D1cXXSr}piY_Le z3Q-toMtVpz0M5s%tsNM)B}g@BD!_(}#=tPvH9=Ft)#1RE9abOzi%v6t#w?VihH*BI zisKbcNiOSr!4n;1@yUQ&x^xU&lSv881p{gcc(`(z&HR(o{~druSXTYLK0Ear(4&w5^@VrV4ZJLg^z=$KXMMkSzbO|p^qAkTcRF&W6XI^L zMUsh<&PFkEJWD^B@yynlp3dcMeAC4%0UDv5&k7gqo|Bb?3ZVb^_z!+B{mh^JgMC%N zpZ?h&>!%8gt^&p?_f+J6(gEd~^=<$n)1BZwh8`rfwC-`Y13x1#p$uXFqYEL7pHELW+P!wub%57Ind>)HDtbkHjf0E%=Lw(vte~hI zIh$u0(c|>UWCUjUb+0f>0`$GZ0&BAM_x;XhvdI&CJb{ID3|UYJgr z8vOhH+WwoTx1JL+Uf=c!fGZut2u3Bemr(5fM_|Lf;1HU2Ygdo&Gw)3189i-MV{|6w zqOe5Urm($StcF;YOo3Ez$?BMPvG(m_pK%;E3!Jjn)5c>XK-*KmZ1s_5*_sp6baM;x z`wD|`G$3qH7|^}%SRCNt9JK^M4h#^XNoo6N14dHGYh{^gkVHy)f9`aKWkv|HIYF{; zFpJ_!T!)|G2T%n$2GVAY$^#z@UNkPV#Zqm`Xl|?FQs-ti(Lf?DPm8@VoE&_vO^G{t zaZB9cbKIDtvVI!O6|%I`zO^^?m+qvCOFe<{3G!tg2x`NOgUeGamBjZr(@@X^7U2qv zcQQSBDJJqz9#dpXg7Wsv>zgK!>|!qAqrf}riPu4gk*9t#3~T4x>^aW7WqgPZxpk<~ zWJ%}bj4fKgnJ=9EN@Y}*R>3#^JT#73eh}iRiFiMI`Bxh)^6!sgPk{hT7I2v!UNAe^ z_|hc4c%?X+u|FtWWz_Daph)FDDG{0alcXDo4$j;lajOsz;9OO!JxlihW>DfOVKBbv z7{mMjk`ro{1ZbZh{+~V4?I!Qi++Fl2(X2gm8>O@n?_cJC9azHxTvOt1W|Z`?d_C&M zcL>Hs;#pEglx;1WZ^MKR#_%x$F=tJuodoF(TpJJT2F3|z33+mqoOs>^5j5A(DM z|8;u$(;uTt`+Kz14Iq|)@qz+gBijR_6)i?`CSw-5DhJO?xF*{%mpSta^PN69^-(K9 zX_Ga8WwIf_uZPvsVH~m4rYDIU^;ZBSm5(5tT%Y!L__=xn;(x<6x7m6L*0p#+a59mi z?J&g}#P`CK{J4I#l>+R_6u1ia3fGM4(M?s+o!{bCL7gWl-Jr3~RfuJlVVTcP6}&kano!*FSn{x+u$OUg!3gx- zNf8B8-BhABI1tZZflLX+#b!Ntsw+eZ z`qeW3aJ+C_@RJrWNBzRHwS-{11wXDW9k?LqF`Ao4#ZWu>ZYT)W9|RkbjGB91%V2?h zt~AL<`V^VOSFHb}03^w=J;Oj2bt4L{fB=KSh6f|M{uk_mQc~z&m7f0*UN7CtXboJLkV9>r%U(qwJ2$+a#z&09~xERb0 zjeJ5Vo6)$>__H-<#yRxurZev2eV-kh_8C%@XW%sC*ZmCw_?Ss!uZif7RyGB!2mhiN z2?k3852J+As<(6TbW09R%Lw)afF>p)qYZ%w0)>WJ1wT2v9AEKEojoF?Fxag+lNAaG zlr}0g{3|ec0-|K(9Uk=f!MR&44UAO?v{Z&dL@UO!ZjC4Hz7&|FoFq$$O9c~t$qvO2 zF8x~-KL+c75_d96R27;HxYSCEcKj2E9B{9N!;#XPiKhl+9^fxnlA%E)YZ*oC@?G6$ zXcag`>5%VX3%In>(N?3M9nux_l;~!OhulN7N#$7@H$IHtiZ*!P9o{=I|HQxkd+9sAm6g3#zr z2~Mz~-a(xWO3)}`%G(ko9%!)RkXktuJag!sNLGfPLc7V3K$zP_8dBEp@F*pw2!jyB zQFSSfGsvJ2@IMJvQyF>+dJ;*#jzHg;2f{B($>0Nabhem8?l*uC*o4Z{pZNj$_x}99 zM8ERI&(Xj0vp+_Uw2cFE@5>&t)|GdJBoaY~;4XFfo$sw%%22ud7nmdsS+@VE8>A>E zrlK~JE|N2#IdlUaA!~wve7c?LNdS@?Fy7R$WSNs-oaDcbgQN_kc(e{d8uEN+BCKuzGHEbEbf?8&pC>qlZ>2$Z-!#HCjT zyD*Bk_PP^_|1|5lFM2v&8IaTQRzk}+_H_|$1;U=fU6k9s{#)ywJ2|EQexHOn>8q7? zbaZ?~=Z^27TQ_%fdTJX3ilIZx?6?tE$|pQajw80g@Vt6*#cxtNhW{Zkj?A^5Ov!`r zVk-;_>xOu_GdAOQs49ZLtVak}z)Z^kNC18)C*Z`e@y^^`9TFy!4S)s9n4Tv>Uyt|z zp4GvUsVqJLdi!8vX5VJMt&JM!6oXHPFJAm!!-vq(ffC~$>%Zc1YW3sZ%BxsAZtQ*6 zo-wGl6Yu9Utve-$%T+aYuCj1NYD$|3CjQ z{op_QyXf6s3}fPfpx&1XJ3_O#k3PsmyAXCz3aT00SdMZ+;9O8%Ib<`^1LV-Z)<#Mi z;<)mB&)P|}m?=b){!B)sNLvaj3Ii5<=PL`LJ)}RUdyu5@=3ws;)S+A$eSzPK=iog>ezC?fM$NxF{fgk+de*0_x@Kw5g{#PO|XpM7?t+t)XB9n*Vz$>%=z zx!vbK|9N@(>8H6J2l&`ykI_EpZ^3=v&~HDJzYio&>8-ckO7-lEZUmU_w-o@b?$>Ty zd#f8b)?Mt{YXEHpfNs=_v-9jr^+64dsGDo2T1bltt6_jBeWa_{4J-B21xeu;GO39L zv9`x%fBxP+X?DMFJ<$6w?Gk!LMxB0EfVS^V4gdnwqU?^^;vQJZ-M0ng_MZQ62?90+ zuq*#mVNmMWqNsx- zX4LU{tnS!ECdXp6%AkWHM0t6e5Q6E-TA+fq3CK_Q9{fEz84u7#3iK*LBy`pgpSfcS z!vn^P>oY122b9OWY@(mc-8qCfzQt}^rg*@?eJQ^PI6s;dpJ#8wIkmbf#M8K%?9_`3 zocKwU<=@8|Dti1ubD$}RANC~K5ep+f-{%4YrRM;TIYs)U!n>ON^ci}o_zJWV5N0QA z1#eunpLfC)Wp~N)@1mc~iwoY?{$0d1v4^e6)EmMy;}Lw!c=sTl0mt0FKP)(49n?Aq zKUbKLNl8lkp$Qv&o7<<5rGXRl?EMscvPjY-1b7c+9_xerkDyH-fWBGDzb7-9^K-z* zI&|5|Lot(G;8mg!uHN?l;`=VspZe+FPY-|B13}rO$4ITDJ(C2RP?Ry)txq@9c?uEk ziQmFNy#}Vp5cn#>O82^caJpglLr+n`#re(=l>}~p!7k9Q%e@Q(s*0QGc?x~S)`kt6 z+pVC%JlGm|Xsw|F@x!v`!L;>*QIVMTJ*ol3UX&Ky}IOrWGo>uSv+%82=sXv>xmSFv1Fx%USh0-&KDs`CZ0ibbx17 zK0Nrh@*}XJPzp-NDC6ahjxOyd8;@u`Vz;k%dA-*O0RHS}Kbs`w`RAWkZi5j%@Ygm1 zym8}()Fi+@`0wrg{Tpw*c~j)YyO_VDE91T3-8y=EDF4B=;$jQ2Omzejzk8%DoEe!x zL!rN9#&6RqzM+45cc2yBESVr%7&SfOk0g>4q|FW^Z9=oLsb~TM_I5o#KrTurl8-@b zc(oTG+I|3SU;nZ4V61G|CkMtRfZ#I5+poeG_p|&j?=ytGy=}Zdbacd&ZE`5ySwzJF zHr?uUcRaJh5(P>VYS;w=UJM4McJ9U{+7wlaQ-9cRbT&OUXB=$*_zsSqLnpa8s@y+! zI``?uU^p~w1a#BJQ8PJ4;XF(LNT!Y{Xctg3CioliGgVCsvN15c88&cSP2FR^t<)yP ziKgllhU0H|adeV#W_(XG%LoC?hveT(mz4VMpn&HeybJ10r1V6DS$)I9mgxn3X82ZY zNu|}Q3uG!q$w=ceLn%**^0Vp~rkO*UlL0khFheqrgNyAMI8dn*It^OmC^gAH=$_n| zEc8?^gR?UEQRvz{^rdVOW#-W9Q{T?RnWeDR!Q$f1oyq@>R&cI)5%r)s(kA9fR}c+z z#@M%4C82@?4zAO;1YX*JCu1c;jq*<-IY_f)})PwC|Ns@hrh-S8C{WM;4k zo#&EYW=hUxf=7TUv)5dVhiH&KoVX3lzIjsI7v9_Q1QOw@P`v}xh5pY-9@uio2HCFb z9$|Cd+D`v1kk|Jm`YM1n%W>*%6Z@*9R`x_@kHgO$9JtHH?UecGTqwA9*6ESx8R+Z^ z#BrGz0lsFPO-1KN1=9rziWkow6X7yO?|^x7kTNmF^c>Bu5R`XgTgsY)0Bx|-j#8sc zYy3t%rtFkwMH~D$c+eGW4IIH?;H48niN~z{@L}r80CIi@_<*in1%;f&vKR=C4uW0V}o@;l(n1|A)1m;2J4q@GG}Lz&J3I8~_SOxP(o z%0c_69lrw;nVDeO(<<;Ms(s0X%PLSVBEG~+R(+e$Q5x>lkNrE*6qv({iTiphv4P$*kz4#8_4ff&SJJx z|Ecn7@{{B>>$)lj*hdO*pv-E#R`TSz3n<@qQE$hpU3&BZdgRgf_hA3hhu%+*Jn{h5 z%Yr`)nk(Ld^a9-;ouU+yu681zRhCE8p<#Wkn9oz zxD0e#m4w@5ObdAszmP-8fiD3yQm~B)2j6& zME76r{0CPl%NixQpL82rDWNngqV+6|*V=Bc8uYh`IqFLB2S)uSUo9Fq>TR;#v(*Hn zEF2N2@;K1~6hP+DMEx?1S>Le36XfVKmrfx8G1t}FZd{e$F8!{L>|@2hw-5dgjPC90 zov!yZ0Wg-ehe*Es^2>eTE?>UPU;XM=<&{@nan3t`{=B^T=9|uHZRWpywoL%rwGaHo zk^s>5?yB5+;lkM3ph+Iz++7)#wkUi1%7SLAN8}{Vd{`;DJbH^^da(1TM-FDTy8)&U zDJEOOPn4Z@EJG@EG6MQ&tTGD|3us#C4CLLCz`eUz}39M%Lk1Y?Ml(@Oz0r3Y?m7b%0|iV zOtT-*w$nwj0Uyux{-W;a7mTDDmRxqgYpW5Ak8Or~(1!~ilpM=Ko@iO7d0vNiJjZd9 zvur*Ym6ZIvAF4 z*r*Hvl7iN>FdQhMB!rIdqn9kuAD>S=`JMak@88e#-(`pq7#PGj|Ms68fxF%2;5|@m znNbXE4<-uSwZ6>KF?3d91j@7VhvXmhtSoR#<&%MO`Uu#ioDkuHCKsAXg44?c;~K`e{hi>m0iT8ULI%z z|4)e$rcyWa!pA@PyY_$IOaIEB_+k2+fBiZ7cYgXmrLX;?SHZrZa3Rf#;s8A>Q$OQ- zBoj^k0T&n^0=ZSfn8Oa=u97st5E1N4^qL#gc>(sBKZ;U1y#CU zYp01^JsnM0;JxD{PlJ@3zhl6LM=Xm6jDw#>HG8xXDn%inzkvRBUe_Z9cj7wQVhWg~ z8S9%QNshN0iLZE?uh92MGk+HEQF>7gt9*X|29<{~)6sqBA9-=akac8lU+?mIuU`Sc zODuDvCjs>D7cXAy8_B)?`s=+=I|}gHwQE*~b?JZSf;RiFNr3(uKsyTXg^p^M*WdTwcsO!I#e=4iMTfw5SPVYeH*+#};2fr?x4YGt zo*vk?pxQPz{yTSkI+hj`8rFC9WAwpT6r+%fVtRzrm@uG(GsG*iIiAIAKu$v?@$kB|Te?qC@% zb*-&vmzKC<8!^jUxXHj&y=Ju#*Wg3IYtcT!2GZsSn$iTL0DeoA>8<2@=-e2`r*xe=L2?($y+y!2mU+cZx1-FG)Vx}Uv&d>`CD z@#G`>?=9H>uD&b!Y^!0`mQnr(_F|EEBnk?=^Vx{2&uMP1^pAxP2A>g@Z zjg4n5Z|qD-B`o1K*=Wx<0{(#Su~E0mr0dHAZBpn9gr~E(`p10jr0)Z8djC0x^A`zZg+K0+m%;4nU?;(!kbzXc0byPrU!a>>;KN;~plj?IB{Z~Cns51!Ki{Gxo z&4%IopcMXi_uDxH!Q@i}H&ahN2Rgeu9^HQ&J^l34?PuFt?v!p{-_Z4KNdTA-KK0a7 zv`+%a^Ups|moHzIwhG|YS6}TTeBXWdZEw8s#?Focyz8#JP5=FC zZ#?(WyWZcKx^v-P_}WH*$9zv1yvBHvRwJlF$6%W@`PH8phqBME4gnBJWdwYfP}HVy zBovFOtWn49P*$ia2-IfbTOhu()dOU*JdCULv^n6e$;O8nELA7$N>CwbYe_d&d%?Ch zsH-6|bt&zY0+M^TQ>HujC9X9RZC%MVrMctr_NfcJn1ZBert(5C1%8mjuZqI6?L?C! z*r5}A@2NPU9LbI;m?`=&*(SZ`OEt9u*SbR^&Nn$K8XrtE{N#>91>Bqp#Mc@^8%_f4nk$f;F?VnefRjB(=|_@1%RQ{-kfHI8~D% z)OPZ7M18diCE}i-sS|=i58EvUU6l|yAgHT1FrxFI7e2RUE?s(m5A1E({-bSHe;@Ea zvJd#(!A<%Yx&Zhhro$BsfRxBu4xEu>0vFtMGN;+}zFjGK2;$>ClomX>! zZ?TK7STHz?&6C|o6SUt6dLcvSW68UQxAz44u-;S*S z-y!?aLI?ObN#e_yN9))i?-hJqCqb`Cv5vdVFSU&Tk6*g6PXO#gF5YF>9Jz&TY5ODT zyc??oP)~s_bGir|54hqFAEWW-R&(F>za~)~(n^B2(zO zIyT9Nb)C$;l_9>1s4s{56&cMDq;F&fPx^*YmZaV3ghW>X(pM7ba_%r}nylR?0fet;H$B72 zr~AL-u?j$w1q7q*c1IFmbkM?KSwpNkk49jr4nl2*C^@9d?$Jn7YR8Q~R^Va@rUnu5 zGNbJl#rS0g%8ZMHKB=~Bc(Of_$qsrDB{1W(Fn*?#*_{Yf$XTg#a>SrqxxB1MwOz}r zJ}MMleA>4Rf7}iJJ=8~q7~3c4KjB$$lBpF+trWIOzh!bhnCdM1Du^cveB*ocVs#IM zGYKb3@SIH_qV+6M9girzf`jQWWckSyxYOLRe1mu-_$B0DR`tP=9?y8DU1DmZQHa+SS;O{~Iem4KU3->swF(@-d$PT{gHyx)iK!gn#7f-8#Qh76sfE;t8 zTi_bHr_xTKZPwpH#dcvi3e6pj^Ngn}&`yH~Ox6eS{dNW=*#yn52AaeaF5Im*O_&AV-p> z`N&7FpTq<7op{{C(XG7JC+&KG4&o*mu;fGy_?G2SOAL#R7rvDeU1 zHXshGuS`t=v+-=K z+@Vo#Bm@Y=H2^NcrCQ8qV){p0HE`-GaHmS?R5v4R(6*xiPe7IJ)Hv;Al;6bb%4uKx zFbqYb%tbk+EBeyGFicxNFWJB`eSv{zJT#>ut{0FI&| z_?^Tbmhu~ZsF$elMfKMbj^qN1q>?EpmQ=2fXAMGJE@>gxapAr%RD3W5RuHKr0W=ETN@25vs3w!9AY8QW1Ygi4;NXOFrH=>K2kgHrgxz_h@GeoT@WMoK zhJsQZ96kIU`krWBil1?qe3hclQklXdX>vnyU(?ts{U;uiEdTa>lg;aY=OYi$kN$5z zPXF)!*I%QIeAXjl=zw3&xCXm`ZZsC>v+Bf{Rq>tdhV!3|rwg^#&np=?KX!ej#x%EG zJ}3JHq{p(p8db&wS=)X4=*1ga7;vD`roWEBdu@8){X699_=lE)rEGH?;l15Mx(cbwkb$ zGeHn3IpFo>;}`%5CB9ZQ$L1)hl>2gjgPOy6UjJgCiI5a5byJ6GWR)@J;V$g-O~!?_!ZZy>eBcvoeHMqEI78a)<<*9evzNpOVH zj04^)ZCe=_W22Y1>5lb6ab-J{X9kL{iav3?Dch9lB!t7o?mU??k3wuCN(8(|SXUsa z;qYNO@Emi4`0BnK^KOwtUnP@;_#{*Q6ML=reJ z1bV3O8rn!C2jW}r5!92AQ6dTlGy89)jRViDJ*L^H+4!Z|m)iEikrq09CEFYWnSrDj znUr{7(3G|Q1RrODaK#OtQ9>Bn4c^<#@N-lX@ES2ufixaYTF7Cp2Xf?!S`s=Fj?rZy zEF~w_RXok(?RW{uKa}%ivJ@Rv_!(tzhw_a88lKh$)-5O``Dcoy?}&_%LGnogZQ1_V zfbYBdZscRx{`gJ?C;31`;I`1i!&%PbhrEPAU+68=&p;C=x%ERy0fg+}#DG`IwWZpB zZ-#UpB5;L962B~TeGFOXZRceTrZKfr^^-kkY%tjX?4JF3P1qxyeZLpe@j{dnS+c-4 z;F}Wn#m=shBU1c^de2AG?}ZI;oXa4lAd^CGU{VnMh)I{Gb`l{|A5zA2)do~13avEP zuk>5Ds`!Wf_emv&u?L@~`L*W9{ed6*KKk>2?w9GUH?OBQsi5faqx=^vR&^@wA&Zi` zGksq4>n8cW`5B721CaE$`)Z+|tUND)4P9af(j|N=UXpb&`W@|i+bH|4mu^y}4I{5A zj>)V5JiP?yUbkf%kWDgNBD0*MEwy+3Tftr53{ZC+)6b;))FwKvhBpaeVh;gX`u_y@ z6ZqS9XOtP@yW^1vAk<5`0($@b?k9iGhv=97$_w7t?du!5zFn^X&}TpUS>FHkeE{~^ zo9*)D%ST`R>R0LImtXFM;21!!v-rMz_QuJr=k7Z``ltK*>3b%*0Ve^7ZfpT^JQ8bg zzFEJIhSZdXM3R7@E;{KExRLUx<{G+yY*whZB^H*uVjk9JaK6CGa1|Qm{kScY(jB)$ zQ}#fAAI;lwfoy$kA=tL`-)3~$3V^X8;5a_;RB)xjAjktZPTI1IVOV6m=X7)=x)C6O z9RmYvj!aV6lvlF~QFSQO#rlSWL<78Vf;}it#)7;Y18fNvj=(jXMlkjcGlUh^rhP{R zEkTa(XEO~b$f9N0oz-CsO0WygFu6g9ej|hycdip|Ldl7+l`oa_G?O0aL{xmP^h|U| zS_}{~e9?nBSs_8umX(jf01%GP=p;J>B8ONgJ>wOQ;@A}PRN< zemwizFPV8^nh`24W`iCakb7mMPgo#P(rUm+s?`QKr^yvHh^8N9yep|MG_nCoE zn$blDK&RR@T9r|vDlO!?l7Lw<4{s1i4H`jz1x$C+-MJ^q=dX{}jhljv#Gj=^fa9dT zEdcyL1HaAkk8p>rlSG?ITNE2tXUZA+^*zUk3!g0Nshx@8ur{=BBwZO34E}=-g_(*@ zuVd~bZnQ&Mh`dYtZ;!^am}NCtBN)%D%OvR$cAuw$Y>6KmbL-Ef%5bkqpdgphHIV}q zSR`VS`~xkp)kF5b;xYdA6J@8T{qL@Oj_LRQ^H0#{|H2ml5LzgPLQ@Ko4*4P<-n5cM zpBc>~s775S*g<9iFKW1u^P&g*ihs2mgglIFv&796M|8|H-oZx*Z}5NTiRN#=dNa!~ z$O6(%AI;iRe=7xz5j0~0qCm$a(sNuZ_BM0iSHio;OsMR?IeH}<+6EV?gXi=AVQxH zRS~0*Zv8a@hJwih^M7?dlgT#t8%T%!5)~;`aw7rP!B^j`&9RSt1KRO?Tlj3fot;X_ z@I8iRK!r9wx3QDo2ISm^K<)-$Z14ZaVFBC@Q0#%fx)3yw=!XGz%xwqzi+e-CcaXp5 zwDqF^$Lj_5xXb> z5qMaDmlXie9c_!C?v13f`T0eg0u;b!K({>W2Yij1+v&$pW|H)vjnc#VW%%^A{WbL;zOSXLw(b&shIw*D;EU!xQ=#1uwo~yS51+T|1?tE8`>pD&j5)7`-PF zn{-bM=Aab)4SJBV9+NF!9`xN=C*;Qgb_%p$VC(x05a1`9BzYg>KFdLX7IrLnS9JRW zkblG@akzeApYCTH6O46^-go}VR`G)${NQdM{NLUK;2XTYEeQZq4*THWx%08d9wU1V zpj{6<@W6I*a&q+Mn{N)zB$_zQf_^*+U|)w`zIEfpfAWqY7Mkhhb`ro5pL7220t41g z4GqUUZXCp+hO+ZvD2}WgRP{1KD0x`8^{xA{=+VV{1eP4o zBtaT?MVB}=nQy{O=FX5hVX+T_DPcBA)4s=}T~i2YTaa-osnET2YN?QJK-%BAT}uM& z$Y)e25)+Ox6CJRv%lodB85ANxQh*i;2ow{;zl7bR;;IhC;`^#@u_ehMNiphP&h4TN z6=u&D6~NxD$QLk*mks;KZs<`FV;h)+$f|pM^F)LYRfKYqVh-+kf;k(@zzciK@CnWR zMwyvmoF1}fGUS^KMeV^FWY|+6=rL-Z;V4q(DL#;pkavb4UC0ZgAO`=LT6KKpmTkNi z9e}enX18Sm(C*clmOSE;oyQdz>ZnNa`U1b2L`@!K^6*p!7{-MQMCh3*o-zd#1y*}z z-I@F+S{3Jn3V!~{j*E6q=AhSvVXBWx7y+`LF!;4k){VX(SWfMwCXf@k&)PqsoA5oZ z8}QkT{tQ@rPY!4yf=p~;E0PLaexC@rw|}DIk~~nR^V+o)dPE=v{NZ5EM8~9Go;i*F z)glu#fLmIGCEuEx+OIm`Yd4r7Ir^uYgQ??d16znk=d58Ok@cLH|C<8j0VmNUsp zKdNG_LoswhrthrYafOC=Ls|Fd=Z4#O%n5I_#cOuN#6gySPqdgWN4f|lyKEm~iI%oX z_R7gf0LX$L5(N6F*cg9kU$=TYWO&3HHdq8Y!gLD$#m@hhj1hg!H;>sYH?#ZzmkI(e zIrz^EO;nGE@e|gBG5I;#9aVSd?!0v2!i9EP9G3~@+t<6ezAXuWb~VQM+~+>mmu-CX zqaUR&e4#Hla_)WYwbyp-D8PH~y?6K4TW`tTci&C>LAH|stgNis{^DCNKljP^eX!4+ zw-o^GD8TFIzTP$h9E)5u(iibXo8VUsjmsL)!wdtwHqbd&M0D?fQP00eJDL=*ipsmJ zYi~w+t34i5@OHw$4g_xVR|IIBKwwK`blHp>3$?VWl*glOsLrt*TU^`i^d-I{X?Z@@ z6`-Nm8d`0Gz*CJ5+A9H@8`A;TxqYE~_wD*dfbArJwgO<66~>@~wwwH(P|h_d^XfVZ z)(|dX5ij47x5I&=t^;tRN5In zaJT+xdd^_@on{Dn+;%gW19;S7D1&OMiTa{;;FNU_T&ETfF zwT$NqD)?3SG?!eepXsW}pfpxQ2kBD)A>0u}u)n2;z$8YvuLfiIxd@0Vo&;r)U@lp*P8-bMMP+~s zE!cSz?O0$(!Mj;eC)yw`7?3e%PL06F?m+PD0eWuVu|OL5@2as2e*i5V#tEmD{*%f6 z_vb=Xm#`Du3-M=YCHn9>3mm;K#6*y5I0d6nCEZJj5Fb;TE|Y(!&6)C_-WfJ4_t6<7aU^pjN+ zif7hdy_ec3qMQL07LyPl2IhnRijmuvbFS&z`swD?S16qm-h61^e$x$=n+J# zM+b#(Vi~ahBS}+CZQvd!c2Wn-UJl4)?D`d*2#pgE2E{|%n|HdKx?5kl(7?xhkKiX< zRUrWq)?5t8EEjy|olmql?Ad3ZZ3%#^2X9~RczwGP0J0DM+ma314_ZGB;PJ;Fm#=)~ zEBx@o5BC}Uy#kW`Y(DRU|6XAq{I`);P9(YGjyt-dqROXwp4}Zt+erwMN z_xAVhngH?%$&Pf+e9V&D%)Wpd>^wJ43s8|D6(CYgLgVnu;dRC8Z+&k+l-igsA9};y zuL)yo)pok%-;{#Audip@>z03NGE@oKhQ-z;F~@sX6nlG)4NPLjW7l^6mm&6h70*Bmg9NuJgf*JHX8tLj>x)TV_ zkvkVeDVR6h1<bpxk?l;TWofZG4MnBTjtv?tq537kkNDF8Cy=3Eyq{a7>Qhhz z_I8f}M;tq$oCKIJoXxd5_!;fbX@)~i!3vLPbyZ89yP-+^UgB;Ehf4_O@G6|(1SJAX z=!aSt%L?UWL3tL=hh%=%K83S~gS;GoDm}fbB!(4-naC2L)4Mb9BXn_PPN7NkC|`mO zlQhGF?@Us`mCls^h+9>@wPW8g*_;`U8M_r9%`}tbG@BfXk>93MD$-nWJV5xdd+6wLq=r?j5((ISKnmt)S@8L zz#ddPKtwgDc79h|IRZyo>fRj8FA_9Z&*=g9W|k^uU&pq{X_Yxk1f+2VeUbHx%wxXd z8TgJizkWwp=H7^w!92y7JN;xq*Uis1^3DEE#?je5_`iPr2Hm)Ey=}1F?_IfaO;M}# zoq5bzCx9Z{sm^&m>G!Nf&|Fya45B#7z$63V7#H19FXjUO#NU%Rk|yq2Xhj|5*e5y=mpE zR=9;+N8|~g)Nk1LBv(L0cKfe|e7ux$w!at$0sD*AlJ;5yLWMn%9;6*z;(zWBJV5`^ zzk6*TNAANV-iTHj^7gg5zFi3b+pK|~c;bnc0HA&F-ygj2Lf_CaG;d<2Y`oLvtDJ^G$zu{4WMPUwMY8(2sJpc!)8|I{gF{)GK}`az4>6N%^dzF{ zI#SJoJDxxofq#-ypY4qQuD9J~mQa{>f0{WZGXm%gkUR6qs8ol*zbNO20VTCM1O}P2hJ*?5SE!Z$-hY;JH5cm${nIh#kJCUqCFaZ9SK?00H-+S zeHluvlK_lN;`df;WGf(MC6!t<=a1g$vJt};D}3|!8ZHLE#&}MQ5QY7D$n2sl5`dv? zq8tZQCB!97!T>ukE5gYWN!Cow6_*f%Jbbh2A@o1l9ivEqu{$~;FH>hIgCa}$_rQX( zd{;SX*H-0Uf4HWxc2)ibbWgi3?1T9h;J1zVo`7TZ9@z)_I0NfoyB;P`&zu7rg5L^^ zn9=iKgM+q(MB^qK0rVEMO(6d&tN4tZR;)C&aTy&%&{K#B0oRl$z;?OL1QV^aW+swk zI$1vgb)2_AekJRlB-;@D1x!p;SC*7GqDnP^A}jooQo}K{`cy7SWfz1F1rW?lK1j*_ zLjWg~lNOxiBPB4oCZu8pR*FrnK7|g;KkD3t^anc|$cTeIleNte<Qq2#s(}uI|Rn-9ek#`q}#X{cVD4yvo~W>;1h%YbRVy`Pj5bV_wLT`ZCtg_e)5ew z#z_Fu6~HO8avv)0WOWJ6n64Ng@Eu+IvMGU>kmYdDhI1LS_rxHjcFrG%?byagESCr5 z-KRFt)QF}KK_9l21E(6fTY_Py%liB0@cVqzKQ_?z-;Y~eQ8(C}3j)KeKknUgPtUi} zSWeV4oJZr>neY+o@JLbY@!cgpGjJb$yCRUNGP!yoTCEHL3+UK zJVfrc&3ItBg=2t;4Z(KHZ_DHoq4R`IN$rtvrl1DJD`#mXR8~jQJs@qtm8d9luQbyo zu;g+-Ctxu6r&JFFm%vt1;4T3Dq2ET|nsi!lar$IBL^Fcfkuok4M*eV%i&le76oFvI z!@Dqs@>X*~KqOu{67Lo|utKf`%+SY-LIn9VeGB9YYPqJKR!N-{4Sc2J8{Wi>$X*g|9$2kXq9F8z?);$6`C-IcHP`DYKYy_uqjbMkZ zX6c_9nTZf->cq%EN&oz&9~@<{KQ}z$?aQ4k{@< z_c{gxSNo@ZOKqgkWT^mFGy%Sv6~lOXAn?VYH`H@h0EP>WHzri3F)s3-J^`x0Q2>kR zJK2Ap6%Jz^khA_w^8Jc;#j!rKF+G&{uvG!=ug&iFzgs6g;J?uV{u?*?%zuCX|He(a zb$UWy{@X8gAL_L4@~j{*SmH1P+19{t3yNf-B|B>@1lVspHLL2EB=q`rj zmyO+u?~}Oz2%HZKKThbjvbI9DZIu1u4c&|nbW~ORBvgGQP~e3AXe2ZQ)ShJ80>DYO zw7DG%oBWSu&m$qALau$cKJCEp%)<=yvQHahl7;p6A$367WL$V*xe((JG^U?y#x8Hu- z>h;0Z;NS1*^8fZ4z&`Gi-7BXzo_}z6=Mam%z}=#&dK92WyW=oXvG`dAqcOf(-!Gf~ zX8joVXbPsn8ui5jwszhf_U^oz_IT0|m@84@;geJF?7vH)3PKlptG~n)hNml%n z1I7HEyfp^cahwxOlzDD)oat<<0`45}P*6WZMr2xM!a-b#EOFGEQ@`OK1QP{ck_Xju zLZFNn$f~}A1bYvRcd+mj3v@V!L%~ji+ykrxFnI7qM<_1uQvN3fD`nO*0Rl>tAPBUl z0xAo1ls`rJ1ep^5C&N`7%Q3!*iBI)H`Q>62_*QV_P%Atytq1_Hs(ZNRw%XgY(a@Ta?J07{%bLc~ zZP|}vB%0AWB^j!n5^c+scfe!coR+@jHyWMT_|OLQ_?}1iUv^*k!WY`#?UMk$f$Q78 z0swYx^g(XH|HX?JyV837_1Am3d+xbMu3o*`HULzy>X+>a&@W8_^mbmkb@fF#ci&Ke zEkNC;08Wpu?F*mN{ddeI>E9Wa&EfZO1W8L$F!BhT!=Z7c;QbYbC^faMIwtIwD{FKE8ukmkyln$Lo&c@v;MRHtc9GLJ=6fK$(Ei<;lQCefy0nB))eJewO&vf6UnB z@xeX<7g@E;G3u$k%!t$O`<&4{W{lEBpg_CbsrlWr!{l0=X^P3^fqE+ye5KuW!lbx#SdUDjxc>q?;7 z?Y3n9C;qih(Wn0TkL+jl-$&U4)lYMtgb0J3L?p*c>xJ#1u|h&<3iyz2J{F)aCG-hF zAe=>nJ;5ptD?#v?VGWeD5;%)_b~bEj&>0xmYZH073`wwH8 z5+VfpAo~eG6LS3W>@DJxpPAlt7Czv3XHhHqgh6j<`4Qx+EJ`@*C@u(ZjG^%phaQp8 zgIFh=`~(~wn#D$%62c33A)QkB$^L84RVKZq+#eI_d51d7zcFR0=lZks6$zO&5CS@k zs)DM}3Q={IMD;?Ob#8vyc6vHy_;2om|64KZZ!`ZVdi>wZFTX|q@n0OTW z4Jqq%S4)x5skp?dr%b1iz0ec9ltoH>9?#>MgT!ieB}COtQlY3_j4*lo(M9EhH*ggQ;Lw6?mpn#jh23O!{9MLrfmu$A4OyZc<@^AcF#)T;OdcZtR0#M>{ zPti99*p0DqUz!fsf3!;==M1EC3Zac$wKIxyPJRgG&Xo>#p1aiUKK0a7{73%CAK_=7 zdFGI?+`h`Sqi@qC;Q_Rb0QMXj=?Em{1o~>H!4QvH#rAC%GkGc1c7@x7&x+ z^v$iv_R6y|lC#O$5GoMaOi|{tLhpmZ!*Yp&$hrhHFn6v#GNmgCZ*Pw=NdT>LHqrw9PEHqP!%8$iTU`hVmpfRW zre|4vrO?DhseE5O$38GIQ0z@Ahu_n<4vU|8O7F{rn;A`YG^C8{!OQsYU6kc8rNKjG z{IO*>{^@3nVG87A*#=FtrnQq=1fljFIw$&+WWW)*xHjJ`m1g-z&n@+*gZK30cHa7Ve_I+iH2gwHUD&M>E7utx1@uV|4lM7c_` zUB;IJPoo3#T&7N@SmQoPP-u|)l0#Crz9&`wDO(lPCpH#HXS0E`Jt=k~b#E)Zf)BXB zzp@QALA1ihdt@d$q_w!v%6WAJ|F+p*3-nvifBnYwewx(~2VTLEy={@U@``{4io z`G5N*x_0$e6)6YJgKnb9CZV0eItdReRAo(owrGbHpCmCl&W!fJ;GpJdQzL# z@;|tfm-6rH>8kt#NNBs-wt77Qa4K~4(k*C+34LLQw%roYy_>dux;cG9M**LCr(4ij z^f&4R=i18IJrTg^x#)BIgc|T&lKs)IJ7AV$tre)|}}Z|wTEB>*&-?Q&8EjbC`-1%B|s2iteq4{ZNz|L92o(vAWoN;;vv0>Ewg zzuxO70kr6K2=_P&@ML$LATl2;1zJn`e48*jvzjPCHCUq${ZH2wNZ4OXDmXV+O{F3b zzsU6D@Fm1g@@#FCxj-5BGyJZkZMpvjrxYad;}AhtbV`n$qNB^T*v2b#xfy(t^At;m z`eq~TB!C?#G%4X72ehtJD3o-}SZ9J)@-xx_6=-$*9dn}(g95}NlFHHq7p33;X<2J6 zS_fmq0Sgf=cn!uw+@MYEE&Jw#kJTNpGwMv}2XyLzexi(&ULY&XloYx^34|0K3I-zp zlHt$Z>6+j#l&E7wgeHno&3Kq+*r%)T4z6~o267ZPqk5QM4l)mD4g?(K@Exy`pqkA# z{4s${idE0V1c6PxXTm1l#qJ!8C>Zs{?Luy|$UBu_Hf39F_C)J*bf^vz=Qd>3$9!QI zAdfRt1B%A2w4haJjPgLnzAz-r&fq^)PeU?XXILeDR=`lK@FHZ@oUWi zW2Zq6nxM1K5Nu|AgXbdHBN#FXoT>1$_GBMZAk3*m!fUdB@LQmLacly{SgkboX^Ec% z02zr2O;z8`?TGV^>otmTz`p7|uRmR9$UhbNx3bu;^#){Li!a0M=UP(;_EYQgq7Ec` z*m20XyByQ{s`odAqi^(ga*~eryVipKeei!nKX2Z+*^>jePEYCizxzM3_ir(`W!HHi zHpc${y0K0bi`Aqlx=A$~rho=1H5%B4w47@El&ZQhX8raOCIQl0Lf#5 zpxr=XOGXmYEdrKf#8QA3B_=J2XiJnVsadTSOEe`GdFsYfms98RU-lZk=bYp6jWOr? z&yl+U9yDuJ{b%pJ)?9OrG3L0>+dK4s`n&&s`q4WNs3yOyAxv(#9EyZ*$k`fe1Z-OsC><)UF1Hn4G)}c53UbzBwaJ9!Wfb+Kcjg4&c^syPC9V0&LCMS|$ zw!(A@ktbsoDo#+?w4<0{cQ5F4p4v5(PQ}m9K6m2xvr_`#@b=qp7lr!Kb<_1@O8}fM zVT`^{*B8I|Mf;sP@Ybzc{l3irIAt?Y3-zEMW&ree&(F{4O13xL=$-y94)1Gl+J%Z& z)Az%UjH)CQoG;K9T`~~Pstcm~S>f2E#e6iBJrZH8tvA18ROyone8>IqrpSPO2(0+v z{s_Vi=45IFr>UQ^j~oRK`n{bJz~Imb#A&TeO9&ijY%F-tjS5UZe`34xrZ&}FXJA73A=A^Bc8Jlt_d=PnDcYI$7miiNumtJ^!Ef73J=r5Ij@&2{wN6~ryvlZ z=9tz^XuSUtW|hf7%{N160IW>Ea5BYtDvE}D5PpLoi$MNs*Rs(LoskL#_!!ku5lE6m z1vv5d{AH@F31#6k}xcJ#OSK> z33`(N2OOF8;4lTb3R!^xNl)p$U^FSTlVmI_LVzz8o`S|X;NyhCTHox6m^d8-_}yzkI`BfVpv@}qOS$L4g|$5KkYt$1_=6yT zCFt`43&2j`H{~|6%_o z>|^*0S_D1QJ2IAH_UZn**1wJZKZH?#ANjw&>PdoM|JB#%Kl(raF5N$k{99ipeXDxU zDQS9;xlm2A?giO)2}2$3Wsp#muOjN&EbTb}LWO7slJ%eDJ}`Ter9b*d3JwP1B>%Zd zNEVR>_;CUQJvf34OU_+Uh%p~1wM$CBJ}rNfBqxsObQygGJAtBc`#NUc9W?L{rw)j` z5=OrfI@J87rC3Onyj-Tg=Vus3ia=Jc4E|{x^5P5s+yCR|Xcm``u18!y&IEu7kF(XQ zufEEk|NQ6sJszniIUEk#haY~}3+fDj9%Z(p0IeFV@~Nku>cM}z?jNteV@%bA@OXAV zG)M{l*%#sKPJC$C%yk1>Z$UU`8{3Ow7IP>alyFhKKct-{5(0<5NuV$&F2U6W;}-YC z$-!-GC{!?5p}#{e@r&sJR^{5&Y~SOv{W!4uSgs0_K~j}@0`=wX=zZBY8If@k0FKI| zf5rN?L2T5mMg~b*N0!}T0|&G!NrOChO*lkX7BKT$HCZj8K{vZ{}o$@d3kU1pBf>os~we^vr&M8J&IF*z@3~cvEPPcDW>1 zD5S!zxF;qFM>1Mu%GJz{!A;lTi7lK-70hIWYj%-m-2653hU`_SGCMAu1jrm7p$Vml zrU3@0PE5wXG8$+3_nJkZs3}^Ty@D80=oSoUuts!H6K)~@UKeHkL<_KOWHbf(cvUBf zLC@5-ust4iwiy6_=YR7*q|cm^09IGLH>W@YM=-~mO zRJ~dCvIztVWbV6Gr|%uZNeam210#jh9D}|f@86U>Lq6o0j$Yjj36E0J?|Z*1EP_Hu zOw$a#b;E-v7mt?qpP6p7{}!OZQ|!N~g*~{i)Iv69o)p4}Ze1@Y`(J}#?;~2Wv6cZn z4T1mhG@5^{f&Wzt{59ZjqyKH>zpwdk!T+h;y?Yn*Pygdr>FfXB?~b+pM^SNv#Gs66 z+-MhErYYp#6|E$$4d@xMr_AS8DVnT>{F|pS(}7$EjW7FzOM?zlW{(CKjz5E(y0n7) zTiKZxt1OOkZIJA#KYu`}LalQnu~WeeGjaYfIvjKtbB=NWznI21;`tu~UNIZYc0)6| zSxnRJw1j|d1{mN9WGq;1dCZ!a^{U~9iEL2wP;pJfXz_l#%h6y*HvBp1lEc6C@BG}S zKJ_WSd-pEy>9&uq`TDUY02*U_5reV=MK##k`Ab~ufWs>(!1b3cQ6TQ0aWec- z$v7#%;O-LFr|V+?AbQ4NyK}Jm`v!wz!Z_|09m_bZtOe`<4;d2b3ey}?6Xvnc|0vw{ z4>;(Fpf)pLyl)De=$4-`I+WXXJS6}Qp`${90fn3n>~Q;9D=Hldh`Dlwz{r&}QC1%6 z5G`yyW&PmEm2}726aNiqn54PlQ&|V#mE;^|jHx&W0#9b!1vV1=-TV%qNJNtA!ZOS> z;SvEp(PU&rru&hSqI9oLm8_J?7*}JS%b=5hB_vzU_?kYk_x25ffZz zRuRHde1(61B*DkY0fyiJ4ZQJnv7XS^7^smmOmcjxl(~wMBsYShDtYe^1XGFwYjp^P z0}|b#Ws3o~z(MT&L^qhL;rJ6xI+a5&8E{StWR6fIE~BUuWXYL;3zS1@rna^HE$P^S z^C_v_zn`C<(fJwECtiMz{^tMmX9*q6?D&q(fZ1qXMgZ|NTL56mfi6)FU>9Xd04D%f z+`}7^>R=^AIL{LN07Md(8|6xo34WY*j*fdk0w6%(m2|j>%X3_^q=Ug9BYc4$A${C_ z3E%?27!BDwVgBs_71#--S=hd$V55D%h43?_M1kT{-zkvBcgg*@;*V(-0npE7lTpiv z>$sT?S^fiW&aiR7YJP&#!r-9HD+v$ENsStyB;LE>N`4|SRjF`1;sxDFzbH*!l_iHS z+KS==xT5_x9k6Nee{~hR{I}ixANsWau?Ij4{#&^_@7$yR+yCYF=nwwI8+~nhO9*sc z>g&|E1cOl4x2(8jT?ldkv^E{?T~_pC!cR)Vm&1n$j@nON72nyZR(&v{P!~u;uLE=d zrDp+m)h077!pwOaV7zW2TFxvp!U zAOHBrsT~EV<$K5KNdVlG+$jmrcmKEg?5`au`1bMQwZYf@I?2@)ZHKEqwFZ0znw*eo zvnba0w@+VJ@66rVU(|t*w~}ETe~h-BG?q^J1R+zKEaSkPQH@SOP|cI%h(p2i3Uo#(G?$j)+sx8@9xZ4> z=N+>W9GfDwWl~K=o}C})-~aD?j@s;x%^by~&p4sxNE4-i41+hrRshEUX~n?g@8)t0 zpDQV~zGc^=m{6|)z3XZ=wu^+1<7)ij0qE?UCkS|J{pU&N zIoEN1hC1F7JGH-OI`RbbDxp!YiEin0rEf#GQZcu>s)2o)~Ds|M&jvUHZTOU%%DY`(O9O!AbXAkI(kks_nPZ0Cvu`UwpHR7=OZ~3^gSw1qg3Mza)u(BLKvOUYBk7rn?p4U9L<_y{w2(|d^c9G+ z{4>}rD}#eYezVVjjwArecfPV7I(zPgFP**~?%%(EXz?U{bUoJf<4yqdj{4fyzUIBD zvjDmdYQNhOfcAOo)-Agy&p!KXI}Wga?^B(w`a1N)B~2mz>AiPfbEDXps4oL}pv=jB zoAqpaRWSP9d`nP1z*gvs3}v-VrX+5#DoN5fx{DUO{0L4n95VshcRiug4h3zeaabuA zYBho?!tAzG3}*eW{cgwmF(~UkoNpSDBot%&Jh-DVsKtN^#ow)yLZhd3e!@1gh89>K zCdV%*)V^(!9U`IZ3=!OSFgZKpcHi`$0ao=&z9d(yU#gp5v+#2bC98@-O;i%PoH97P zz^^(T=o0L-I6zUbgd>yP}o3&bcIfa{&T}1`L-|R`9cobQ{JZ%YNp< zZy6fNw$eHYjlArbAP=x0DFy(0U#8aK#U%ff-gO(skjPOQ ztP>K8{!*H>fU-^dzrG$L|9#Z|f$sAEU`+kL(DnZ9dGm>X_ji6k|IfewM|AJQs~+rM zUmg4VZQ#a^sY^8DSwv7PIt{g~n=lk~F+Ns&R9SO8bZXWFjq$$#JVt|?W=jMN@qiNv zB|w39>v!nVbPwz2>HV-L=)M@O8ja82x}=o2Lfa(e&nN}Ja?YxdkKFrj)cch(R+lj+ z_GrN0>hyk0xB;&96{~y*vzOgKpBuF>*^=-Q+;lxNUrqr*qTu}ebEkpgv(J3yGu%#< zlT^n?*WUHxP5?|-+Xn!Dzx(dHbocIE?`YcyQ1<{3%B+{JKfZtGwkl)p(^~`(`vTWc0IuLvv!b|k z9LCw4G6Fd%=RF> zrP;z(byIH4$6?G4#eBI!8<#mlTmoiOQ_D^jSt@NdTOwwV;1vqPVTLw6E0vkUo)vn) zoA1Vp&WsYlx=dx^H-p|MG=R}w=CT#LtMg#E0n|?0g(_tDmuQF9dzUP$v_}ai{GN@6 zKxwLs;=C73txwFkr5p@l-+3HL0Yvc~;(6|X1jpns=*@|z>v!e92yhir=YPoz;Br6r z0{Wm{L?}D12~e6n8K}c#!>0XlVKRr=A40{^co95GWx0Aw=onDx9FCbq=#wP)2^|ih zgr@c%gWlYge|=6x{+$GDeoK*mfT521tAWT;DJ5CQN^h<6a5fSE=cfd~(@&rE4FSzD z3v|p$EUs&Kjmc-t_e?kBJSN@cK z{a3%+1O7JU|LR(24z$t#E1e0T=hb^)2C6gg7Fv?fSZAd;oj&4`1${~r#hP`jPP22zvQck%orLr*>Rv+c__ zzxmC66yVzKeRS39oPNAl3ugO>_$#lx(l&7D8~wE;z^6a`X+9}AX$q<-x(`11z`3s} zy7t+U0Jh)D>xV4qQj>7XZP$aJv6 z*g~Uc-&%?A4at(LEg^6knc}wI|9E=+YCzduN+R5s3v4mvx}mmd4&$dDUeE`JXFQ|d zpgh=7fJ`ainv4kq{0Moz5}{Jbz?5Cn<0!Y67DuL~W3U;~k{UjLQ_5(2S zyXN;fOLzaH`SIM>12;tn?8a-7j#YtH~ly^-RIO z32X6b;$G0nXpJ9QD;@ z{)ALhJG$j|2>6atKS>gCnH&U4zD2vXwy1v7Cw+-tYg6}tXfpt8xd0Q`_2CU!A23~TdgqdYjtwL1Vq3Kg{ zRmG4L1rE?-DZD2M!Os?~C9r>xLo z1LGxkwKesgupC$W>1BTR(|>ZZ)4cPfKwTP z{>9*sXbQY6sIz{aQZzE|hw(3buGU_wN^*{}@9LC8>12n+K7qI72Km5ZGOAuDYpc)@2Fe&f z7!WydfZk#%!LbziFYVY193!j4o2L9*VT{B=RA;|aAPTg%_nh7}coIpvXAXEn81kqt z)MK`nApv6a18}|n1-LIUv(mZnNx}~k7j9K}5y-)JT3^!$mUjoQO6TARVD?tPBM*KF z`6qZ9K`zC8kbk>}v@@9J*>iypJ|9&IJ$j_BN?NLvW}bp)kCK0Sl>BQ|(`QbenRYT5 z5HBmc3h0S4uhXN-$?&b(pjhAN@8Ys=>}ON`AJ|cUZOy+1|9}47_vowt;E(C{5AOEq z{ypH=;Qx3%rvJCU?Kn0p+-w=Aw&%$piJ(r@Mu2-9`VvHa=x=e}skE>7GiBW?YImg2 z%IVJKJ6D=fBrRP21Agf3NW9o@%Cd%iUmL-}!_{Sd*FM}oe)Ga9ksFbl?LTpT4Q%S} zCD|q?F|kv}l=s~J%SL$^YP0@H`}855SpT2=O0^LTz_Pa4ZGe3hCjljT_zo^(gMU2< zK(tcb7?9{=|K5MljsiTi4dvydB><0gJt<27q)pps9Y>U0T(mR&^SS4qt2U_Z1CZ2aI@(Shi0@hW)Ym}ZymNgm^6|l8QQ;N z2LhC&mN2kM45n2+@$kxkB+<2G=jWnIckS(0kAJ!n)jSsZbXSbwYr>P9Sn=nb^j2}YD&yHuA(aAjo5b&hB!Gd4!Z_$cT}oJQTwZUBvStT-QXE^ z`RDvnm4D{kK9pvlgUP=DOfJJk{>|BC&SYK5Kem^jnnywa=h*n~pc}6G^#4Bkf8Lh> zeD}3?bo%W^<9OMPVq^uFgPCe*LK^_~ZP#x)S3 z)V#~;vII#)CTgXmhMwg2J;Jd@CSA@+{td=agYj;RWFxhVFTCZ#Yg6D_kn}Qy<#-X) z%>;>V=lC=}UeM2ZLG%bas7Qbwv;1ezV#pvDPNPXOWP+D>pXD;VNc0ruP@k_KV-3N7 z8{vO=F@k;z{QKztDfmCO&Hhg1{>5+qfWG=me@s7m=YF5=f7wU>uj!(V{P*8u?|{A+ zK;KAk_-^eQ8_^d$7xGU@{)xg~Ni}h5V>scul4v(w<=#|w(uIq@&~m|_pr`$FF>{0$ zx{b_EL7U$8+|yYe0)|fGcdsb@KB!E#y90|4AMAbwhKs?ncU?+5xpM{d|B0`=5 z(^CKlmiF2olg(-l`bF}`$`H+hS(7eSMoJ=wC-okEC8kBeOoLAPEC1%tz5MdahhP5X zUw-12wm+%Y6GNzW8o)Qc@s0ld^Pm5G|NQi)KW&fYg%@6+=bwMR%>d{ebYc|I;{f|f z0HmB{Cjy+GpZC8Hju&ru#`z>zS9G7`?C3LZ)bI&9?w#jka9dxrpSe*5P&Wz$W8_L{ zNCjCiZw_v#F9;D(8#@jD!?fU?o6AfIZi}Tlx{%cDB#s+|z1UNhN&-dTEppiJW zlK_xM7@MStu3SesIf6$hljTU9Z@n+4cGj2acys(bm@Ivi+83CSAt7&(beG(y+0?1! z@?9!^?An%4N3r%3$b&idAw!&?5U?9lq7?AX$q=hP!#>muj54BJr+&T(XV3%w?^>J7 zp8SK{MS=m!7W9okk=t3XtD?^G!Ns zbZo;Dxp(iLm(hIy`h_z9>_mW*vg~!db9MEGJVoPiKjc*Scy@If0Do#k=8eZ~XFhP? zeF}*x^1+ih5;)e^8|=Q6$Awh~_?4l_L&lV|4+2wH*qp3TZU;TFfXM4~ow1EK zOqDnstjia6xCRdAQedyxHPN`YRCCddu% z=Bb4X+dCn!GK^FmdVm}g4Ke10Jjw+YnSF8Ifk0e#2(#wa-h>C2-*i(uH(cOE1y30+ zf&S?`|Ev5T4(I(@PX@Fk!1+O!1RPGIboc1F&pj7G2vKrEN!xSz z0=Z57Kt@AD)DYqn3|SqkWRuIURKmS@#`-XS?4mfk5muZCb@cV`j$}7}QKwlFp)J4&{47<%S+Kw<|U8oDD z{wCVRd3DvmueQIsDjjp5YQ0!~#RugXTAIoJ1Fj4@H@?aer@h~MmlQiRB}@R%sZM>) zaK8tOdUV{iuJ>=7{@Kp{w(fu2KLzy1YkKd_1NtXleU;w0eQ)gUf4%7m0H-9tW!n%? zJm~L7{)wo6y-|RO{7`h9Q<;)%x!$q&k^+cwsj{LDh!*Cxv{+fi;9b=ciFhe>OVFHd zlK*@q^DnjSfTvz4|Lw22%g446;G3s}&BxCu4H1UX>+9YTHGy`kJXpDdPfdpRP|Z+= z8%maI|MvnJ%r@7|8+B-@NFJn{u%85vb?wlt*uOEAsL>Zv>?pMC@m9(|xXFl^8Ic0R@z4zX;lK{4lee7eR zCjkijr7H2qA3c2MPgSu>59&|c{P6reADOPgpf&i&y_H#be7bo6xfCRYub|oN0-oGj zgOt5~6Fq&KhcU}YjR2gJ3lv}~9^QKUelj6#O3x}DKk2=*P;y5jqf{*j1DOjQe%i* z8vQ^3BTumADRVpeoso0paez%%B-bRY)e6?sxCGN^-ER1;9%3+jG~t!9&Z&NmkIC_f zXDEydtTKE=l#)OSn88<_bY(852_to%KckauFq&Ql99N@~=x7UcNOHhA&uCcHR~}5aD(&iL zl;PbvuuSkV%76BBDtm?fkCDakAnO6wOrH{y#T8{GZ|0qdwukn@*m|1 z+DL&jqA&R^b`c%}a9zirXx>i(0A1ngywk>J9=9I?dcnTaE>5w*u=sKUr<(}ngv897 zqNDq5hp_gY51lI$a*Q3w0n$?bd99NI>G|3ODT7J971sLe>1V#wV!ZEv|NGX?qXqXT z{CW~L0d!4yN&ut|yM6n%eU(#Y$M5ShfPTOI=_Y{f+MasqDYCzI{rX#f{^rK=VQZ*u zhu=28yFT0}^}`SOP09pfv;irn4R_Yrkp7mWe%^A^+ z03FLQ%GH(uw0C^J1vw697aa|642`8JYX6C3hVPQ@b192Xyx&t@$)#>IEa6au(J^`u z$&IEz)hqM!ic5x%Q$4b(v(%=YM#&LOB{Pk}P>A)WJMs?00`41H5Bl()TeL$lxuKN% zf*ik-_aIOQ7=Dpbx5U2;^-vgWmjICCM6U$Xk~q-5!Hw_4vlt1XV8+P_9QZMF#zSR7 z^dCWJCa0Ew7Qpn_N9NP*GZ;;d3q`=dNqS@7)JZ(4d7KOif>=QVX{0s0lN7all zgp$OVX@RCBp<@pu;)O_9hW6QmaZmnD{>+~~=-x9UF?t|N47cBR-npN6T9RHAs^8Km zRdHOa2!`VfBmN}24z5VWmdi7}Tl&!N;Y@gPOuI9V}j>eKhT&c0$c05J^2@~3!-qT&ybS>gtHZhWWlg2{3BsN zM0>g&o>e{xH6Y}C^w{!`b}Gxi$-Lb&nc$@Fh2}vS(-oG85kh6Km;AX2XGLK}(Oiy! zPdH=fftmibWZ+S!{9jyM_EG;a?f;>#_ir-*u64ct?|t(J^bh{t@6(UodC*7rE%3k4 zDgSNVf0_|+90N7u$UmgcEJvt+WwMbOQ}u+W`&gf`VNj3^+LLn{6q;!gUO3_(EDQ zSba725CQeX0jnd*qmfOk+4^@2_Ty+Y2LEfg2K|`7)_NbIAHmM1^>rMiJElFOaNv>m z=mZh=r2wWs$CCarBcRKC7Vr<1CA6cP({JqbY7)RT$VQ$B zzQ-?g_|cId3RNzPa`nnE>?aE<>{i|ad813NGY9z&zjm<9wIx`3QRaku4ft)81TThv zA9cyj-DQ6+f|6vk+;|D$h$~m;Nr`onZZEF7{~g>)WysBkpI}4-oSX>p@+i;t5<00? zp26|+01P3n&WCG`sB3inJYCL3tR&W|kc7Gd_?Tv%D6$l-#Hd<0F4zFwz|R1yIyYi< ztQdy#PYm|LamUxtDNskn;iWImIq|nypH;gZwiFRRGr{0oXS* z2fqW)3=c2+qH=rGl7iSO|Dd_CUHoOiygU8SUeJPw&}LB%scOKGzAyS4>$C4U2?p{r z@rV#=G@*T~i?fvCE|e2V@Ck*Dw)b?oE9~@tk%Rw>hknnF$o}+9n~I zxb3D3+HphT21VR(bROtX`k&7?mPoQ=J>oDk>=5R!EMYMpASL$Fx2`9kB?va`UATD6 zjHa{y-YelmuwpcQ|EoTsMCB;fL0-{hn?D*hk5A z9{_*WsyshGZ+ijI-Q(4Fo;y7AGrg^o;9Z=3;B)+Y#EVCeh4Rwqdw7CEc{+(ZVOdv> zq5~+kbwcr}3WQ_kfllWSGc<&(hwEd#|Hk3K5(tbs4Miy#0qnL6Yd1h_Q+c-W?inB2 z1T*eC#&3GehQd4oe@TwV81o+qheO|JkWX3aq19TMTjvAwK7EbGi3?|EG5rb2#HcuE zHkj@+mM#fbz#Jw{?+KLBE+liKkcL2e!r-7@vs%ya$W%UG1_{%Snr2Rrl1OrLBUm9n z2*q26uZ0&AZdT7IFPTPMaCBhB4L1Vr&LZdbp+*PIq8@`F9L=QQ)sKd$oJ@(&g+hLk zkM2fNC(D5l$>QV*r)y<8M!exQDN|!92;x|XR5D-%>9YoDQ(0(Vv>m35>#&=VU`UEX z$ejsQF^-qf{eV@8P@Vqh!GExa_6asN<1*keLoNQhCMuFrDh!kLAJdA>*!X}r(;aA# zWLfd9Ns|f2@*K-y^+6BHyh3XkZ{-dUbdmOt_b=NhC7lugcm1RqI|ZQW(lc_=4SiM` z;}jG!WqG5dOKZPZM=HZs@!_yzOYgtX1O(1sk)W9MgYlR4mcy9PMUN%_QsEOwb4dcm?foRL#zQVwJn61S;RguSujN_pn_0F| zKkdmsxttPMC@Qq5i8935e}@62I@)h_k@j7F7C2XaE;WFj0i0LHaWt64fYrN8xMrP( zaBs&U`+We*cKg3*BmJ?%zddXF0^Ir0efkw!@2{i!e#GBVbQZv|*E>f1W39hP(5I3H z?Fe3|CnZqK_9oG;=m`n@SM_F6X1S3n6NG({_4M3}M62XMw6(f7WNtHCL0ojM!X~K| zXj3LU7;N~adjL3E0G=-XUn*8v&|m@qWe99;Y6El*xht(vhr>O5`L>)_Wb^mO_e0wD z%#$mbK!jwk$+fgGxxUj_x`z}~UMU;gr!JLkRj+H1Av&~A3FxVX6J-&^qCP6DuL|8}+Dznuhd=Xmj2 z7}jwTK;NO>n}tgV6qSY_G6w6pL>8W#Txy|IqgfI5d;c zgMS;T4}k<{*j=?yd9G{KlR)&kv}`nv`|Gui{Kh!fZ$GGt!c0({BX44XteTk$!l+u62{dFtXMO|=YywFwF{c8A&m5~_5F-eR-LXuOKlUWLx zl;+^ML6qfR3eG6Ur4sGu7%g&-i)MvvKl6xcbwo!W(-hmq8Uf%Q424QNGH4d@{6C^#l>fAkb}${9lhiUyu2_=6ZwY|oDX@Rz zlra3qzxYS=!`JWjwf=p?U)TI!X%gV-a?A*5BmGB90;tTiSpYU0Bh%Eo&%e7zQS3kR zfXSTE+jNoXV(fS3-0!R4AAO_fRZ8Ebl#L`*`e~K!@Rh-h-=o(I_Xtq{M&+^KySe^p zMvRE+qSMIwyH|9$IA$37s$tmt&+P_H^~C*vyVHe3{;?x_zq7_NjPfsq9NN$QI6#7a z-%$R6?3`>Bqk&5>7hN(FYoHH)Lhc?J*h$xB95%-^$*F>8pZnZ9@4R#P(T{#~#veuh zkG!6UqY^+c1$J&k4w08$dZ`@+nC`WI+B&HAy(IzKw0~UxuVwh1tBW@*W!If7xuom! zhY{#9fm3T^E#kvWjo-!{F~3IC;RpL_B4JJvs(zWxobxz)nryRa|Ko9v!$9H=A>QFU zarh$yxi!xtwsHsE6Tm>U^F|LNkRQG&`yL`nk6yN|`#)nHTn!&atnN>oGSy?VztNw4 ziqqLh0(g)_;ZPZJW@J&hRGz3!K zaYN$H9KfA|LZhkxodGs6+6m>xGrWF_GYpg3U7(%HRLkSeOD)YnM;nns{6NSk0?{Qn z#WRgyHVUm?PfoHM!Gep?R^i|*{H5Qbe{p1s^!Fx#<3x^lQNL%pVK8OwhWO6-WXA^+ zS>n~_pk4w^2%3NxGyhs`7!U*KRr*3}N5aIN4lTujVg$b=P^X}OJ?Vj=8vlpM`X!80(7p7j&WEA)4(qM>__wq>^Z#5VC!_%RU<36Iv%0tcK7V<}S28IBq(_>-}TUe)uQOsaS0! zAckjUzeE41ekX#R#FS!MwyWrE8>OTqbXL;L=xlVaWe@WVI0(^}Zf!k;AY^87Aktw%CW-DvaL*(5P@ zvN3#k+LPUgk$ndTo`H(d{Q(46{-6`>LG7^eHeqd>L~4(1(Tz&oxJ$|L_O>@lu#DK8 zLr*x&L7Fq2izFi}$r$OF9Jg5<&zuT84GMA7>|v|_5J-~;FA{LLp#bF)uC%o^D-|ZD z)d&KP9uYX10yWm4`er4*xBoFy;UQ~^ANiY#)q7hf}{z}c6b*2R7e2HY(C*PgH z(@8HTVGJEXK+@_kF-hWmgi740Z=Zg4v-g`4#8t)kWAiK^Xv9y{XI#3D;T{93f`3I0 za-A_PnV?K^7LyE!%hfU&!b~_qM0npCMu)T_L*e9C`Nyu2Bu_{&)lm`L48gWoLoL<+N@e$ zUF71y3qR88zQTHB;lo$WmGQ{ebDaPzcvF& z;8Eg9Tc|K5<8 zxf63l{JWkmn;aFQWXx>I0NacnOum|O3VWn80IGU*5@@>-^m9BYiZln)q8N=uGXsD# z-L7LOY3cg|*hpLZZ|wAcAj^&)ynKvg90IA{{0ryydt{uMj=u9XGfo)`r7R9}meU;c z>|H_ss3+d7BQ*Hgr(kg&5vdn1+Or3&n|HafWOVzY{rYY-AVS%pT$Lg0;5{oU<@W%< zU-BX=btt5cnf{kz8rrr zfOc;ROk_4%4q`P{71%;|8>P%>h|^f~GsIuKU8b7S$}%I-jCO-K{9F)7qjEGOC)kHX zvr&duQ$I?eUHO|S%YdYJilZj+9+f~|6z&Ci19vL}<@~vnz?5>FU}bpC$?8X6>$=4Cqv`y{2iK<#Ie+Ua zDH&Y^h5xkzW0Id|HY^N+TVO?qg!pE`{DeY&d)wZ&tLu(qEi-*woo2PfJ0zB)x|L1 ztGer4#MjE$+g5xWF=%srP#A1Vjw@hD^^sRWWMRDJ;PMnJgB-_kMyW1UpbUr4vgvYz zvFE_)lQ%xLe-B;2xNU@T?AeTMY)L5K!~(tE;&c8Hw=BSc&d$#0si)3QM(DgxL2H}R z>^ZdVc;0Y5j`CGs;_=E_e^P|qYQYHIfI`>Qmi5RA(#jk0wA|Hta;w%Z#}Dvta!Uma z3wnvNbB<2CH*Ce3QaqyuG&@2R!8;XLX292EDc*wD2kjm>*Kx@56r(GSH-nRrH+2$# zz2k%+Xxs4EVPS+>ib&V;6+S@F^Z|2x)_(OKD!QjSz=to?ES zJU_GFr@s@U|COJ5fxh^2pP}mHg+xlUFh*>mbO!qfT7vdk&l? ze7Pu({4n)LDpzShlRI7N#yWFy$6#E|fSE?ucI*AGd0`*!7xHg6>xoRCRe7%EZv;*G zgdX=ojZxlG6nm1dug$lO{zmZM0{#oz?5~abx3&AH;Qx&uen`Lk|M<`8_UW^|*QWMg zLlU6v?r%r?wcx+6ENV$aqDVNCWHGr>4i_|_&=ZK|jZ|RT;o*Q|)t0@x%Y(F**+}9=B;|Bf4XVd-M{o}JwJVh5@{1{FAJvvEiDY60n58niw*EWCWREBlq zLEUSw>#DPp?{x|fPyT!#F6`g+ugz2D9)^*16uQHr8}wDVdz3%2xDP0< z)pqG;ujj$>`n6{c=b!1W!71RseEI`tuQryQcH3u_JP)A9hLWU;Gn9^mzoC~qef?1z z`j;Y%E2mT6WnCu}b-9l-mG#=}UuK!=hEW#vQn6oAPvRs|?!ZU=K&a(qzV#+X_PooQi)3&oZ(ux_)2q z3&V5mH%V`;T3`Q8{SG`Lq17pU)i3@DFr@b-)}mX>7Tl-b1crogbU#l4V-7x^{c&St zr3DTN3(d;=22H-I-x5h?xch+|1k=_GCkcL8jud&2BMx(bA3c8ny5cB?;~@lfk>{R~ zcM$*d5S~S|;t7__XcR;NS};1ovKZB)#j^qun#ssz@idy3gMOf^#QdR*Tkwwe7e!f) zN;BM2#zO(eBx|&mF51B}*GbNgP#u{*#CoH7No8vN_^;tECfX3s zh4U>F{}jsM=&XzxXnr7%Ds%xE?zoR_Y6)e*Y2n|a6-)%W6j|AFRXleS)=rm#7gN|9 zti$!_)FA#q<|MLyMx&INKXYmn!SbL-1*Jx&{+dRwC-}&1SG=1gcH#l%na;qs(T9c) z5$$RK3H)eZr=TLR^7uxD(dB6ehk2I9O}~kd##o2Zvmd|Lj_>Ph_fI4Lmt%_mg$Dh; z(O=)V?@0go@4rF+$*=tx-T&~i52CbV{l;$pBj~qeKznx7&Hj$Q*&p`nfXT$keF%{M zij}jQ#O&5Rtf#InzgOwqfQkLNfFm^K+2-DssSdD1A~*D3_@L%@jQSA9wI18Ms&sI& zzW8tM10r3PapHw%-njA(3A;+kCI;ZkhM`T+8A%KkC+q@ii+xG1s*Y%6>=CfJkLVqW zn}qdx2W@QzlxpoFm)S>H`wD>^FR;^wNAxwm3HxCHF?&M(?SJRzP9J~zxBk}OlHdEi z-=jw*xPFqaCuI+SWD&mn5!FqACo#s&v7$K9zMBe1M(9JDSqsG6PV74|xBHRsjZld%uL;f%&<0Aw;Q z%MKMPMxEAIErZ7D=JG=B4EmGgQ8^qqa+hmCtxB`?K-f6o+Xaqegq!`#x*VwkXCo3g z{i`=`zkA=R8DI{6R-+IG1@IQiF{S{GBx5fI3d1{ColtQsqlmwZPOb+i5#0Fu5`7k3 zQu}NC>u?Fc46vIFB*R*1Y;6Kci4~YA9DlfH+*^$<5g2nLED#zDlLh3J)(Df4u5u&d zBKZ~P9h4Q+16-Uy51Lcri2NBgV#%8z9muwKJm8oBo3BJxUOy|O557vzWv6y2WCxw^ zrREXRs#|kg>&s!Ikj4JaMi3mT!_^su>GluaA9_&!grII~pO-;k;h}OxQJL_sxGfX52?`>_ zSfT=2T^O*to>KW)*Ia&yOfbnKp6}IlqXq!^(2B=#e7f1+<<&UeuTT4LJN)Ym0AKHa zD$~~c|9}3;f7yfov9tfx81cVsQ~xi0+W)m~A~;6>A;>?qZyOCV=wq`@S+}6RyZJIX zWq2=(jTp;Lx|Wh;j+$a(w@jb1!zZP+_`YjjgjUIpsZ@GibZ@ks)e@=N z4^sPesqI~vDgSY{9OF8B_W94f{r203U;gD^KJZ7;|BcrZvj>1N&sV*62j7| z#U!06*XsQ8q;6x63ns7FLJHNN5f*IvLYQ=P2nd{fa~QUTx+Hgo{0Kl7WF`rZ)!{NR z!|MQRb4($8V!IwAQ8a@8X7J9=#^@9u0_s}VN+qj~dhDPf90Oz#N)Ba8@=!KTDG*hB z*eT5v|H73jr&;C8tkTe6&|_c~M9T)0YoBllSCoqgoHcYJv3jXEl?%mVQm5JK&`4@9 zrQlu5v3UfRfUp1s4GGO4n1dkzGk_G%hU2X;c$<`8C=IRnQM_FV-ZGw0ncE#ftAU&0 zT!UhC_!snLLUe_Af>qKte=Y&L^{?@S^PdE)P98y#7XPeTE4Ay+Nu~oqf~v{|EpW{B z8$D#w&6Nfr?NVUNv>ES09}#v(4tNBGnh12m`r-l`_M5e}+3w0bf_2-C8_V6f^MLN( zzwpxmjD~1Sl3qj@&;U`U5BWQJ6rTzYPvQZMNM%sj6D#(_0|xKj=0Xl)G#TVB)o2oD zB{I)pP-ubRa6mbNL@k%`+?V;DQ@)&NR?(aGh z0as&(|FO%zcw5`5?*x+TsPpND3*|rElAZU8ZW+uM)p60aggR)Cw)>ad0CG;Wt>5Rz zs2M|gNybZvs@#FZ%EH;Gvx{sN*!c%XZxSSw(#X4neRCh~z_P}wDQ6)Y!LRT8U)58~ zG7$LVeFJz~>D16K+2HTU(UO@2=*=r~I?Spt$eq9EKK8Sxe-E#|`s!bvseZz)Ct?Xe zyNq$#Mu4=C%};*vlU+HU6r6nU!3V<+65*ympLymPW8`)m;MUgu>q!9pYU?Tg?7;`$ z`S+jwH~K2}HsQZ9?)BLNIzQO@8+Y;>>+;y*Zfp!luU@1K?dYxTuf za)+Z=W19~4XB^G2H6rHRnDfZc9=b3GP@}q20in9K-!Y|9)L#h~jkT>FJZ)kjzVE#` zHU>QX-p1Pp)n{A(&ho;x@zbYY5A-a9QTGO;+Z;{-Rb#ujjLhJu`2(kCD3!IVB9w{| zOgWQOD!%c2mxz`+Xq>rfZU)c35HF@2@;q8$hS_+le{jJ>c1bamH!4MYmi^VR56olH zm-aQ117bMm!fv>OZM3jf$Vd#MAqO0YW4?EUE7CV>%7KdiU{ zDHF*S6wQI6WSBtQ9DgbageuduHG%sQRG@{)sI7Ycn&Sz=m*p_QLKBQspu*4;gOH(e zIXSojj(B$h+jQOYF&flN&YgGe(@URt(MRq)5CT1&1E!e%>M&=p6E5D*;D}@32aqR= z5*0yD)z|R;#K63kf2WuvnwcCEKqNHFzyHQ$A_cEUf6o^Nf)mU{OC2_Gf$0bI3+z3P zr46|E4)VY80$Wc??x#^Z@XZe10ZzQ1aHO()$8e^(y}b)1Gv3Vbut=6|LD|q}LQ5%M z$rml!tGF6|YnT@}P5m0YTt|S{pV8`QA)cFUw7adoKIQ*7M(Hngjei^Yzl16O*E;S0 z%^!Y9zw*^@)4O*b`Z0cejsNx7>Hl~=rvA6jwiF-&e{pilj=e$D2k&XGB>k3k6&0=n zDFwa96D=qHr5UbT+v8j-zNybm2ZD7Ynk*47`8W4x-!D_dnr}P0wL=Bg?Mgx)e4gZL8JQuGs`C0`1Eq46h zaMRtt%}$U|xRwJT%^8mN#8jceJ-kUAw;yra>7TQMAA9JiG_gKwxN=VjNDJcIJ^>@> zFeg?+Tvnrgs{fhu-k2)4wgg}}8?lrCCgCV3R%|?TP3idq=$ig9z2!_lsNK)Fl z>~yXD3PNYo0{w6R#H&lADipnC{S!`7R%R)Cs^2kq+w+>H_1Z8VH>v;14Xy8J=AhEJWQp8J(&9ztAbb)n-AT*LW|G~&}|0T8VJ zSEqdo`S{`M?~mXgM)DB%3b7RKU|vJ+Bh&!b&`-2;3C%Wc4GXQLL?Ce?64a{lPdOoM zuvvX89bj$Xy%e`o)U!%>(4xJN$DK;?b_RoxSK~b{@{ja{SrT5Sl%~TrNoiMB_q%MT z1dOBoF8h@K5&R#0(?3lV?h7;FYzH#?FSJN_g#NAXg=(bA*pgvpH%;Hf@`QmJ*i=%v-htl*>mtq%-s1s`xE%C$gwTP zr?7`nT=lT|LIwnf{U-?SqmFSJ0LeHCkgC6E0R_V>Xj$kb%Acd0B-(h=Leip;M8tz> zT<=`16IhJT&OZCX3oqE_@CNEf*W!AT5&*7!zVVH39A0_lmEN77|NQ6a_U+qK;pd-! z-ZuiYzo(ymy1#P@`ZrzsPdXDo{^Z`B4=+jHu$G!#xjcKnErQ26^#F=~Gm#pOwNM$C zH9^z>3rvZWV*rI`bIxR`JCKhmidd zep?Vh)70CZYB^&Y4;_Mf7#c@ZP4rm+pME%wWi%(Z!PGYbWG-ePU^6-jDmZ;|U^G7K zk=!(DCz-++9OMScbtjeu`!E$xji3b-Yzr!%XRv2BbbR?)w+^$iIT{s|cS<~{> zv2;U6N-PPU%MQ3ucE$k~1&9-HKsD@Fqgy3lth6@gCqtHbsCEZREPmEE zb7}lKJH9yMA_8NR%^{yZc>R6CQU6WmWE}=k%nK&6_AohRFbPF4EQ>rg2IT@l6|X3u z0U>ix1av~3@}H)_8a^0&DUYNek-#}5#7QQY12%<@^ORcw{YhMAX2}iQjkp(@hWvAp zwOpU^B=)yCuvi~YoF+GbH9ON4U!tl!nMh_i^~VZlRc5ApOw$`@TW@A79nUZ+l74&n z83zO=Cmn81m0%BXI~d8Z z(Wg1Eq~!NSl1OMTv1oM5-y`9+myohrR?k;&@YG(_)U>=eCnBN_nRLe9#XH|?`|C?e z8?Ntl_Qu(pmrxRLU?H^U{t?O+To^HdgQ~O+CXW_^7oeE}B_SV)xU`GJGJw!CqikzJ zz*IOGTi`tYmy9N~9)n&K{_!v%t}1X=iKCF^zcJs(`EUH~mrijbzy0>x`waNe^~B8p z=o;;m0O+4z_`(KYaP+mph-_x^;{0-Mi=apLymPY0Cg~27uVvs&=&{0PT8k zy#7v`Hqe={Z3M^<+Dw0o-6ck$o%{M_GXbPcuMrv(P|Qd&jJQeiZ*}uP`^*juyCLS- zSAbkL*qWCfdwcNCgGd57Z}G+*3`Wmllxj%<8>KgSGL=ADx{vg8`#c*UF;GPPMHTiQ zM2=Mg0`VF1t#fq}+7n%qc6QF-2b%P=!xo>_$OzR8^<@9cYa`xds(#H@yV)~DbY zr}qSBNi0kTC}6jp#Pc%>MQ4tGa^y`>Qtm~=&uT5X5iig1+n)&~oMZxATY(^hur6?P z14u`L9Jq8(3a$YUXV9D$2u@CpM6<|C9u#salIX{flwiQ2ROaiLOM;eAbA0lYeAQ-@Bfhg(LeY@`t9HRi!thdHP-oGw0CX2 zfBU=`oBSQM{;o4*1dvGKfo9ePTzGG(BmDPFr+k0@jg)a)W0C5DNB1~-wqy8gRZG^+ zwYD(1rps0q4Qu4Zvtk)UmTxofCy%gJ^x3*SIMsLl=9TMER$q%icc=U#xwaw?&LL4V z=7;u(__+;Y4y8%bFgP_)Jm@VSLr6FFqV7Tq22O*h0Hx zwrYFS^09yKKlohxdH3$!Ri}P*>Gh-~09-syNdS87wb$hHpZ|RODWCrIr?)$I?uzYmhZI~@78n#| zsg8KNVp^wUZICW=h=+?XJKDaQjxgiuszD~AcDKd06>LNI5lD^{p#}h|Po$p$=wMnq z?bZGt_w$<0SXWE{Shp^(#u1@r6x&XxXOVTb0DaE|1l{Is7F?pJDvilKL1iLY=M1uQ zG(y#cNEm7X{cJ5*k9;2&AcC z*bW!L@^%R7WLm@}+D@SC%`rOPP`AMW+)Na*5~FtUN!377tZTQCL+sx$S^>K`CJZ=+ zg%Jne9GPT*7b0s0jJ*Ikt|F9WQUv%h(s&c@M2>e2#?aB4M@FN}O2%ec$^Jq@uk=;e zbWyyJ5R&os-!l}R*r~7-!mg$S*WXM#^1o9K`6D~7wX}W5@V;kBNL{}3Uo|2CVTcrhHsYtx%iB0yEdsllN+I>{8y!p`VjFa zn)}F}Z|YN~&HgTI)c?U4^>1tcb=`kk7Vz$m?$a;*hkrod`|f)l_+R!N{zuRsO8~}R z0PSx(#(MuFO#R2vdMZ8RHdYN0`@Nz=;JS(Od!zQ19}tpxHWDS+MjfTsBx;cbUh#dj z9y)RMBjPthefi35P^tri=hY>W?eV}TLuu7`vRy{Ph~B&MGAQn2e61Xa#t4rr(t(ck|K{(AY=mbeCk>NqP1ZWY7hKRu5nGe)-E^mcRbj|GIqdd*ACf-hA^-D<`L{PI|Eg|LxO` z0kjhU>}txk-T&Zt^~P`@s3*0q_&&+mHAr<)L@JCU@EF1ISO~x?{XsZIwWkB57!|VJ z^TBQPNE^kcZMJvlTW+wrBq1c?0&dZ|-A84q0hdh=U<(ra^!`oZ7`XL(3Z_&JZ8Fa` zAUc>LV6w>)9mK<7Y*dI&bWgj?<_P z5s}%lq5|rpMPCM$&{zuuPGDGy!{$yzl{W*LndYQU z0wL%?+0iAUiNS<+9$?1-Tnr861f!J1NQ~5Tf-O7S*s3`m{%JTeCo&7xr^efPFC{98 zXh$}~S>pd1eBfq8u&;pf28_)r%08}B6<#o&&MPNd)i@p>f% zz%@90WS|E%XHG`!Vx*oEjtufIv~(Id^L>^7M0?(o4)TD%1|IgTmR)_)0yCN<8J^4B z)?g-l3*UofB@4Z~;FPJYy=(M)F1LDT#m`s^E!!@o61{StE`u=D&891-c1o7F>fjo* zgkK^)mD`T*^C|zj!@vJs#(Muhef4enhyT$ZoaFsM5A0izf8D3~U-eD@E-tS7XP@qW z)RF&`7~Fg?rP6LaH>03icxg_yuJyCwT<<@sH|PGAu>VVV(bixJeBb_rUdgRH_QLo^B?aU0iI-Wtx!I? z`t?NZ0btqob`n6_x$#@y`j$V#&lg{Ov7Sj`&)PkwvzxJ60uA{h^^n3v3+j<+3$$OpIw^Rd86Pgy8UIbvhgzE{+iMP3vUZoLKk-#- zgel5k@Kd?K@dRM2V=!@tl)kIM7D2x$%uyHi2fl+-+O@AJ>lwqv>Cc?oDi=OW#v7kM zDwtw>7hIWyZ%{|XOAMS5pQ$|b&(!1$Qw@9!_9Xucr*Yq*1ju)vt)_2^J0z3*1B2hB zZ|qv@eer<9M9zZ5egc3l1?aj`*Yw``(LG%*u=UTVYv$c$B4u=Hy6aR%`QPP%{1#F0 zX~GTkkMXvBHz_u{qH`8gk&8S(@{(MCl7E$Pn)%t~-(Vt_SVIJ0WV)%VYw{ws$YD?CQG*03-MXhL)H4KT6I|Mb0W(|TJHpf3sNtD>zBDU+#Q6ZLoHza$R_ z5ypaKaRgY*H%=Go(zB=f5`dFT@@X)+z3`XdfS;V}iCO|+%%DdB_Uj8@_=0^kiAoyp zx#ymvXP zJlOV%%c?J_lw-o|u%Oasn)J6&h7ai^g5@auYg6O!D%a?(e(Dux+2_EB_z|v{IxA>T z@L5^1U91GKRTm3fa=6Y zfGuMqzzqU_nOo*1d-o&$83cH{t4c6_%1vfcHJoxAS`X3T9#|E^~O&uGJavrb|d^ z7V^I@&(nxE-NgUAbFaQ%;M_}w+)y|2vIkS8jb#0c0!Rrfz3=+_QSuM8wOJHxr~kg$ zp9cOt;Mbl0ZN2}MPWiuo?}C2iAAOsC=Qsa+Z06^i{9XH$e+&Lw;BNuqm=R@;cw7Nexb{I}+nA;mqYd zgtAtxy4m=rB>+wd;Den6V1m!=$d$PG#!KCQN)Bn^2Wvv6oBG8OYZM*<|JdQ;NRgwH zk$hm8u>+X?UP#laMaYbD_!#g zB1kUvjsAS}eMGsonIFt|S5_O-^#L@!7+o%ZkHg0k74~q)B-Y|@B(_e#j6cTgMVcjl zvdJ%!%(IlPfqCq=NQP`brjKJvy4^c)U-PdC1YH1OfN3iS#bg{4DD?7n-BGk1ami)? z9OlVhHK)q>MZ%Fo{4inT&Xy$ zpve)a4-&1eIW|z?7!0I%9;7%2&>G2z->^fgbFcg}fd= zjf8_U8(oycaPMncfNk$H0iQ4>M+rb=r^mQa|I5xV(mG(zFhn?McpA?I?0}2R_o?7- zb*!%3d$RaOX{0CW0`)`g&ZL^BWYc3@tMZ7SwYArG{D?AhZTid{5z2y(4x*3F6k0~g zM&?G#wSvo^`A9}CZxA>y2&KS5U^773!l~>_LVt80Mi)a5U<(2*3BV$Ndj-r#->dj@ zNCDy$b;=TF0vKvL23NERc1m@4^jhTB)$e>oV4rOe zm*?ckPMq0c_Q-rqNy3S(ta&Q@gZznQh_Kz8uSoisOd2jQc*I#sZ7FNCzbA!Rj^drs zj_LlU=lQ*((#twJ&pc*S094?W9-~Om2L{&w97%vw0`}Ln9XRq&B=H>5%HFY^{>}a3 z68O7LASHU^RtuMwl>$i^8}lpLxh&55_TpLt)Hej9!PxL-+S>*MBA-Cln0v zD?vi_>x%rCMPLhY#<+Y)sX`dRj#kcHym4(&OpRe0!F&U&odeMFeVZJ)-E4#ULphDA zI=RS{8R2*b-)fmcb%utLJJQ+Nc{CDUNyar>j$-XODWM$OY5AhetS!#O^frc*D3d|7 z&ZcUF1RN3lF1AwxLL)$UqSB=T_0!UlMNs10L6`uk;QD)#6@M5ob*e=uad?FhK=CpX zvsPp(Y_mqPf=}&4&MC@R|2iC;$}tuE5}X|8%|Ll9Gq;PI>`{gtgCeR$5Op>w0DbuoO zB7H)sE~d-{wLHAGI8=4-_v%8Pwj@M#MWjGOi(lP&tMU(ut8!|e6}6od>X|584d;GS zU3qp8`oZ_#OOB~H$}N$4pjBeXpF5ueRh7TfdqNQmQ2w5RCE2HCr49yFq2kN?ll+tO z7X$T7V!R0G%{U~t>JA4C0nm>2Yd)x*0MIrAY~}y_U%gBJ^dG%S_wKcw|HsIGo7UfF09=jT z{jd5af13yVBT1OyHM(uIZ~vE&60bhh`8P`fk6Z68YeJ=0h>tN4grL5!M^nTmS@tJlMpovv6 zeKHgful!ihC2GDUZ~g(&y!y^_ho^t0zqoCDdG-NC7~Xfk?l-yvECnM zu8eF#8w8;Uf^ieOqPE}0H)f!LBuSBv+X8fjX?hsc1KvhIM|bI<&h&_XvKZQJrqV}5 zetKq(JJ{)m!5>q`&u5N6OG`_#2x!bGA)U+PfZgsJ9Hmdmuyqy)d3OFPBuv4b^=H9p zrh4>K!g?q8N4nK}S*&=0r}m-aiW+e*tQqB2ovzo6@O?DXYz5B&Qy|LZXe;QDGC!T)jd9sW1f4Q^irlFzh*zF}GL z5=AC-aM(gw$(R1F8a&Zv(mSe?h5~>ZX00D>taZ<$@awe-@D9MV|0Wlkiq3&7+XxK8 z-?Tus)H2mE_km0lvUe=or(VzO(gvVLAU9I0fPBKp>sxl z^#Cq-PkZT)kq{6I{FN|_{(9|a4n3V_9Em_;RH7?bV+5rI71cvP$K2ynVUbUL_Di4q z0T0X!sV;KmQ% z2RaeS)T^@*R<2U{w*PRgHHl1cPA07M8Dm*qwNH~nKO6n1#A#2nLBqf!Tw?@T?*UGc zurUy7u5!VLii?keF8OzcF`$qHHxYgT=ZR?2aYLG93bF*W0u`JP=K0F}xq8p~&a~yE z8+xIP(@kwTb7P>Jf+Zq^h!#2;nsn#p&YcIo0pPYl05Y|1L2d5$kV};oo=5r_6ol-^ ze}*%+Z}K#th<0cJ=Sl%sje`AV@WA`I<+xS}A1N@;367Be{Xm$ZJk-nJ7x0vzPi1Y; zK=u@Xl;pSDBn{LSG{kxnjud^Kn}9Z$XgByr`3JhlqMX5wnigqdq)7c{_A}8zLeB|? zp_wNpo#vn{C0D=kPMHCb%m1oxm?s@e6y40GsZAy}|K*n(z}U{jrmLu2@QuDGHwl>5g`E#TJ z`_1T=b$KG~V_n7rM6{4^(_u70n|TsA(Byv8dxFnzx`KwL-ow4&8+E2E?d-aZ(ch=9 z?;YuIVY;5yq!*}Pv|xMRHtXZ8?=ZoJw7~XFCS3Ns>@>IdJl_T)-uF6W8(({xkE_&;DEQyz>sXqX7Tz-~GFf$$>vv*Atfjkl8p- zT>H{XFZCG!`kSA7?m7GJlcsb7!2Z0wb5hE^o_DSuzG0zwUw?B-0UXaSl0)vT+E)$y zM{VPHzY%0m90}MKzza@n>Mh5%0b;j6sW{H$Lc-*k0*%dvTh%6hvWbrl*^b|`2AYWS zXpy$9pdZ{HP=VXXA<(-X@A?hhm*k-HYz||0P7)OE)88%KEX4XU9|dSgpjJagMS;B% zs_N4XqeccICfy!`zimC{3!r0 z^%I*T9=|tK`~o9P1*RYi8U>nYl;Be9=nh@RD9cf)D|H_sJTVOz4MaHoU^t+WY)nQC zhKGM99M;ZaVYm4n(9^z|LzIGfrsPmES}p;nMZ}+n^HxJxp*3V!LZ;tt*b^NQ6`6Fd z;OE4?GPN50BpQ%LE7mrSV$HblPTd7337F?{A9pONbOt3P|`c^0< z0V>lQpWu1UrXQMaJX%m1%K#qUzod8DNdVjCavF&}bhV7;(6`F>TICe@3F<4kfuB$& zfF{^ZjOaw&P$K%<`()H5P{Lj}8Dg-6SQixtA{ZzN9^f_7oPOBLCz`IQzazV$sbiAQv^Bborj?I0A@$TTo?AXfmmkk`^M#mrA@# zoOKJlU%yBFvV&JGHSTSSr^vqi=fEgcla3b~bQwWUoATd$%1cWCoPzzf(ciT9*f__4< z3cG%n$Tt5_MuedLumHhqW}nyXKJ>zol=8h^0(j_@*lmxPqdl>956?XJ+0)mv`}gl3 zaAWz8uDG7K1OSd)eB&G6z(>7fKl#Z|S~=y+2>RPT0PQ3IE!$=R*xZ#~VOs|9habNE z9XAj|`snifZUlH_!G~`1r$hHRfw$CW{^j=z#4u#Fkb$TiR@DXlgn;%{ea~mw znx>~%TNoM2J_FzY8{}~igA*ZuNT76Gsffoo3ZKTaQ1e|}2)5F40z7S6aWvvgbUo$}DZA6tY^P(zaAT&B|fx1kl63K&3E|OKS ztm2#cgYli&2Uzpf#f{~7?|ll{!+QW- zlK%--#JS!Umv3%cjARYV2O1$`k@4r711R}m+;6PzbLk9;OHIfy@ zZP_KaJi5LhE<mm-_ekmf#x-#gADItnXEyH z_NX8751|zV_5rID9Zp`R(%cfU3Ew>kc9NOQM03Ww%s|Xt|4T;7-IvFa;)ezWGe z`FfPz!kL7!?8Br~l|CjTL^wKcfHZX3Xn`@<{H+6|@ z`+oM;wJ8pbPd2yTKA5+lW2}4keiCxHh>$=wU4P5~1MP-r)_{uA<9OR>;0H^DTJO#k6 zQ`QECO^818na{{O@4Q3rz4xBzCV(!N&p!LC=sGOXBtTQL2YpxcL;(8#eemY(BX1vC zFx3`gULPL1y0mGPW8Qnaw~cB4VtdpD-?43-!V%wf;gS$Q(s~6wdq)X)81-8?Dz-Gn z(hb^f+5?Bebx@V36<`*xGiFxDGp!N503S5EaAKu!^VAMl$mf&aF*-^n0>)FTD<}L?~o}yj@v1mxvd- zw*q%0CsSxmJ^LTQK+loBCao)e)X#k8iu3|Ax^@~6S# zc=0+Fv_YAhoyq(x^&uxkF_*Xg1z~(-Vk+qkaeb2#IjRTE2{Xquruxzd^2e^K{k?bZ zjFSMGb5&(|hG8E@3@Q!E`fga2b?;?&=k$ijIR=qr{UxZGLjFx2q_&@A zbq+>DhO1_f3BlUOt65i*{4e;~k2fPqL0D;RrY{=~vM&XK30z4>?_Jx-f7|IFcKNr! z|5B&?w^97x`|a21KmMgZru!dW>KgwM^j}|pN{VFvWH2l6-M}~TtnnV$C=+Y5&vP;yW<6w4Ub;N( zp3PP@7_)z6q9b7{q~etSqP@(=ru$nG==`lKO8weK%&PpPI>cb`|Hu2Vlv$#oF`Gq; z*5d*}cN zDe=Axpet+QyWQOx$8hlF;R9*GZv;|80$Z?(ZvxPMg&=ywKzX)&=HF0$txc|qS6~Q! zGPIPox@7UZ=QI<*#&x=Yik~gzZ;YneP(8<1gmxG~L>-LAWyI^8_TOvY&+MoT4kzKD zs%TT?^NH5k~@? zfO&v+;+{Fu;~m!cLX9C={})`LHgm!y%g;n_B-3P2-1rdLs1yU-{tWB$SGQCSkn{HD zOK9&}^-r!V$+N;4xXWX<6x1vHN7-?=`gwvuyt6B>MH{jUMbwumROLzbFp!-j4M*#b zXUJ8L6XkHl7#Uz1JjsQb7V;k;k|1%Ht%q}qq}Ym+jpcmA|MYi9mjL)kWD4R;F2RfC zqEwJZXkO|&2}Yje-yRw@SF{fu2RvPpZ=8Zzo*ZFX)tYp+a_x@%r+Y>I%{m(XNW&?q z0evxXVv_&I;Xx>0=r)ZO%A%n{7?ir4FeTvgcy6{qCYaS{5qvA?;$mWTFr`F}C!}bF zXl=_-k>zK7amdy}uK*9DF4$=v8&2>n`&t_iNTRgBzm4km;QwN*@9%;CgZ4K@|65Yv zcnae0f7sUh{|SBl*Iv^A|GFRl_pqG|(5L;|`v39Qk_Eogzl>!+4L)CT5D@xcf;e_b zE0gsIPd&nGdQ7-y`s|Hj@2k3%Wx~2m{;Mtx`&&TvdVI9n9`gzh@}#Sa%>wG7XQPcY z>u-^8+3*MkB3jLuGhSqWAU6=ICi4csw&|lC1?awKE4t;W_vk;N-ex@n5KNqi?F(SR zdn;$ha3j4?ur_OlQoB)yjD)nrNdRJViN&<3Ho?_PSxk^tr6HUpq70ch9V>x(~#)`Tw3@7lm>ALSl`;+9N5xJT1Ay5IRYqWDpU z&GCs4J0m5Wyzu_%alJby_S|x9CQ-suxI&?9Llnkx1lBDHvXn4shOQZ!$URuHvtNg? zn&C8>e-PbeTqpTE$=Dmx7hMm_5aE}{k&G_vZLRD18Pi^dUwsuyHe&JVdR84YGomE2 z>-fbp)_X-kF{OkA=u!fUkzfE?r~?t73Sugkj1$-=i3jnP5rU&#Nj*%(p$_;HN5sPc zOYsyjD5jJQ$?yZ}IbHy`tzQ^mOF^&TG6|zK$L~deDGoO$T$}~~hm?CvRLlsD3`SXh zMqyPfvBl+mbSw;`bI#d9<~< z*5!Ar(RXfooSZL_?4%?rn&b{yiXfXOxlb*Fs2lm}2$wmWsEL=;GpmlVR!nzkP=CbD zzf>OE=MP{1z)t{>qT5i$91+R5r*H1;av(sn{HJ6@)SP-nYCt86XCVLe8A6su=vE0P znafoMnRyuN$t@cGX*SA&eNB!Ry_ddo(Gt71jnE`Lj=ZcT9ZezHCt19KTx&^=2;4(| z)fZ7`3$(m9g1(ms$yyrj?+Wio&6p0(7&Jr2AhK*{v7??cW=r~E_k-$(l|`jr2k z0JwPAHvnwU+j{?&sQcDL1MzRv$bclh^&z&P&j`grX!KR%BX2|iFf zrmJP1dB$XPmx+2vPovXKmz4MC(b)W%DUQ|!;i=2ns&1@(EaUVd7yE@CFD*KJya1MJ zJv8Z~y&5rLncEP;1X0w7Gh{dc(XVELvuHa{?gjZVC7tvW`f6uWEv?oQ- zh;aC~zx1>1yY3mcr+j~6uP5;sz;-!%+fjgD_`(q`KC;@jn>B6(=y(7PxLRhF^m(L9;P^A~&nZwW!R+J+D-g-K zi6%S)T}VpU50uo3P~Ha8)S?9l;B=z%P5FDEKjY-?fq=p;;3Yp_fQt>~%6jm_40qO) zS_4!v$X}8WB>A3yI+s!!(_aJ+2$ulfE77VNJ=+y2K?+PcmQfn*O$vyGXqknkyxu+I zP8pvGCh;46;gGEAr-ggP&K*oNIj;C@ZhiGT;K!E?|AgO?>h)RCYZH9=S%~t`1#=Ar zZk0nJl#&=3ON?Hm!Gn6Ka&|MGp`TXCkiBwq>&SmYCQmx^5cnGp4E?AWYGl(l0c@Lt zbsHtg>CC)VX-GK$2R#$~pK+4%-s)L>KFK-|WghMIhfph1jtK(JiO0q0iJ!B+L@Ds! zuG41xF&UfQm&cUioZiLO=3fH1}yW|TwYy{(SJMQuPp=6 zz`u>+|HXITrC<5#x9R@Pv_w#oyz8(c# zu%r;Ja!d8zO@VOKJH14aG$eHe47Q2`DqMkDp)K^6Qi*CKNPR@{4i0y(`bLzH!RMhj zx8Sh}hFQL7f(0Ea)kc!(l=(1z1POsAqMzGH03F^PdjJTY)7?t+;WyYD9Qi@8Ay8%^ ztkMln=^k3}ith~G*Y+Qh%#A*1zc;1-I1QjB1f*~Jebys`WTOd|U2xnR^l0|~V3dF^ zDR{7*NUrT0dwEseo0_wF+6F!Iv7bH-7#}|MsZX^%0FL_!*q_YnNlgIw)s6yu>#euw z)mLBL>$%SEEjw$!bsvDX?w|EEfd203d;ff2u5X)+bY)DJw4EJ0&u?AUsY;eqsM zRN~&AK+(MEL>SnEjHE&+RTC5s)U@5r-74K4MHNRPf$TuhLio0TCdUsZM7D8XC~`Xu zU^wV{g!~BIT9&ru4NjsyBm5On6$1)UJx({ueBkJ%AW0M_M26)in zi8?}$>dq4d*Fb0KTN1if#mIBO6>w(<*A%%WgwVlC!K5S=PV9~!CtQeRjRWX@O7+BV zE}uj@cFlc}EEX8-+K5nnPNjalU%&5N_5JZ;elz+t=p#Ed)iJp2dq^gry}5A0{cR~_ z68-n_+j}NA{6@+dAIWa-!FLWl&8VmBEymgl?#9Es4}b7=yd{-JE?dRv1o$x_hrxFj z4SmNPC(Sl%ounJRjJ8BKSZR9zJh*>J&wWgfUJ`W@DN_mTlgn`=;2ffzzEJ4Rx-8^A z(M@ttm-uQRPT6+@NI|FBy(+Is@5P(_UtR%3XrDtuq&zmAg~_M2oFQa4-+vtWUuuA= zoFREFvZ7O#+Ew2hJWIXE>!AL>mi&u6*8O?bNAM!=*0V@yf*7Kk(ESpT)B=86Ca4H- zlfI>y24G{S{}$X^uzzte5&(Vuf4g@|2y8li|M$N6I(_|DU(@BMETqGXd;- zf8OfXQU7tQr`i9owTAATSXwfDkB#hBmeg7 zPw&0=nhR%B$R`Q8Ji80ZA`}`c7t1P`*CqX9wtXL!PK)!y2;;AK*X|uo$pDi^hT{g* zH?-Ut^8yGgyV5wFmIvYzPuqRMnMPexh>gsR*$xM{x~e#bk?Q%ufx=jSH0UszXzx6~ z9qDNqXtno_+gLYr;FvfmN*r^1*xF*S2*n{nQ?n&UH#>epG%GU+V?fZ&-aRr# z6v0OyL)LKfj;Cl)+uBctXSHIs2JjvLcBo#U$+xcc6)Nlg8VQ}bCtrqh(tXTJ zj=4q?ixl~%$I<`@5umWRhw$M&d}m8C$V=(3-}mlSJ8$wY3m&mD_&L?T45ITV zt=gWx%Y=8}%1)<{z2IX2Ji#S2!{D}W0e4-N(nsbuo$`P38QXOKHsU|l``;f^{x8~k z|FPNMy$>(wH-7Cqr{MoPzOKJ*^w)R!zqryF0y-O@ZSvQ4`0q#kS?~|^1{-8Niq9X% z63N0hs(9vSyldZ0XX5W#&iK>)3D=LgFfV+B+A`lDYUT@C(l_px1Z3h}@z3nN_i85%Hy7ElKp$_b(~=AUb*<{?4MF&g>gkJk9qRt|r(d zu$x0C4&U5pHySJJ{7uJqeG>Zsoa__(GXh_fX{`)6`(>Q`e}?YRzCgl{?aPAWcJx)C zc5315>9z#maFS<>b^kKT{lE3s6PW-|Arw8kv9pBk1K^sbodnQ6Km71RzxV93&-zh- zb{t?!0_ZFNzyA3Co!coeJ2_z2XAj4;_^y=3=)UIOdY+la?Zj~-?C*@+CDx7tj1rPY zmIiKyqcOjW9ILV899|5Mll5mcc@iaMC|UK1K=pv0^qR*Je_9_nMGd}wY#(`suS0c4 zBhPnW-w)AO5gg1J6*Jj`6faP0YSL(IM*;GI+=igiHAUcx9UL}Jio@+sapdA=(&K0h z1e6pIkGy)&XIO8zDe0lBT*;$K*d8;_@GhN`__THgV{od}>j^8Nyqq0lFm1{C&FefP zc+YM(jtInE!*zn4GA%NfW`$krOSqGfCLD$cX0R>j19NiG&0#7Ie-;2NE6_(P*;-w4 zLz&67KwhH!U5F;wYl+88NtA}tT_GH;4gPs_y+Eb(i6ba+pVRM^ea6wHp=)3%fc7Ig zbCz(*j(c$)>*oTs@Ofk@d-2|i3xK;h^IrH=;dH8B=Mv@u4LWx_#*C(R$2J0^Eof@{ z0GJ+>q<6BC%kl+*KRCA*WYlC3@<#rw-)s4uGJ64|2e;y{xSmK^G6BxYiH>2TN`PE# z1Vx}wVU5`sv-~@3JC`hfuXGyXIhcY20E9+${968pEYK8`$m775ShU*F^~@MrKu~#M zk5iD_s_w^fB(kPG$1{_WWV48G=oy06t8JWh{RsTWphO#?AIJP%>t=rs`X+z4%m0;5 z`+xUG_vs)1;vdp~_S@gr4gJPue{GY$7X0^Qz=iGs(02Mij-CF82#=(mYyrcg65>KL zUoXpf@Kvpn1kTVaOxaVhpg(M2=;wNwFZ4*(!FMS7bcUUl{shve&g95TP_q1@zwH67 zHRSilr&mChBqPdtvGTXo0QLlJJDcAD?}JY_5zTCgkR}06UmjvGKB`GxnV=?INE)IA zh=^|}=ruXK_1#cdZZt{!2*9K2EKzwSB1jy#4czH(mwy?2(PIrhIL^IqH_duJ0V_O2?%U}L-|NZK#ueQ%5k9rg! z=}7=>8NhZ@+I-mY(d@YcOck~jKI6^@IuyUI1b&7Tj(i%m3Tw^eAB zWFG}pLYqoCIK@L|d@^_ZW61{77~HoiF!gTo6)>ds;?vYOqfjfbJ|NR;l)m)mjK*|^ zwgKQ_MEY+2+wcBII*QcGS%d6TeViQX%eIpMtlcrfvC-Lqv!mw3h~GF+#DI|%%~~J` zlB&wOj)>4HrtHCBS|Z?LdUGEJTu9-3KbIlL0qO9sd+`Dy|0c5|7b7TK?&o(i@5)p+p`23HO<>rGGJag- zAN7~{857X-$cqV_D(2;j3Es#Ucsb@BjF>!$VRzBF8VOCZ_;=uN7>QO3M*64j0B+oH z`}OyAgc8qQ&i(hOD?({b?^&Q#OQ+8r*^P_gBSvyv3l$I3EtA4vqdwRhQlMB#`=dvy z_vJq&nJK*U6fErETns9$lB3=Z;F+Y`Y=NvbK!#bS;ODU~4j2<$U_etKkz2Osox{XNJ({av&j{`FYD_WO7}cKnBfn0k@{6L3M(n{hJVNXm}%$xblQIzJG+ zTxYc|`$>q_&eP3TvI5TA23zNPdE@Cvpz}b5L{!K)d)0U-$yQ_S$Rx$EhRz?A22eK;R^RJ_DeA zKP3YCV#_uIK%cRG@6YdDUw!8pKL4rCaLfkoKly_Sg z6uP$OAhyTMa4^WaCIoOO<7NCcF7z&JZ(0!)E;)lQmpx3)7Q7N0mR z3Y!)0g1r9NIE4_7j%0SU2i}$l$aqGXFciE18}H-y6!;jNlyO+~pW!M12~%bk5AwZ_ zsE~BOf2?ImEdcC=#!Nxys4Kt`CMJ;%?rP~vuNzYx$GnV3Jy;CqspoP;PP1h76FB?15_B{mFBE};-=QmfBj zFy$kq%~23_2b1xPSTk592u1L`_&e-4VSjpNW zwiKXE^KU+>?eK4ULH5W@H}~jJ5j^8U#&g8I*ev325@nmDnpwQgrj?J2I0-bHaDZZLOCg9WJlT1m-^4p(F%m8@$t?SUh zGRuH1NUj$n+8PP?3oxlT>zz^$;5N9nO@SWk{>SeBk*Z{s_JPwVGjyfeNJ2X5MufE6 ztZg7rbhpehF0tpDj3d-?y$tF^#>b2QqyPEOJ@d_f_C`AjP4UZu;7qkltL}_B)UJ#yEt(y|2_EhBVkD)M5&g#lK2`QUGK7wx z8=|3Lm8(1;TLt`6dv=d=X%9$P zfU^8#{s;$_%-KK@aCv3Z#6nbjzgY9Rl_LOkTCz<~{^1YaPs!6rAcI}825-24I?nf5 z{@Z$wi&D<8XlPmLmU4T1;ftvBFmnMT&>gkj|xO)i`KoN^o3;A zvJ_{=W9*;DzIf+*(A?Mi_bLBv&3~KnKSuj69z5vZ`+EP2w%-4$AJO-lzdF|YUtPxW ze&hR9pXT4D|BvMWV{^dqcl7qg=^pu#q+^`h$n;e3!pwDFYtV? zf5`Qi>ADDU9Q<;+ers?t8@jibfU}Sw0iNKgB_i|0UW= z{!OX7__glqn$CoVOfQ)3Z~VgVUArA(1kCVfXv4*1{5~AqLF14hM9}DyVRYyjXd=V9 zjqf@Gz>WeWTc$8REt;5S_L2>}!3hRbzkx|I`s~TQ)R)oDu-`fih@#XdKKZ3n%y_8y zesn#-O8_*s>|FolFMqjeL%;6cy_>W{TLOUf*q?3$*f#_`KaE1adHvuuF=wXj0YDFg z&UAR2Wx*xp(UCrvT|=CjmwqjIIx~AQ)Fi$EVfHr#oKRDUIz?;~Ji>sitSOWMv$!(w z0D;H!{ucK4h5hZgs%^Y;*ld13IP%Xkk66v2y?$jmm;QGXBhgWiaXb z1^fsBpM*>63yzc-N`G3&QD>;sXErmz-{nGSrdjD`LFDt;Ki#Pb>rwY z`nt9es+H@vH|-0BwK;Qb&G86Yf`bJd!YpH%!|`{bh}35@UQF|}eD-%GKNsUG-jV+T z$3p%M=Ksc=GYDFpRtXlnCqz=2vDgA$Nx#{o=-)_!xRAPzmL2}BNr2V!^gG?>soXNy zlp=qONf(6J7(Ck+gMIWDP4H&wlG`t@S>pL#AERa(^bY+KV9)RE26hbCVeoJ3{af&U zaY+v!wBTO@|Mquz(F6Nd=FUm>{^5W4E&3O~{rWiCudnB~Y5!NJzm^QR(qzI2{`;|= zy3~5xg!Z~N5*!6&RjTbjPv(LIGL&|ks)CC_J_fT|WzyAHmecdF176w!ZPaUIdJm5? z3|(xSpbF4`)XN29Nqs~~Kg{?fdSxf2;5fe*i4JjAaom(HLC*>+%!a|4DqIs^S$9Mt zLEJ83uM)^Z-;2B@gC88}?1STw8zVFaKK>=hN9NDBO$5P7062?%Mcs_Px4pB4joAcw zV$=9xi|?u{xNSlxTkZpqqQf$5w4xmvN^jSuW#_6mnH0flQnm8bvp?Owz5o9Ehf^&1 zq{h5Img|WohD^q}vH+3J0O;TKB!G7H)KuFGzzW+&fbA&2rnJ9v@4fGY0q=st*XI{? zo@fpbIM1h7r6mI}7F8~ybN&rt=JZxzf=U-344FR+F$c}2Dn}UH4Xp~lEE*HHt2sSD zs%a@GYdch{bVV{`yr@e9$X;#Z{%!w&Gd&-mJvpeAX(s`YDIBpG0PXJ(?U_~-a^s&8 zCLGQw22}n_;+Mhcigy{<2NAqms)1s2W?3mN+J3%J*&&SMHzVz#ZAve>!V{u!Rs%1O z90c4fHb*M}LE}Q@yR|dHOS8UID2XT>d%R1j5AZo)aGg#q3mqi8@b1xNt{2!|9v5d!`pqrZvhj!Fn?tTioyrVP#5myi)XSP8livcn zl)}7I&uCx{nApTah-v^VC_9wzLr@W5h~pZf2Yn{yRj@niIhZZXB^2=n(9i0M0u=)B zM{)$2*S{7}w5u-zkj-ZTL@g-H1}P`d{F~_+(1*Mu`6&A+|DlTrxE!AYjduDrN!E&u zl2rrvcdk^9Ik;YcLY%Q(2i!`(DJcQCSda})z0J(9>AO7uJdUH^Hp#O#vQD&r*RvjI z3Y1WTRr<`AEXoDXWdjsaGQ)}WtngU34LWe4_eA!24=*keo(FKHt|hK6N2Ecjz^MP_ zSnqFtHUpro^>3T~9k1!lAAU%`{7ZjGZ~X9XpWc7b69!}Szayw)GJZn|ANlzUau6a0q`=Bx>I&_VbDJLsUrS+B~Kgjdht7Q8{|5$CNffj zf{IOKq9T?6vn=WjI2ZzIuV4MC16E81Pu58YS5;!pci0{P>{J8#yKiYatOu?YZFET>NEpI`XG7o2TA`N>bV z4`E9~o&Fv?c+j8KlK^b=-^#Ta0RQstTemIX>`d$%0m4WIq|R6eyk$Cx&o&C&Oog3B z(Z{)+ULqTR*C>8&CbTuCLQ;5;YJGJCc!(PjCx@3jO!b(Sv8@56HY5&6AX1FJ{?ne1 zjsJ*3we%wZ`}2clL|U@D{q+q56~?wi;OUc*d_j`{Hr2_LaE#n%2~PL*Jyq*&2&(=- zi55bo3CcSahz+Z(uJ&i^8&ja+bx6{wsQ;O)7l;VHk9T6_R6NDs=qT}oj~Nb{?!_Cj zD3chzqp>A}0(um1sG3m#@6}r4(7+X^Tm#TZkm`Z|V`=1Np=h5L&QcD_wNKEh7CPPp z$zwtpxLPZ+q6;mk70>LOB)HrPROh3e;M`a;j~CTw zA^$XIi5chz4iXmyz!e>+E&(W|O~1v23c%!Ob4N0IDUy=BBp)U%?Yrv)krYVUY$yv- zTA8uYALt&%x=xlOb%bn>XykQWZT%JnEdUzMIm zd6LE}QVex2A_?muOB&T$L_jZbUWcFB;Jn`79cG=H+XuyLW4CQg^}g0%|9E}Xr;PVC z<=3_m+_jzouL%L)%K`D)p_ej+Yqs=z)-U!-j5)-=){-Y;nUg+`{?2d3=i}+T6-wxc z*X0hYt4=3JOb6c--T=@zwK@8{P2q2Hb=@}mYoqt406&iSvnl@2kvnItX;|g-V(aW_%~JT<|%Y^KP~IMYv07r_!;?W%2SxHDR#6t{B1z5 z>H=V$z22}_>FU36)4#FiKiU}Wif&?y_9E>6jvfJ8;3&WQJoP!Eu$Wl2)Gbdx^TpFZ z@tGY3_-H%zlXE@MGXRW{zVel?bWYQK0Q%oM@4VBW*+~HHdhWUBwr8Jx)=mQ0>?8nv z+&}F^fIqo+=fjg(|FH9WGwRKtA0CEtH&~i+O+TwQF-`rayr~2#$9hQ;L-=JQ?I-}A z{u~kOkby83ARget_~*Fi%1G}>{(UfO<-z%wern20<+uO!BLFoK(T?uuq;SWg*Nw*@ z_RmkqwJX}@IQ2aR4yKSeV_}vow5X$Bb!VYza*pgX84j&hYAu|)Jli91s2JeMW-J`c zm7!TFq|m)WRFVvc(@EeNZ4@nR8%Udm5e{Mvv6Ghb(bovE?$0SJPth1OvqlCuEQ$<-rDej z;qE^%xd27>Ewcbg2@`FNdl^ll0>z5-~N{J&y<`$ z_x_ktfSH0&2;!x*bx?g~iH4pG*v1sjPzl3%dT{?zox?2>lw?UOPPhcRoVb_^S0z1B z`bQRgKVN@&`FFil9P(nVmaRBWBD<_vx@F)|+D=Iript06+X&E)7VvBEXe0SY8$rIl z8dJghMsefsLU)UAQ^;FD*{70gVAa+IK=ezyQ^Uo?+Rc_th%vTB!fftx?$;slqQlI%6joxjS|2E~n2l}Ug|A8Ix zr@{Y~?(*M~G{5<4uhG|k^)=n#&yM*UYyN%b|9*dr^tTxRgHOg$e`D58(3Jq@#PUQC z91F>f3YSwo82sggkLip>4P2?UC?EoLSVNQgOy4-0AavUR=VI9eI8*|$3GM>32i@k7 zTBD8vr$hiI`eJ0i+E4;_T0);o@FIIcy71@X0(3$bt%_=!_S_S@wo!K92oRcKOv;MV zLkRsx-RsXr474ai;IH_@JNCQ3W&neZ9AS+G`%%XjOj2H#SauMJ8%qSO?EgY%INd^l zC;NkC=tg15^~Xs7pW|Qn+b^ATaX)X6Z#Hf}QP&fB3V>e93Pj)j_P3`FYcl{^65!(> z|G2#W{`>tXzZdrkDfdoSVf!{dQ z3PWlE7jd+oA&>8(j1;3yhX1;5phvlncw##!M|C7Im7^?2NDmy9%p;UggVd4z;H`?w z3V!Rsd1P&6Z2sR}WVldjc9wsU0y~2oL)9xvPkI8u@yaRDVd)!`fE6p{dOwtg!U!9{ zDJnwdEScl0jujEvNYJK8{!ots^y&XCiF$UX^+kVVy(7^hD3?h_l?TvahBB*nfFRTT z{5#+Ye^UIYL{In;C)#G7iVN}Mq;X5Su2@>9`zEg2Z6-vAcf+Kh(qHe585c1t!$#=@ zW@?BZrR*(aha*SJSB$BUfbtHjd4fZ ziH}+;Pa2(8dOobgTEj`wxltY=&))~lBT%T#vEn~Q5(s6TLT=1VWIJP0q?>FWb*KN9 zw9%dZTSBIPUXESGFbsmLK0_TCz62NjCk`{}dZROg{Il1IIwZB| z_KHDAy8SbFB=E8QvpqNLLXz>pHl^V2$Wm~yTX=z_7uZW$@cB*l-(E`qlR#|0ow*&Gkar&?=Pv4OOLrY_?XP5;6U;v2IQX;RV~eYV z#|D7yM1ZmH*l`38wl4sm6CtIO@Q&{-p~_WJJ6zExf;u9bX&%wi&OU9FdDU#;bN}xD z_^03eXMg{Vzw>wg&f%~A)xUa#6Xt%RuO~SH(5}u+U;EnEopvC-ca5jL;{JSI%Xk2J`HkJ+q3q%EB2mLZWP= zm?xbj*bB8>R)YS5(^!(?WOqg~d=V;x5h%a24VVoG-q|rbloAnyxT#7*zU-Cc0Cs#2 z!%5S#9N0PT1>TkOH@B1D>y!q&75!7|u60s!IR){+x~CeeBI4bi6M-GWRe)WB1EbAk+lY1?;5pdO z<&@Uik6B~HTcMYTOnaq7f>$Hu9ef+)&4Op`yAA5GWQViKwz=NI5x5%MNB`)K?%hd` zUEal(2WWZg{yxj&aOequ7WAJ#^;DmI*y=w&Z%F}m$g7s%Ldoen&jnGB*>7?^k@X!( z4fywh|9xFLp4IZReyyS~z3|ME2AKLY=j z0JzfW{%ya8w{Cw(zw(d%nC{$p(3f<0;D0sN`L|?1`)fgeyWfMfw$^_OhiE&>k|yfk zg)S`5N^A~lXD1O!^D`Srp(M-kEC5mZLt_|_oBR{>i?>&4j_rhTCkF#?%Xo%7GJNJ_ zfbs@ZZwj4fVgR1vCe&yANmApK5*~u~tR^#a6Icg>EfJuj$w=xqKc+rQu}yWy1X_E4 z>?5+#q0In5@+PsuDYl#nIIZltO)5TwzIW1kCfdP@PvC*!r?hJv14zE}zY$w#3?q&* zx&s)Zn|P-WZT3VgBm$JM)#slzj^QQ9QIIQ;(x%v1=k(NP|Js*M-+uSEe(SgR)mLAo zkFIe&=?MVuXbt|Q?E~=e;X`@-_19bQ-?@-mN{WV0^z5_G_UG-p?EwIr0b=>XkB$$& z^Qpr#f3rCXZOgrDzVD0Pnd~gh%)w$Bq4^IioU{X$nb2?ti?NJN1LcK#G`=!T+YWTW zx2ZQF!2qKIt;a7tI*^X1I@*RjxptNKD+CNuD}wG;0|y?C1{uWc=ww0J1<5FCEFCGyyKFw zqwKf>99Y9%pkAR}2QBmSRh#>@5|j;t8nlX@S%o^tf2r*XD?bW?@)#H`IsFX|Uegrm zK2?d1QMayZ@3r=O4ky&X!dAh9LdPfJu)v9n^WcGj)5MfOg-nm8~ITa1A2uS- zui3lf*bHlROk)R~+fMEl{GZd)ZF9I&ne(T@)*sH!{8TRt9Fom|dw8vSC<0}2UPqc* z!b^$`nynCMHGzUPDVF3hzI7a^aGK{|I--Rav zTJYb>v?R{Ae&==it>5@peVI)U`Yrg^_5E$ifBSCBH#`Z~XF$V@5+Yi~>&*3g(6R=Z zL=ij&tM8BGdmSR`9_|mIpqu3Zr#3tV=OA;ar|@3#P5fSPtAB%XD_oKd6;v(LXPhPk-9s~eflm9<0{k=3(_;oe^W%Hcv@gcD)1a&`P}66-ZT5-^mGOh?qgEzDg4Er3zp1tLdJ^!;rIdA^a_2ef2T8D2ZhHS?-$alZ{UH;a$zJ-r_SKqyR zw|#6M``E`0_wV2D_MrW>!2gs4m~3Y=0?jbLdv$SJo>B#*=eJy+KRhw^d1wy;9TXgF zR#F+)!)5g?v%(V}@ka+?RC6F(axiL(nE@@6cGR;4`o?>Gk`0^62Zu6Cy_t8sH-PGO z$w*p^=9&NxOe}a8_GEx?O8yR4ts4d6zInu1U%p^AV5l5s_cQu+tKmSgdva57Z5sx5 z2Ydrfos|<17>odR4JaA#lsu?+rHh6)jL*seGGmnbt2nqqsL(T+WvUVGiKMbj$t4I) z=EnL!e#E2RXPJZG$OO}LF|@b~N8!zz74gCb$voDbYvTkfh7VY}j>y;6YEbhiqw%P6 z=o~DbQid;aCDqXb5ENo}R|4k2>f)Xe(qWZIN=6gvPA~&Vp$=erBi6^7Y&8B)L?CeZ z7;lq%Qk3Z!PG7*|(?vzHjG&N^O?9SnN%>Wr1a+*OKS2K3;7K@z_sVupW=9O$7A(sg zqxYD!a9W|{MlF~)HPWHuX%L~~M@p;CADfe@k0L)j1t;(R=pKFSx#v7^RhvRM7Id>P z0lO#u4b^?5|;9oSzw_yJ` zoK~O0?=vvA7~P+qjdwkvP1Hw{-JWpRHd_Ml)b&$d=hKS&)5@RiM4YbYfv&?gv&&Js zK;BnZ4(_wv!zB-e1wv%Bk?8xmrIl{$*CDr2r}|=jRoi8~AB{wMNYYEjL!)~~U-T*e z{g}V8Cxayb#^>0m(N1ajjbD3>e)o62e@X_7sr^?P^dD_=zkYx7DgTxPXxApFgD3@< z>wp=9-+vHVZ^^+YEC zlnI;*O7P!{y!6sbO)*PT&TSdMb0g**$uWUut{$t7>Hk{)tusNhC3ZOv6&G%hV6(fIM@0`{`4_|6n6e02~fr)L5qjsRw^320~Uyx{AxzR*1kr$XeL| zAyBj(N`9rZgco(bwHwODDIrhje;jyim$`KPNuuhAX)mv@8EqrcyQ@xAvg5 zv_#V+&7oa?a2} zHuy1tH_<`C9CFM7lP4Xt`5ifD_i$6^l919`Gf$XT?U3IkaPTb|W_ufqXF4t4 z?t$*LKt2*6v9q~P-EaRLZMMW}3jdaZ{5sNaqxtq5KLuxDcsWXT9hV&RjdZy!0XU=? z9PMgBzXks7a|%TE6ka9z^7&dslvc!-ja>gkPW243v@Z0YGwppWX^!MQ21^vJO@we%F-+k9N^XpUn+h&1R z$FT>1&IX9UKaTn{c=w<(c^(NM#TxkDE?#8{+&GBKN*F3}+vb71g#N^9wrizt3xD~( zEM#(8b)8aNihYM*I43!P1~MwBqyBFHC1zw<`$(ra z);ho6#q;8ELBJ46fTR^f50KKR<*2r0r-P|88O!nGkCsy0cIs)}R!ZBMCbHGcRGn6= zUFWYhX);Y(&%|3J^t6ATFNwf&2VDzGvm^z1QQj z_TJy$g_LB*7tjHI_nhxJ`?2=g>%Cu{Al7y=FgGM9G_?{={84-uGAyXq9Db4J^z&lv z5+d7ws3C%SEz-*DoOCkS#BHKPJIeop?P*Apdh!70e(2HL#>#ZY^}Y9g-@^|-%rC$E zGX0+OAJ;$C0RR+|)@jc^`>ee1!V5}uL|3j{k*#Bk^Y8EOyYD_Dh%(|`f&ik~3R`?ZTd^ey!yfb-2@h?4*+?QsadJ6?@Y83jpwlxpt93;XTZk7+t2rAo%P&mCDquZtk1ce$gjnk6=bkJDX#)tzW5WcxMB8R<9C1Ot zF6runR%FVLXE4-da806=KEjWN(Edv%K=rtZ@ExW_9Pq*e-KF3TXX7v#kx5B1jgBlu z-Gej0U=+}Z=cH((Xfybek-<@1t41<<7(kNX>1dB6-1Nq=8(Y|B1sMY|sri&q<9uk8 z(65K&TsF~u-Va!aI2T|tp0E_g&k|i>>&x2+GpQ5YoWsj+-e}IQW~dT$=>Hy?`4>Lx zJktGyjRCbjFhgs)4E2# z9L4C)e_8K;(x(2~@qWe8f9;iPoAduGbos4YI>LYI)Bb(B|0x{rSOWl(9JpzF&|x8> zesVDVU29!_#(pfI8zuJ-7T;i@K|c3YwDPlTN`X%HPVznvJ)Wry0}|oL zcl|3e$b1Y0ira;=O&{4QnFUnB)sz_yWK2#v3Y)>PY})%0F*{zBu;$;DZm=-RfbGetlKmGVW^UvQSe4&!h!66+U+)oc2y{|dHl{{ctKe-T_9VLOJ z3g2))%fxw%P1N5?%axI&IoB-`Ai5=1J&7+%w2Ukjjhr;h2vtBABekYqtgh9b%n&P| zm-@c?{ySOqFcR799r6E4IlDHapniMxo_p!idQL|~4(Qyu!)h2+g}Y{kWiXP_pui?r z3kmM{ZHgD>EZeA)d&#kwD^*lHmYN6Y>6rCzOno<4D|7pLlHxs{r?ury*DQaMr94YF z8jyKP{)lDo3;kZcF4$*0Zy&-GxH{wF{Xdfu=DvsFHT1rR0nFB-(eMr%jlJ{D7^74_ zCFeFi(4b(GPun0!&b_s#ysPzqaT(4((Wn_a`sPWJMBtN4y7Y5Y4p&Bp1da0ka?)r& z7NkGWD9oj2n!@&?fk-sUi&;}Dy*l2ZJv^er`JbcTqU4||o3lkU=W7p?usVeY@ppJw zoWu59zCH5j{q(W_&Qo>ST5%qW3@ye|4H!+@!cY%&@TW8r_-67m9Mc*1TgE`V^=X?T zuSV<|BlA03PrYj+u;pZ!I*PkHRi~>tY}IkozqWB(bMoqQnc7{R>vZoE-QX?$PVo7p zeLvN^9nDuqjEfU^eByPTR%g;2z+Ia%ZnFk-9si2IRX5(gbxKz@$MPFryFzchc60lE zQgL$6y$j%rYoA#V;GhHncnLn=gL}=IQN4#Blaq&eXb)ciY}39s+hA7EKG^{8_K6K2 zqlg#p=xRZkLS(DfGOQhIbh^KHT1J zgL<0_xj9blUHMjn)#GS<=hc+slr@#TE@*i)a9 zul#3k{{6rI_sh8Bd*1mk*FW`p0F;Y81WEktv(J+5;#gkGg$oy|qJI1BxB1468=j{e z1-M=1B!K$6C<#)M(&u_z-<|&Y1AOk87HD1R`0#p-+zab&mn|NtI|4e_^F&a(=t{yt zdM+fDy_jZYPt0wSeck%Na++<$3K6-?&k|Kkl-OM~T{Cg#LXt>_oJfF?SlhvB%#}R? zb{iY*H2SvM)EbKU24(5Mu4ZZRkyRHYyl?9RKD0Hg%>XP%Bbnk^0j_=;5Q(IBmJ&yd z3|>G3^;l2Q={n=na+EKw-Zq+4UA{h8r{M|dSbpgq#TL5@=*?r>&&NS)D_z!=~eB+0-$5`YXwg&P|B ztMM#D=QvWP2IkP$GU5Lu3nHD>iN+2ZKbdDG!`waFG{odI0srso&b~cpfKf;Ho?n#G zSa*Jw{8!cT;#nKE!d>8W1DpQ8+x0u`OHAM2wb^>JjrxXi@!gu27~lv#>J#fbaUBrYxc2rD zz4`hrx_`Ua3&U6ZnQ6=m&uscWhAy|URDHj zL*+zl!5U=!-wuEt^?THVI1$OS`gqVaJhZ9563tQ8H;Hy>KVL?>O}37lm6{?%PC-iQ z^`xxVclN4laBFO1p$4Y_%_X)>`hZb@d#Vvn0T_O3YkGxz_kU`$02m0d1t!`uVS_X5 zh8Ues_AvMT(t`20ESP$*@d&_D9>;!V6fFySQ+zGI|2x0yWVieEkAM8*^pF4XKc;;H zQtzeft~mvOloU4SpUX)AFTM1VY$GCT8Rg%ce|hMkht_M?t}T{s>)dsV2HWql2Y{gC zUq(~vQGo05tH1B?o>tLDBi}y7&yE&;(vhq@yNo zNOQ7Q*|rH#Hp}JEVEjc|GtOFhx+f^x!ZH(D?QnxKx^HvB#AIPDeE~DF9(AP2EI?oa zUahJs4jz=9H^4SyD%1Zh0Dy`jjYdg~u(=UR<8{`1f^Uuy;vtV4xV8O;BX;938AD(! zqjMZ(jU&l4g{6~gwEsdwie}1dQl2S&Q?>$7Ne5^D9 zufwe&@&+N?LMaF!Ug8|9S@AI7r%SIzE}+1y*k+iFY0+pleyCX(+k;QaV9Y>a9Symq zWOWA2+~vU$+vrN58#lU)$9hnDLyx>YiO?tv4X;mt%LL#?G^wl+!QVt^Ju>`u{)g@i z!-)KS-_t$mB}z{oQY0|^wftEwg~OcrCw;SjWK>>uM>;>yHQ;`x_-amXILYNGz*BG< z%U%HoDEAdty<`&#c@gwv2<(HZ_&(qxEyIpI(^+xtQNVeYJU!nW{hDqa*WA!XinN59-}&|9zHt`7h0+oyxk%J5I6 z2c?hl{LOD%qgQ@=`+NBs{SUtX+vxC~b3XNax6Atqlz|6hvRM$+`q!N$?_0{hd-%Bh z6Ew|zB&)^Bwa7>C$iqsp##;kdpoAAm9i{2cQK@)?dgCsL(0sLlQP3^p)Qi#ZxD%x|lQF1#_woXKuA!xXy zlU?CBXWbF?){d;WFuMo^OUNRW?JCPAH0%67k78)^T&oqg2QcW6)hPqqQEuR3#L3xCf54M*#r_>(7EoZ=54HyYUpb}a zb~y=vJ6_|M-4C`M!Vs{6PNLkdR)mZ=tR1w14y%T+=CG;%Yg_-{zq81{<668=lC22u znmh~JYC+u_=$rD7Lo74N<7Ss%y9XY4y4-Kwy2YRTPaO#1NjCkn?fzea0E^0nMQdAq*pHm~Svl~r-AO$PaJ5mP zavaiOo0AaE04Nhf6%h@iSlR~Z-f?J^oF2=9CzKi4WF|KV(b-196<7!Sd0A*&jTaCV z3GJ6aIX|?-1v?LL^GsTrLQG|=QARl8jkR_3Ie~IagXJrPOLmOzB+oMhkpmT~8MCTE z{CSAxHrCwpY(`xqUOVz}V~mW2RIz~pWAxb~))N?jSOmYJ)&`^{8U%|-+$pfaT6+Y4 zQuN76o%8R?*q+0Qm<2GxAx|iVK!GGaU>f_E2L?cc3k-|i0>R(b=kN)G2Z@8t3P4sN zO2)LA76SPlPXaV;jv(WxW!JyvOcG_o5DjA*FElvYH2FG-k^*9Av!eOdjbpmGIWuK% zo8sJ*>Enfd>kLZ_)O4mEK^dGlirpD@I3?&Qc5)`yeWK322Mo+$m2hBjWZj+f611?i zyX?%@B?A50dw{HpZqVsw;oSimp!aI4{)GvDVOauZ}<$_ z2{=#>dZSuqw|)is7uerVlNqj*PbQy3cf6BJAg2)UKj{73g!~)(+?I#fQjWCKzb^48 zgFIzv#^p;l=_h~Um)m;(vb@Ab`%jzWZ^!-Bk^eOU0PC80Iy<)v@S_YGwI9lzeVAet zn%Yq*xS-#%?8$;R*&dJv(P(X$(R2!IP|%9gL6QZ~LXpntZRu<}XsU-O^f$rM1HfJ% zu<-Ia8Qkg*+GRo=mEUjV4UqtK)CM0S^*T5I%Lm3+VGcm@~tL z{q6^(hL-Kqx!APrI(PpgAAR-BHxIw}d%yRXe($Q+-LeE=_S*Woo&<2^%9XZj()RoQ z`|mH#d7G(|b+DF8nG-|oM5{ql?7bKm>)2&T&ETs8u{haYrfF2p=c)yLEFq`gw2 zZ}E!lUV(vK{##Z_Qa}YJM>N!1ZB>P=l=QW+e0Xrg1Sb}_!0m8ZU*|vtD*)1Lm$Hc; zu^vNcRRb3STQo^AUVZQe?`S;4m*{=$XLFixs-z|(Wdll^%?J&Stw)__ zjxW~Sy%$WNAX?HC~cdK55FjAS@L52uFu2#c1V4K)Ts z42=y6p0FxX#00v4u@3@ZGmMX<4T1tBBjqCLABM;JQ>*DJMayko35z;#Y zqm$qMS+zrZxn?@Z9eOqN%;^^&agXM>n<;}%`La=SYHZ*5M0c~8B;ssFemsAa9x$urnFcegfN zFBXiHrXlJc4IG;2jaRSJ-~A7Mg?{kQ{ekMF+VT%`Ft{6K_del~mQZsI@_JO!Iq$@g zLPiuXWCG9R-Pu>i|5mcm9PQzMBHwpNW>fyl{phv^0giQ6#Yv^3FaOdj^!d;J23@~? z)TZ~B*)yB7-!}TQ>Hn+G!f3R(`YarVwxS$F{%?26GPfn_tY1-vm zuly*ZorbTJf*$@=ayp*q%1Kq}5lBeGLYPx9M&M~+m*6Fv0zquSCFzo-tu54VYCtddPJCD5TG_PO--5N(b}<(@jLtt zvoE||ZSSaLP#lHu`Vr$})ie^5$Ew{!9D}`H23e0geu@@x6TBD<7ml zW2DS?>~S+Qtyvs;PC}N%9W9O>{#`;-80F+E>`RVC3$b!5&$e&_Hzm*{Y)cg4n9Z(f zYhifszF6AM|7K{Zlb~uv70#+FBg!&>a6`FeH>J+ta@UMYJAsrRl2f{6imQxXu|=gh zI}$X=3f~pB*RupB1v<|$3eVn#FvCKjQmV({hVqE|h-6NE_BBhBXE2y~P6=*Okq)Lu zr>rE>i|nbpZ-4(TQWCUtU(00AbAHP`v_l%NUpTd|C(A`W+lXe5wK_jBVHZyn;D{$R z)uUWj{IW0LNNBxyiq1fHP~55ryyS8KPRa@x^CwXHwo%gSqcN#~1--O?vmw^r+AM|` zjg-_*cDV&Tkz`ubja}6n0BKt0elk&e0`Nm2ZyXniUtk1w2xbY{3@LUX`#M2_U_eA> z9AOSSNXRzhuP@V3_*eaUit0I^z=vGS2wL&%HMJj(yBc9zdN*#6pR{!P06_HmuIU#IYI&qudUy}Vh!`!)uI4q!~9U3J;R3d*N9`V0P7 zHhsu#b3YQ_#8bPTzWS@L)7M{mgTCXVPX~VLeIYE-br=Wvpd<-Uln48^^n&1frLEe?#`v%_(zc647>90I43;cVZ*|ZLNRV+v((_IsYe{e|avKJO8GGOdhb%sA55010E0uAVM{NAc0ZW zxUL6T%DK>*PO$Gyf9%))rYwwx?Oi{E(i;bY8dWM$ZbR4{9KR{_O|;c8Lg_sQ8c_c+ zCMO~cdLVomuCv+?Wp(sx?~Kg73a_W{)J)+q`tP~+UP58ZqobeFnC&Gh6EzsMTrGo? z=PXgDMwpu8E>m?DD$ysXx$$410BLW7Lr#M9gg?rTC@i?1H7Z8$Kx*18% z1UT9!4txbqM=KWF^l&^zqR9>`^el~ex#*GBZOl~YyOsut<3+oBJ&gVh^ zZW#^^n0yj|DNNd@e9+Lab~1=JyocaH?8VcZ=fiP`@0{xGOPXJ^@0LF+WFGS6HZiIl zvQaS0oAL0@vH_*ND_`rO}S;Kn*D=U;y|1tHwaW8%Gy7DuSleYRhs#GXL8zhePmvv}HlrNb@#u zWS`0gDBcTZNQ?$@Ju6-_h#(Giy89XhUi{|Ub+ogb0Km&aHd0q+ww2@Ld{k0}br_Z6 zPI8*AZ%((ZgYO)4cfe$_Rv)J1?^Yef?>6%50{|xb%*l-7^~8By0zt8c9}rV+b=v+m zieH@jvLRpjd*vI~>1caj9Q|e}1Mfng6cpKV0qZyaEfI9^-a`q=l$ssr^FL znLap>IzwZvyZ*PC8msPm^Y{PWi}Y>Z`GLTV0yi^;P0mDsmb{-uiAzXE**qiQp{zmr z5jy7$EOdaQ7J)ZY-3aw3`M?o`3+F}g3vdaX5>Zco&}sg4y?+_`FOL6-uJ_*@`CGS+ z>9e2tRr>0$yisY5 z{+(y)e~Q7i=Av*`WG^$xu#9=P~F7h{BIp6`Zu3o(=4?g&y*l7Uw-g|Ee0`NWe+*7Hq%mT1NbqPS-g7?Pm8ax2bJ?+!Y7DRh;^<&&+m6cu0;wAb ziq?MqU{_@W8kA)QhE1o9HQ2f&0ec@FW+F6?D(rDCC+XuGXa(w3*qA@pogqtPFxHS@ z7|V^C_rZt(oZ%Zy3`GAOINql;bN(?6sB;(SzByhGH|N$m^(kyLb2dY6CkU)euZwAf z9_gp|Fs)yE<61&lc>Q6q&3NA>1i49eh!NsNs51(xK|0~+N%#9~32j&4BJ;4l zqt2n?!B7jb0W9S@DcX&6+^+`}Y+wg-MIX!%X$~R9)OU53WfQQM-@4vLK-JkdV}8{W zRcbI{S+uH#ixnJibkfavZ}si!rh@xM_Sazwzd21YlJC3nE3LUxD-diTny$~cyBYJg z_WkJSw2tOqyK+Qty?Kk?-kkoo-e~u}BWkg@cDr`U3QmrszV$lShWqks-N9yo#uE}# z^ht2PgDAsn=5{3Gt{v@H9LdAB!DBhrt1gFIq|TTvmdwR(UZtCx!+QS%YddY&@PBZi zP2!-Lj=qSZO~_c8#*<|b3HFqQ?PipFJl3j=ne+>YQIb#v0b3RTdOUdWUz8ooJyxCa zpV#~A$iE%sSV#VMbmj6b`qW?hWxDj{&FVNEpPcGZfB086{}W$&VN?DSeXi2sYLsg! zusp%(5U@0Q>aHAUwwIBKJ2@7D&&S+DLxPiZeu<=l2G})i! zT?cmx@&wJ=tWQaBOCp=`J9Uma;7kZ|cEkpD1a2PRek=cb{%OHodi)J->{2J(PfFic zE(T(k*H8Uj_ypE0u^SDB8}VSzc#tp=a?rbI^aq0)?w}~WwFcV&nQi`84gg=<+F=%8 zZw&N9V5?QdJx?^*v&8QI-WHl7k5TfW;g}E=qRLJRSl<5~-*xe|*Is<;si!#Eito|u zuGj-$yX41z{Kt9wtImHp3a}`I;^=Qdfc3G*9^*@wF4cr^6kt69umk~0N9#TS{Sp8! zO6HcFzDj&pDQ7bZ_-MIKHGH~I1UpfTyM7jspkc`w9ePrgUMy{NoyhhLq>$$=ZQbl} z)z}vGD%hfB3^LEZ3F>DFbx}M8E7iRd)P8T^lsT zDLWO|@LQQ5*s?O&dD^+MT-A82Cjn4fE6FRG0%2fqm_uF`jua$AgnFdRFLaoRdNpyj zz~+gAfw{UkJa+G-3?6Ei?vB%_>Rn{N(xI`9xnBE{>7bMqYmrqcLW_FrWPy%Kf=96~ zQEw^{5~86MWyLp3j0Qw+;5xtYS(On%8D%!B;mwp1DzE3$9pLmG<}|qG#T2=jvoqx%w!KikqNi<-9}LY3Fgou zUKs&^iV}_;hK`s3B)lA*gJDd`*yWt0L&TDB6vk4Xp<|Rj8zo9h6jX(XIwPwtz1o>` zqIq7uc)hNFHVm(}m&z7IJ*;QSALx)s1InFkiG2mCv!B-It1RBNIwg(t>o;>w1vcfg zvSF0p`mKF}WA=zZS1L}F_RDjgwturZ{a4G*?mNeG>IX%<44btPxinhyW`LH~op~}R zo+5~$4$TVt92lPMcMFc#?`WqH{^6$3P7m6M|GD+B9o48bQ33%aQeJ`pN4HMt@|!p4 z(MKQFHboGmEFEyZnd}LG^plt-VM$QMgVQ={InV-0(|DFy*%Z8;;b5}i3fK}jn%$&qztpV(_2KHsr#H1Hs1`+bW6kpvzP0$jzTe@Ps8g`sfIs(;0sA;(2F5p7#&LM6xj-01pPBaQ4|4c5s<3;=}7f%APG@J8Z z@2{^%FMi6mWvdaz5JicD(5@Hz#xQJQ;tNeWZWCd|GyfUuYAMlGmE5S}Vs zP~933nj|x|$-!Et4>g%#kg{ue%5xwe>Xb!o+A8AWL&1r<6}BxXP&W@OzYlaHM9Wi3 z|CU>~Xu1Ca?R12zo^^WA?CIHsYDYjAqXP^8P}G$#9#Vl~ndF<5;rSG&CS0V;)hk@- z+Trc#6x>;LCOk-1ko)pr;_Td8t$0^_rV>%u`8rH(e&r2$$kZp3Gf6^`ngLqA=s5BmXF{t6eI1YlPL8no|q z4Y|z#C_ip*qxskB2>xxKw*SU!H|fUa^xxKL`_9K8+alN$byYf8b$=SI0v)dvEOHM> zkS=x5cd^$1xkK-x`)dxKph4c3LljfT3tXq%od4qN7gX&I7dn)M&K({!(kdfd?RXu! z`0^F{{r}9jq*)o9)apn#M%2D9N+R+;{U}?rWi5{O$YRP}Qkg=%j&zE31K(t__ZQRT zic+vV8xSZssJr~zW`8HT%RlV&U)~qGFZBP#&;KU-kr8{7>6-|Km7naaT6{ z+wCZVVX?1+<3=E;Enp^5b_6Y;GYkaCK8I1V149J)a=%Icz`z68ML^^B5VAPh&<847 z-XNUpphtn|;Cs(`d!x;>Yjn(`Jn7)=(b#|OGS{hBs^>ca;0}+D3 zKg)y7NLrEz?HP6aMfU(`ox}Pe4#Q$r7clxhv&mSL5ONNu%95%F3_0fV8#?_t+yII$_FJy zeNmMWC+4rRKx|XMim>!M%moo}dumI{;{UWXsBz-5<=eTb8cbKek==!M27=lhXl#_4 z&z%e9QN_nrS($TT>n7`anTdSa`;DmQUd{@#`))EqCS~Mr7!@W&9ra>!=Ir-@f$^EL zlQ6b|l0yN`Tz~DAV466bdm3@0f>nDd88r?Uca;$+3IdoKZRbccT!XP0m5dGAa}87b ziCoEfFJz79cg_VRrJZmK?HOUw{(x_2h$Ec@|AX90>4J7l336!XAV|e0Zbrv5Zydok z!x4&@nIWmEV$f#O$w6>MOUaNMoqA|j-*(8?D{j`xa<5Ue8;zN+C~p@N;Ruzr3k4rk zoeDGDOTs_kl91j4Lkx77_+NsLt)1vFP%_l@E)-5Dg)Fk``TzW7`o8Br?2b%vf({Q( zY5-ut0Dza1*Xx%L?MOWs(Kp!jdAGuGe~OE6s-rIifVY+(AMJdH{c^0H9kF-q?c1Tt zK*pxNSSNu6t%5|nO@Zt7zB%XPx9rFVUK>uLze>6?HN5t-&59rbM}O7h{s{1+^#L>3 zvXwgRe{=jx{=@ZP`+QL8z~t;9A5^?w{N|P6R0MabJ9_bpLuM<1>D9~hj{glzU?3q% zqN>*o76dSZJ){i=zOAgFYb>|Fq?1!lUy6si+27{ipPu9?|7GL9`u_B!I`X$~9@FPO z`yze$`HMcfZyWuUd)W)3ZS=SE5&yQ^Kanr-=in0$3@7N+km;QI&JOkGij|H}63@E> zLtRitaScLx=z9+NkNxRoO_1)o#7N~Vy~xq7Y#(&=*XI@)^+DJ7sTmag&fPchw#V;G zzebN%PxQz9lI{-Wbh4fHmXWUkKh%!0#`arFBVEUMUAp!Q^O4JgGBfMkn;R`Ze2y@f zvmg(4(@U&2+h8^*Op;!1MTHLHNjqve0)cN)=f7qszl+0P_-aRS4B#5he?uC;CSCKx znV-r#NDI6*pBL3mim#9DQ~>T7qRtRl4)1+>`?dV)ul_2ZKYxCYq#bY2Z1X=U3Z-1Woht;h319i5kVtb<%16^)(&^*aR5+G@i07Aa<=% z$;j&0m}>(}R1smDgGkt;Dp763-wnY^`VD~=rMKk(;ascpUyBws)LhHd<&7JmY;0Z& z(Nh4JT0u>iF8XT`HK)0qTCi%@-E+L7hYnBaDxXusZLQ~6yYdC+0i9p+)`zg%9}JML zKf13nD)~?X_$?HTC`^DrHK@!Wk6F7iRU~-=_l@E}kB|tetZ{#LJji5X?EF>El)Y;LH z-mA2xGhkb~1_&tBu9q^%*?_c4*eldqN8_P0tp>=C@WQJ^Uv3OY?hr3{f&;-Owhy7K z$=m8YD--9Sqg|YV(N}43y1X9@W=;khcX^FxXLvLC@>?Dp{HRBBbu?vVVf&c(@W1i= z#1WwMn^aDy;b%^Jaay(^^WXaxy8i)cyQ3EeXA1yuITEmxWjm_6 zvmh{n4|@uTc-vwp`pDCQC^}8ri72R`jNrfdTG?U$s5<(^;kRk~(pmKufUNIV@@MZi z3Av3&??up}C6rZ?aqMMETP{&9+reM#owu7Hz@fTa+9+GiX|n(fHwqJ;36IaYi7Mk& zkF85_I2VVLR6drjSq@nDY*^^%=1Cg)Hr5POkBk|-U;z*sok{LEz~q8^Dh;7*_JUUt z8YtD+%lnSMuyWb2iU1sQgssn-<6oxqA6F;;bfcr&KJ~vk|7E>@S=Yaf{9k_S27T%$ zetEm!+=2nI*Et0I*U2wgjLV`~o&(Dlp-b&`(#oZyRx{)6t<3>9W%G zvLvJ4W}h*+!RrFiY5(w^j~YOm&sdg~FWcWr@6qe72mqjgr6&Q%v(G*&FTC&qzyJO3 zFPi~YM_--)&~oka;{dlHK;4F?>;s_t0W4)7fR~QmzP_p9YX?Mag5_o0iuACe;L2t|o zf2Jf{7!fjkmIg^EB4R0{Jfk!#poXpxrdWDPV}fzdwa+MWVaJlvvVP3bWa-+J+ZfNI zV{aw67&l=(loG#Xc!!XL!I2vT53qA=itO@ux2QWt;O(9=GCnI4B+Vu+(?fgFJbDd= z2Ron<&5kv;fHR6b?f5Rq&6SMnnQ_I0G;3`zv^hc?2Rv9o)ET8wE-@vgEkKt2K7r}E zrdU-xSGR{E$g7DIFwa?MUHFj%Uy zFJV}l4y)7uLu}M^Wk$fkZlPs!N*8tXzV_0aX}<+Yau79{w_ z*Dle|{QJK`H*Xy4(SU26^4~W7TRi|!*ZS{Zp9>`^3n=B8ZgDs9*5eVsq4;tX^fHbT z>h|+L=pC1Pu3Ml!#&XzULOB(|RqK{XTM7DGvc5u{mIDrS=5yb^gf_=RCwEPzOAt$g z!GwAXh|Fu^)=f8f?lK{$hTuok%0j$oxo&;bVUcc$|e+vSXcYGx4YYz}V zBuz>1Dc_PU!o)fu5cb2b9AlD;Irg(<%0U6(YG{XuOYODgcLiXAolwy>aMUQMYpywc zB(OFJe~RGxe~%`hXJj{h7vYU+CRR8P$PVWaH$)4k6$ih}2-tae21XOA!6fw{h216` zR)ysJ@$q)QwX|_UZ4ndTG_48URWv-Pr%?)loJK!;BM|z+mAv=$ z7>Hq0{0?)*u)~Di0=7PT%3yGWT)j|HPZj-bX!4Fu<2^#(89J;D4<=;3Ds~{+h{!OzYZq0z6QgHhv(c z0(7VHgSOtiIs6Co(pTT2zxN-#M1S;;e`{N_uRH%U60kt%S-{bk&e^Bt=wH9GIrnee zth?;n5qnp!-VXST&UN!NknuemrVaN<4QK&6ZVq|WZ&URJHi5-W+QR7o??4d0k5PDA z&d_eFJN(sQXK}~f%E(9kMH%RvtZ?!|HJDFg6xM?(PSAv{6-=r^o;p?=kBmUz~|EH%r znDTFXWY`QC*qes?zx6f)@xE!GLeQ3LMqIHm6(WS&FmpJlEH~T>4Tj~nD zW;R7v#?+1A+t}qhmKAU^$oAe1{oP-Z0qb-Wxk>N50s(Uj zyf|5(371UoDn*8GDKJ7Ivr16-+#79it<&3{8hcE+KGb5J)H=HDNl5@!OV{wwjxdRk zf5A`vV>|lKrA^IKLIWj`dPrzHVBu&Vh{Oh{BE3Ei80}4*7Qh}!Qj;>-8IFhMz|{XA z_}+j1sptR0fA1pgm0s_i>uy^DFzv7>pM0|J?q7s{ISLT7!oBVTphp4L_j)2g)w|bs zC%^sx-}6i*nT_#|4z4%4Vcm6NHM2@Wsx`&P*$NU{|L)XoLd9RV7v#Y*M)|vJF7u9K zUVkR&$nOA-xOYJQ)|mwM=I(pfJGg+ zlBS*%AQm*JBM$u7deYVs6mWH2-hmx!#SEJp2`C0oNEF73U}H_WP(yJRh4vOn!WvJm zjCx_yE1nRHGArqhmkgq|FXc`-l@=gak`0Lr3Fs3737moEz#8H=%A_zl0t7FdJ0k^Q zHoPLtA>3PGxxO6SAb9STSVEVw081EN)TQID`ST0#`{CFDUK^n~-PoH38 zr*mUzTd#!e8DhyjO{aKuP?jwl(8NfMIvE13*S{YChmXl_7i8yFl0?{C1<)YwMQ z0XNtNXHTJI5C`m;nAv4zKWfSy&kF4u6-#hpJFy*RIO;#WvG3pdwodq8dydMfFN@0Y za0rl-OCqPF6+sp(ZJgOR5x>Xs0f#T@bY3SR#<)8$**Sfb5 z2DQs{_WSRD05&BQO1d5UQKT2$__fhB{3f(ignWrsuh&Ap8_#uus?#lQE5Lh{=?;yP zyE<5_jYKxRU!DK5%fJ2|-7cH`-QFDglNtmlfq_B~x3q%_* zS4RF@nfBL$Fh1Kv;)q9j2mEi0giQ+Bqy3<`?H#KAIc&EqyO@w?n9RmPvj$~Zo)wm1 znzjKi?X&)s<@5fM2zoIn+guM(IOq+2a=Ve>owe36Im+cTexucct>RHdpLt=Leb3ep z1aRgV0wLsOT6hoT9$5AP2H!>N7hM9tS5KAqLFmv(Y=Q*YOF0fO5%Q&bjVX28J8#Fk}lc9!Fkj^mFpUS-tmq7|p1Fz>9jh zDJbFP_IZhjWiV1u!C?`IBTw%VfWQc*(Qc98u>omBo$(QTr_4C1cMmb8zG7ACQ5Qow zm_9c*oO?%K&;Ae~@rj&;aYnIW<6FYj_);)}3uaXK*(B zyz=rD`j!vA&zBzrZ7(#TJVGiLq(|B_Qp(-Ez`4vFt=aF;8$h$1Q(O5hEzmSaKUtaX z{GXmw=l$fwHu;0~{<_&;!CwiG{Oy1L%k=6i*V}#p9(gFV-XJ5xR$|vz zP&kx9bY>6+E=(s-PUPhXeBRvT{?XR1`>>{5R_brg-~5#?`2%`D`Jmm5Xfb=k8Nt>; z`sROa-% z{_qMu<$LnFYfb?`=l>I*_=J4zYhRP+pMSpW0kFLG+H0O}bN=c4`SWu9`t_P#PXh=F z?Uo9Zzp@X&<=xRmx`#v!6E5@CPY;jFv=rwscZOU|mvNhwLrr$Zw0pH=n$RnCNyD)u zz#V;=IB_)(QLLds;o}7>JE=e-iunmHKxJS!mk8|Rg2v8uRKJwF6FsqSi-hdd7cghU z)*mlqO9xuzWpe5+ymvakp7N zwDLn;$nciBa@*ZB4?4f7TwA?afhLEYMAt=SxT!z>rCSId?a6>cjL6$z%3{%x#%vi; zzIr7%Q;bk=7(W1Vg(Wl(qY^5w?HF}D{=~cWRlb*$B81= z>vcIWrZcW_1A0G+b4r5GV8w_|TqvI)oe0_}~ zAxnBGl6XQ9>khHjBX*RZG__UkWi!A!{c>sj`pw_IMz3sttK%?$b!XXOZB!G1Px1aO zkE{MJo2D5&<%%i#4Aa(IndX?s=7RCAXxmi@zXUQon4nYW!+CG{cWcPQwi~|$ze(QM z&*-kr9Mj+djP6_WLU!2nex9Tuz(+<+l(7HubgMWox7lrr&t@pg63V*tgZiH9-{m*2 zlLaGe34qHto(HY_3#natGVFizgxBXSB9mo-XOO`mT*)aMWEcjOD;a2i+m!!P9Q7|d z{@*_G&Hn0!fOWn9W%`-F^<`i0kL&!~On_C7`HN})Mvo*WZzbd~=!G5w*|}!tiQb`R zl+!>blDyKuVGc&68dH#ph^9_3!q+>EQ`;ncClZ;-rGU>sZkZU$HTbQZP9skEi_W0c zeU5SOY-8EEVYxj`AMmtn?zDF*#Q){J@Q&3(zB{l^5BnY!KIoL$cUkp#%pxz|Ug_k% zgApv3Pr#d5vkyWnlSJS#L)r|HHmlNPc6(>CfK~IgDa@HKZUi_Ede(l9S_`vUL zrtzjlHpR{5B!K()5o!UXHIZj~T7$cS(VETd-lrbG^#PlXP0d}+NTLugP{ymG-@yr zCroz4kV?!E@PK3PFwjIXPL%BMF4DSUS8x%tG${8@iNMX;k{tO;MuN>t&nA=;aYF5> zRlrI?4}c?PKUBkw&9GDy7J{}k%89yNjzFC6A)~O>?{3h7P`@J9aV&tQy3DHWw6M{N~j*^TGJEq(7kKL{w%$KR`;TDMzr1hG|4P5~#c$MO{(P7Jlbvq*R{{ZT$A3Ha zukMqvvmnYE_Jid1#E*d0RGp)cC;ZRRo}|+$1_`J;{RD#sy&NN=J%PnO;6l?j%$??} zTcYn`gub7RfcQWeozsspH?_r#JYw2sea%R478J=665AmF7it=DT#ZbbH4#m8Md-sb zV0XQACM)f|gnsvz(ethhlD)an`V$A#ZzfG09VXl;T|(CefoPvcaXdmU1bR+ul%~-u zZ`)>ob_Ad_Ti&ua92=zUG8e0;HygC7#Ktj8Qz$EG46cdvB{v-%R%^mGl&qj}E`1H^1wR z0PkNUhFp{VG;$b}>^lTn7>s{67QACyGLVQXQD+FKAhyIzZirw|g55e63S%1;3r(D1 z>2$Iuu`L<}a}+;nW)04|zE=h#9t47rVs-br~MHW6b~|e;d1$P!6E6NdOiL zW!}Xf%Y4O2rg8S~ejDHe-o4z6svadNzvR|tn(cKe&eEU^Gw^&b#tgqgw3i#u zMwq=HVVtDv+KfL;0(cv857IvVZ)IDaegv$9C2U?bTA-&UQWVCCCLcB#3I zUJ02oCU%Dz4(8C?+J4+zFPwUF6iS)9st=8a%N_S2XzdH5kR02YveJh5+EX(jgHBhJ zM#h?FT(JaTm3Ars?rYFS_=H|70f6ct?|iQWl91!9Mz7OLlFR6bb?{Gk9GyeF&)RN| zC?|)5dZeYY-9DG#7#qQCqx2`$(Lc5+|J_dib-n-1WBP^9eT|;~#h0s-U+{HO9sMnE za2%WcwSYkE@?Z7YZgqU197ElWvx*Q`p2-!Zq_(;20Eba1PlYGoF)INBn~DFWmrVIr zmW?#MqSvg&@0G`;Nd-+ScQP?}8SotI78Pm}x;qJx~By$JAi<@C;e zrqiI0S)LvO)Np5Ca)(s=zDts)C2n}|`X=|DHMm=zI3XlXB8hTI*UopUHi)qR-*w=NzO|$3yG7RZfSJ0 zz=Ol5&YwSjuq#LCRFhVS`OZE1ZoKZA0DxY#m&(x%+n>LD>ZzyX<(FTs&w3PKz3#vN z{u%`6PXX8zj`y~m2vEvCTGxvY5dX6^@n*anpSx}&0Va+s3_1#-B-1Fg34E);BrzpM z@T+6itb~ZdBJBh<>*%LyGC>K#jgo}{P7(EW1hy*70@JO02Z_ld3U+j`l--NVWQV1k zqa5aa`fF*~g+wrXwIj-@0VVkHzRdu*xZI;gVKX2P4=pO4C-(M^!R#tY7T*7Tc3E@R z4q%*Gow46b(sr(M9tj-lNWzC?>QGtry~%nO>`Ae@l@O7Aj$s1Gh|dhPCeeWjsF43F zNp_OS>JukZAsS*F7{Q-wP8IH9yCfV$ot&~FU3k`BVM7zCGvv9mtRjd2U;u9WwxL5$ zl&85P{W?8M(oA5qa3Ct>Q+NfxMZM$91aNT@@5Mc#o#F$2%P>Z=Sx{h76ydA`o){%* z76QPI*UV5xvKpVm04JgjgCmUI9<4i!D)D=aDtODfQaIE09)9fug1Lm;=2G5n*GAZj zlT&_|sm;qa@?U01VI7BMZMp3UU~RW1Xs5<9tEeAG<$Vo5>BzIbufc$wI^;W;9k5+x zM7FNwx8wPIO+VG30#S^}xAImG2)G+Afs58&z!t!2q;Go;wBSHVU~5l}nOj=hpSt0~ z=*RFYNl)}Mva*~u`T&PPPt{(ldvb#vu!t9{OMW-#)bd|oW3G$3FA z;2D#=mV-Bx7ck^beM81r>)jD#G_| zqTyyUGFC9W423Q}c{1wB=Ex5soca;JJaWRme%y>4GxqxP+OuV)7zIR9QUIZBdWg(U zfi9xG@@>y0eSrWYsu}5%5QCvBlQOzC8<1>7l&4hrnozBeyR4~Q97+mDQu>h-7xs;Y z!q`N9n;0LV{I6XQ?1ZtA}ijY>MxbE`&Dza(<%_}{D|GZMLj zCkG*-q)2bmCy8(x@67nw-`2p3B!Ze>JSoobZO%j~qD+S`Q~%2ma^nCNL#)<`oCLa8NtpRuo6^o1`?+o-xyHH z8PV!CUFg42rmrT8sm-}_LhR(M@sFjAyz=R+`PXep% z=xuGXV+?QII<7&0`|iI#W>ZiL1}tsIo#5HdmIxU|gL*PlVK5-*KHg>ix7WR;5?@(D zC&cW7K$@t`7O_$P;=rHQk^W;n;;&BsKhaTt-Rb`uzws9R?9cofU3&ATuIpdZ@qWiO z5D**vHGGCVsi#K}yM7gy{h9xT(23zhZ-^h1O%b$=cY_>b&ia#Pa$KQEA|g6A^`AsK z)H}U+8Ai6x7CjjbuM=h|5Dz*j2ekt3(3R-m=k_4%NMS8MclkyhiaL9Koypk&)5P7o zedYC>-KR$@5o=>Yt;4i0*wN<-EOoLB>NPoCX#U>UPql{7k;wC6N8)vI!Zw^n+c^4l z3L078T5I!EfsYj_L{Osvk5=u5JUbCQ6;k>nsZwi`R zW`jZTYR)uQWoyHSzw^5;zV_OS#h?7-CqFsS%I}TqZkqu>IPzbvXP$Y6Zr{FL9r?!| zdrU4}x@4csTJY+uUA=&FrPV2&>?k7EqAc5NulWQfQ2@OY`5w}vn zq}HF8#Q zg@r=c4DR4gWm3KnJ#H3zd)YfVJIn&RSqs{XGEjVEQYmB+lvFH1Gua zpv`pWvdc4a7eyt87zX_uiG4%Iy3_xu?bP4a`=6Bc{u%%%HdoyQa7(l5djFsQyJfxq zuFgC;)}#GSe6zpU@Xt=jkQL~a1A2iOJVHQUNtXakPUz6(G=~E@+7m;uPX7tFUf$Zl zm@m|QGdY2M9F&@!@H<^I=V|uaY@~f@0t!m-`Y&sLCO)Dr9VLB{>kyaw+m1N1?4p*J*ZX!xpb-Cgq{XK?Wj~Y%Ix0t(3$v_jJ5np9NrFdo}r{L*6r1Q zm0oRC0n}X|DoBMWi)zIRtHCPzy~q9gF?y~%tGRN zpsVX0Fz{8XvB_;E;>`u-em$)k5n{*qrEj5)0u?hE3ppBxIO}?v*wo3Vq9 zLjb}+XrDk?qVWig8tSoc>|l925FyEck{R}+V8kjK){FpjZBCadeE=v72rN5b;m+_) z@Dovt_<&K;p_AeC4e8pNMoh4MP$rHl8GM9bOcY|`0ceBj_FNVqJ&KZCmo$p$M{`hS zVdZ`MaI}fFU>iM((kAWTNu2~X2#EYy(7{Ob8%X#XW$ zo|()toQ<_hYA5SL$>J21k^LRDWdNH$@+8f)+bH#;&zjzl#M^$(?#4>F8h;x<+KAYFuQF-);{YyPRW#Bly+9z=&y{}AFI=^0f2Jf-ksL< z{$+1~9ew_@FVgeB_}gu!Ks_F??DD@+esTPFI{JTnS_1=yqcSr_+F6VB&+y6+1?fkx z-^mr`ow(ixOit6=g`=vY7>^zdI?4QB(F{BcwGi@Eu7AH1wNDPclWTvnOo^x)@dT22 zew6gNl>A1YMFzRuOVGZev(kHQj4}rD4t+iHe}=KEmm@Hj>Z2^Tx>k1dlKZ*dRqhuV zvb??V*1b$Lm0dFp7i}gA9!Aj?x=9kyE|1j!@cjnRC|insu(o-@z5!rK(@p{42o#nT z#5SpzQzN@3RDEsm8f^^S#W}snBnI%U&=e(6Hf!UMvfO+AW0x;q=J&nteeYaIybG_p zE&yN-!*kC)M_>5D7b+=y{p(+M64;!7Px`bxHH=JIy`Rzz=g7!OOmXkQocIsurVM3bG2rzyxOk+u{43(tbnos;L_4o7j9_` zsWP$7TG(QPyXvg%6teT1A#l&;@ZWM{bFF+@*3_HPmJB+_o+FApYAhi%$FoN#LRqEX zo$LaUPH>u_Ac_-M>#g7! z@+oMG0>^3y8|I7j{H4|jq?t$$WR-VvanHAV+B*scp@~eVVeCTt zyiNNy`>3rGZyNx%I!{kao`dS}oE{uhXLhMVlYFXv%L`7vIh#ajr~jHxN25guj85^k zo~l!Co9eZ6vG(59>K}o0EvRAZ_S=sBWplqHoAPf*{OOecD_fh(5r40K^O~>sFAjg%=+BP( zYrFinpvbA74&aUFJC9~hrwi|uRWq5C%R!xjJcDIKZnHDGU?dixZ~Z1S$<)bRD6jwB z=Q=Y$z|_e~qGY(Hyard6o=zh&>i=0AK+@NzWvBzc0<8U8)#>&U^)TLZafUNaEdY&_ z-gtl;+A!-K!t|XS!mf?7l`iz%-Wd*7r`YnLauUGC6HhErSX55933GZM6;rnVDcJrmg)HZFWiom2bBj(e!=pyD;IfV^NaP)FFkfsp0Z0;~w zXONJNQ2IM3b>2oD%Siys<`*uTFS%^KC`@zx`t|zT zjsYysa0&q4>+{P;H?KD;(KRI{`nDW3g;TtT@W_)Br(_z&3^TjHk4*xUdWoo0Anw3Q zn_nMMEvASoM23a~ZVXk^tTYJD&{zzWWPFC$kEdW46~1M6e<>^XYml#=xws|T`6h@h zjWwM*NLpaP78W$;@}aG?+pHS_)@1@sA*5-Qp5H}*qguLJc&0bm-cO_<$&eONpz3!bCtc3ON8qR00mK*CV=L0(VU^`sxD%vny+-X5f20 z5)yMLNHQJ>`T%qcO$@N;3UuBfP~fkUMgmyHaZ8vUb(;jtX;i<1C4w8AWDB8U215g> z$I(48etNQqcR5{xAL?^@@OHY!^F(2&U{GkhxHs6QX%L3}<;CbYj42 z&K%4r=#Tu7Z`=O9oj&&6PtzlhJU~~k-lT8*)?4&<|IU}_7k=T_p?}Z1u-^ghGmX_* zJ7RM?@0&z_ZlRELnCvNrX%ti$mo_`dHot3np-hD?#{t%nAm-{+T2nlBt1yXlcjF(5 zDfxJup6fE!Ith;1gEEPzbNET~pxrcaI*>UnmGT02Oy-ypb2hDjzQBNa@72l7JTok} z$KVe6EQ8#{x{!pbruSoS@ST=q_|^JWI5nYUy7bodH2O~+ZHY)PdewpjQA(4G<0f}V zGkw>QaU)Bk^XP-}ce*=;&Hl>B|BL~u}ue@D1`@8(st?Jm95&q)b7svlZ zr~jYoF8`->y8oJ%u^?@qeMP@V-jLUrTPE_|^@sC6bwPkEU)s-%P?y~;1;x^;fH612 ziOLCV=KS|Tw`uFo{5H}L?qMUcLOn$Lcu-qFcNE3lg?2;KBLiPqJ0xW!e?OC_iD)J3 zf0Hp-Cl<`00Xt}k&u9(POuhx*xz0;?n`w#I(O)D2xOG<8l``;mE>PeNp$YyagWtVM zHk!YaN#ZCxtIaYvT6O{}vzQ94l;J&H2B1d*3K(QDfR_2ps|}-mXn_rKvF#bb{a{SB z-)aB>+H5XWj<;hQ`S9t79(t%oR5o8S$^ZA#byo!dnEO~2$+OQsD=)n8g0n-}2cRgT z;`~4O;DZup7E4(MKsp0JBumJ;55TY8xODxPKxN)wkHE zo`F)Gp#!qh<|B>VHyIs9s~hmhfQ*D{C9`CNj39ZbJxYuudqPry9>D;GjL8k;IyD;B z6$s*$n2c%`)cAHjZFs!=>%GLcuIHo->z?ZmNzwMmwjy|mIM+d%b9u>#xCHg3`*}-E-lSlIN zmF2KEu}`Jnk)B)bpt;rge^P+g)kzZ$esumtIZf=r2TO0?Qauc+l5>09LGg4Dgw>*} zqfhLk|K-9>00j)uSIbd=I)Ywj+?81ahv9I}@Mp4i_%@;>+x2_W^gQJDhY4dGay_VqbaNzoXxP(wk zmOmSb7u9eA5JZtZ0sYszT%UG<3~a+HA>(9**6G#JsPQItt`?Nrro^&Gp3PuCD@`gn z3B&xYfA*z^Om6>JAmHHbHMlg4+))U3Dy6r%M!jfmOtzB*FiVdXCjLdCYI&l^Z)a|^x>1A{L8=g@sEF; zKl#Z|hU@blx)!=iFWU@obN=yl-2`wc+b64aR*nI*Jpl9_=`4VH1Ymhr?x$^zCEYkZ zeKCyPZS;k2Z3Mnp@S!mT_~MNMRb}{m7z%Y!cljeHZgZAX1Q(5qW}Mk$RHK|!_uynb znn25C0l7_3CdxF?J?&x|Oee_%{%wwZu|pT(Br8k%>&Ac5gmZa5D8>%AFy2BM&XWMA zZhF`RdS&;=)?*irZH?2q8A}W!Fzf;+E7%d&4Z z-H4GPQW>o2Ub$l*IyNM5f+Q|oKg=CL2|f^P15t8(Mf}geWej{++n7^dx!nNp(g2sH zg=9!mV3zDLh=QkU{lt46Bk9T{sISk%kSo8FlrPC5`zn}r{6p9U=*lKxa`OP&QFhdv z`~UPm`#-DmKeo?)e)z+W)6e{eKSF>0FZ^*YecqG9??9Ua@~Y5RuhY=rehH&KgS)K@hwTUmCddK~R1 zX|pvElno>8CELtpD^td8yZcgyJ?*zLdhCsLW>Ky;X0`*>@@Ivot+s zv6~Ygi@1zhZN2~TNuBCnj`zE@{oTHGt8B`=y}R9}{_BQ-pZhysrO%bk{!Vtj!~apG z-!g09qzeK_qSYy@QOL+%9#7jsGz5P_H+D42Ilt4{AmgEIA`dX{yKn@*&pS)kU!fa0 z**Mro7FZ)fT10u}+RYtK%j}ymLNZz&_b`aVI-w_|E!2p24h|Ksn)m zuW0O7Y)Aj>rAn_aCH3__yJT*^i0`RjvcK@a!5cfZo=Inu%2eL%X*h|~1}2&d5yZLg zU6Rr@Ipz3T)%hnq4v^O18Py}LWFF*Dvx7TeIdn+a%#`k7M+ICq-QU*v^FAU_UrxUD z*^h3)#p(l>qvh#6c-@Vg0M={kutC~B`Q(#jia&2eTi@TfaiiQSC6;3V%iRJ2di-DQ zblnS}Ubp1*)#B1t(%Y?aeDC#gUYsrgpfb}%Z2x|02hX~+THCgLaj76`FO>UxyhSxOyl@G;YeIA`!6sC}=eUk%ra@pwd*M50cxFP8J7b_3 z2~31Slx!Lz#Bw=QLJ*jw%Hd4Pga=E;sjb*I0gD+Y0i#X7r_jM9wqSgBRvP zVV^MKloK8>P3jW~rAW{`?t%gw;N<$e&nXHeU^lN19PiW@*6`qQQ;^AEP=ih&cp*^V z@8s$YuGHQ3n|b0S=~Kd?GsmPvn&cM<@KM`5L@WMFfB6ULhkp2v4oquxMUaKHPniC~ zkN)vGYWn~9zyIvCO}1Hv21qr&GFe z`6m6xKmDup^{-v3BmU;-*PZ_1esZ$$iReKu#k7^Gxpa{mUcRk_QV$`5>t@BBD8aHJU9O zJooz8a%X5Hl@z+3NQ8$PQ5F%D=={mfr8K|x>8r7Q0K9%1ZISeB@(&;-!go{1HLG}C zHVcNY>;i`Kph!ep}9tI)HYu4(&hDDgW)*G-~#B1P0o{VKP^LA!aGr zeUfep9HW?TIaZ><0RX|qM1%h?WZR)MYC5>@{D+P=UvV2Go{{f+;<{^R08k@^N^Q?P z^Gv0q*Is+AFrZw$dUfFJ;`ncW-qAYx?`0hx)>w$VzTSQj96mmwTeL2x!O*Px=rXc6 zg}iB>%(^0H7BYdj#>`i>^x9-gpm6S{WpzxTnZp9Dh(OzykKCNFs?oij3d;nIvIwHlkz- zo#6_BbyQo%DeU&%+J$AK@?wXr`_8C{i6pIiwc;3*fIxm3+GK_VLTMwCZlFYEZgleu zw-o)z_MRv?4jw$w?;a2!$kRC>;;Jn8J?Tqmo8blx2Oj~{`qB7G#uLCn0C!LNqTh1c zA}?n$CwF!x`-xE3Cg#YcSOVNe!9(DOM9;5peE#7NKS7`S{Qrr5cysU0XA~(;d^@sgxL5vUXMlDi9n4RGEAcnZuq~&VeTiaT>B#Y!t~AR!5U4 zgA$B^i~L>yV9<~FJ;@)0ivZd9$RW^_@Ql|($c21P{4YUkA_yBL+^;(74}!WTyZG{D zn3WNIX2C?+M?WTbdy?h+kOGi`{0l{CStj?r_yqr2>Fo5hZS+^B`roc2|F`OhzmNKt zqy9FUeC?HM^r^r4CHl?ZxKuazJ32b`(f=|trR?}$?rqk}PDlJTP@*IMz4wr00?$zr z{T@W!OUYyt5mAiPj)j^Y#oxV5-OK;`Kb?7vd}s6&zjH7uX?MaPdxEEAlSc zSZsh)ps=n(dR>aPSNpw8;O&Hfqq|EecyaHccPtuBjz+y18sbWtLwPVNavM+1BZ~l+RDmlxO{d)j889sw zP&fpJTk9HBO6yhGVg{^+Nm<_5W(2h3mDmN4K}bX(BvFl@-$n-b+~S6ltyPVHNEZHQ z3h$^k@Qj~%6o8h_HFn7F*eZPP~@?GEcG=1i8{|J58cRwA03W~k~ zR!Q`_f+tt<{qO&ke}TGIcSbJAB^RhfC<1dWng0=I=8#o52u6TtyyQ%wm1`LDPdF5U zL96d1-;S9xgMVG24d#$i4son2^k1+DamVoXn|t{L&prRULn0B_ZD~2tg3&()Urkasupr8D!&(ozhZ|Vqt`#Y{n22NW5K$opp@T%3*ew(aW;pj?+_R(Gx z2)qw@Bh>MKr=Vwnr#?V?*6;oBoP9aI(auOP*gKbwos1=#NPc+AG&F1H@8+7yJm8tC z|3N}X*9Ph&lj$SwN*v+jPEzk{kI)>-oYHED%}g_FJ)dJvh^12pM&GNIb^1+xX+B7txJ2N5z4kR*#G)(lYZO3%e@bLbi>W^)KgE*%$@hdb=U6! z@ci@7_n(}XZrr$0pYOl_{&Ex`!?!X6Aa%Ayt-o~b^;c=}IsJuF_~`I@wou8LSbb^n zU30)G52;bPCiW1pHC!%4xUG{fX%=QlN~AMpHJ-|DjCyNTV_MPRP#aL93@z@Vqh)0c zYevX6ATNhL`QMaOi}NWO+A)Hfv&{lfp`_IwXjMEIE?W?w?8CreTr5i)9SnzYc1cEw z3#bs*c2B0egm47a8bzY*mTExbqqUk-7RdrFe@y)ohHCpRBv1`Fgvk)s_I1XkD-xH; z+Ad8C#gZ95MsrbgHueS?n+$Ox)KXq%dfiRmr5xerPVpG6P*SiI?7op>l`wJkMv@L!o=}1Ib zrlGU(J9Sq2c5r%!4u0r4Ps_o@A&;Vsjc)*Q0bFqYW^$_sANjV4#We*91jQ+Hmq+CR zQ&5YQ~2a?`Lxw&nWaO5%`^nq8w z@SXzCz6XSE!nZ39e0BcYbpJZ?U)KBIx>bLdZ?+-e=RaH4`~Ny!yLRO3`faqo{Mo($ zZSz1|_rKHW|B~B^Jd}8Zz&VrjJv+Hs|2wVF{>ybvr>}Y*jsR8^n3H5U@)b1iP8%7Y z1aF{oX_YbcbwoY;Y^S~Nhjes@OD4aKhk?hb)Bo@d-*{fmJ>A0{C<+}nz}`b9v7L3V z7yB7!xO9g)yTyapTAJ%!gPDQ;T^4j_sM#M^M0{fdl(M2J}&hn&E%_u2}z z|1pgOjtDzq`Owv?SC_AT^{Y#n0q{<2nRnZDHwFN_mp=XJPuF`n3E(3i`G`FE2Q6ua6+fcM^eZ`mWDN`*25U<(4I`L2hDhw{}Mm#!VH>%~SlRVmBSa$OAsc8sZ* z28)JZ&R}IM_4vgk4Wpp9Qk*y2F@rSvFKq20y2J~9N2j5@Pv8=ZPWilU{JuQ*zjM{ zNi4A`)9v+&N|olqH9kf)0`<8;YD5E!(7Y?#yAq@S3BVcB5#ChGVkbp;jYeT#( z>_xaD%GffJ6qob<7sV1*lW_qC7fCk0sGAxsxSSyRR#3n@3HFuK;6S)_$`Ke!uoEax z05ps7=u7|2p)lPz0CF-~!8Dea*+XvuH!*V4^fEFtgTdO1W{0Ok9hLN$q*h5{-PRLf z?Bsv|gj8~4DVNDkb7pu=0y}rM5*>D1!c(5hQFedvFMXo^rGy9uXIxBcf*?Sdt@H=} zz_*h1O^8Y)<{|6e3;93sH{B`NG0H0o8nk*d|EGEY39Bu^(mo0&$olLo7%1^M?}d-3 zS4Ho{_DQ4ofpa=7aG8VQg0$M#DsTrurXr4AW zVAuA!4y6uOP^~V%P?(a9`$?Vde)JS%S8p4;osZ%&wbYxEU`%X> z?O}tj!CThx?`-71{YuLrKRIg7|BdTM^y$C$OZ1Qa!8h9ae%R#iX#1j z&+mZ$XRzD*eV`*Ovt+3M!>SSZjioW9jlYRi(*5qpP#td!fS`PzUWqqMAK=U_fp)F{ zV}Aiw20g+GUo_7Ky;7?<_|tfAqK!h=@jl%Y%f6P^Pqi?U@xjz7Q0an5Kv=GzP}i;- zq-&i%DL>)>NH2r3<8QR9O9Eua_Ip1&c3NKY7aG~WwY!(wjs4gT6s$E$l;pey@d!RV zeCpvp_2(|=o^f~ca`@l%b+_*U;N1E3uYaA?p{L82FQqAqI`4f(rQw9n!=&CZ%Uwfd^<3FgbDDsT`>%G8iI-*I1YH zQy66xit-b^$H)Z+Qxhwkm{2_CQ8xBl2pCgub&teWRc-T1aqMBMpW2~`>hP5EA6id6 zu3$!1IsS+j6=)!IT=9VratS=(IB(2kI>`hu$OP>QBCs<%Ba{#k@H+=WX7y2WF2Sj% z5Y{ND#owbHA<5`X&KT5ZH0S-usYwAAqqvo1uLOR?6L}l4ATNzv!4ieBVv2Vnx3x*) zumEZuKLT~2F@wfo4@dOFz!K1am^kNj$pN!~iLlopNbo1~%-{7jcaVBpuq^v-{8009 zPRm2NlFE%f4P{4O9@dh}=MKs+c%V-umv@$N?M6EYiNez#`N$LW)1UcQ>3{XVw)OtT z=cxgda3Le@l6uiP++;xf)< z7|19dXC+v^At(!_n-Nc*mQow-9d!<<;Roe+Y;@Q5YbXx?eTmWBm{GX+a&=@2n$cGXnbk*_emZd$bjj4q|Kp?{qOz3eQnucP*sRHfT?n?4UA}Cg5 z!(llIpp=9C(GpVVZlVZS;`b~7++F}(Lo3>;D0ifj(T1-z>XkSFAPz&LmPV5AL#dsa z6@b3L{s-gTz(C(hV4SR;0I>aDy3X(*T-%_`(?9U>f8puZUVDw7d+s@TCo<#RcHPYZ z04E(g3h?EZU*;#Cc!DlmxIm9S`e>!j2OoT}9tBvwml*(>x9$Z{W&zk<0Ja36{Jp(9 zeyLeqg`mm|fNS+Az=AEcJAI_KOxZ_K&z)>X;{l*{KP32|Q)D!WnF^6{Nu^fdB)e>C zKcm#vEG;-7jN0DHGlRS)tHn1#Yg7Ce^^jqkL*79}NDBgHQD2+T9aZ8qLE~NH=kNaR zr|GAD=3k-j`@`Q>X9Ni3lRe;inhp<0SM_g`%TGOZp_c1)6VW~c*Xl&loz_kBdP(xE zmwnKOQsBM)NF9Xv4rLM22k`&2=FI;nKazpW{jwJ26>zq&j^1d^<+%jz%C&TcXA@XB zQZE2F1>9Y$kU!A5_k0|3!;NzNW1xA#&Ziu>bN%G`99siS9th|l4ZUdi>E&swdo|-; z3A_dYbXLMDE6I#81kl8pPK`zc(mFtZqkuokLno)Kzb!`;w)Ore)h;rJ-`D$Ze|5@# zb>?^UE5Gy#ed;HEsh(zVa=bbGTfUO_Sl9el=f6z--~L3Mf7?{hmq#eD<}7;vg+i}j zvrvBF_rbw1G+=NBh>bf`K@odo6Y$pF3p4Vb?<4=4oiZzHao8mB_`KwaIb${4FX8UC=AfC@=)zSzVPIC zJ^uLPeC^t`_vA)^@0w{3wrLuqvE6d{%L$S^FTgog% zm9b1B^_THF)v1NtoPWme99$DCAr|*A6+{yXCD>782%9s{Iuk(OAL#V{l6Wy7C8CB! zSe7Fa4=DCQxUimpaMU$Uien!kOiD)_4s2r*-rR|D1|e)7l^Ti+1|up9>WxdQU%zo= z>WpG|$5|241Zqfh$A83Fb6RyDe4`-fGAJ>CJFv%#y%EVHK#8{cbZ%bA3iO9O zFFhjQ9tMf^Q7gNBx4R5wM9ta2xx)p7m}fxjNlsYq#1J#X2I#Wf%h69|L3eH-YO}}kQ)>X0t{p%-f=2C3Hgu>a zfWi6&Wfa0~L>silP0=Z(nXR0z&;du0`{C z{e~My9V3*HNV?zn3g{%(`>%C#!qd9mzm5Fg)(!q{*OC8QH2_fd0XWqu{GaVHq@CGV5CJk%rI`+@QV0_QY9 zQB%fos^f(=#O&$=k@j0WL%w0*7vla2!8D)mKur+xzB+Lo+|?E|oD-Z!^p0W3P` zsIoamJ}GeBfvpZzE0$YhBLiV5c$CD@vS zC#>h?6?PXl%$R)ozLn#RV1Lm@;~TUsilud+Tqp&ZFCGpxP0?f~N^LM(glzjy&u^|O z%`CuX;P^~{5(8PSDo`#p7@%_SP}{h+2@#e1&acOQKJ==a4IL~oHC_yjOrt?7Af(Yk zM%01eH>0fA`MuGBPX8)vPR~regKrVa+KZGVe9mgw;RUK3H~M%0k)oG~x+=0F36baR znmPNCAB|o~b#d2TuO}+-GO!(Z#R$&WW^Yp}P6o5W9Q(*0P@2(gby@nped&7?P2FQk zN4d2LR_(Bq-b%NTja+)b#@%lMQwd{-IMZS@Tzkl1XZ)__*}MErXy0YDVFsl;fJ6OZ z+|>2{TNLl$;DD9`qW|k(`~>}*|JI+ShaY}`ED$r)DC19o_t_w#i@xUoV3;X-$WaDh5gA1E_gu5gyYWO7_{1q=h4v0b@y=0FUD%8@GGZF=IwBrn8tb_ z&`8*36sPRzOg>3RcP_VxCd|};&+QC8NNqM*+{<>Rph(cj6*TBrRV z9hdS}IypV@We>K)zi;*@Aw9d^puGWEc$XY4|LFguGRIPov6wP1=#guQM#LRygP{+2 zXFA${C0!_I%i)v{`c)DgN`{k6t8;qqPl5y;QXQq6mo(@ifq%!ggw7vlq%oA7+J%~v zdHOzVI3esSXClzB0)i>Qna_ zjB~S*-;}H%$xbkk)Pd3gJ`(|g4Ri-z+s`4ZU56#3+LVQm&F5e{5|CS2tu3qhJZjg3 zU7h%r5kn28ibql3BYTMRzc&NmF1kc}^ob{) zsP}Rd;L9(+Tt8Wo@^}9Hd3oT02kN`B5#V-P%jiEARsJb^0Tks{W&wQZ`fINW%+Ywp|ylei0Y30JtEQt17_Zl!8^t>4sb5|V&D zu{P0QAGmDol#PF*Bp;IkKwHO^3&R+PKI9Rx7)71Zt_P$z!IA7trqM9#n=YY9vhfhG z8~!*vVQg6*ZDqs5a($)0?r+(nJ84}S2%8FqJ!ehJWDTQEs4Q zoABO0YoXI`g5L*uA_LtL$gYvDb1>B$RCFGr8kG@XL%G-k{^&>7F>Ua5@IO=V0S0h| zWNP#~|5N7w1cZd#of>%(BVeWmd%U@*r!1?OGemALOUAb&&ybCv=TwrLmdOQBt`UcckJ>^?*E_C^0apaFS=l_MQ^o+Q;1ru@%Y|5L`J$zbmAj=xdw^y6pz0DuHxCjrj#o9?m@I4nEfz0F_sK*t-7Euc{&%!)3`I0x)*zuY3pXXjTh_LW!dZj6sU+ zTpa#3k-;|#bOl+~{I`IB+A-Vv1BFm0KhOm^cHvS3042TwvjD6y1VY`KL_G33Q>nZgnOaZ#_4*9YF2FG5o{oT6>usnf1mp6YV>yKot zAW1U7OC(us5}H&Qo+J}!cJ-rQE8yiU4HdYd?hXc4Krz+}sTopR3+*}REuPCR|7E@Z z&wc*K==;9!+Zw&4KI+I0=v>(kUq`;wKFeeHSvE(0q3`(4_YX!~&J8`53=Dw^5J%dh zlFO5UczW3Kce6Xtc<-Hagn4dk%h0BlF8DvuTF3v%WH z_ReH>!-<-WikRfQbJuTs_+Px7Y@}mQ!YP(Vn&N%GC4O0dFkz4g`!x99;gZZFJ~COA>14ntyAiKK zeVc}$4fS$>vOXQ;_59nNoV`9>dN+{?Gra(mF?`8oBX)qdfo^k|m+v#|yF%GV9pO$m;xRuKX|e{(bnK}zK{@Ymai3?;mFz$ogF&9G+i+JT(VOYTQQij@ zT;q0W+yvLlf@lY2BfvpN0ImdOeZy>@&hV56t3r2F=v3It3b+@Xd8ynbZ~_3gB>?F? z*x%9w6w$yBjtM@qUktv9q2NwVZv%@AX~kE_ma-0>E*Z=Iahosso;wNPu52(8Z;9G$ zmz1Lb^>d}~vJb%9Z@+E76UE(o@4a;y0DSXP0Jcbwl;Z%8NiMb>^{IyFj}NX_kJm@D zf|{v0_R@T6CNwO?jid^dkJSS-La|o>XKLkDS(DX&3U&^|q;OVbFF_0OX);lV*$(VG zV5;<%tV|p}wzc8hoPIYbn)PFbop7$_K;sHtk}eM@&i@W(7?l4Wl2hOCz(yku4>>%7 ziQa0TB#ci92benMHw6|BMh-5FP9sVQaz$e38T1mz_nF=ke=n5&m3S5k#ndYlOJV60 zq23O6<=lY=g{;U*_MyPkHUKplx0GIb+Zz7*Pf8=5)NZK35f@4d74hC1E2vztSTyW0 zeSh7_Xo>PDDcGn_Cb?u{w8@Yr!zGh6@O_VyHKdgo!Hj8dXQWTG7H{Y2CQQch9brRf z2B9dkiywx};Z_$M=G55w|Z#x!kokwcTftY1uI|Ea8TNHoR=i2kl5*)#HIfw|FD`Nu17- zgP9z3nZPAOo9jE={7#F$QcnU{K`kc*qNL6Veg{*!HpwK7-b-8T=)JPpUmd+aDI4}3 z`_X=7y??!zY5!$8fKK86;?MsEefFomQjhy<8~n9({l~WU|7f>4{%t0~YMcG-niEiF zJdDBFPA)MgeQ8glVGX&sm^x8HAwROcFWbU9PHAy%Hs-T46~}b`qHSo>fPvy-0ZMEbypU zV+`kdI#-7+P!PUkNqiXq&}6A)0mnUX19kadoQ?u4 z*S-JK|I3Fr|8e>F$3ISdM}_|Gy6)D9hjWk30C?er7wWsR5g>lIyPgD4Hvuf00pc=% z;`|pS2tfe4wmW&TQBj@R!pF-sNz;*iNTb|@-NA1Tuu6mWyFPZK|0oztCzN{HS0h3W z_VLRMbsKwE$<~Q8ju2R?FRVHHj|l}a3dpr?DxfnTlvizefC;WT3qZI!{x;ozS!i%t z%E}+x1aQ^u7S11>R+g>Pll0i3GK#n?3w)Gm{xCE$O^sYx|-zcK-a2{)_Z){9AvP9(m+J7b^*V zwq34MF;i%{BX*&#ty;JR%?b=peei-iaP_^+@Pj-CRMPXm_kX@-uEUs*vf)RQ5lavt z9?&2QWaiQtWnlVb%bK(fg|KI0$)um)v@Fu`HBat)167josI?NxJ(N*BCU6!BamEQL z4KkG4gRuuSIS&bPK1Bct`9EZ8;(y0;OxMK####KYqAd(~t=Amz_S}L2H*Xx*eE`}X z0Juvxw2M%;DPc^MgLL`ak??k|>Yz90|D-zoZM}b;_J7m@0c9@$Tkrq3|JFaDfAG1l zwRQd{ZK*)r>Ay_*zkRZ$-=5X+uj~DHZOyW^*K{uiQ2O4B@7AEeK{!s-;UMz%l4N9m z{4P_xdfrLDrXcA4ZcqAOK-LnW=fOF>j5=~Z&jo)VZ;dUUm(cUzJGrKEv->y8(P*Qm z5QLvnU!$&JLV3a7_k%{0+z)EvfxZZxhIn%QO@Vt$hXDynd>6<)w`2ZUy@t5#Mf|Pwe?|&@A)U8pi}C9xG+)^#8gE@;1yz zIQlQ7%K;eq-|$BXWO3U&2WpguIvgR4pc{N*GxzM41Y<>D{c+#3f9U(lNpjCW|2&KQ zPPpRkzYgi{zpQ&}7r*@S%gg)U|Niyj#f!@$k32$Gua=Nm3v}Ff-+fYcwJqsv20*!N z`oHY~P-X#K-W|R41mDw2-5BqL%dvGVHVdG*#H)?8x3HRtDYd6dOhDY0WzK6$n2{}Y zK0i84gE5GiiyOY{Uy?a2$}8M|t<9~ikh*U`xvx5jz($lEUTGssYh%V5ZYaF5(?thm zW4{&}fcjSL4lTesr8IqMu|a&t=MQ!&A4HD@l6n$AU0zV?t_5-u46BTzN9IJf=$<5g zw+=uRnQSA0G(uh;I$&(~`4tR%sc>eBCw>Afyow;R#!FjCpy zw><4PLLfjK(h-UvG%i)SE1w8M3qmx1e}*hYC6Dd3vRI^30@2ShDGPt($TB{&EB%}W z^aN8f`mKe`dq!smNX}Lu`%>V0Q?fbS<+YL-2>rYHC6Gk0gk-=mO-5+M-UFQAARQhq zb%Vd3`2YSe{oz0I?QW1EY%Z7)3=Tt$;Cn1^3i)Vsq7pLlaLk6PO8}nz02l-^VJyq1 za7Z?S99xN(DB))6DA0HfK`WP2SkL&bcmC5ahc{8ml>c#~WOJ~Syz21M!{xDUA~(J; zP#5V!mf?GY_bgsu?)fL$()MO)JV2pNye-(hJ^ThkCpolihI)G(0gZwj6&mFMwmY|} zGhBfm`XG=Q^zGc8*7l1pU!nJZ@Nt+Oup0KMzfue3EILx&(l)n^_)gpU{Nns?BmZS{ zzvE-ux4s7iq_wtS8&g|UmQ^r7Ul7#M^o8aI z*<{8VI{i@}@=f5;Fo*QWPvB4H{;KwCkNdSp`-HC0)@P}Gt1G&$M^MxV5Q=H zG+Z3=R3L5Wc^i$ic2lSS@tfkYxJ5cx*gh7!z6|-r>0)j3KT!r)C>sO;s)>k&7w@|& zIdrEp0Y#=ZLphO*K?g!-11$?6p!Gj{py2S}(F+$Y9Bh7LO8H*6?)CtH%a&)KeYQ?l zD;xc7ifwuP@yDe&@{qPV|634X-R=il+UZFEB`UrJ0r=*6dcAFNPi>PNIW8vw@N#ru z3IYOHf{$$(fNxHzD^56z6<6!=j~QP=ob3hnjs6%Il_{$ZXN<%EW`Bs!6NnIjfLzZ` zqgK6w004PYczw5&2tcc|u(O`vM+aNOPg&y~64N$I@qQ3tWn7_0k8juA!gmxA&Uz9f zbHYn|)I#i;Q0WOG%j+Dc-23I%-EzD4b-tz#) zzH4xb`}cy1nJ60z4LK(Ktqp@3V;T&tz^B|1uKvRI^-x8908>)VN^{hd2=^LED{zCe zYj^5H|IL(L1WE0f)q(vuYWQ5|JH1dv1$6eM4_0JeM}tIx2NkNBu`jvW~ zYyXs)I!}M-ee~0x`4M{R>G!E2z?5uIka=DyWqA_)&G|cC%+vQcYW%^c9@Fxq!wA$X zG8S9IDYsddiOUnP5Z(?+4zvPSn2pEc9f8SP~&>IE?tY2j! zBl-)So#xn+kN&qj>}|gM=JmQp-cJA^gc<9hAsA%%80k8K7-i`}S&v_A9NX=`*i3Dg zf7|5mq)p-9(!Th@YxEy~=2z+F^|qFEXS_{iW$=Bi&5l%-zZPcO32g-j6f}@6JWO47wiMMl^&^X^;_n;IP#DzV_e3 zmXI#>N)d4FA9p*~t8`q5|(WLC|`IlYl3@+j#ub+T?IgWZ8o^3dKZ|D*1pm|@Y& z#-WuU*3-lT2QqHm#+vX{yZ%4*mfM#Vf`KntH$A<+04z6v#?`;?e zl4}o(mA`a2FpyUmB%+D_?-(SZ5p@llO{*tnkvjbD=*PP@FBl3Das<`39)2F(v zLS@PW){Xzxw(;MAdA5;^%|S*%t#>g)xcqni_HjK8!0?0&8q#2PiR0CK$hAcXZWF}T zJnq_tz#+WZ0ND2~97TqJgtbK^mw48VH_MNmv`>Qy+OIf0`-T$Q@{6q9}pZl@u{1fnO&sV8t zIivg}lO}mbz&&gE=g~(VpbvcTQ9`S#H!$Z$JQ}2TAdCc27?KQ)Mk6`sH|RAC-`q&E zEit{zuK35_Eg%c9eHq!~h?V`hPD=8&71Hy+%TN7hADWV*kIn1#0dwN(WHcvrgdCE~ zZK5}HEON_PGOE93+!8pNy!Y>P$BO~Ba3ax|Z_a*mfO#8bzh0dj@nFHE{nYm-(9X0S zq~)pOe|n-v{2i6S5?}9cQ~pa}VBLZQWxfC3{#*Yg-MDt7NBo_-^M7*Oru>%?|8ln@ z{w%QJJB%wq=Kx>Ubk^VP6AwH%?>~V*%X;U0eAY+GdIRNe&^6Yna#-w+1&{q^^xX6R zUXj@U2Hf;|c$UX)K6u;fenR~Z$Z`HBUE)P3OEdqAO!PbHJCFrdhA8aLM?{^BjOQ8s zR6HpNY}Kx z66;smm4W}c=V!xhmiYC};o-+FU%q_si@*4b2hTnC+#M+7-F4l~0RS-q*L?uwnP;A{ z9q!7kg(doZ&pr2$odi&>EdtI(QU3fJ-?(VdH3sP6qGjP>nlMH$xB?)wyeo`s7X#P^r zfsX&!%z@1aEvnuYqBg@cvu6FL?*88lHeL)U6^IW>I|{JvfV>HlMcPq-OH2bKzZ+U}iXN554-GAL#TZFbMaIHg2O_fKQ5E!D6_Y@-O4G&NV%_wS0V|$^_#;Tr}SL^!G zf9+4!_5Nl0KX$Isw?XfB8AMvjLr&jez~ls!fEOclZpQ#Fb<+{1@A!@n(7u31@Azig zCV!8WWn;_?I3C~$e2c?|(@MiojlYBsrorCwi@Q3+(hCiv*hp5;ZZE2LB2qmaF9Wcm z-@`a|3}xOHFDe31HndJ!m8L*nUqxs}WRH{7KcTWy-&;_b(&;w#)zR+iku7 z@$I(Df0^1}*8BhLPrpF_;OAdzyZoQnF8{jDzx*BVbPs@2o$}v~_&eRfDF)Cd8QVRT zhi(jK0cDDG*qrl8&%0wS@SnsprBbmB?&!(%Pz(SGJ}4E=eEiNC z>=rW4ctxglfDU9U0PD>9ANhZ#)K;Zy4>dqFtEQ9AevPePmTvjk#DPMy5A@D+79fDZ|^0sQ+o)1ydbGLb3 zQspYNj1La$NdQkj{WN{y3tu344;=+~*9HKjtzxgwdJ+J=^wLZ9u4_4Hi|W**`d2r& zAt0Nw1fVPhurwA3IILUI6CIV405nIPKDXR<$F#jxW{q&F@)rmyoqX>!%#utk(X;+m z$w4fk%ycY^h?h>yAZ!0*rNc7vnF+73lo|q^-9kvY$y+5WIL!q{)gEn5L1k@r1pts8 z=&=S%OWI}~ZEwoH0gLkDfi6^ibUk(x!Ip$Aj$?<0y5>Z?0`w%~lCw{Fq&qv5AW%Gi ztP{h2SVgA7+WSd5LEp6?D?&AXDYwoca=B{?QXrS6Wk`cx1fiM;OwS+Fze3sc5}Hz5 zGm*|yy9Cy{MKUze&Rq8R4e=}qZh|^yWsWfA88|el-<0hzL&5XqJ3vU*Ph+lp0iT@l z9rI^HZ=BsgPTzOB<~X0%-wdnvS9ki~M*bgr>^%Lozy8DY7k>0l=tiA=Pm%Iuba<0_ zU`U6J;r4}Fkdr1zUp`T1@I|kD@Tm)d6OoC*#bF3@^m7gb5WGWPCs>;eQUNRpNqi@S zC^kbBTH(eG+B|N2cin>yzTwQ55zv0##Q;PqFFwYf8J(C0>!+SKqK(Ojmz*!-r^huX zLsDO*g7)#hfQ-rcCT*25e}a)r9uje9aRPce*rQF-@xN1ulYEwgq6WS7Yq?#ybkiN^ zRWwv6x&IRA9OZF(Cpx>Jt;es<|8ZOAf4e&VZNtAB2+(B!WwXD_mu}GC{D1!!^yTMY z+47XB{cXyBasE$^+Y*4X31IoQQ)j;{4cO__f0Do@wj1e5W_?3_*Gc!3<@>Cgr7H>C zeKP&nhl=*;|9F=n9%Vv?v;WnXYP@Jcj(swC&aX4xW(wVtY1a5rO+Au9o{)WozmOp_ z2$;}zQm8;w;j<;`Z6Xrs9P5xdeY?Xtm5#?b$u&vJr@TbuC@fkwtr<_wt{l#9Vy?#fboKGGUrdpR-c zU&)}#uU!oau&!s2c2N{#{fgYl*r7>pL^F5~zSuxjQ6vhBx@OF_z?xXV;^5_>$N#tg z#)rT5wXgl&F@Sf=HDMx`fCmQ$z#)G3835%Z0L)lM{qzbEVHzYfnfyow4x7OQ4J1^Ik2x!qbKsyP*?wE{0_z$lbcNf`IE38<$kJXW+ct79zTw4 zvC+15PrkTkUS`i9?TQ>StzU+c^7lO#&(qBFj0P13d&YDMKj%@Eg9D}yeduxePd@j5 zq(Aok-xGlnnpf$gejNi~v{0N+X?me!Y4^-O?Y1bdmw?2x&wjwGOAbHL;6$2HK@uZ- z{?6+Khkxd(pj8{kd_#T4Ql+)1WB!l-{7`&Ouuc&>NXOwNh|1%>q?g3WF>ugk$ zKYQ>-^RDVV!44~~Ju=<*0V+83S z?BGnO{R! zAV0u6`0d}4Rhga9R&UU^*%o2jVEHYzeG>wjns8F^fjIqHJ?2~*{}OylHr77=2fSE6 z0+5qyFk1p(@5?>_ z6mrbd>kNQ;Z9xFCjR1Ase|7##5Wv#kmeY%k7T4;%9@DKR!2L{26PTbhY`6dVp`8RU z$P$^ke-zKbBuLopE;EMFJl#uk@NMnCD8GqMQOIT*W4Q+5rX3FiBvPry6wKN-!74j| z9(ZPRA=>@`Wtl)R&JXk$1pC|R`2y$VL&Afln$qis;@ zU`U&TM-CIYabfl5mXI4>l$1KMApRZ&xnOXKqdh|V9iqOybcZ(1>MXFVgAsu}oA2&W zx<<+EL5M~Q?CMWt1Kcz1oM3*Zm%)K_0CXd$6_p}6SL)ryp0o zh#Z)mqe@q}V1Ep4oHeC){4q_B7FNcuaF&w*zVicZW&(AN?$7~1(;RfbsR7&)@P3>p znS=e9$i@sV&N9H?8NYWMbulIW9vlZ3h9JwB-MBNE)Y`~{F=}auKn4=!&_&i~d<1acM-p@{>Zs&{bZG?RWcjJL0c6|8?5` zNljPQ`~T#>_dMMwoBf@%>HSA~#9s*n+}3se<^4`i0cackiPKme=^G)VeHYSP&LLyt z^jgm7Pzx@W+nVIs?8@I(0*3}14o~+EWbQs0;Z8T$GboS4kl>{MF@L~=ywm?4`N3!c zwUWy{xD2ZN+uliPW3M03;l~07c}DPCWmN74QB-6hZ#dy3hh>y^0wR&%w?4~+MTJJ# z1Ln|=V^C6ME6w#o$g57C(TtQNeZ&4D3Ot(Jr~$XD=1`O4KOu9)a!rmXJ{C%LnzvKB zXZy^dTY9s|cm1#F3;)B~f6@&B>wbDdglQYEvCLGaAbnHj|7CPnt;?PEb$l}niM|GV zbR^U|mj}*2{l*(_9DM)xfB(TJKl#Z!XpVQ!byrV$*a84S<$68y%ro`=O+QlprUYQBXHD@?wP^R3-xJQ$x-(Bp09?74$eIy&WuQ_HQLfJ zi*Hsi1}-e!z^b&*HSQgKnkdqgj`p;L=nh{*p$LU-Z4Q&k(vYW#zU^BO^a{Ud zb}{i@03#TZ$Ztx2ABr}(efP}98^C1(f`Arq@Vcf|1v%N$b*CTj8^h=DBrwj zeuw-|{U~9in>qj3mOVAV-8hY)E(+&t#{UxV^TgRlxs0;9??0nq$H=A{FTQ-aPTMbk zb%VflB^(tU={fX8+a#>)(67h))y@9Y@h?GuvgZG`ZuWP2O1H{-|Id7dzWBMX(aCAq z=&y|UpSBJDPIc{nJ??L<>;8Sczph2bcG+{rFI>F8A8^DQ?Ho$F2X$gd2uKhZ6l>I@Q$nVkvm0-fxsNYh_BF@*6U{?Nz zyUmQ{!RlO$cZVtB00gJYlG8c-@wHZ633d!hRDANgvqcvNT!H+G4 zI{v;9U{AL))Q7W}<2iL#t9KR327t*wfRBk1tu&#M8wuh@^oWA>o`;@&^wCH8#TQ>J zekHwEu6N~{ho_!;szi$_h1f=b_NU7L%C5KdUV;FSwax<200F&t>+Kf_wYBa8AZQy< zHo*h+=YaJCoCdQ#s~u z-2wu2F9g!*K{gAO;%<#9FBa8IOWOmWUI&__%mAQs?aY$45nv6s`0lfcCU>@yP)>#@ zCBxH{fR^~|edEs(0hj*IQZr-@*#uL10Y-#*a348lKFpL(GE=>r@mrrB z4S{4Z8Qy5$6(fOp-yTx>+zlEUa@NX61Gd#8wD0O2N2ZXMGou=ELK*FM;6Mm@wCCd)|C7RI>e&zXBe9HfcZthp6{2w3fY5?H0uKC~9jR|XT zVQm8e7M#F~LB8N+#<|I2wKyO_#wju&@_XXYcf?J_?iw43 z9=<6wZdKP{t8J51h&uk{B!;@$5i%Ay%3t*`l-i-MRY5L42Q5!~*Fhab9fW%OUK;`rBhra%u559ODyy?(Jc$aXYOVWQ*1 zn@W5vG!g#hPZJLDsV8rO)TJZU({kAb=ZbM(QvxlDfKfLY)I&`xt;SB0fVI%rZw={8 zNr6>q$ekt5URD#9tHsP}fFpRTZu}<%aO)BPW9`OPTuu$pv!q=Qo~ILsvlu$X`Ck@e zd_oJ^+ZB#J6HZ0*7VAHKG*vXO8JSo-%8sm30+(5E+O&Kc>d7Nk;&|zwa}?YW7%(O{ za@o0#{F@=Yq__BmyYJBkbmCC?_cT8^pAzN%jxHYaaQEEnDu#c;(N{uKVB(i_xksa( z2UWKpB5U>RO1g|PUCv9hwCkSIQpv-+9xs`%jb8}v5+cfSfl=_Gk32#D$>)BIe&7ec zk0$yv9uslO@Q4PH-PvVEC&7}To-u{(^Hu@>FW@wP`*(amg_E|k<4cE&J31GrizylA zNGFS>iGVc;gay-JQ<<4Lfzz20Wlq~xI2N(>Eyz!pk9Tv+|{+Dnhf&a<*zYAc1 zv2MSUkxfMVM$FE-tSu&c!#RuRUbesuT`9Iq1oLgnX zzgso~;HZ{a%B$=B|6l((UHs?Hznv-Y~oJOu;kwU+_6-aG(*6^ddPeC;4j|(CP-EWtQwU z%LJ8bcDFfF=M$M-*-DiF3GxxXx0F^5qr5a4u=K0)dX;GPubl|6l5ST{+`REN6Bu^d zPqbePUhFtEGP;XYy-oK9tC)|GI*Ch#Ql zU?hh{+6cZQnCtR^wzI#e{Yj0Wiql_5L0D^r9;x3rCQ+2>Nsp~Ztu7UAq{i5ymS{3Q zK}e$_b-dF4D`cX!N_sWxlF;9UssR{0jU=HX@IKN){i(LBPzl=7JB+Q{^qI|Y$nDPc zVHimjv_yVTW&URdikFMZy;GiX^@=#?W#24@lzZ^X@+CR3E1fio6r@YJU9*z908FPK zg73z5DF~2$f17yn&T8+W%8nHSJz?+TD07xN(g~gkM1JE0OW?Cy7IgdP{`=oSe{XaC zKlJqDiS8PV0F_Az)7yh{6h;iTMxYRZv?Kt%8pWQ@ainQ_z=%8u@YGWmXr1rjm>d){ zxEy{Gch;hPLS`bk6M+0pl=2J)A^f)bTz*PtKw)_zDZArQNz;uxG{)=CH6U{`4*s|P zju{dmFU*iiGpoA$7;vOiKLPyVY|JkUh$IBjR1Bmfz5KIhSG=iR1}n;lXp1Cx_zXGs z&aYYC16#Y=(Q%v3+noC9RBzX--@MueA?h0ZW53scK-taz^wgIKlo9{>UcZ+S{>^}` zqy6sumt+2pkJ@a4Ezg&J@f-B1zxq7gxN)qz`$<<0Cey`S5X`QP4onS%N{1X$=uqM6?5ok8Y~ z|C8XeJTmxhx%A-6T>d(y6dB}F9@&rdHcFGqC-OZj$n66w2Y6p{eLiaw?G|W{>!O+3 z;w)Q|-rd9hK6`S)y2#fv9=H64&tY`D2k(sceYt&I@r`M)9igXZFqfP0!>vD&$_iTlQ+T+aI@kM@PmBO`pe9e}NJI2HUE6?dU?_u*CjJ7jV+E61tJS ze)hbXyxCrMT$P?h;eZA$4?X;+{@kNwBS1Y0klqW|yKM=8Jp1gkNLKvVV~@$(Z@*pN zJ^0{*WeI>wxqI)umvt6^l+FKi13>Tj5-q=Rdh$|Z1*tpKpYZLv^>jGoRuu}(m@-K z@ksfyULxYD@V0iDG2_aD_6dlfgF89F??l9i0wbVc1JwfR8WjygyY#naN)h{1kGONu z&s6Xw10$5QhClF)6%T&6(l{=KKUHH7bW6X#&qy`?N!7ShCBDz*=a@t zHya6(WJIK62oO+ukM%a3(;aFKgCjft3;pQ7_NVBlKJz16!1RH^^3v)Py&3!oa|RZp zR0KI9!8^2*#x~vQ8q>sj`EW8McKBDA7X5bh^3Cdi z7rW%>sIB2Q$Nr=S1k~BDdl$7M{L0_$GTp!K@PD)I@~>0=Pj$Wj&9dJAr@ul!|98Gx zkMb+){Hya{H~O=H!%j#2cXgd{?DW67{E0pyhr4fY@WoUDP=p0qni1Qk+sAT41#~*7 zb563P?fN9ime3hP@K$>HjDN=89XO%gJl|PV<76%5j!wW8nlbUG=S5i%GXi?sC{NK> z?F>$(P{;oiy2!_aI7;ANFHqpX<&4Q1YZs8h(3T{hg=kM(XHGE<_?+`UqdepecQWUH zOWVJnS3QHdy^mMyG?U>pKEisrYmdo|COekbSHdi{j&6OwlQG*yX*sC zdjOQR|JxtyvlOLSu3K{YsvAVxUp)%2D2j!BjXx4w3k%rc6E?b!{&kLq>zib}hiWrp zh*5?p@p7AiUjU(yBrQk~1m8P+E_3_xhz8|{_cCfgbhGk;B8qjSJJg*{JLkei9l<7KAZ^f|$B>ZJ;1b zdAXeclD1bw{UuO?MNao!+}%@quuM=~O=uH|!;k4=1YmIRU>~ckart zl16lydBa1keR-6;PwCP~dM6$6f)3kz{jQ}w7=Hc)3etX~;+^4U#F(V~UR_7$X*x7f z=j3L%QW>o4{SV4||MT?!{I~xs{e>U>6J!>O3^^MTgGTnCfdJW1NVX+9LD$tM2~e7L zPViZyp3;_riw`_?fqFVf(_V>^frzjq!&JgBiu~<;Vy^Ji6n*7dfOJay1lP}Ju2!U?mkbN$(-9_IipWo+hVtW{Hs9fNV~6*ts4QBo%-v>eVbEXmM!}6eMfCQ z|Isa5*I%ah->Oso%O-!fy7m5L#=zybZq)VuUoPwYk56^Ye_QK+QkMYi!1>py|8?E} zf5qOv2mf|m_hHyt-`~X>7x!Ke5Dns95Vk3i1VPy;6W1cu891_9ryV(yP9agsc&4!> z(ULmT)Ow`-$0AHSYCUe9HlAkEvD!K_9w(w=DR!DDX(h3VEnAKl+i@sGCS*Yr9gqTu z*9CB&zwgR-@4X(Mwe~*Wd#U6P)O-9%$+LcTfqm3sg zAegUuZJ*>`nZj8d+mo`-z)m!6ZOV1UYb!aO5(qW zEdm!r6o!_9DJ9tm!!L)dP&_w?-@gvmsq^|M<| zCjGSq@+d+mgs?B?-;bHnCQU8b+@NZ&0qjPfJ(}NZwqnqPhp_YbLcpmue+p*o;J3@e zr`LIRcT;TnT`q>1JOX2v5)Txr#ERHDhw;M{A}1{p#y=aM92CI2MnsVjx1o~&(LgT0 zBRXPX14rBOjp=Nz;y~4C#$Tisk({tKZFKs54|}=lpQ4q zR??`&o9~>;gYkCQhG?vCTGb1@;PHf6I5m03V0)G!^&&)hBpDJjL9<*xqw4)SsWUm+c<+;s(vSbYzK@>%@FiCmXl#eRp@b7rLN`INS&n4o zK~-j7-$%a2vZ28S?GDQ1gHJu)6OrTnL#+<9FdY~CY)T{K-*q45Wtz4EfT3NgC?X0{ zKvnr?vVB9aobdpIBZT;kowUeamtA$8pJHSLB~~ra|Fx3$D5|@4rWl-}tqc z=+WQt;3(H;{7(BU{`fM-$-!ox^mg~~Z0s9wbL<;%<3`^%pat+>__eRlfAZ76Os~BB z*5UqM-{(K|_x?|BO26Kp+I#*3F8k(q#`~D10^KxgfGqwSEo>dFO!GJPvLXKP+ju_N zkE9EMC#59!IK%HPiY$A~iTMR?=r;@np#Bgip9NWE;uDl@LS8m~M&zyO$$6BlPn~%! zyc@oc!O5;4y+0jyUhwiP|7u&h9Af!m|3UYzg5T_8sO~EA?{EVHRk)5FGY-*EjFlvK zCcR8N$-n8UXm6#bOebf0Y+YObmPG77t{!~nHx4rT(A<}KRa|!oY#Vqg0&K`LCc#Vw z%$^0`GcD+9gX9Ay{gdF4bkHOK<0}D~pJyGixNdE?r3U*UI~h};E4g1-Rgaih2ne3t zw{hFuclN_Czx?t^`x?NO|8%Dv@Aw3O3X9lgfFJqDN96U_U+*K=z679O1F%1@cJICS z;$8rLU;lh%#LG9XeTnX7<=q1Vws-GN4#xOkgh!M;;&)?v)`jjak{XPU3Hvxy3!@JBe$nsHTy5n!6D zH@a_>Z(k5-NrF@L4qFyM_Xp^xH~;4WzM(=%`mNKp0>F$(h82g(mbwnX#u;%763JaM zTw!7K#IxTA+^Zr!7VuZ+GmNbDR}3X37p2_c^s{D+u@A%(%SOu!1GMpMg`b$3q>;Et zfnm5YP#*7B{LG|_U+oGdLW$2#9EHm=^?<$K&SCQ84%ID`J@z~IjIgR>;BrtMhbYte zl!-DYh&PA3j9?pW6R@q-Co6my{%N<{%9<7|f9#vTfqwiieIK2B=zd7BM5T(=M08Fk z}u59FpPSho{%CL?kiYCyJ_8A{+`w2Z(WWgB4%?N*z^+5h(2z6fwC;*MAg z>VNH5UZUUo`!4lzJupAj;QwG0`$`wL`Fnpizx}lYK;JO1?=5gj|K%@yfj;ve|3eS@ zZ}j*3Psd&YI^*Ah{&sEw|IO2Vg0J;4USAOB?MY0BlLIspe2~jQDV}d{9{n3Zg1U|L zYe8stuvN1a10D>d5DJ$Mo^7H_qstiL7H|mBqUVr5@2yv@{#ZP;;2Zfo9?Pt2mDlIM zTtWwP;OQ_F8aN)Z(j5fB<-X86ur=Ee{S^5(8W%sRCi76fXMbv2{%=R#M+a1N>T&r` ziJc_>p?96rmOyOjsf>5h(TnS(_xG`4=&qNAuAU`ID=0j`U+6P7n8H6cJlziIYsE2M zUYk4yVN?d9Ew!LTXZqQe|3}cDY0;kTh>q%Dj(^)MAu`xd0DvoH`F3;T&vimJ+f_Ct zA!A3ggOa_}ZnrN1F!zrqp3)tDyyIU1&>*o7>9fy1OP~GhXX!Be-=DQF0URPTAW#$Oq5!+Q}P2JO?VeRp3~MuXj13 zoFoD&e5@Hx!C=g?p1n`&Fa1eR7rIw14XGXA4xaJ^MS@PS)tUEI2=K?*?$ zXA@Y!e`94l7df5NsjeA(<2GK^(?z=;vh-( zHei>{AIpQMa)^hN-=Pg0R+?d|It_z6!^1XKv(M?-X93&skALGe`g_0lg+8m_m+0Fk z{ral_y41hD>#xiG+q3r9mi+hk{olMwKmQ;7YX7_5_6yLR{;yxV(f_Vq9q;>J*U$d- z&j+?w9(%%J?>O0pyhtk?J4XifW6}(js<{MJs)=koAwoVwXWzz&H)>gjn=-+fTe()P zH)!n}ER%!iQxW9c3g?jC#WF>bNs*TV6R zPXILLIL!WcJU;#DPxqnMjR2jaFI>1l`djY5|9-yjzWa<<_SdgpZ~FjnO9Zri0B+p4 z(d+0Zc;sha`NE5*EN_~iAO85}?iyDmlN7&xxzDeY*U&?9dp$=yme}I%1ZnOUFY==v1ha?oZkT_yU`P%j5}XooIx-6J#CCK zt%C+qig?DeS@$e6mdwwA>gSv=X$ur`E~-|l|K}^QNS3-v+YCBeM7jpf8nG>n`Mv*yG7p6uG60fq=e5c ztDc**i!k7JoeyinjQUPHI5}auaNz;^(?9lcdhS!-5di9QMYeUXsffsk7Ix?15uKHHrXHW?Vv+}Ix^KHz-Ron&w1HOH=AwuRRQ`rt-tf1 z{|3GO%G-TLzkTA*cKh!e0$#lue}~^~m;amkb%59Oeg9wj8!zZC|EK+Z|LgkB|F!mx ze}5Igz9^u{hrYORz+>lngl(dY=heQ!m{8XLGL>Um&x+=838^sox8K|HA$ut}OsdNv zDXQP=;E^6PC*E7izx^Y@3r?$~U&-;ca>wM~S(%BZWE&TK1-M6>aF46}X9`)shw>lv zStRYGj0IDYy)F5#eQ(M?=X&NR&h!VHE)cj<)z{i5BqwtFIdQ=S_Z3_OWn>{2+b9_< zi*{tZ_R}ZHE{9=)bP&Zm_jccy&-$qr!HUG^MF*`64z)={SziTUqaXYNKz{{6?^)ol zzhej_3)f2i3y6s>%D6M%W}-HTOa^5LSKtpzr+IhgBL9JJzwp8fFYqCj+=<8r^W8be zJN^{_2$Yq}2YWpE-a054Ojb;eVfoDrQ-aJ(+SJl?NY z)z+W;f*$GY+>7sVA}JoDp%BV8!~lrIF34a@WbADTJCE0i>>(JyUUjEX+qLu{WULf8 zO}&qm0=vVHvvec+QUlNe787n<@;50_fnYK8oI77cL|cxt6k@E5n~gyqm86%fZJt^a zvYGsCg->MsAqk@SUW^?EelwidF5;3#Sj*?uiR$YUdQal6^CN=-*JGbuGdgzkwqq-V zB~ZTD|5(64wiKLJjZt_j;*vCEv5quD84MC;ej7Gtu1kW?XK*4Yq1AAda`VILXc&Eh zF6uCH2!7vLyq!-*p7*`)eT07eFZ}>L{q#j|B?}9wGYQlI#S|)xXflo9ggOlne*Fgn zYwIs~iF1Hi>c?nABLeiWl}YVO0On=5A5oG3-Y#^;c__(fYD7VlkpHWnFcLVdxZOhj z3txvG0}Z49tOF#N<}>oGoy`go@Zj)b=_XBHa&@MH4yW+_u}k1$)iDp2$fraQ)g%`fGpXzoKvZ z&JWYsbN3zW=H6Gt#TdjGwZGqb@iP5~|K2~KS6_asFZVyax$iUob{-r2?fdVWy2)R& ztEaYmxZz%fgyQy0ub=`kO6aVQO$U2W zmAb)uw8F+KaUn!js;K*<$R-zBhYq(yLG);J=hVlz6b>Fl8-)Dp@CZR$x-6dpsHL7s zwuit^qf%}|z9s9`>9Omc=*0t20-i%X{M(U#nvcZKfVVlq$9%2H$CI`A1mBww#aJyM zs&0kK)Q&U+85?E4uB(#S^z*nLwi@w^2^}}ERo}(%0Z-8MjEa4*R{|nw(|{hY0rVGt zTY3B*DL<}#bUDMT{NF`flK||NT4?fS3}A^1BWhlQ62! zkXv(HSgnMK6GK@%D{SKM>#q}z%`{u(ou1p>_N@I436s!3ha0v@qIJ%AR@@&vxj7Vm zr}1!1+Lr*>KW#&F%OD;MwmBq@8`@}v#;6#Hg=jGdWJX+E*~}U04A%%m*6>b_QT@qt z@SmZ&y(23{-4uj z^N;8+|66~DUjD5&`>y`&UH@xs1%RIW^8f3$2f!)xzmTO{(WB~OyN5vmJm=}Iz&X4R zPipG#5Hpv`B>u934;2kXLXju65$`@v5ThT#*0W?dT(5!rOSETlWFSTG&y$`+yWzo? zP;$^vXAxEVPR{zbmVcTQhs%En{_UC3#O3ms{7bG^am&!t!d_xOa2%|1u$^WK` zH6>43Kh=PKb${y+R3}{SCAjpOqvFx#Wo7?kkB&C+v3qG>Dk=R_a2vt7)OI)Rza$tq zwL=L(i%Ej{bPoUv`fU@y9{SilW7dFyT}Tu#m%9Mhd4bRyuW*CS_m-s3*ACZKikHe@ z=MVpW-Qyp&=AL`*xjW`7d0WRF@fCo>!L|vY9q)VJ``TUr^3qE$IhUM0dsZ%AzU-Rf z-h1yA+Y3Nf0gyhk*8%$VEBhfAFxcR)@iMr2=~Q4ZE~S)snI^P(MZO76T4A);JN1u`>QId;>#m6;>X3!fT4mgETrl&$Z8XplMg35k z*kY8mCv!XGqhwCRFs{6yOW+pSW5Z_zW!Y%cZ5}2YJom>H9)l6Dus<&CQaD+>Xy2a; zIB#@&P)ooy_if;>8Z)EFiy+$Vms2Cn6nh!`9`vqXf8zVTg?{u;eMg4E8<|0%;sgyo zhyIdNSh&a4SvItGU!ZGJM~^rbDmwq5=a_&dnuz0%hcW+Wf8Xy4eiO>_&kOk{apx7~ zpB8+cg8Io>CU?A3osIfJN92DAv$Y?n2j^xzWO#%FJwvokHXuH#cc}0j5v`nK#3h1f z>3m3V&-MVxeTKEdAZ=6rU3YQ1x2>^Z2WfY<7c*GEWaPK z@GY2c8~pG0yS^ut(c+i><`?L*zwn#%#P7a9?|I@J-E+^G-p948r-xbpH|QVz%FFcD z+t>Qi{hK#OV!%G}*UoL$znyKl|NeBZUl7PVx5UN9lwwBIwX4|DZ{B6&XPDw*XUahVeWx$Y$YqVi8UXh$7pG(eqYNq{Z+#}y3qUbJ0s zIfAFrNb+z@zc-IbzjDEg#x)Vp-ukb0W7ah2SM{>(6@b?d_+LBdk9*Y@0)H)yt9Cm1 zc>)i&&@#T0B0m%x@s2rtTV|}E{p0TaQ|tk7sx^y#MqgWpx{s^wD7K)4djUve1a#lS zld)vl%DLGsd^5~{Y$&+9=l&-SG2@v-{CMLKQ{JRI{J3K>9F_oh=9y>umjG-dKsydI zVfz;RKk&cDy@?GCx?W9?nt2iekR82`YgEv&kd0^S*xg;^q=KlHgrz#RpEI+>bNXYcG%(GtpY|WJtq05xW-ai+d@mqm`N!Y_9Q#aLR<1| zfu8rM1m6n&>oHp&Jg=U?9laGh>W^T5ocH6M`@NmTm*)2wdZ_clKl}>)!q5IA`q}^R zSLtW}`mfS|_A~#Ge&z3diQanaT7Sp?+SME56MyZx&-jl7K>y5N+vWeJB>_ZVsax5= zg17lMveNCE#0c*io<*6p?KwuVnSOOt1!OJyA=d-MM4QPf0UPPMJSK9m4)()vVKQ0e zmh?9!LGXIONJ|QEQ6!<06k3tgFTy#sC^Fe<23ujuxWZ1H+pu~VR9D*6elspy?rqCI z>fYh0TKRwj`^gCk4D4pW!e)|}w?9l8WVqs$q=IERQ^HT^_H;SoTKmn{oPOG-p=}k< znKvcz^UB_kwm`!Ro-wyol%zYQnojcd-;iu*A)Z>nM1>i@2^hdj-eC9Ksk@h8k zc0BpylP;;RzWQos*SFq!OWuC_?LPkY3V?nIpq=~gwgF%}bR$6eyKlVod5wF=ck2$E zbN%E>Qkda%wI3r$k1R8(vqApbb%iT(+#!=eWq9M1obL{WhA_-M*WF$L;Jv%)G9+O% z(P7(-xtIVO9OItD6IT);%A-u1{U5>q5M=!Z0O^E2L9p5u4Y1Efsw+oaW`=hPbqZ&mt+WGf3rNWuBj5kOU7}yHQ+W4dMC8@vQkD3q~ z{nPS@pv~y%-cjm{65XL+LBncQiy@X$jbxJxn~1c)zXkl`H`9Bce1!hfpZk;a-QV*q z6sr-`VOk8JJJ}K-7z$=f83YI&uPgu@4x?ngmU>~D3fg3C!+}yDiuxm;v4;ljaZ3U` zenhJYmy>fl*@UOG~ zEeSAI1l;WP+iC#Yv3rl3<5A2YW|(bO+~})g0O5<|rc*A%KpWFDQprt|nu(Sz zC0XJp?1B459#CevRWw~@Yv36Du4O61olM7sFv_jN$3%6Ool2s4m8h|H z1QfiH0ETtR?|HTy;fZ^5@*?*g_O7n*$rCPubqX{UubjLhTCHes7|Rdy6@x$Q9>GAb zrGHEQT_z~wK_rW@q;30Od*gU+aN9lrCof6%jRcZJ1-7HXp5a^#Hwb7=YB=u@%AGFv zx0L|>YXD;vKx`10Wz{+`eN^r3qz?#rq@Yp#{}Hc@(HzT5bWvAI3J}?v?YquAebBMH zL!5Y0SC!w1#~qOX03l9%^1=%*^m~sy@<=~F^w2}8TKl`_o_l-~z;?6E`eQq71;GFR zjsNybefoQJHnR06*T(zloCPDfW;)}p3+YkxUBjWyg+R^Kj~Nv6lWiY<@r?inpYOCO zO9EKCqTxA{J3LA#(SK18<1lpHsosx$W_CIm)HWH!GEDJ44O8q7(Ce};|7T@51RVN) z@XXDCYu{5EqwX%LxTs2DREPu|#@sF@Gi>H)z2X5CGQlCVZ4Bmve_Lg?oO3Rv>v$RN z8~yNNhU@lG>BnvXkR2WCt0M&1xL0US2;w283;>{LBk7JxAXf+C{h(bY2v|q`UH@MAhn{|%{{5f+q5i%< zC)uIgj!x9*q2%bxL)nj>|vRDe`{{!0IyITOBJubgmaxE)uW{`R5}4 z9PQzCmH)~~W?!)P72uoB|E=)0L=oU+$DU*gZgQhsp2csOa8cU^u!=hJE$EL8`u09s ze-k$B8?*bTo-k<1g7&_Do9*`*|CR)}dab|fAN4F@pfE|y+9Qo8k`#Mr!N)+~_)4l7 z_wsDzf@rgDrX>D3h>{FjqMNpc0URZm^0=Xmz-9huThQ)AO^^whWqFokqE*5W^#B#x z2aL0x$xGZ(hi&&|WieT>d8|O$Xe&U^@?T+^n|N}$p7?bk z|N49{Yx&0&C+QgwN$tr^dWRl&L;_$-IlS+E?~{ucFUrd=znnF#9{1jRZ~u&r9W4=H@BO#e0NP($ z0nqB)5P7j*G%h+A(rddnhcfFo#|D4d*ePh^WqB|&YDo25K^IV-R?>an-j#|j`qJIQ&xfyF zAx0%|&qu6ups8MrA-XO3cRd8!iMmpr2HwndRvlF}){DRG z*{$O^r=V4Ph-KZitvYr9NpZ$lvFUYqH6}!oa3I2@(=n(cKtpXmJ7<;{n(7-QHJGQ2 zgO#y9@tp3frOS?hK%h^ltW}v}gj^kxR|t<);rPw)K!5sY6nk=Q=g!sl{PAz0|L@QL zC|!Eu5tpIdP3RZXEqE|f;(yaSsenFp+NiEdY|q$Rkti%@P2z97;>^RSFhwXQB9w0$ zZ63dP!Jp5^I?2N{kH2-f^xvjuInWT9+p)hKl;Z&9W$*;f(b9>O+mnCBe>Zf=&@<~U zs$DW|76C!DL4-5}`G;V@MSBT8(`?`7f?G59SSOt0ai?~Z6Z5q{TOCvwb_nm(W~FNp z+fiCfFYW!E{1&LUPxINk`#pF+9Xt1rW&H6jzt8%&+5Kxb`=|b{_nH11W3#{OH$8FS zs{{69_D#q(5hDn&xsqhyP~_Kq9n^ubvM9>dz*r>HpDEiDqIskzp9pj@&itYL6Tpoz z0VbLPKCsl1WzlfLnes{gL5`yhElj}Y0DFdoQ$Sp86b99E!X^5oiN2L?RnM&DU$*3< z(ulMCN3wgeA}RQfelkwWL&pFNk=ISdtQ^oiKMNU7@-NvgtBbri*7EOuxyS?;FAT*I zOo>EjJAqUEf|-u}HQ6_8zl()Db#(VdSLq*@!gh=E;a%c(Y^*?T)sa9@BGCtez9}F!w)|!Z@lq_w2c7udD{T6e+rO7GWwx= z0Fb>3(2@Xeo!)%jozcVJwUf67^L49eJM>%DOJQpNaL%C(r+e(6#~KMnV8U*m2mqQn z5Us44Y`X>r*%A*NGxKO7_r5-WvZG{*(Uo9da@5<}sWR9pwBCm9r!ZCsC_eh(jaH?X zCw8ULzZd{x*T-moy~DZR$5O|WGi(42SWvMqsDn z#teb9EQ6>y;FB2^^!9YT+@X_j5c@m3-Y%Sh2Ij8`!MIjb#rPx~UH@(T-&V)$#wLGl zDbC569ewIw|2RGOsqYBqUS*y+(@rF(LXg}-#bmMrJK0imz)jH+I0OlwI&!6)lnQ&J ziH|!Hld}5r65~e;{@ZIqA9(8V$+wz{)9<_a_u2j% zUbfHv->~FCYhwier?%0bj<xI!a=s1pR49KmVwOi{W9J$@ht5f1Qp7?W=L#aXFO4l&zl7;*icoWPN_GutZ zw4RNhV*OR&=56_( zV5RM&^SbOeo>nMALd}P4e`ner=i0`=XZQvLI&_S4)_W-5YWR{|2+1Zaepf;UIej0y z{bRHKw(~!%0x&tl)G*D}5h;mIP=k0oon_*RNln+CFpU3|*BQFG>r4+q>}X6#yAu0vIv8vXU9QP(F>( zc;eY7RbBgj!4rM|0}51GAtvJVzGJ=LK`Cq7KUwjiM?=-e$muNh0fQhw6D_0;E;jna zdmp8LtsE8!+{D^X6d~0DiF~1hkYEWZ^1g6}&X?yi%5BJCCKPWt zbd>l5X&4A0p@*XS;0NE+%kFkDqsLIjey3-I&IOfmKshmqM+(WN{LjgyEOBX;KBAJP zlf2SZLd#}>PWAB^JW1uMp2Ar?o_a$HxcrwMb~vV5XH$8>f%UL2(?omOC;fyt&YEr9 zWt!zb%1hQ`05MNxEAIKIlp1p5V&Jx`eHEuI`#(7(tJ;kHfMRSq-8aE)w$BrMAj_g( z4Csji(d2=yBCyZCsJFcK zq!)7^RWFYKGWuD|f53(bkS(2LxKgsKJnOD4!HMoB`OokS`@gN9>JgeF-;s&_C?g4W z5#UBzGl{j$^J7`+A4+~iEhnfvh(ou^xVPVr4MgenMvD`dv4kWoKn;}$&+B-{YE-k? zpeYs&n!eD0zv<`Qm=G2J4501_u(#{lTCx9266=^bkvYSmg1 z_VN!rbn)evU*;A=@+}$moqgOC;Y)bCmF--;iC|9)*>}-C@qX$dHm|7Vib)7-5FN^Z>o%MQHr`|V>CQY>2R{MsNiHXpoK?T4Wz&pTYQs7uirJro{G5zU z|Gx3}JV8JC(?3Yx^s)E*GXiJN6o}mxi3E;{zdL~-AQZAjadukB>|jV93;RS+n&t9w zjJg6UlbLB{aN{{aFp>Ge>(kgXvGfg{r^sd8O&?s;d#;V?DDH0~Ss&W!cV&OFKiE zbZ-l$kbeRlm#t77Gj+^HSreJ2BZ;B2O?%O${bS?5zT96|09?Ixea!q{z2PeYuIX<7 zeU-osJzu}+2>^k>-^6rW4?J+JO&5$=^ALM6ed90#UZyiD?vexGzC5|gKauNbn*fPm znL(ykmRTTJjTvmx_OcEMeTFh+@Z%rRLjGZ(ll;rf{{;Q6bcjPQSZ@9uur2!7kn4r3 z6TJ%l&a_4vW1Vz%e0bG?_n-8a$YcZSG2fX>i0>XB@W)@s^JpFuFxCDuRrz(YPL6#+V3uW0Q<5LH>$$&KQGIDB=YB(7OOLB1qPj>;&QGFyoA znfo4k`f%DE;z7RCzXWh6tpMmF*miFG^rt^HisNZFoUss3t765`%RfNF&>|G z7vB5lJ=B93hJ!(Mb&JgVtj1ds;bvbQA$Fz*_$J+bPzqOQd^ff!w=-v0KW$dvVe(ZE ziJr1$Vu~>t# zEtm~%7z1X!N5GWzca*C(c18VdMb0!eP@F<{1g&lT9oH0w#``0nKRQA)Zc%0dN@=gw z^FTy0US8he%rm5!NRle$fOpq_f6phrh5p13e;b`Y{~+|QIeZyiT2 z=W!ilRQ0covA#lg@ExLTYroC#pXld2Pfm6&&+X`mgO)U~uLSJJd;NVs0U0X;fxrrOb-@pVy|TQ<>J?t|T{>Ktm^O6TA?RocfRn3NukP;jF9F;! z2>{ZOwE_FcM?S)z{p@F5Q?xGuv_Sss*|T){@@0Da?YH;$-FIJG3D8YF{872?uK@hL z%fI#Fvk(7H>hJqECOHV+^)pv`0)Ul^*J{ZadCc{PF)$$`8ZW1a<)n;5TNw@&k<|#P zHFG1tO!ykkXv=o|rygkQ*Y`r^w6mREw)^_Q@LiAZT@*puN5TGTVIjWm6X>5d*eOh0 zEaBn4Tt6gV+O5-(9_VWI(B~lmb4UPO6L)NOjNdj_Wz2PH>6-50KoFs;Xf&XVH!KamxA{cQ}Ncpz=bICpWM|1V z!{5ISl6)jVjyyw6#_YWkIdZQk)alJmW zqd94fb)C)UNUv~$s?OR{ImWX}S->#lV#hIih;_FP)TcN$m)`pbJ^kVL(i2ZSLKmNS zv~N<`ez*HRj=ce)-~5f2=->Xg{!{vy|IaVcZ+_t`l<_dVs^h1hf0Lf*=wAcCSGZ zOaC*!-|DEr5XuJ5@LSn9gU#^rl-s82=cqRYGj-)3z z#%uzg)J9HpTJ?i?-X0u;@;}i+Wwws{gu@6fxxics8&^}-p+#5m@Nr2BE*cjQ8B10D zwzd-8!)tn=>5I!ys>p|J&0UkFi7t4bQ5F>&b#%sfO5n`euHEm4eFpG!oZAb)Z8gA7 z_W&TAj+pt^9222D-qrU=y2B_}bX@Xz;678Q|-_M660IH^5uDu3eOaJZM7~{Wr z>y5+afi-W7e*%AZhsJBa&!04x@) zHRZQ&Z!q<~n~He%)wk#kK2O7m8O~1&cy?8=DF%&_x(cc~bpf4t!beQ;+Rzf+rtu-7 z+1JX+hPWH8_H_@NPFlupvj_nfxYOl7yhrvCrzxPV4qe5^8O2)U8K()fNs*VJ9&vOB zFxLr##HnoHLx6a3ASL*wG%?|1WJ8XL*wkbS45Q04dn2o$BIuQk6_d3CSTbCD0&I7f zDZQV5{4ae!ebYz30idG{lXpZQ%xYMRcnIMPh`mBkIF08yOkOdBAg)YF!@)bJ$x-1b zPrP<{>@kTs9f9AZBQ*igHUj+M2Op=u^S6I3+7Iw==}dY8Ey?Ze%fI6)cs)CExeOD@ zmW~MdKMsX#{Lb>0kYUzes=k7k)K6h!ai~#sSQ(IKFtzM=;{4b&%cSXvP?-O)D@> zI)rl@Hv85C{~hbh-f4fuXScWAg+K>dvOu482e!Qrtcif&>%eHxE(gFXePq|Dm&fH1 zdjMl;H!x^+>_NYxOdu>(UT|C)>{PWswH&tTbf5TjZI1(`phv~W;S}IRp2(0$lXyhS zB0jaRxr`(|Txq){(>+*YYrEpJfxic*>#^CAe}e^KH(KN$)&|W?5f#c91Puu8FY(Ya z(_SL7E&t&!P=O=sjnF^!&anR>Dn-{zP7X{qi85tSZ%mLXE&7U|)3y;{^OH}84>9qz z=>39|@c@CW8GrDif6f|!nTvj`{y;nHd;iVzm+?wK_wv=-XI+ad6K_z!I1BrHjPA2T zX=5$6-nn1|e#F>7kfVRzJ#_CM_#@}{zxeN8(O41{;2m|`NeKWy4g=N)s|EjuBtSd& z`xh=;;8$OLwOxt@|7{NdP>B5k_5w(j^zG9d&)>^u9+N(uw5OYVO&#VYH2V?7idQf( zaFwA!bGBnr>?_60bR+@B{Up|!Z?J+gfEaxaMFwho91N`_HLP06HV?HKIu_HJ;eNKF zdyRF*Lv3+qb%*TP7uu}+z{GLt`v{zNJ#v`kXrJOxcplu}ptf`1m=zgIhnh14@c~eS zu}u#-CWT~ugVRO}<5yP%;O|*o7lTc>Y%G*)4qodazM^3mYM!2_Uto+^f4y_cH?(*=7%Vc zRRO0w%U1hoU&$En*P`CS)l=2_*Wm#A6D2!^@{j!DE2jYezFAPw?MM$CUUPURoej?^ zQ##-vkViPv!Zx^$p|A%;Sr^v87HNhwTFF0_Hyndd+N)4_O$Fa$@}Gmy;3d1bmHcl# zHd}f0@L`lC%yYpwqijl9qD_fD6}DTzPJ`cf$wtKeB}%{t73!%d%{sd30@n{n6iyYQ z%q?~6uv2z+`<2>SAKs?&O`HAidjPx~ez?m8N!CHZbh#6OID?gELB_Z`4V)9IRnN0) z-Pr7Jw0_$E`YQ%IeGQ=ZBL(Y1xdb!tU6KExS|sU+Ae?Bqok0yKg#qyqZ1Kxe|LhZ| zzwi@ZzI^%et)%81ecUk#0283+o_mfy_qosYeE^<%>Z!IFVA}|=ZS+Skz4TI-k@hLT z_8LIDZl3~d=X>tCM=bEiX7Tze-F%VwE*ge!PgnWP#&GRxld(9AgQvrp0>eY#q1)3Q zxc8L-Vh%j3PGQNa)+!F&$7WMW-Cqs^GK69XpjDJrf`ScG)Dh@FB^rYx^1PvS-HvBUz_c?>&%H}6x!eX zUSs}O(lc5aed3iVn(m>3+tueqX?tP?6b~P@xaJ%zlv{#buuB90_$$hq<5hbOofwJI zw4`xS_89mzFt>ZCoH5u#2dnC4fA@ut;hPN_US}sx+fgQFO15Hxdz#ypbpi(ya%mRD zfSG7R+q45RNwP+EtqOouW)A;+{JTCzpZwH!^k7T8mC~;vtdBhzfGUVHo_q_hFait> ztDL3*CuZ;iANKwP4YJ1R3Hxv=ihqDK?7cI%Ri;=gGUj-ojYzD2h!jOleXtAf%1gT=-aaWHlyF}W4Xk` z=#(W#k`~UH**|i*@^-bYcJELAsc)yh{kMK~yv~te%v1^%54!P^1hf3};@Oa}=zLDJ|2vn1UTg2Dtb%%Cze=p2d$7yZ^VamZkm|D~^1t<5W+WBQg_wzC zJJOM}@r-f(YUH1byAvabBL5o)`U+Ug#$G7+!tSpd zq9xxtek36GTs!iXTRBfW5VjcrV(EkfZG(p3v@<3$5Vozl7NqwT0By6)*TqGMmydN#RS70cHB{)0c->H$xnW=52n2a(2g&D@r(WZ z@WT(cjG5R*fKXlZGk~O@0bFoC@f)W%zVz7czQIgwBObm=`;&e6waR2RXXlgiqls~I z>;%9Dvl=<$aQ|Kak6ukgvT0^zW7@N=C;&)JPmUJ^P~sJ|u@?b*y9CawGrL$wriwx= zUneedC=#}TVGH7~i{$;+L|m@BJoXPB5Z&NVSM5syZ9jnXCs+G-&G)CV3ShT8Gxif; zg%O5lQgoB{H|2=4`BG|l{&Z?XcRLKdN51?a_g);^3=!^mV7*koNkKej zm6&svQb9<48~BnOqwy=turV`oSOmHiHmot*|=HWOB};SP5*b zTM4LQnJ9rXNs~i1k7e|O4pcnmBnmc0$yu>_psvjEpW6uu!5Lh?d!X5wLjvIGr!SGu z%EMSqGehpQ6~`Q|1?WTsI8c@OC==z-(~yO}S=SBOnB`|01Jh9pIa?j3KU%LXxc|`8 zPtbc?uzv{fKlEW(wqFMy+gSByP8kTP$&|T%?D~X!#7Z ze}lG;BGGgV?=1g0vB*<|5#!BemmdZgbNl3VqMgFJl=V{7*Bfn@Z`(MR*}sgi;s<<& zhtI-Sy(d{D!$uP5_*vH*D%Ot_Gv{u@DyWdGBdtSh5A{>v8TE3&Ov_{2K4tk&<9a|Y*w;!#UINY8_b2a-n4gVY&vo|M)E6*aJYwzYt)%f_MF-Qx#kk zC6@^b6k3xf4d}CS)pICJ(GZ5lR%=9vI1|PD|06TWeE->}Pft&GU-`;cP7agGr*xF_ z-nqve^$Gy9Z$3{N{3p%&$}6v+1pD8;_uktCq$L4tLc72J-@XKJIJZZ;wt?WUUwh;E z_uqZ4GkIs8mIOF+jnD91DwL7k%0X(Zi4yxXph()N&v6)ts6&^Z8E=~rbQ{$#S>?da zC=^;7bxX7`WUtp4D+E*;NI;VcxG_xy?RD9{_?=EdHZ^1Vq_w-#yuk>Zy*-MR3&NU> zmWQt2B)*S&-efQFUZedv4JdS0mQ6`_SpSh@P9aren!ht&Gse|9aAjkyDcLA_DtKR# z9<$^`HVBZgz=0-oq=;65?&=vd3}v!2oE@VG_$_;r69kf-WpHlL3CK<^mM5>rc&|7& z7>^5KTlpGiU^rXUO+1ap7NAVCDFq0WO?Q$BM;QC0f@PFhI$6p>ZS%U$=7)bS90H%e z`0xAxee7fJPspaRby(Rs$Zhi`5B2SuX(2sK08m=9v6WFsJ_3@^79_u8X^(qx^4<^wf{` zOj+7zc>vKsF27#a3mdd5FSCGqccF4s8aUfV0E=j)yJXcz)pO(Fj^{*aUL9w0GUK$u zlK}RZt)kEs2*WfSl7iOUw^X}dG`Tzd7@S9j;moufPXxT6vPA|tqNUjk?e zfcE#1k9=f*$l~w|FTCKzu*xC$XMGKz9i1ukQ-GpLfcC5>27dkR%l|E%)drfjXf&8~`rr>qM`7qM&cG0Jx zMoaLJ*NeW_dXYHe!R0r!Og@s>mo`3^=cuL{6`j87Y?5$HK-2A#8<{YKCny-1e_cJ zQ?MNR703lfd=xr4IqABnB>_J74}LSqAOYS=bEpItTq}J|-J{%(bMVA0|3tKOlxd}@ zWO0v@s1Prnw_v`#JKvV=xA*gHxBYex`O*7?vBsH7?8x=3WJtWMjE_6@yD$#SFvE)% zT=0Y_(|E!IYmVga@B95{JWU;_dF9}>0N z4$6GikD~#biA(y6DBBsH1EEYO9Rt4)I*BtpG?ChXGT8|j?YYs8p*R7&B3bSP^a0`m zGigXb%E@7-Jj+gtAW=M+Sc!t^OiWtW=V+3`2co4t4Z5)x&bZR_+YSuWC%G=bAq{GP zylNB0r_^GWI-^$1%;z=`4x-Q_?QeV* zbgTeKQz`admA5>`J=#S*t$l!fuyw`wH4z&tA0`Bn5pewy04)69J zxe1_t3Q+V@fc)f>PxjyKpNAiQ*j57c--qD82ls6cfWu(-d-@tcuX9KO><&o)Zl41D z|Gn}XU;5tP@qsrF^ZgH6_U#5=i?!*dGf6+XM++t0`3#(aVRhMrPn;{!iLtuI{Aj4q zpy}rbB$?(>hae=ZpXT@-#ye;TP{TX%L0Te0K)0dM=0LgIl{Sd<4!oU=cW-_ z%ubdqItfD-LA@(lqZ#RvEh#WmsDy}*sGRz&23ImU9I19j0~`$!nVch6x}0G{7!y7W zb$e9-7!ANtV0;TUo1@jZB3&IHhZh`+;BYM>!Q#+nc03^opkf>e5%&|Y%jk3E(Ad8o zG_uQ*AipL2!iu(~|KIUlAEW0!_3iY~xd#Ym`gp+dd z5Rfe+2=GTCM96CaIPq+NmL$!B!I?LBqMgI9c(vbW4w=IbedyvL0q})c4+H;rj<~X^ zb}doa8}j50N$xLqHa0c|IU|!N7;hqEJCiL6*m@gGA3Tg@dMB4KsEk%n_hRs$DNJF5 zL0{{FP{0FDRqt7wlTHkoh?Qd@{|OGaJqvzF?cq>Dd5H%}$1>_GEsCs&-RO!p7~YWE zbU)J`khbMQ8_M-$}9DzTU#Usn`01)v-5^jni&EpjE5cd-NApa{JjDX3k#1eir z>9^7XN&aPB2AZZA3#{+J1&CNwu(yx}FRW!z*-DE-5;CO4?=kd} z<%g%fvOZua3kCghFWKL#2bXgzwc`bE(nfGy;H~hBmysj=O1c;PN%{p4p_9unlF7ly zeM)LuY>3Md^=E&OvY$}v5h|P3&Y1o06O=s>FjfJK7$H{uB_D-QZ*ZZ?nifHCeIsD6 zjGpM4YjvLNgUM731@p-sUh|JXGU%b+8xG4Q9s< z{*<$|ogm2(u~!0|1lnU?V9^%;>t24MK|H&#HhDTZJU-Rr0Gt1&y9J-BPTpHOQc2eU zKk02VpY2-+j&4VWQ|Qc@T?A+(R0BFrP7ojA5duR=Bqb_X8v|Kh?>Mry>@>{A&YdZ! zhu~ouyXMJ3Lq}!C6=zCgc6){&#~7~>c5K&;FiE04(orZo6mEMQryS^cdqy?Rcp5$e zxD4Dm5vc+WY>0 z;)lO2q);f0pGqOz2cu^98Ld?Wu0GmKsXZVorF{c^*kGWoe`1<~I_QrvNbIy_=g;Iw zCln0$5C(A?2Mmm`c- zzWr|RzF+LS?Z3C5+bn*2SHA`QEjbkQBEsm7YcFC$R1#)xBP2mP=@@I5*=PDt&(yV8 zL*0!hktiTSy~M?F!+xE2+Uqcmb$z7Dp&C99v77Z7K8w)<>DAbe&fuMA;Q=quxHjj%D$vvXOma!@ziBp4p8+PK>pR zZ3vxhwxQxcODQ4B_*c0F`4`Zv6OOZQ@YTwHO|F}K$f9@}&EgZJvFALS$rJpQHpnAm zEC|Y#VI<=@w1e1QEkF5CpkM3G`>4NA8!Vp}dox2C__TVvG@cCOzLxVX-a)(>ev?F^ zAMN<+NHhGikyR)v{<6ezwhuUNJn?tsbk_0QtAD&d-P6hIEzlmJjqN4W%S-TH9cvKR zB>PA!d#;9}U-xn0&|{VPM}O_6&G@(L(=nOXUklJAz<6gv5my~WXeoI?0gx5&1wC%E zt&cg%qphg6R`yOPRyiDRKp(E}`^Im1;^yD{sW0n9GTn*Co%RZV$~GTnem*3c0O%up z2>!hoDOa@M|GxX~lPg!Q^i=@50-y!|?fJAHK&$u0>GkLD+uif^?MHhT?;5`qj%vI~ zXH!==nP`G-ezu!Q6Mu`%R0J3tHlEZ#1V{o%jUj^|hb&>HT_O+R&V z=47YN;jG{>ak1bELM0%QXM5cd3502NR3&NZKKh7+fIF3Zt2V0QrDcVbm|>zR@F(z$ zC)U6!<2Z&hRgTdCDXlqQ&@}R z5o2Uy%y;VWuD{s+(I zcCo(6n>k{}Fpod}@PStM(HpP79q{%d5{|L=K@>ZlD^L`04XLs=1j_J4?Svc6dM@jT z!aoxFn2OHyA<`R3=PlYqy@T@4i{SzQsLFo|01L>jx6AKrOY;3?uZ2hOK-`3KG6VH; zJ%FVt@qdwjyOqmH!f~|6)9-}OVmK2l0Q0K;%ADhQ)Mb~KfSy4vR$6@vUL>4r+^m-p zVb{p<#e_GIDMGNP_D%1-u>a1UV7=59)0xDv84OBqJ2jmciaj9Wq$eG=RVhB&G<^);oe~& z+ou5O+_`h|`s=Uva#j`3ci(;Y{*VMXX&V5xGHoA#cHPdeonHU^yLb2g3%Ug-w=V%S zPCiU`vu^>&d29Z`egbklX7j^<4NzoKG)b7lq%tbQ%9KnnzuLJLgD3B+-w(o>;B}>K zi48iD`l&)@ey%b-2dsPDOZq5M*FN2G1b)9dOV4^@EL9%xH{~UdTj>(skUri-_38!_P6?rp(!&% z%&66rN4y21Qm#Se2?%6Yxn{wT~@m&MAg!W5Jgyz90KH)k7wGOz8Yr##Qz10)oy4zv%UqsNMV zrk`-SXzEZv{~BIXn^oy&3MJX4B@j3)>Cv%!lkaUdn?gt8GuHni2_Vo8@Ej?x&@|GS z%VlkoR%KQ4JJ0nEZeKr?JIr6oJ=!`$N2${!G~~L{8i(>Irr57P@bN0Ty5pe%{|?{# z-wzwfdxM_v=zjj#94jmL06wngfzNdWCI}`S14a@1Km5P*xaa`OJ@-FxxY&K&*L_{P zZSmwCb=--20Q8|f%>K(W&pflUPXV^$5d7~Se)!?teryTd{|>YNZ6iQw8v)*P&pihn zDgKIpZUD%K;GbE1VH|X@PYrMO@Yu}$f1jMIo8(Imx2#gs` z3;ss|O$ONK0aeRXgF}!AjC-xXUPYE&Doh1h$_i|VH)fq$gQJWP=seml{KZ0OE^_4l z{*FrKlC7WNiXMU=>8}N8<0prvZYmufzIK)PK5lPVbUL&Q=UsQ5_%dmvPZj(Ok4yk( zM@v%tzzf3@rP5er?MQ3-7@UJJ*~vmf>qMqJ?r2aQ5|6mAa0VA3GT0gv+Tc; zvxJIY$Q7?p3KjzHJU)&q;I%ayVT#(E=WOT-P06^OgAU$?BswB4IPUS?NU*=vYrvN{wv#Oda{Ec<+-^_i16$Lf_ke=jL}f?w@-`ZxwbG`}|m z#j4sxRx)h@iB6b8==>VnXjNS>x>i~V(G)Bh93*+Dh;Cc{V_eHJ-Xcp@9`zV2ZaZ!J z{U3Y}{mL(YarmkWj~?ZoYwOM?EaBP?6bG>siE zjPEK)#rx^GjC zY|xCPXnM)ADwcSHWU%7JUY|-LLK5`$e3@*8YdTieeG6KTBeCNmU`){(nY{T(v+72Y zqW`5}Snm_)=v-e(mRW{St~1Un{5$yju@d?8@ON_gg!cE8F>3#=8cKwrWJ)KVbVLN` zI`fIy7nI-eEz_9oXL}{U5(Kse8Du>9hp2R@5|8rpaxId8cY2t@4c$2!%6mH;ew?}I z;`#IE+vnsLBXwsScU%I1dCX=%_uO-~8DM%0p8~X_PlmViwQJYccClYV-S%hd8@*m`1MZz~E^b7`_b zLTv{AeQ$ksQx+OppQ}@0AH?M7-5eXOD2(lT6B6Gmr#7R12;9f#|FoF_mzg7L;7kwj zyBbixO&1z#L+y0|T@J{19j@-aYfo3N?Rv(re+dA-0x;?;b zqh2^2x!(x>sFc;GZe%O%-7Lf?!MHm~0M`g|xAa}8xS+_n zlQ~>kIb+EwVeH>Zk1I*B-vkq9>iNVkdB_ANVNvSDX&pb$ahB#HHbmg#QSYy1= zDgU8=?GMxc?uWjOFd=R1VPhI_Bm^llv5pNe`|Pk$)L9wSsfamvIrv8!*gb)j6T#j& znGw#j(moK>OG^}CBBKhf-3vg2W~j_^lH%OC2k8I(m;bl)Fa0lmjK1)Nmo_c=GWaL) zrKwo2FWYbL=YM0{ZU4P}cE7)$54-KVgIsY~3UCSNwf6vIvJ2sCLfZ`G3zy^r+KJ$t zr+$J5OVWpDM}Ks?;w^#lP`t>N^N$t~#jVc@@mK+H>C(I4-Qa-Bbs(>G5C@3)ndx30 zw2z=5f)v#AP$|ZZi){tHhWa6?Ie?XtlbUsU$Uo9CWDa${!C8|yh;uJ*HV*BTvt%Tu z>w)7}aY434{Oots-Qo=faoCYt9{;{KTA)`w5SE^~=@({qp^ zA12X+Lae-EgmD6o(>eN)Y)u#dci)RaL~{~>!&;Rwv=ZT)V#`i%o|9OCr%CsqfhPiq zT(^wZ01lIAUm?2rNKULvVbcUCP{20-vHe9<>ZlNka--!Cq@Diha{s>hU)u^CRs@VP zd)E^NR@3)VZRH9MTHF6br;&Mp!2^OwZbf`Pb3EAHefQG`IQX&09y|HOCq8jw5l_D3 zk2@{_Afn#_JRHwF^9)_Se3^6u2RRI+w7mchSsi-qwby+3brpaK6x#-X`rd!%{QlqZjVdlpQV!X--L(VnoE?q14v8-T2!86$n9ZlgWU%N?S++Q@qLQh~ zLf`oxoBeApz*rnUr^&s+_P!1Khc?{mhjKx^3ie9@Gx#>;y;V6S>6`r>M3zrG;G=O< z+-=W~_Ibd*DWI(|09kAagi~EF){I2|oYWy}_@G>;!>FiD87psa1wev>=ifGCWj2Y` z!J~~$p2(;@eWHzvqXb3~?$ueI>VVkT*NvW#CrUh!b#_tOHHIK<#_&aa80nC3i*f{k zDdNfM#N-UQ;tMdLk@mU@XgC(pe|A=dqH!w}w=E+ai8Z9tUd!a!MWHy`S`-{7!;2Wl zG=yO_vrwOHIc8AHVI48dSoVMZ{Dbt#KmG0f{d7CV{t*<$3yo8-OVSUfRHlH(f^R{Z zK|7r7AuI#}eq#7N3a1$#%CICChaKEvWJ}k|l!AMkdjFNSVce1FvugzvW~vh zQ4{K;84R8#Hl(Z+*@=|iVNds(>6ZhDm$h?I~*gSp&eFvV{GOBjs z^_b#4ANw71MC8XR)gS3PhgL~lahF-Xpo>oN&pRunUbZ#p-Up7kU|*9hW)_Q|2t z&Hi(&U>MDD6Z5_r;8d%qkL1SrM3H`Yf0bV5dwT)f!MiD&@i{;f)@_46!#waaXHt&H zG1i|mvsI-Ft&$SsJ}opbQx2|a7zzer%uOZhf<9+T2>DnP|gz z3CEnq{uS+L{M%-Vf8wWpxX)y+47D&PCqFX;Cz{m0Dz7GILgl~GIrE!yKp11Fn7vy6uKG*IIi<}gKI zCQ4RXZPYmyWaim?F7>70K41yZvP{-~@e45kG%y~vDO8gnL?OH5O8^%sR#s8)p2~VS z{iB6hPJ|MB62L(gR11I@GnbimGNG_SPe5Oewg5Ap6O92c=sqfx1-Q)4tOEIzpmPL( zI*AUH`lV6^d1DH$I1&^yEVt+uCT`$ye$uu&Pl7~QX0wQtl zbld}(SrR~dO zfBxrxp4PtpJNLLF_W)>tc6$ZjbD#U1-+c1PC#ii7@Nn#3dF2(y`w;w#ehHxM0nqQY zR{`$6`);z80QMDt7W^NQ0QAPqtAF>N-M#-pXR7ukfRnezviLSbeX5@VOnS9*r`pUB z5c9}oS{Olj37jPla<-gxp8y_H7VMfsbd8HA0>U}M1B1b2_{2?~>qPL&h(R+5Xw+f1 z#On{ZhjH8Mj{fb@nKsK$VI}t?%n3(!^f8pPw%_&vXx!NawY}riK6TOpDGr5?o9^)f z<<)G8`O!u1>a$dNI5z0$s38Ca3%da%bo{X~k%>J6Cm=PJ4SX2Pb--5@Jy949!%K*g zvxUh5rxDTYI9E6mTqx_}aP$=`WSdtW0?cpz0R8x1`u;;u`GAfo7_@8-eO81sZb)5KSX@NjmK#}GCiI2de$kYqt>7jK0%z8?W*_@hveD zpK>reJ2vfkTe|;4|NDRGaQ(kj{*CrSW`SVn1R38bKEZQCz3sG)&qUc1&O+?V*v%fZ=j?V)v3+Avs((l(xc z{NlSPF$k5RD$ZeDab-HprOA~C$^q&KK~+sY`aH`&BIY`ErQ?D?Fa~+-CK^J$oXkmN zO8SfoeK7%oBp&BH&BvU_FWO|n;NA6T)SRCAQ?M~q@Hu`aAP6nmk4HPMNe6~XJO^f} z2`;TMW!(t!?U6L}7vt9RB_3Msag7A&s;}d`cfxgzavDPM33N$I* zy#KKmz|b?N%5%Cppc;jwmjqGQYtwycY}FcD1ARotO+oDxGF{C~QP#Z?x%j)k@ylQS z^5@_6u6MOH+NX4f9Xq;1kNUpGA$XUI7caIi0iXnQ`8fpt)LsFw&j7Z+L-60v_9Xyp z>juf?QF~YGZd7C>z@Tj*_x-y!S7_tfM(`_Gjh%VTT6@VqXrxHQBxFZm2Cu z-H&G&qlqM=&nBqh`&xr~G7%h~_S@Ts%-i$*Xxtn##j7vrZw~C(1duy}?IGFP{!Vm% zLJK-s0uTe@0lDEyy=OQNG(2zTZa`g7305%MmpuG-QREAb# z0}dC3Nh+lz+V--P95i&i951D34j%G`uS^IlO#uhO*RthEZfntrLnR=9<4j+t(Zn0zq!_$vU`giS zKaCwD40w;6x6z^U*a6hs4679gHOb1aIVnc2zrrEdkn?n(0T&{qoqd~`5&k4h3Wv7k zPK;nn0khFN;I&yUavZDtFNeN!4jn zQ;--CnPIK=Kf#UkTgo@+(hZ#OeobhgUg0A~fF0>JbbH{ckcTc!tw}lK zA#-mi|FnXM9FB2bJ}t1-UetDEs|0mqqvI-9GF_Y8Yz~3q=60w+meshy8a8dSSwcG@ zrM=vXpt2%Loywwrf*PxtZo|iI7LASd0_7Z>r)1pJ7B6wbzEICb>X*XaQLMRl^xOW=QL_Y(Fn*r9b zbRtoLFRqWv;jmph(b66OxF6v%>f5@CSA){iwJD#@eo5&DY)Vm^+A2RrguAhy1M z4L~#q>k^Z{CNL)bch;?HsU3P*<+ zGTBmZK!Zp@T~(t2c`aEoPv zjJ9=hzG~3qhR(*7!MOsmVLWK|GTe=j88Ud8ffB%n+KB0t?rJRPkHL;16OK>HYDU0f zvc&<4(ZHV>?7+C7wbbX4gs{m7xn8LBq)aFsV1w7;)_!8l$n^}$;!1JhoCRT-C2KPw zmCSAk5Y6c*pgF2wCqad_k}eW>4BRgOhobI0f&v3d&}NZ1B6BjCaXOVliu@DE#Rorh z(Z|;KjjB8=+&JE2m8Vd<(G`PglS*sxuV5<90?OEk9ynICV_1XxeOVRBny}vHKpRV?TDeC=!5Xl zhUk7(hd~klB7@7McW1iRBo{&L)!pUllZ|U@-;#FgfI8pt0N)CvR%Ovqz=@a=w&NBx z_q}M$Sw}!8tnhKI3A((lz+teBW}n41vrr_fgO5PtCI5>m>?)(lE*HCG`pj5&Yy#N6 z1R!*BIWYCrri_M@(%_8lkcUEtQL=A97q&WDUe;W?7ue{}X8xT{_F91TXL~tO;eiAx ztw%c)!`PU84+wHr-tn6$*?%qW`?ifocingHL+8(*-yLGblYg23c;_66jXv^`k5Jpl zp9y)pw++YuDkZ_D*){^fcDpp&tG}t^B!B%*UOp_a5P9Q-LIi82IX4r+p9F?d!X8w641Fe>>vvLPZf0DKu0tya#Yc6T=SXR{j z?EyI%I1&z`graNB?DhU$W10@e@FLhi($(#K=HH+gMf&>?Jg!C;y2^mg(ha$rOeu^n z0rW0-HdX=xzBNNq4I`*=7&9;}9J7VyBqUqU`D}v`{l)WS5bM~Y<7f^l+;?8!Y;+S& zrO#@(t3zpcp}+3x?X^#i-Hv*4Et zA#lv7@`&}j3P?l8co|Gs*qNcO!4PG_DT!Hr%JOU1`rFP9p$caX`niIMzd$f4etTdV zMcEt$cM<{yE_kN)62jy-V7Ul9RFi@n+jwH|D1tgF02OqU(C(x|nJN!1RR!QRnI}07 zDWgOqTFJi_l7heCfgr>REgS#!N(R))?e9I0KTLR-{Fgx>*WD7=sP96r3$&C20ZeWt z`Nz%?7IdzQvcUk~S~EBkzKmmwxYKmhP0&IQcxR3$0*qs3I^S_Douht5-6a59feL!c zIA@&lnWkE$P0%4gy-oSg;!uc;_rd-L6h)q3%(ft$#ZNYhNx8;^L&Ym#i{LW1FN+?z z{La@?dSkNP*mLf4K5`HY?a_kPe#*GH{a-*lYqm-&a$UC6fMz=g%>mGvvfwR~c7UT4 z#gtWImVcxhLyxyQlI=oyrdh69SxW+(d6CVM4roBhB-~Y&Tz}Z}S@Gntx4HzwxC9mS ziM{*Z>+074FgaiWg6xmzf+D|ohHDNbOH|>m_s1p$Ve6qQ9!87~Grs*x0BtY1LjpiV zsPHa04N{m`m4qhwxY$@zsiS%OWxlQ| z4t6ihp2IU!LJ}3m2mjPqG??3_eQmk_&UGkj@&FWyDuO0FCob)Q+fHdCl$0hvC^uZ; zHs!WEA^#j;C>L;Mh-QaPvhlKK=;XN}6+sIDfnR_NKC=%$4ogymlyvR#z!_heoSOoh zm1nF6j&yAsTagSm#5ewYj1h2-o-rHl_)z@gK|Dv++X5B=gMs%}Mht0j?5Kv7k~512 z*n5D!0@swl@N(6?S~(RlR=cs6m{@T z{xG--xWV!QKNznkCx;2pmgv(JfEKdfh^NFXi^*^f@C0~J{JHuZlxM||o?PTEbdlkb zc)^&=nAdr=v~PS>pCN-&jHf*lgwL4U2B9A8E|r(DUQ?j1WqmHub+we{K%N5t+Bz&4 z;1o5%J=w0CXy^cN2=nM5&dgybiJX7I7KaCY& zeIr2Am&UtQ{yEG4$}cqC8U3LHxd96WpCYT4mvs_)v~Ryj->tmH$|HMZtp@jMK@Ef^{AH@O4S)^$TpHEH_ECG_MY~jj zLJQYIhhNeKoVVq7AC4hU*nDFCOyjc$RJ z^prTDnhQM6hL+O^qqvUwTIzx!aEsaH}(bC^|I3U_iOU6 z@e@VHeRS3Oy|BNcUF}_&wi#9nw6debDHu+AgF&}QE}y8xG}T32BS12w75d~t)$uC| z(!daOe8W6W2iQhSTv+{RKHP@n5JI2H$z)nM!eMxlf$-+RAqYF29N(0rNGMEWypWpj^-+Gw&{}DR( z&;yia1Sn|fc{e-57{UNLkHo;Zv^!i@hrN$7xT$K!Z~QOuoV5(5x|7c(Sb}sFUc$ih>o?X z^yDmf1w%cX{Bv$>T!IoZnM90HNfrH_6u=4w6JM%H6Sp_n;a$kTOgPO+zmR{*JV^FR z&A9*m556bB=Pds&v#O&LC`Fc6@{hVZmy;!&tF{XIv{EyuM%H?0>lx}`30p+fM##ED zk#+k%q@2cY3pPvi2A{)#&`bk_Kj~+^SIfAuO>$f82a(%+)lU97)oqGey=wf&pSVs$ zXk;;lGS??|n#|=&qu>`*8!^GU?03Bq0MUvOnthC;^f@wi2_I5^DbH-B=6G(9KplWM z>SItnPY^I%R~XvlP}rx;BTO{WUC{2q{n|HZe82C0DpSzbU<6a^ey26hfVU*A?(h(l zHLz0x#q_qs< ze-RiZ=7;zXeEWIp?w_szcn2JirRit=6kz`fK-&oLrI%jnzu$P{4SDdv2iunbx(5ND z0+hS&z8g4m9QF!8+Xvw7{mtjmslLhA*_>x(F+oXZl%lG+!614OHRfuRz+Uw|qD4Pm z%>5I4Lh6L6esJ$;G-9s^cvq~P?8dSO_9MDCCyogH`bdkR1!4A&eUJ(UxA%~=OE%bd zmMv73-{e>|zv+z-)3GIBdwllHO;_Mexs81QPJAB#oSh(dhQKhHVya}Z0Z*7}%JR3jHg|nAw<CIcbu|#Btv6Dr-=Vj%BWaW+N__0UN*-PDVu>`KsrTxOi9 zaotI42?*Yy(r+0^r$3{DQurglp{xMN=;UY($~aq2d5rP5;*7K~I!u8f1>IH@ zSjs>0tSbK$^ecb3TsR!#XG;RKzl)b137t$J|3D@SJP=+2*{!gqAc=82WHTVHwj#>V zZ5~+>BY9l^ulSyjw@i1@QXfye1NRDR`q;0)U)E9JvCll7*6?=u#Pj}F?=Rrc>tz46 zf7cegl7|c@mF`XccTjkja5oqkD&{^y8)ccClLHk1o^ONxKgL!Th-O&K_u!c?=vZS# z{)vb|2ao>rU#VgA_;;V~&%N25Sg|2Xn6g}QH2{8p&9%j+AjB*8VeJX_>u{O=BDZUq z8ew7q9a<13!vnsys>5`IZd+g`Lb#$z^c4Vp37(^|PJY4grQ=5E@Oi3IIVd40em2`> zMHBCLg4xP}nDw_$0s7tm;Otd@D;yT>VoUxxY!Zv0*PSr&W|a=4NdXvF8xGUN^w2-| zhrjVaTYl=Pr|!6T`HtNL(3tYmpZ;{Z-!=jy5YIQ?eA7j?Z35UX?z!h4u}=V6Ir|h~ z`wU?FyCOHgWLCEc-!*=7tOsWEZFOsVArFMrM-dI*V_Cki@PbnX1rS{b~*%P$}CNlPZe{a#X5jgPU8FdZAK3mz_Y87@8%U*ZZ*0A!#0<+YdO-Sq4 zz7)`NBL=#RZ3|kG;6b?_PKjkW&%|fd%<*xuC5Ox{deD+#;7h$pnG4O1jaGDLi)QDL zDcdMh@+(`AV5iz2)c3yUHqfpMw87ADz>59G{D6%&6&RckXb$#QW(ghrEyIO2X>|-X z=B0C;0zI1V6W~K6gtK)Nrj}Cg;Ox*5eCn9_Y8xI){@?p#yzie7#Va(P2p7nB#e}M( zY7U_pWDInZgM_@VW6e}(5^Y)nkq~F_bll;PI=LH#9fLe z?!U;c12XeyE{*a(mrx5{>WV)hDght?>>|(t@E@&U35+fIQ2mp7%>^dZ&DKtmVVY&u z^%RA_(si@)q+u3o6$-QfOoo|(DtgD&S}+P~GS?|HODidhFXjH-Oxv(I;?RWoA9OML z>}{W{*P|^D!VOQNg>-7-1Y#lSYtWOpjI{J*>B zEZ}3f0BQX1Imm0lAQ)XOzfTuEfu z)^7@UC5=_0ivPcPzl$?_KjNn{XR~^^w%(Koe znlW9Qp2%&36)bcM`I8O161ZT(CeYok<4`4?2-SckW4Oitc)^=h{`2*GneS&=pBg7* zm06yu&G~8%!M>9ch-4|@Z7TG##|e+x2f&LDwv6>3&D-9mdVg-r&-2^72ehQd_ zRVLj)<(|N*9Qa*VmW4@(bcOpOWk?M~T+v~EYn#yTpDsLvFeh)e232mOl(*q{>UDo- zUkon?FXLzL>ITI!@8k6zY@*9nYur`>=sp0p5@s;R3(?_S-vV{_Uune`1e2eFcEvrvP7g;e~$l-S2*P zfA-pIuTlFFfW8JmZ4ZFN!Ox$cV(`uDZ>W0&VofK66?ljk98Pj4V{($S86%K`VNi)csTV!Ha?}bv<^Td6vAAzbksBX= z_aFaO`iY@;$&}$^1A%sF31_ohsBylO$ z0uQCYqJ1h3{k1nrmdRxqwaOM=bMPE^2*A$?OS5B28)sNf+R$di6X!8vNj|nd23|e* z-4lc~OL#^+U>kZnbdsN|&Q-l=I1ciud<9ySzUq4ZsT7yZ?HY#t1+E>OX#-hp==@-`)|qesX2-TBE8tH{weXhgb~8m1+pbntt7h zPmQ>6BmuZ+^C1)QHbHgDy128MGE)6-$|>x%Xe*&c!~pX2fyy7o5UGv!XEXW^A`@{j zxb57&8sJWfB(2*^?Dd0yrw4(%`^G6hC^z-dST4lP`0VB+K+LL(EAQDcRi%pok~=o+ z*b9uCwQqDyx>;#Z;}a>*hO&<3TR7_euhEvN7)Z+q$8Ul`jZ7vHPr3}2&z1XuJAlNL zol+=+>NGng<7tg^gfgm}`ksR*h#TM#+6uPP*mA%X_=-2ioRb)nQxE;MXZuCw-`cTq z7cM+N&;6P2q)&e8KYOZ&#m%JW%KAkIK5sN;?k#R`eUbJ}JKJSi`Qb{+%$lU#o1i-5c08wrrn zLev8dP!)iCK{6`xgG`+fz1aMpPk z92=ixI}-JYZWRdE=hHaKy53rkZnQDAgZ=@-!{F~6gvP(F>(bM0y?yMM^=;}9uEqP= zRaw>h!OMY*%Sn0$@Io+_?M7f+SctX;L^d9WW?R&eyj&e^_qzc|%YX1*$4h`hV?nAPb0{m zH~{o2q27Zw+$8&Lhd01l;Tj-74`(1c&cF8GLv zy&_FfmT=HYhu$D=S%+t;4YklR{4bN z3jjR65MT}zn30{mBp@`B1nv4j(+hG%U#x2S-DL9dwFTK{4`D4e+OO#eq0|tYF%mOl9iQ7!}@^#PGlan1i`8&Uk{=J|2 zVftg=`v8a>{f`#B%$Z-zvX8CuApd6y@d37*aR&Lo;73PQlI z=Y1#=C>nhT)gVmA-}wpyAR=5IYqYp{@m&s<%YRV;#s@X=UGd1eD}X{>Hrl~wbFu-; z&Tz!RFwR>6@phmr+rJsKO#ff9Ju+uX|%*3tH!Di_Q$iPsE$hJ1kd zhy0^oX0lZ1k_?$p@$(QFz^~GfDHFw6T^#?hQT8Dj_L6orxgV1J)lhhnL=8N*zw?ee`V{~jD29yyormm80O!t~>#qRlGg|@BpVf^3 zDR{510=OaaA{o0K1mWiH+Mwueye*#$jcO;I=69tsHUNwj0X_I<3I9kH0;@J3iGVRn z-t!0=@iW>!ckIZ$9`U#9T}T<)pT2D&@FhX~g0_(IFwT^-o2M#8J z0D|1n@_+pwGs#ge%~+|1n`UDr!&e=%DX_c6;R%riI^cJtgo6RhG@(ELrm07|6+BV0 z8fBnG!uR%%l>L|W(%@Wv+yk`r^L~Tpp8oI?^bNP*?|T$^T4~Y#1+-JH6frf%oI^8%~KY4RE(2_gSH$$tunCE#4i ze-2bvM+i1Ltwcg=Wx%csxGIQEf#>|ZjFaIXTokWU)p0TWxjJsZ`}hjL@x$nZ;~eOq zZqE0}A?75vvJQ5mE9iPntHf^2v!TdJ|13TYZQjupP8@?eBDdO1sMvD#-$Td(Xf9 zvoEq*Xp;4_BN;I4L60gtLKQCHS~2~k!9TaaU-tnZO#(3JVA(S$OUm*O{_Bc4MaNtE zSH=wlqT>IEeYRYPFv$~r4&s=}z3-p-mM5Nn{`r%SeB>jy)IRT|z?eoi0<=+0 z9}Rx}_1Eo70CL}b_w{pI{;#h9RE^y?1Uv-){rd9h&CiQ+N!x(q>d70fZ0wbPu?c%q z2*vgez(!JFnBqO>$3qr`pz`n>qfEzhH$c$}LZE5YX)vGBqLyR=sTm#`_k~k<+lO29a#=(@F-!+1n~uNwmH6n>JJ! z_~Kddlj(jiEarF!&RC!!1%*yq^tZNn1D?>|v~ZfY583QzIU_^?uRm2rY=M8fw>zA_ z=li~u{^Otf(f%1S0zUR0rSxs&Dh`9QM0F%cwjif4%aj7acn+*-Mh)9bo|hU_aR37h z5l}OJlUxDFtio`dw#SFpxP{-7*NO~|4 zCaUlcyRSzc@0|2{{NlUlp@;6DG0}16;wYP*N8XSLfLVc??TNP6JdSd+Wh;&aOsUO8 z=CI+pEXd?amo4~$F!}(UUEwf$dONxn`F8XyQ?uC?Vo90dcIAk&RB&DFy>4F+k)Q%x4B#j z=$G7FU`?Y_OpFsJk9<_-OoJld?PrTY+Fx4%V8$blg9kn&wiG_+DWK?l8-z26#zS=d3>aq`)M3K$2P!6+tBhCJ0{b-5AUylLD`QbPP-x6JLWkNfQQiJwB_Yp_zZ-avraL+5(?j5VIU7o ztlc!DM*?l2%VBUtN2^((dekQn&rL_gk)giGR*T4MmH)IA8w-JDy4BGIfL2SB>#;RE zwXJ5iLuESlM6A_<6I|O^wX(*?ZR5%IuKy=L^_^q$KOPQ^Q^^g8@{#fc26X;s|4GJM zl)>ukb+9JDoXW+$VA5pG+&DvLnFq{M1gFUAB}ywSzPf??>Ys2vvqzK1T?N`^Q)anc zk6Ma<@JDeu&@tkFIOd?oun(D6T0~czujQ+ee@CtazuLwwz5?^u;}@cI(eoa= zNEQQ5PGYtP36_Ok4n4oEnV_ouN^RF5IE`Enf z!VZ{CWZF{Pbw)S12@`+uuPK}Wg)7<{0IP za|0$RINME$L{-AE=pv%58F8{A;pApP@kRv#G;#T7P>uE4Nu)Q0!rp@|cDo0NGHXb7 z#Q(2;g3-NSw`uRI2Os&y7zHz%LeO{l%wJ*A7)$IKo;iHIKS)fe=-aEo11F*QB0&WI z?V9D3#l8lhuLxA{E%B1uIVJcQ(BPeFNA%|i_D8AE-=eHJ-ZxmO)8LT9fA^k!`talA zeeZi8fAW)`+!D`s-0`)L0HDKw$+OQsnRr3Z4iV<5r^+NEz>;3_PX#(uQX<8c|meitWQZnU$72-=t2DwK<{=xR$8`G%pw!xT5xog5L#=V%}84EBRFp#pFO9tIztqkLgSiX;H@9K7Q7 zR$^nu3F;DUI6@Xk(#BItaL<1p%Q-t{;6-Htvf5T16NLPfN;11(0&u#*{!uYV)zu@o8`aaUU8zOOdw74PC4s% z*Sapd`XecTM9|<9po80$362?dwN$~2?x><}6>raYIj?f#Bk~{4*j5rZ^SIR-eYHf~ z2R?K$1zyFHI$co5)nsEGmsM~Nc5=~%_O)^F1V8Gnsvih!4#+=cm;(k*+P(Hg8v!0~ z7!uQelRbgDrDBF^8f%%#;l1EwUP^%LQ^MewCm6W&v0)ap_za7YSSmhC<%0WDNRovR z2PV@iT>1(KCH247faLv9sm+x2uOKe)TZ#?{xMet6@L#mgfI)?!$Y-f#lmUx2(Uv#P zMo08}RyH2>M%X9G#6iqZ{z;NOi-cc+j!6yV5rsP&>+_d3eWpFJSEsam!tIKXmTgxxW9~ zKTQC06BmDeE$@neF?zo=qmtxNCNcVE%0w&0nj7>wLJj-{+lm- z-rx6ct62_0(!K=H*-E3^-kEtt9QTsYw8Qic+q(lJ_@-o~)OaKN>3#r1X3TLNlHH__UO!iE#AV`edo3*VXLB?}c{+(Hs|IE=( z{Uq9&VT+(391;d=Pte}tz+e;Vo347q| z2rvb^lc1|p*OMXRxx;JYWpGHi$fm1iUI!YZ{L3u=)_3S4d}2K-yg1hB_d=Gee;ohP z>aZ*09=(hE>->|%fBTGYGAwK0U@9dbKz}S;2dSzN`S{7f7tc&7Ec~KYH}t8 zOGK2Dnv~8_CUC@|$|j-cw83zx?|jJS^Q>1T2Yg5LuP1eCn}xmVGXV{-Wqd+MbJk;t zyCjv5uB!paGkOdy)pqJHS->S5@M7{h;RvuzYZO3Np&x~TZ$N?}bI8<$bAoF{Et;6l z;pd!WKt8SwkMfi#;sNHe4VvK-^tC{D5+o8^T@UyRc;l+c{UG6fw?@TXkBS5ZB z8-W2f4eHWK0oHJaI13+a2sla*dm2-SZH}Ko3we3?VM0x&@cbQ4Ulza#6wzk}sVWFl z^5(1U#;m>dw3D$ZpfzS014+9SiiStg@o0)A=@=E(2k*W?W^~PH*(QKE>w!+f$`0kj zoYuG_s`SmFWTqnynzjN-16TI9d6-c-R%KRq)gV|Y$Tow~G8m7+#YLB4P`_30SR#ST zz1cBdKU@3nJdLhFNed@yQ!h^eW$?{TKPzd0fBXCHKmM)sSN`e`(ItD|9|L^kG(ma` zl*ve8V62Ri#ox6PXZSdT-;07%j zks+(|o;*zqh& zTPrITXsjPe=nG)lsZ#m`pU9+5vZ7nCyFWG^wSGK4aj|g$osMl6 zJI4N`$Yi;yC9t;{uFzlpFK5q&3ub=L+FQ7$7m)6W>YFlLKgQO8hvtbRniD82Yx5rh1VS2!CIL>q(ke%LQkMM_34)h#b9*1x!~bs;Y*+ulb%)SN9yf#> zm;aB=|HdEdGqHBFx*$$B6d0o$Ar7Vu#w03lD4MnbpxbuVtq90z%L#ECzun2DL;2lf zk3Dur#mrwb2>?C#si&Um=k|9<3iO-pO8~kNU_18r-g~cCI3xjFZP;D_1iXDs_Fs~5 zG$G>~CvS^wXYVn2mkV?qIZ~;Gw~6vulCW!z+O#=yD(;GoTyeMv(fBssSP&rOZiIhD zUg6pOs4xtk!|`XXF#fBiO$1-W2f&IKliVH7yam` zK7P;(57ICc6tFrB41Y0;>Fv7Lg0rL0x5+;-O*qu72vZ{BykHjKgCI)Ou}F0o%BgcG z&W9?+6z@7(V3TJCbN?a*W`fl zcN!3X74okw3-aTZfNaa`tN{3E-FzSF3d)i#Gc_|4tn4mQ98_iJKlouA|GVj1pxs4xIQ@e^EQq(=goK1%aH_?ZH$bkj;^uD3NprEwy^pac~`76mcg-uSj#F{K}#8D6B&wO*kgEKb{n>;op?x5MNl$ORHW25Z0Pu3eef_^IU)oCRZZzTgAY^i=*1*|avYtSDF z1Z~95tp?9b5z?>q?DK!D*L}u+TnoYH0O^R1bn@%ceOmD2uyE|X+n{D&kioCAnM5&W zSDrPaC)WAdfBDZ|x^UsbPQL`O9=vzh@wJu!kYE1gU+(Aj*FFV!7*J|o0yum2tZ^G( zy?Pb7(b>*c0N9rR+G_xB?r(hFQm)P5UORc4$CoJj=ltTceh7s9HiaZ(wZ7d;g@L>K z+xV_8$J~DhP*b=LtT5Q?WKLKggL_Oa&+M=e>PuDR(gmGuQvnWz*09-iQL-%y#wvzG zJk=8p_Bz1GK@eomi|Ldw-MitXcG6zBdc`f5=sQkl&fFD2hSwJo)Yue(Of}0#XGbIy zr!U_wb?Q-dEIe72CP^i;qP8SPw3jRZ*+?S|w;{XznM|Zy5jd%T9H*J^ybLZ}-pZpL0HTq-U`v;TpcKKii6s6!3#>1b9 zmE))~I*&7l9qj6EV8>Jnk!6VAa$c*b(uNs(icD5*Xb9$nRUk%6)20!O>il6CL7`0&^ew!**} zc5iY4dlG39&~pVYLAnV1A&=(7>v0Wq-g$EA)$IWHBkaB2;E1-Q(ApsXjS8nRxo5b6y3T<~&%H`)l8 zxflkS%EGyz!n_#ma>HVwEce#EOy)~!TjGd0AOb#=(a7{(^{E^e=Ql~?YVBb;Ph_CD zp*_;R8SXo4Q^<49wW0iHWW)X=6(rjQv=?sw=C%@?OEE{gL#d5r5)o{7n;<*wUjmRt z8437}2!d@{`wRPT=4Z!qdqR#Yp2vO$tpyGK+x6a-{=;hknrtBW6ZCoP;9$hW^ZE}a zz!e$tm60TFSJ>JTV21tPGR=cGbR|HD&*AjM@BFer9EN6W zS-?Be+4Q|;A_g9!{TSeF$-f!_-4O6l;Dkp4VsC4<4s{=-8?GQ)cC*jcp0Ll@hQTH` z+;yhOV72qonMI`wF=n?#me&K01%5;x5XJ9X z*BQ^|@&RM&VRpred+l6jfzw^aGJ!}vnmi!1i>(-LP2I%yMc!>Gvn?KBq#u(H7~nU?=Z{qd6j=6p1GQ9 zLLhiMIU=P@;fNK04x3X`B=K|jdlDK#GPfZdf>fR4AMAw?^iLUX$uP#XEbyEUlz$Rj zfv}-iSn+eYjm#ve;!xD*? zj8CQqQHB9uCvdw`^z>?G+w|H{@0`xyA`=iH*b()+P~arl-bw;G`+vEOkn!R)(XErD zRN9@JPk0N`g%(N#M~@x0K1shHlVtqH!Oyu4-P*hT*l{{%zH(b=&-HKY5nzubY;mmz ziI5C;`x{IDMK=LtTLl1pIZug%&P6(p3vj3AN> ztp(F`tP!-zTwnMp4Q(%=y zF}@(sHV$MS{+J~Q#`g~C;nORiPjr`4-vb~kUR1{RyTY2C14=>BIG6IA+j0EUkfixV z|2@xuTN?|5mtdcRy8j^#4+Q-NL7(KX@@9R?#=)s!4`$_SobOt=AfAcxOiyNF$IcTX$FSA z&RitwSrb9#qsJujIlL{#;VwjhPlwvkzaR!T3S zFC9lN0lq+8Hdw<`2zW+8+fxC{%y7gRpG$dW4FqR^{ZG0w^X;lnu7NLw%}KnkdfSt@ zY3zW1iQEi^zBir+U?^zk35RULs;cn^BAGaw@(;9`@SW`cN}6Z+kA@bvcp?7_TvGpK zbi)thWV7r`0DKK#j)z;rN<) z1>n=4{vhbipDQLbrj%ATk@J`3!-e>{-CI526G>buD z6w@EqvcV)Y-9Pr*;N<1~ujaV5AFYN+K|I-w;J@AbVA1z?NGel@c?`d*CYprH=drozDFrJT#BpRx-eDRKCmXzoJ0MKa<%4)t_uuCBr4T zCRGg(SHOXc@(B|GM8|E@)~HFvBH9C8*R|pyMKSH)Wc0zTfnCW@s2TyuPwCYJy zrG?2EbEb%o#Y(&?3Ed_T5GI$YX4`EK%0F|Ge{vXNat!TR@-;cbI@?vapT#qSDlIGTVP|ScPY=<8*q6UhjHw=i@XH(l*@N?_EEqVoEpjEkZBX0g+%p{rq?FTF8^8 z_9X!LBEa|zpluE)$mry};XX?BeSOuwf+L})1(QzM{(B$#ku;5&$k!&ph)CAO7Tp7hdQA|BEla*zdP}0NN`6_9;MJ0YL3b z031t11U3O|M{ncrUH+{XA&Baq0=#zSZT5F%l&J@gf#M$qN@vvVeSXlE=!9@)#EhMc zeFoHlV~n2rdB?7?KwA7#%VKsKQepktARc-XXSy{TyJL&q^_jRrG2`NKkUk$_z{m~` z2yF=gI*u|vGkAFZpxjU+qALJScD`$SK90-e6o|`);R*8E)qu#$izAfZ6QrX~l3|GF zIRK(XK!^3C3?G48lKHS};7i3}uItoaH@rCJVOWjLeC%&QEA14nGVKhc3M+==ZSx7% zfWbb8bN>AO^pk)6|3H826W^*vA)JLyCC;;))i6c?8HOn@hcnn<3^1UQB#z-M5z%_a zo;HJYb8JHXL(h1y#AT^IBs3f<}Utq3R_O%BG-!7D~wtg*?hZU6Fz- z9g{cY{ZV#51@j<(D`^7yQ}r&b3P7*MQ_yvpMPPhBM3$SUFB@~?be_+(U0zR)-@Y-=;NM z-mBa(;w@g(&T|DN_v{=3IoI|_gxQ$5%Ss`b%CTlie|G|{V(&w z!qix@75ZVy2>}lXD?Er8$hi_E1@pA#Tld0>YE1WPXHuww@+E|^8K|FqQbmH~ST!t3 zlLBB8gUX@9LdO>Q7tsx=1Lx4W*)~~wJ{|%x$RPhr#dJ#GMwE~ekbmb2v9>c_DF4#| z<7@rx^)-Oqo1~xRBe2Z^I=@IkCzE6(Y{niLI9~*<6c^-?h-rj8=x0m=)yl}*Z@=Bo_uhN&{+@g8X-NRO`|i7YeO>?He4p~Z#ta{wa)kkj@3As3ZOV3##CZEV3o z)P$3G;z2P1v_>LAb*8??K(V}T7#|6RCYB=Dlfke%fVk6@3SC-MeA~Y#6b6$hRwkgR zno8+k4p0~$-d}ZLH-(F@0r)^qPFMcDnl-CcOev#s4(A+=r%XorR>A+ku0Sa9E|vAa zIXhJ9MJbue<=F~T_Rc%-3`b$^==PSX7Dz-kgL|JXfZoV;!%_kp?^B(J5?q>`Ps{Hd=Aessod|HXSyL_UT%wnUau{|P zPt1GQZK!j2+m`|61eNZ9_7j0=|_B-@+lza|(QBaVAa zGd;texm%UoHa9~YFoxcY@y&g@(IVokL-3hU;FA)P-gnH3C#ZvX6gmf}CVPk7-5a5R zLjth~xFvUB4VcN$hLRr#L9qQ{GF6oSbK;bOc9gG26OsmzaX=FhGPqmvZ_uJosV)OC zS8gF%$^Ws0x7}$kAvd}28v(vy&4gcJiA`pZH`fs(c@Xyojk z-j96bBkjrVc6|MR(vPo+1b~DG*#}=g1xPQx_+tMOfE9c2!3T+g)7bU^xPHCwrqMS5 zJp3g!*j@v8>*mep*}6IKN=pE6OqDa)migkwL{MoC1=Uy0>sR^udnqz2+^oQa?Dc~2 zxdB$i#bEg|i~2iJEFQR%gEJ#B zx7xM88qoV5&7KhJhJZaMIJQtYH1xokYe{LhRRFsK?bpGnY@8`Mmb^@zhvORb;iW@M z3)1xRJh#mY=+-bBk@Edxx+b*^N{x%v7RttM4u*(U(4p~IL!5teInV9o*_Lr{Pv}72 zs+W~Lc5$Qd8O(ubzgzJC?ce#$^fN#ANxJmJqvQpdr@npsiyiYB+H^Zy!En)q&}%aO zaT+naqdJXQITQz3jZyY22!sFdy2yYZ#th&|?WcCF>}Yo{flss;ZL$8B)C4$_vKU94 z>8QciCKoZzlGC~j7N^2NQg8(QL>#L=Z2Zmn@nDK^mBmJ%t7oY1rSNwuF0*V>abA<> zEg6w_0Ev}!HR6Yr<{LMUY!=Gr=K z1Rba|b8>d!4(bzan6+tyh=jwKM;|0_L%oj3jF_TTViP8gam6gS3mDZ*mr z1XVI}AdZ)-3t6X9tPBS2k#rR>3#@dMWY4Pnqb@gOl)o5@ami_1#0bG(rTjC| zv4GQgr**Se|M+EH#LhaKPJ_YRxHuRIAHc)$`=8K zvCww*oHa(a18e(Vb%U^E<>19oj-hTJDK-H%|4{kqj#ksy

    z}shifb`N z7w_qwUM>(+JeZcLER~CQo9I23X!*H#WKx$ux>+xyo&61o_b>bw>R?hkV2+!zER%kk*66fb1>Zf7k;0q`&FfTZUr52a zdX)emzBIY-aj*RHoX~YMw$3BeP=N_yM?WkpcnH-U{dBIXqg0mo)9)}aP%zOjT;0x_ zDM#)yB1(dwLiqTXiw9$MmLItjs^a;1x4}i?H!VK*kln!0KeQ?Q4y48(d^WQ`;Ne^! z#sWP+7 z-D*U67Q&qOy83gJHSqD2I?h|~Z_GCBN;x%XE~)dU(x*MiH$A2oYr>0uN1BUxG9O5M znOr8wQvMPquubP)I{q6KSgP*`OuJG5EY3^ngr9~PG*7MpbA=4hx;*NVrH!RIv_w8*381@`inrr5phKB~+_?$)OCf+G1oS zSfmJJwZ8U(zEQm^X7=$CPm3(VKX&BUMfGpMllmH&=V!NES62M}Vo& z*nr1<&fQ{jPk3qN%s=G~dzdM9RNvQ`Ce9Cw9M9?Hvl7DMlYh8&-%rtm(i2&KM@ zglwuv9&QTlGYV%ExhZ320?)C-@Dp{~Zr(3x_-49R2PTujPtbIVSWH6q#`g?~i5xVRrdmgv5{VzE%nB{qHdJn9$$niKr)# z;o5pI%gDrZu}Jz5GCq2-p4r>0JI9-^>T2QjE_rpG3#5&aINLl9td7gO-+ zp#))7kJo_$_gt|s-C>&A@e|ZOJFCc}ser6lCd_Lx7Kx}6zi$GY^JVq6v%Sv%3{%wL zgcmw!ctN=IlV?k8l%@Tw2rkmWo3R7|oH|Kx(|Pag8E7foe|OS}$~O-vL>pIisTCJ8*tFd-~B(3Zj1L2HItMUp3BAEbe-7TzvdaKzplJ z0$}ppcH=!qntT-6Uhu0zNL|ZDWV_^3L&x z33Nu2XpIWdZ;it$Bmyis%Fp0;?!r_uqIF4~WI2B2!G!P1qo7Y<&M(G0uxmkmG4&)I zv|xVO)sT)sWG(4B1?%`aEG&mEQw=f+@Mv+(w^dNdX;by&Z>+6&7gNj#wR*(02Tgd$ zSu}RKsJ-*x3gWB~qZK@FqjS_uyD?)dvqCd$2*0^Ram&OB)hhOU^Op03yYMm_+Dm{pCLQ0fh*jg}` zZUkADe|B6OjRw7Tt?7Tx6GpoEa=e?-@r9QJgY(!2@4{pEl3xW_rN}2gi4^B3niq>8(&TlVkqk^+`ae!A>)s0w0f04CsL(r!noJCxiHNp)W@o zPX_j~#5^IO1!%@(ZAHtyerw~>DJHnZ`Y>S)C_-Hg$PEOk4vW(CqE1gsTMiT;SNq{o z$2qW;lL^B`%>m46B=j_j=39_AK`RjuUO4r4rhxRM+mJV9E?ghnJg`2QJKpBMjP07q zRHEk-j+rme&-%QvBBv?=gOmVz2DeU1n`&EtTLC;oJyrpan0Wm2H`n2l^VAciH7Q<0 zt8f=8CO%ZI+qT8W?Qao%(KD&@2&reyBf1nLJ9vsG8k)-@CE5dU+84@V5?U+rmGmEk z%fLCi50v-O_s=AHyt|2#hip3}d$H%~;X3xyROU_iopVnWn_Jx?h7GhouctNl4ov6OA?poOE7e@I`-3x5J} zy~L4;^Y3N+2F$-yzq_|s7XUojSUEja6@dOW!0((-wf zZ%Zp{3=3;l7RQV{q-K5ha1QQBq|8zX+m}XRp@;Jpa!r0@N*!c*YP>M{;5MbWv|Yt^ zrmk54rG1=+%C)puIhBAg=m{cHGT$f9ol*K_p|olxJYk|}($7YVCa+RLNqZEZ_cTBi z^Q6}OB}4@4LBdO9b=OsTIYJjfE(XafJv1##zCXlGM)0VnUHmR@Z(45tnBJV-tS-i{ zGOT=Bz;@O+`q}pvmhH>WlKcDQoX_7$Hn(r?A`vq`S_nf!26dZUb6fJ!Nea_OB^REW zJ+yPXGF+?Yq6f$XHolStM>Bdv(BU& zmY0WQ5||Y2WC&)gP%T>MGF8gqFTEuk1S)L&x3Dbz2Q9d8KrU3l22s)*<(oO=_CEq;KWJ^p46y*btY1ol4bYm7mGESNKLS? zDE{4(dwgAfLlpLvP2-~4fq0TFb8;@AI;@yekwel= zXLZyLSQVzXbXZNCemA1cc)AK#E*&^rC2C7)L4&rbQ4FIRVBmZR-$8=?X=UH0?zM>D z()C{%PTKF{Nc#2&lNkMyWtNVc9QWv6E0KF;;n?5j@y3c)Z?O)Be~VdJkvAQ`(Tl!G z|LLQBhcdmMnaZ6AIr%@1EclI3HG!+PQ$@!DHMakpDs^J+iTB4a?B#w)=t3l2(zTVe zxx$_)pUKbHJX(jcKcmD3GCS?FIoHgau0JzeSK~474sJ+#zppPk5(3B8)|eKv_JQ{8 z8=is<*^@h>{RE>tIgFlDgGGjQhKfi=T{C6%Jf4|Go0q#uW+Xq$)GCIEr*aFXN^qMm ze$$xbPL?%6slbd9hZ=3}U+k)g>vyLa*Vv!0C>QbrYrH4F%xASEyyWnDWi!cqKG|V2mG)-<-+q?jmWrx5|wtNFShI8@dbs@OlH&=w$x(IgolpPv+eh zsJVuZoXMO?%W>uG>}=^>7m}q2begr%KcKQNl#k4>pDulo`BCc&5qA=U zKe)Q{32SiS@F)k|kSap@B!oe;ULZ0(CTLTt(IpXS_kt5gUH7TofMHk(tlAp9^Yi8H zgMbIGmQ4(K+D+&%U#>)(O5EzjA+WRt877SYykVG)41F&7RP7X z2Sm4{CAp>zMDHt4>D3A6%IuUD&Q>GqEb1a8EtQ#KnmAGx`%Q6p6u9^Aa^OCW>D9}> zbv8^?@V6W zsg?~tJ`HHLWL!lBTOw-8cwg6B!V}DdD|&>raj4W1J~xr~hU6(vJsB`w{6>I%HsvVA z$Pfo1XN9IlK~BD{xtEkA(cxG3l&<_>YshY`?yn>|3tl(H?Qd~4HZ?ci-1H9mtq=cRy!16)RQ-Ij z!tTfM9ny*2ZcO<#~ChJOHQkVooiFA51CSOF6L$eIqJSqL{dlr;$ASGNl zU-Zi#$bxb6>D&DXqEsz609i2Pz}^r{V7}WIKu$X+*R7g%>=1AAQ=f8ECNAEP;u4oG z{}k;1800QJxg<8r40-DryJIx=3;0-7t8_PV=x&f#9)Ww_(HwT=$VGg^afk_;TziJ~sVU<6v>j$;DPtuvDh# zrx5r)7V@0LulIPhZydbfrOE95T?7d05;9T+Mo^tp?4BIDa_JA>&)utb%&+pOR+bl? z$=d!yuN?Nq&OHX2pW!;)gLKfe=Cq`F9rXU~`FS?hy(Z|7q_1?E`i2Jpc!x{XoRB{y z^oxgLf10b7k>65hz~LXjb#2ROuOG#dNdgG9zeIN@A2MA%%laFBSz_g{p#O_E?c8O= zG(e+M8UXka%|9m9@LQ&^u66g`gNZFtJEit)n%sHYywr{%CBgG~f@wm9CWao4D~ALu zM+!Fs^6pvPZ1itE@yBsQm6QUFvLX#|Q9B#&Khtc42fDZ!_NdW*6RR{`^x6hxdMm-zH_`KQ?J#OB=T*;UDeI5(qeF>B=yGlFwDVou*L+G z%F2JYYb91o#cTi8BoFx%SidX%G2!;`BhS2cpzTy z+yo}EN=7u^!%*C_RY~zyB>NHfxxnB#&j#n5&^FkBv++}FJ5pu>{7=Yjxh4aA%~kvMPpl4K=lD>YS*Q zRmIP>V#d_n>ET^dIQZplF1MNr7vj;Bl)r4W+w!~0Bzz!MLWr3hG%6QMU3Ryt z-Tmb1410GXRk3^Cs)r39byV#_h`#2^&su>k#{D1aT*$|GwNK26Vls}!gi#z?Ue+~p zI$c8WLWxzL(Ky=e?)a79Ms)cdaa&~>>t#LV*gQgmeOMRoS0|f5M+W&z zKUy~ZQ|$ad`q9E0;%3YmxAe_lK7btLl6*^S?WeQZ(?xiL-`cZlMadaP!FVxrNJk+0 z>&+M_gyG|tW1^@DY?l00w75e!G@Sy-Vf%#KYv}T{RWwk*tZygWKzTnt2B&2RgptzrCK3E5&+dAn+XIZtWjiej<5JX>c`4?!s!zxE z`=R7ZJcg1}E$QG5-BaD=$iM;A1;2N@t%64&pIah$Xt~L>w9lKGf%uvW%kHDo04ov< zoTjX7yEH<}*ott>OVbBWH+)Z3jWX_VA#5QqQWRf}8~nD*@@ph7N2v~0=_$!!Ez1!D z;{hf$8_y<}a;GaTcx270g+qH!mn2Qu-_8^QmyG=vd!>)JTW+>>nXfk#g3=Cx@4N+D zcpN@Ge@o1tmQ0`Fp54)A?zZCL7QY?I7J8amE_+CUWRuXAd*P!0kiw_-&x@)Nx+vc( zfp>gj5ua9_8rr<-H3UA&?RET$0E@=$zgh3d<*RdutWRs=40Dqv`bJ#jWRe75GXP&N zGXzOrE-2akh<){%XUA1x2l9>aOm(MxHu=fCIV z3aoH9bV^;wZAF+8N+xk8qQF0#j|X`u4Cli`S!Ge*FMrIJs* zc?HCQ1z!s7a~m)~Z-OVAAQ=kY$9^qpIln4=>q_gMPO{16>DjOB)Nq-M&c$UvjQ`X* zz5R6tuivd*8 z(zXOI3t{v?)8Heni)+D#sH3Zo+13i8D64x)L;O%pFZdo(d0N~NMy`W6~ zQ{jN8@TZ*-+{@LmmM(?!E;65fF_UK4BP*rCR$sWFj3`{=4MVX?ampWOSm;n!BXL=} zdrh*PZjMxsipv?@xqjjFb$chSEd){om|A3Z@Y{YIHv2I=;^4KGN*ede9F|P)o9Xrp zYeX|l99IlSh$V~Eb#?Y+&`q*-L3 zJ%Ke}tfzmpz#X{A`A2a)=8!n~TXEdGj~na1Ov41)2kSDGdi%Wz#2g|b8Lp+4uT;Xf zx3@7NMhZv${u!L`y3^9Q3Hiryzqj<7F9x1VJ^@l&X~}{ZdpnEtDHxLR5D<4LU3C02J=%y zRiMP7NUuRhuNXJ(m`sN@tJn5-%#?@ml|KFH)62I4iUXPULsCK|E9#bnN=`zevAr`Q z8-zm_Q(^?O4iD}UOsUl51Rb!7gixYVC?ia->QFXIqQAJm70L`#->$S_G?)x_D@(eZ z^QKPrzVei34FLn}MiyObr1=P2_QC;D#b-CSA$PVydlxZ6zR3S7ptm^UdkLD7AWYjP z7cMHXye^TGiynnLB;G=E3z#PLwm0R0>kHpu9-)%w!xBCTCQD9YQ+Y68Mpe$F2Lyre z{e*0sZMqNu4muv&l29`92;=p1P*OIIBu~R-pUak(hwuoqxvPRGkz9^+Wuf!2*GCh@$Te)Bk}Fi7g^ zpqd0p%H=y4%l`qS$ia%GCT|?_<`HFo+)$;bcIF!^^Ew19M>OG?D8Dqr{97f9wZ@kN zI|IpcPr5MlOD0%JR%_p0eTX7Ul#DrwhYqf9@~CFc`n2cpz$2ECLQR?LJ{`m{E$tdY zRu)X4wuWpl5BsJ#_mL@SF*C}lzh+twCC8_bIWW-X6X=(&(og0Be%~p17*pn;=bnNh z&y-HBd6(S%ZrpLDQ#$Ise`&z#rik&|r|XrwU`NYv!sHOz$rjX^-<58_i7t1*R-yj` zec%2IJTo)sDUowr;jjNG23}d%Qjpt$(L#WY)|FoWe!`u@l6{77bf;y7WMumJd^(Ec z^X_lur1f8!G@!+akt`9b*?N0KeaPi&P95$3QB79S)sHZ%J%5qGLJImDHuv$o1eh#pffnRZ!{!$M zs~h+ZF!QV*jD6gSmj?r5*W)TWp7*r->$#KaC=Zk9rCV5d5~{(-&fcXVl{&o%>1oKe ztTHg~q`bS>jublBLgKbWb~l``a)zTNi_uZ=cDg{n`!5u;Yf4#$~|5};RnSzv1?q0T80kX`HApRt8#YY)&iQNVCu*5B`F9z7nz$}jV{+2GHLcG8??myS zucFFKu+_`!_QqC~e?h4h)BY$ccL&K=^@Lh6n*;fYuW4_c<* zH&1n~wDU1Fc&qTStn3u5=}<#Jb%|m3d{?nNBU( z6dwbr7n41?TlQ-2n5J>d(SUd|3~@R$kCHkQEuJV}baL|#Bp&0uz~V@c5BrxDVkz`f zpzhI0sITy=^N6%72GG*9Te+w`d&YAy#DjEe{{ey@3t;|jlN)jd>)p~>9silOYENM< zaX|A4S!9AtA!|mUqgqn|>e?Z--R_Y`>U!8CJ)!e#rl;_Xo}>xFvX3vOj&?3C;KpKS zCXh_=S7_85F@?pPLB~^|-C{X|td4JX8n?5tGBg63Fglf9m~whjQeD<>5&p_ce2?(X zI}cisb3q@Y@XSkUSzke(3nzYz>Ts(aXkiN^rwQ=Ry z_G|$NJ%#YEKZ-D3Tk5QhlsJm_-}Hg5a?Zlu9#zBl{GV5dOsl9B41Q8Fw1ODL&f6YT z69E7%7>3*R1m>HeyS~p!{en-VG~T(&ncT-lhJmXb-oFCEM%R6d?w?ICCLUa200MZl zlfKx8IyzxLITqc+)LjD(>Oi|D;~NLNXj_^ZUg-0zu)cIa?f!4|Ga<)zB!ag&zd*m{ zu3=7S%xAJ+qsBF2OIj4-i>pd}rb*bHK<4j*HM(GmYhh}Q%d%fn%#JHz?)VgsMa*Hg zRSfT_>6aCS;cF|ybtzF+iz)Cv*955(uk&}cMJ8Clsj29D2X0Lk$%`r|dAY&*n0Cak z(_iKkz$eB7q{C>S8nl3z-QRdjh&}75M?cas`{`yGYpo#@VjNS!ZY(1xG#mfce{i_q z7hCS3=W8PR5^cT(3-^>&oM(+21%d-ep#k<<@#f4|9Q$95WJnjYGfOAdZD)HIiY67h zQUD4(g9^$<47b#x$lIR<1D>C#l&4LM18y&G<{$xnmo&FW0mqx_0gW}Nu4@0U#C=p) zWCtZ`s{b;~_@-dDINshV*__iG2I}q@IBjn@ z_yts7huram)zm`Sv1?R1v*zpjDtfb~tS?#3@;_k>U}_!U49p1=FRK^YxzCc8x58Mw z*ups5%5iSsAK;Sgu*UD6Ayy1n!pv!O!o+WfoS(`x^ia9<*x{DH9-}#W#yO1NAyk7l zikoeoQ`m`FcmoXfKhWPG+_MQo++D zNs!vE0Y!Z6gGiM9QriW^I?QF+RnIsM9C@zry+JQ)D<*<_g$vhhsv|06_@Z~?z4}p$ z0C0WxueaEzzF6BxD5pB2u&%rQ(DvpSFJ-xNm=X5UrVLCX>KT)Pc-;(I5aKEz9tKRt zUwyqJaO&#g?kTviVcF`&v-?punXC32v!S2;;<*W9Um8UfULNL8nq01O2dr`2o)ej# z|EzUBG=mFI-Djr!s}J#}F-@!YpDbjb$vm6kI?{UZ>cTJIKiBkDUotsPx41^%iodK) zZNb{aA-A$e)7K!2LL?1(96e#LHAv*>D$QZ5s z#{QwX8CoO*AzNP-a!)-K*hI!^EeKIe*u`6EXI{Rdgo`A*4w|ve&74(Hh8zl)Hleu>2 zjKmrS))g>bq4sY4Yck#UWE|@t{@R*BRITQlTsRX!F`H5-x4+56(W7Vu+ldRV%5JfH zFfRkmAA(3UXAj%r&6C!Cv|poLnNgYNcgxY*Oo8txmf8i!Mr4u|rz&oIUEKV-`NMcjo$$=eO;tY_9=dRhvrWS5YpgLf#IMJ%=lcguJG*Y& zh&9tMA87xAs{_w6@o}Am;}b1Fb6bn%cz)+FTx*ez7|#FbJgr6>zb+ye{NUmD?`(Wf z<;tHRnKvn4NuD20B*Ekos92Nar|{$1Xw_s6Dp=fM*a7};TZSG%=l{H7Uv@tV@CMr> z*@JvLv2)x?bXz0rs>&^ZVlh`w+0T&pO;&DiUzpUg7mmRV6;ZCF#IqKzNp3Uchvf#D z?B`(IT3i$*9=Z3#+GfJheSG1@UC{;IPBhI-@NDhl%1{>4kV@~5P-?bsNfhaG-P9pU z1%E7UgMV;L4UGC9q81$`gDNZP9zOiij1DO4=E}Ha-8AZIf2=fY1VnU4|8glaO)4ej zRy%wqjVe3p5ft_2j2(4Jdi9Cc*i$FZ*{HhCma&f5!7l#Dzee%Fu)vkgib2u!>H)X^ zgI-jlrIOP6#Sz4{x#@g~!1VGTy}rnn^GMyldQ|E8l3RVuEPsU=ZgY{=$iKp@sXx%P zzop5y>}&^_6LwSS5idNGjybxxt85BB0mY}7t-WJ^*FB@u>WGtX{jNe)X_e~95vMRF zCkpgcr4`+8^iYP`dk4^%Sk<%j@XQJ_iVEEho=Zo9uO^@M;*~9ID2lBPJsIQUAiSi8 zey?3IY)uZY3En$(D2%$i1}w_R3}CB#o8A|HCF&huiX}yu7v@*pT5J~YxiGQFmtM;B zlY231EOnhVx-V6(3lwTF3apHYH6!eB<{I!_Tg^`S9ux)xTX)4jwEkRqe@;=&8slop zK1=^8VvGKJfCh-$L1L%>_EX61@~BOiGimp$Op?46>^8 z@^}oI$W-v}lsE^MK^4aJi^E_Xl5z45Zn_@(>p&}+XYAV_gR>>rJAbVcer39emFo_g z;hpe164pVzBDdQNLOig2Vvte$tAE$OqpP+T+_rgq07!*p<`51)q)IzU3IUcq+w*~+ zzEVLuYcubCy1qGUIsHp>oD>!o#z{N)!PDx<|8IAgFH-(PZuG^l+YJHeTN(5?rvmJ9 zml5*4Gx)q1ryawEOY0_Y3YOjPxYpU{hpX7i_zV^u%bMbr5AWN1z41HT;zd>-d~OMv zS)R?vRN98v&%B~Jj8{|l6H!U`%rX&wet9%DyeY=nX8DGBkeX^Pw=B#URktl~@zPmK z>bEfl7dw-!p3YM(-A0w#LXdhMumi{RbiS8j%fRR?6d=S?`9w>Lw=1f#-9@VP#k7?~ zYBMO^yU5aw@xvy;s0AMI#{DD574F>Xnbv{`W0)UIBDu5Y8lJ{cucuQ=BWBDoCCNup z7@gpYeEgu4p`&ioeq2Nf@G!W|Mw)xedB9?OK^3{(R0&9J@02!y{qw&7+)FZzAiO2; zO0cSvnP}o5;xG?Q9vK<$(l~-k(z2Hb!>)UiU!|y4D83+7Kb|zIhz1i0T~E!6N*8-} zijW|@Y@>|(5&eI((HNVtYS{I9%Si|G`JFZK6gb^nzG#iP7U~io>02x%?i0saDAjd3 z{FnP48A&{MHNrhFF>ZZidUqS-u+u*98Z+(}>bHvT>N|@RN?nkuCb33MU3wNE2H&Rj z+m~9=tyLBeW{ojuofai3ywOT%{rt)7_;rMBlb)Bci4I#l+wr@{N58Ncz4<2jX$58t zu;KXW9uMEQRq(gj{X*Wmq#^Dpb==v|U3ecVBEX=$ZS*NtR%msdf0>;5edWOif=%>? zdXLN#F>4F1)bzX7D*}%hTaC20sFmi~AYS`N(bL&37l9Vp?14YMxSya|?#|`EZTtVc zO5ns(?e|PxoCBtzHfypP=nBo0xhhc^kwydaDFFEQn)Y39Y7v&63Ul(Rf{YB=avGBZ z3YC`}>a)y~*Q-pMnvHeTO%;TDdpOQq79@o>(hY-9tOPolD5>dltQKh z-gI`sgTtT*FUvx^9=`M3sjt z-2|!=wRo8cx`Z~Bj>yr}U z7P7qrFrOk9Y$l)6nwnd>ai!aZeOK-x!!$qO%9J-(U`$t|bhr}miVuzk=*X9gSji!k zr>h5^Z9Cl;xpdnS`@=T2gP1nlUTjm%*Ya+-=_%jUJYBYE?$AJ{D9hjTxA~@<6&<(Z zFgfZeJ!w6i?&NBo5U^$3CZj)GF1S)sq7n$47tLLn;quHnWXrL$jfjQ9 ztuh}Sw;IJcz~P!`-7BfuZvF4wX)Y+=i>YWC4A_9qJavfAcMy$4j8~ipx-XXOA{SF^g3x$imKv))DvoLgW zP9F-MIu&^@Km85$b|(29xou-iW6E>3j`RGahKxvlZD33kzFsy2%tG#oasTGn%Y9CG zC?et~Q(U2vTn^)0)cW+8DXns)%_r-!QD@gwv}WF0h0mUmm%o1ht^WooQ%uQFRt!{k z(CNi98jj|%)tZ-09lOle2eH>TEq`&m-P%c={_^yrcFVua#3_@&68eAgyGOX&j+Z{q zOkv&!cz(h&*OJ2%`vMD{^(PCvNS0}n>P^8pb&BrRCfd7f(m)e#X80ca4iIV}jK?ULo zntnv2u6(Y!@VWGjwmx7h6Y!w#;X0*(0*9Vr;}7Mu0G+NGZHg|OOpC32;P9NA0HJc0 z&3eb^p9+<_nS{(-ot8hKoLcX3#C1=fQ6}xQ1UB2F{EhQ5D~F6Ku;)a!%>E;crIUE9 z3;tPLZRNd=oSFjX>tn;lflYD;yIJ^@Ki;Hwm-y3{U#uqQzl~P+`H>Z%B}cWyb)eN$ z0Va;!jV3Ow%9}*VG6n}$Aqblro?7ODhq0_x&x3zU^0_WJ_C2kmM~U?|sGY4Y(i)pW z)VZT%LpY+^!{&0E_6`=$5^j6--?>X9WvZiQ8%>gxw-&k7XFp7OGP#Zg?1^;fEJWwu z;`0F|M*W@^iHkA$RNxCf2J`5TNV76R{ZOv~sbghq83Xa;0G z%I9Q@kGtun1YX4u^SmD2b;u!|DWKQYkbi>~am-dK!)40!=fAt*pNCgDSGT>Us+BIs zRw#yifmWEw`YM#+weFJ-c;-|fzGiKcpXDTVs@;LI?^UY87+Xj48t4t@18k%-A*IW8 zQXLh(uaF~HCIOMqC-G7C_)%?Q{MK?{#A@^SC%DUw@`ENRry`x#{ht28p=3gxW-*Y9 ztyW7s2O6mY)yF&22 zKz=w&D-UP;wh#6Ss$Ugrp(Z}XDm@*x8po}>UnHjH@a4~0<_oe8s0GsNK?auwfS z*GEi0PkZZqtb9xrG%+c?j|=hJzEgs?*!@@7F+C11_(A`R-jk)>$-ppxJ%(!1kI6JZ zN1Xw|KBKp=?|4bm>FvD2aHld?JIM9La)u64oh&BP@asOy!aFvtyDbuXwo)f(o+GnN z%%xi^vS)N)H%3?i<-CzX&tYvxDDbuQvFdZTMlgwPbnM&R-S*9PO_74QS8n7{Pif9xg8`Qn1K))|aQnd2Ev{X}&1N8Rt7Tj69Dx{}A}i z^p_vT?s(%cH|atM#sXI!1=q_A$c|G-eE*-|;N+<@o`}r(7?Xs`bxUIjI9jAP#w4Zb9=Yx%ATI@Gfi3#a+vRfC|&VK!!RFctd=3xA4#ZB)@%0;W|oLkwLR zH6&Ht4XDGOzj)>z(Cp77Dr3v{C7^F7Q=&sU|Kw#f+(WV=^Q1iXu%@aChdwMw`z)bZ zrvzR|j-49m**egMk|-u?O7wM@bOD`S^m6c``0|JkQ$7-i6K+UY79Td+*tHMrA_2Fs zeEAq|zazNs(Vjrg4S^kWH3H3C@?Y#3$J?Q}_P;5>755Y01=NDwieBp-f6n8AUDD#t z6`r}P`M&a=m0%si41n9FLnKA8PT{`ifbxK=269NzGe>Eq0@OjyEGL=)bx~r2d9$!f zxeNc8OZ#UZr05uFSd(z47U;B#=$eyFwXQqemPfL{lAas-d3AASS+aEOH1}io6%Wg; zS8LU~t+KNrS_8M?v1;if&)tsYX#3ylt$)PD40dJft{C5N8;u6Htsm~c(^Iy$xsv^I z=$b{~V<;h#jPCH%r>eN-IXBy_(4{e+cGV@1Zv+dZe_pfQ{PU!d6X2_!V)`qBZ@NHM zs+xUk!~TW8vx7p}6~0?@lvyIM>$7yLm@##DwoctW-MO%SBca>l;B zW??t~h8}0s8Si<`r9Lzqcc+`JEmK;{QPr-w-EDtL9Hb#sZ`}lsAoqh<>6$Eh3z18^ z;?GH05O?qUW+%)AKuP~rj6(Mn^fU{1Voig~EX+?U=#=2~CskUVue zjSg!Az*Wn}rp0!MwjQwVM51)lLt_cPQMizPsoqB*H|_5F?erc7V(tbC+i_Np9w!vu zq}dyRriLwC44|lQu>ULW$5O*+mD_%bgeXN#O%W>+yTn%=w&yN@Kp$%40%*2v^lUlG zCbxGU_P1Z1e(Cq>qAv)O0%jJ-;3yo5=8@%b_+n1r7QYGvAxh}yiEzY-Q9yIg_OTc( zJOz+Z5O^P%)P`{mksjRyg5`c>=bdi@+HsQK!$vbU>*IR6Xu~wViXn?n4-Ygtm56Eu zu!i*#)i7Vu933xZTsw`!tqwLbf{OkGUQxXqw*=KUTx$9Y>$))Q?t@`;o(_CVJBRoc(4mWH01+hOJ@e%smc4+3)O$^y75J zsIvGhjAA*|`Qb3LaD6$`c33y|aqAEITg9up6J1~j(a6<|;0mx#)v3GBP*hdMEGAR) zC<+R1%$(84+i*7Xdd2V6pp%`z*^!i?M{xjPeX*3+>6zOOLK4A0{ZI3CoLv3|j z;~3m7_#ub=c8KqD?e0g$??wbp>b-=!GZ}E7oDuosI5HMT{`b#C*kE6Kqo#{hb9Ve% zE3M3vWJ=vUJkAb|j^dVw5Dk&$`^ooof8EJ`M^P#V)!Q7k)CEk>VVtM-@+;S8#`t7p zC}mSv#G$8zDtF07sjpioE3pg&??;JwdCp>Oe+*4&6+ys$?d!~9x2`KtXcAEMN4cmK z3x7-*2w5(>V&Zmq!s}>fA=Rf9J7j=X^t0wWC%aj=(|)sS7U2nxSJoe$)!N3X9QgV| zr`IvO`Lb@)WEGzkXHV;5c%{)@U^3vjfN{hkG@15-=P#^wbcjCfZM4g1q=FvMWvTlI zx(Th-Imq;@7|;D&^VWD4zQ_ms(Js@E149Yd6?lw2(t|Ok22Oq@IpRW@( zS7?9e8;@hI@LEg_aAT=IwRv_eboIS{aO*drmQs2Hyz;F)#u_E3M>uuDnMX8yKls!iDot5lG9Xg}Ct%~fUKsD+&ZusaSuct7~*86^bZhshkTUfBe9 zNY(ZK^*XXQWEoyK_B!*rV|C%eMasVGFl|I=?N;Etfd#em z$P^u}+-2B#h=t;e{{y3~@|-;XZ?JgW()S->?|r@_7qz~xd8_xhNg*AQ2X z&sOw>RY#_-qwnV=eCC^j#U3GDMtuaK^j2TE&QGLPPG#2t&xSF#A97H~{HkwY{h)@V zw4UPJC+&v*giY*qaXlplkZP}Yu!c3< zu+e6=;FVjcWSJaWrm#w_{tdNSA#<8HT>v|LpaCsttU_N4bx_;c#7zKw3H-O4Z%A$xdEdr>T&~=>$~q4iwVWf z@?7@!cP(-U1}~{lsGEo4Vif>3=eCp$;CGfkxpmbi$b5L%+-wB+byb&#`RYy zM`fh@%kFeLa!N2cH_9Lnah3ND6Iy2)S7KHKDj|GVl4%l|v7$~qTRFNY0>{39U+J%DP%C-48%uv7GM9r5j|)aQ$Xte7#-(Zw!gmq{$+taq+6_;cbHA{-5g|Vf?~5<0y1xiZ~mT` z5C4G0-1v1~qT-5BZC2VGM#X5O_u*!HHk|7fQyQ;%O?2=_(17XMwquRhfrNLK=`<;c zS55nHtbjPfHViDClOsr^HuQtWzKg4#R&!mJ65dNe4Dy~0V1NO4HuVTHB*hVwn=tUD zq?^xpj|?oyg3|UvoS6u^nber;&%wN(I&4{LHz=sBm%J>hPVdStYPvxX;gqnaNLNgT zl={;5uGX_|N`!}l?TYmRZ$(R&yU3%IxsFpF^!_s=eQ|=dN0_SF)mE!}T%p>Ru-;z> zZcT5B^^SzT*Gdtc^>3z2rIrT$`RRhT`U@Os;LTzDouU*Tlkn2fKG zr$;iJs+nDtNUav(puA`VT&XCv*YF+;r2QllExuemZL*c$^nNq%digD6^>>7;$3+0K zx88K=BYR3CA;~5{|No`S2!bcxk1TGDIV$A7B?aKApEK!`w=_8_@Th+h2F$;=)UE93 zNFGfRRs&^uLfeJy587(CN?kO3xfG@ak=MXq3?!W=+GGW+_LK{j5ZBdDoXS@e(lmkZ z35{{=ZJuU%4Ntu^tQ(nEhqEl#Yrxb#6-9ET$YKtDZerE+B)7~m0E$(dw_#^^wsk-#`(lwaIMx&XjLZ+2qL|xkk>-CnJ;Qe1huw`aSt7PMCGZC@ z-j?hDpMBQ^%!<_TjBorsW5PY|9Tf%5CP29oPBde~p4WRUdq=06^i*Zh%Q32BY<&Tb z?}MedPhTU{osfnblGhRFHZ#!(*ZxFW305qB5nd`U+crSmJb!eu`jKm|n*k0t$7uON zV|-^mSX-3%bWZd`yLVax041S^bVfztv$-~GnM=Socnq~~vybNG|m zbBs9bpWqB#f8_Ol!P#oVxc@(M*dLl_ON-XfGp$#4R!-;FbgLDWHDviGQ&TNWcJA78 zh2QMD3sl?!6wH?KF={UJlMAW1r6kPXH@#=W78b?pF~^Lo*SihdvJ=263;I0PAI(;q zoSAxs-OvZv@G_p$8M_?vVAT|3)ZhEy*xcQNp}(K@c@qqejj}j(el3byu!W8L8?EBI zt#Ah+HhG72!ht{CYk2(&-cJSKl&pIb45o}DX|icX2RHFc{M4t47vkd3FwMxql*N#b zHkqJShz?&NdXGc6wzWi=Nh^m0^q}hZCoDa=N}x@6&`xv3uS(eUM$3|bmOEujBWZ|K z3Tel*kx#fvMT7~=mOmrCI~e*x5bbr6s{CHvbIT#LD5?5LE;&ptYl3p9kiCB@9(Hmh zhKTTjcWl~1YUPIZ>`>G7UeHs#f!QtUuS$6=ncGA(78{r8*6%&Vv-|P;OWvSp^_955 z=q40Bf9*UH%^iRuGDj>1F&*9e)>Y@aY+g!L1Dub1)ts|Vnf0>pVIZp(-Ej6H;v>=Z zg#}6siHfT@xsALT0&nBLZ!&}&Z!J02*iTos^1YEjE>Vz4ZnpDPS%rQx5M=x0`Xh5mUOElh^!__CrMwv*}GtiB67i!Z`k*F zQr}*t%hocQNaLxSJkGe_JfrC+?U0bYtyuP_qg$t=u}b`kvBZgvlblX%JYXUo@|8&l z2mkC1JZ}uVaQU3L*FDgJPOz4sH688={|xJiNl^Q2=sl8zxXo-W7|z?ztPkr%&rNLWZ#=ja;IWD=`WVisip68LeUe zSm7Y0Hm;cMdxurNIxVC`Cj2=eWBqL5zy@~`@DkMwB^t4Pu5Y8$<$}KHt>u!2y+AC= zV0LNK@k6Y5l-vU=mofBdLd|ZGo(z^4ky2jPm+=Li0}?V$N9- zj@$a(e?GpHD1x_C<4OGJ^KGzPimp4Ew{pMQ=#Vjv!(T&E)9|D@$HRAd^l@cQw{LV;Y5Cl}5HxAR`l-NJSm1zf?Oy??*nqe3`z1n)d8aO{Rwog*w3(%>#GrjqMDB z28$~z5jf%J2ET@i+MHaE3Wj|0{g6JX%?hj)ob=F!eh(Ec85zW5$MHo?s9trYhm+gm zCfh0^^Xg8|RSKo)nxP7HjmI&$ctxajbW`V(W7ED=%b@j%y-;P6A2Za^_a7dmuj z@@iJ%;ok4cuJw!pbti*LGPp@9{&^MM2qTpNXZLw!{sYo`-C?NQ{@*EhL?X{G`}(4+ z{2WVoRv%e6&$6r`vbLwb`H!LPJFF=+nZU#bcbb9ra<~po%vD%MsBSdK>}NxmFLkBZ zA7`8F&q;K|E=pDpw>`VI44~X8V`6gB^t`gCEyTeWOJDeT(uONau{!R_A^S`ud>4mR zm#@39>rNF>ckIG=LLoPmp4onPP@(={16F)hsd9TAC$g?6zeLNE^Lgu>@2w9TF?Vq? zdAy?I?!W(C;JO%6(f{|HNTOjsE+cRRH|%v((CtMD3#w-8Uke~hjz3dJ9k|plIn*vp z(onkw&Lb=g)cr69X*h!Bk1fsuL)eMEd4E4+`b?5||LyFB#tI&8yWCbn)N>l)L91`< zg~vnO83HZ1-*v@@U7T?(+oYUGPhv`XyJ8vHX6K%w=O4h(wDKxnvSQR676bAg4DD=-wN~aFlKR)eS5c2h#MN8SCJnZ4QlO5>SDyl zkk|dB$rvqgxh-ACK%bsuo3i`qw+rDa#6SfuBUOxhw?pwW10yF_Plj6T=#v(ulzXZ( zYIEyDoRzK5G^2Kp5t$*rk3~W98znq%{V1Fxu&X5PIxRGPA@o%eSqXpNtccp61X0m2 zM4|m4*82f=i0?*~eUrJ)U7G&t$w8N4+1;N0%b}Xb4n1>jzH%Mm;sGG03)nyLlT5=2 zdLUrD!e{h3!c@o;{ZlZz(cvh-&Q=40Qgm9j(LXe)c3tkA(f2#iKYWqpR=3utG5>mG zSXM0ax&B}n(Jp?V>B7rSBooHJAp`bO)1vDU-)i5JRY&<8Ev8t7IxP()?*A4OyRt`_ zSL>VK5viF2afjRaEGXc0(02u%7_-9HfZYz9TVJi4Qe1m+o-8VT9`R(_%jc2dS~8<} zO}y*FO4q&=-zb-z-euG-43mZn+nzHNT&{g}zt3g3hBesQk+Ez$dH?$NxSV&ZX#a0n zNum7xSUr5bypVr{RVuA}&Vn>A>dtPC0il=bwrMbm>ZX(B@FMMRcJZ@CFl3S7jH^*r zKY%jZ=@=09#4GQOGp3R?3jnQ?_^EH9BYUw}Prd0#2!|R&8gzS9j63Pz=|U`*NCo-n zx2I2aS_HNgO1~T3;^ReuF~Xd}`MAvn6{wx;Y>Qmfs$hSaR7f$cG<7+DvfY zojprFM6^=axhB;={E&Tr=o0(T-2Y*l@WT~8_uyr*Cje-`ZkGsWDQ>lW>_z(GkFTHNYfy7VCx|NcjG9-oXqoI!oucYAlb^-TcK}AAlS0Hna(8`HV%kgz(BvKw~*90l4X^!4Pj;U3v6c;Texd?Ec&%VPm` zw_33IJq970+ExR3cos5`Jejs%`?hS)e(@J^Ghy9vY2D#^ksx!EK#_AZV!q9TF8G!B zSn@HX=!_6&{WqjIZW}-|=!Q(_UOfa|GKt(-O~=WULLP~zw6ABXeyjSl_?!D;`rxv)Bc-L{xKD?yY0vpUsY zbom~b>qwVYI;m$?XMM?Lq3rHGtz7bMryMC%i7#%bOVRv2kjJ2m_Bq|cun8I)&Ge5A zlhy0AaHgq0r}3(Pu|dRNDA|~%%VL_y5|;27mfYD0YyD>sYcx%>Fe(MHARXIqAdB0a zf`X02*HCp{@x-m5en9l{-BEvhJ`e_HF(!aYy$&p79;0|lW?wz-f z>}qBszZC<6adVdr+^CsfPOKsM&7?zsZ%=oY<>2!v!|rXdSq6B}<}Au3L{@+_L0t@@D{=TIJGJnzL@DEhsN-T1F(Qvq5jY@ZN(E>YHe$|NWQ|)NW=+jk ze0tQq<#`E&P=Mz(>(fNO^FCvPCg{}eeCd+-SsQv~Bv*{#OKtm+g=S9UZT4*c1nyLs zq;deBBD&3l`HlKrC#KWjEZK_^I-Uc{u^NhJHx{&N6tyD1wv{>THaX8!8b0&xNJCmD z69eH`N^@O*QHd<)2@UfUXtM(pazO2Z-k%B8Z*`yd7L#iX3#Ytn@71aQG;uO1&aSPi zS8{C|&F^X4XIw)ZdvB?QrhLevzsl;vqzyn9m^v&3!)mWKC5)g$(;MTffmNSk=~OH+>d3%0h;40UH2hB{|7_PRiYd6jw8O_YuhGmUnx#Gvy z3S}nnaIJ=xB~D5tyjqZM0`DQQecoMeV9-4xl9f0?e=jUo+Ox$1)k=o-5k=Dp8=g#s z^g534AMD8^Ke*;D{zA^VTlZCc_P%NU1B7H{<0{yj^M;1@{_A+F*q-74m)AisJ=tHl zw6nA026*nev<-RXA3rK7nWc%#^@D5H26#qOT!XWjrclB9xDs;8R!2Vhu57MR6f{X7 z&&5`7S2eje!rUstxa?=)w{@?Co|%;+J23GJ45&XHhuQpxi+bKYpiR#uUn_Z=w6L>! zOj$xp^{jayFzt8S+cUG73koIHzclurK9cr+r&Yde?J}Y>rcP=sv}gy_(49xEdG_I2 z;J9XUzYUZ*?fQzr%l}&xpJtHW0gbI@D}L*RYV z`>>Tt$tgqe#_g$c`0HHz@0PReYx?Ft-N>U$=7w6lzvi9ko+$2ny*o=vcoy9gANUox zX0>$YQqE#@aGFG1SCJ07%q;g=i(~|@y1#KBbA)pma+326rc9nlH5m8Q_PMUgyuNcA zW#g})v{{?4-4Qsg2v^90hi4O<15p^6na*38jNtm_X6fUD4T#^7_WGe{P_57Bk2YPlVziusJ~I;Z3=^?#Z#rv9kaXp{9*LXBJD9nQzMaRYQJ zEG)LNdh!a3j7IW{AKu;IG``i-#dz!3m7;J&k~*L#OOpKZ^P(-yqQOz)Qn8A9R?l_R zN#xC#+uw?571|%At!96H;hEzQ_x`hyE2r{0C~86PCG4#gUkLO_`FH2VV~A<=qEbwc z)4sg34&#AAV|94tx*s{7BYj`f>~!6Fgz4UCz_7qxCfzU|__wRG0Uy)|J!TPKYTZEv z>PjBHnzCL+60IBqlX2`;;G4FJ((V^>>THh3gwc_XB7p>&_e#1VZq_A;LeGAFW;lt`TgreIO(-zBuViWy`$?Pq6s_Qgu?s zY}wO;uEIRuN)R=6`Fjr)*lnA)P1y6ef9{zbCP`42BmRsXHP8KiORz{jrgwknHa^_7 z#HU;>F|Kcol>iwNUE$<8)M3n9+kms|E+Y_XQQbjem-bW+nY*vk!A3Qqhir(zaf z?m;Fe97{fGGB{x1Jqp=a^H+TCYWe|0&e5Ok)j4D zr&43A=0NL;2*FG6moGZxwjN!8{+7%NeZLg&zSYw3i1M;h%?Cb;r*4{&)`ZRO$s`(i z=J-xwbLb?e_mb;!*v~(U=T7T=K)HC6FgA9A|89^!vFkM@vCDX%mR%EtX15`Un;{v# zo^yyijgm3HMr!5+#QM||VQ_yYbC&V2#e?d9RQEHd!sgeSJ@Ps1eb85fS`#OLg?lIt3Mia^2jP70*>KC}zfbTQj$rWI$PU#fbUQL$~j1HlaA<7c*xS<+~k(Ya=g1bJmlf+c`mOH0%`Zd63V$iFVW^0Ynr}N}TCYV41rY zeb)#|gM|#;fPH*4yQ6u4K#RtzPJlHQ;13$Z<7-{k`w~L0j-(!C{)m0yRj@C7yd&pf zu&2S9JvIZK7AZSR6G8`?+uiPRBlb-(e)A?FktTQJNF!kfI{K@qsp%bS;gO8<#+v-s z0FDnQ$(*TyOjL|vUnPEAn92P#Z4|rt=lcZ+!c$^=-QHX4q7A3gwOcD4&zs6VWrSQ!UF1g-VLQ&9SztiRz z;IvR=C)G3aqb%v4pUQobnmja>J?#UeJb+m%>4$@XB0P`ObjA=ImlIg(&ut8O^FGjs ze9;MGh)$G%Qq-i@YsO3K_#5dY78`r8orF~m=va4uq>-58A}W6eTp7((&=68Fx=~Z< zBmkec@t#HT_@91R`p7M`c*O%j^HO!K@~=NExmPSEb&%(Kz5{qX{5Ka*nTT`otZrK9DJnkw>YbJW6 z)PRZ<$cJaCc|yX%>1f-!~DZS|P=G|I#RMNv3IxddcA1B{-%h0QfQ!98~Tkea-cC_OV z?gOE6YpjYF*Ma&0H!u_f6zd+0dU=Awu%Bxnf*o_g>K$XtAUSd2N6+uV%ujr~IDd2W zQAGI21-h1jvGnzK>S9$R@VV}al0}iuBZnWROVO{aCv{)dcA(h96Z6x{LSn{%>aaaQ! zW-W8For5K6RMzi?zo}a@Iw2e$Xlc^d*NzN>T*fH7oZBpEN;1T%li@ifsK_+N&y_7c zUwIFA=tUoI-?_*mMx^_`QAAMg@KO>uTG9`QuBYXz#N@~^ISkp%It~Q0NXM!#*rWws zfKgP_?U6-<6!_w17!3ENrqB}ia`lVgGg|w*hI!s?LLDdty%_!YsTtHLVsX-v~IZ4oTBqZD7-#*DS-9@%*dv$GWX3T9~3=QpVU z!7pWHv_t;LZA{i&B8)nS9Cb@xMOwnE2IFRkv%Nh%op1K<@u*a6#bhMY2v^^rt5BS* zh!O`0y*ww?r-Sa%=|V#B#V$@%z-ru0>dSh-IDSMIn&Lyegkp9mI4Sge?uB838Gu@2 zN}Q72w0u|ber?#-u^>8=W@^~&v{`g5HWOb5Fp8+frc|ywUDSDEP+cz##a8d7)~k)HQJuW>DNJ@jWcsk4RNJ{cXx&m7PV2ZX zqNXkjn|^Ss99+NeMzPeu1DnCz2a#Q3=Z;arexRcv8kN6XcldcN-V6w{WX>Ppfsf_Y zQZZ%4WHF=1jzsZ|$=^~mPwJSjGZ1shLX-Gv6o}0fd1&=MHo$b0XR%yXnYR)WPeHJx zVP2G73UpIueUmk+Jw+R@d^mUI9e)-K0&UxHz+!8FLG{xGRW(b4a7dYsr}K- zFRRxg@*BhLK;7<(EA)HCi^hMRk0QS?kPU}^r>p3G00emI6tRn>LtDb#nKj9#*f#p> zfqcrtD)Ow-qIunk`HNqf_mkjI1a_HRYr6i=fr4`B_LzxsEQhAGRGOspuH^pF^-m)8 zZC@=7WNzOX?KOQMW5KW)&C#}DS(Pi+8+r&5@}ON@KgcL?=Zt08jM_8|l-bp)6?T(4 zk2v>)D};<9stqWC(;pr+o8t2QDrWnTrqpa(;lc60VV@Ik(Z1CLTd z<~tNRIPU2ms-<)Y<7bi-l9Fb4pbh!E=vc}G-7#M6?H!Pdd%!LKGOyG zu;}sZZ0rVYH2n>XtdeC!ObklZX-uWuwl@PCxH@6QQCC0{L&=*{to_u+N-z+ zjtuJd-^UbFRtX$JoFnIsAWb$pB9>!OKVlZ9R^CY)mtnJV8inOkeW zgI&K{hKG<5=^5h6p9iuR?U$7fSVu4#zy_#drt*Ie2DA}lABenN^47P>*)fWXIqay! zKV@F|J`yOYxxVpiJ+sOd&s){Jgz&;0?uB6^v|bRCx{Zui?haldZ)S+qKYGg4MT>J3 z9lb9HeE5U@V?I0Fhi*8}@JD~NN z$pwl&?Bnfj78G4y$#~|YoSLzb49QNom=aTYkq0W-a4f!NuN5l?Q0+_D}pbbGlD(On9*bMg>qEOGa2Yz=9sKtkS zyL+04gx*%PUn{id@xNQ@MG7&Xk2;NS8mH-yIt=L3R`M5G3=2@i=1ND~77!V8etHXa zo`b6%o|u&_o311J#-)DQy=y$#9$Xe#U3|6U$GzV48=9UGCfTA({BtF^m_~BAiXrV~ zVH~x=((4c7v(K#P1C~LIXhp)uHW~y%4dt=kK)w#RU5m|=7#HT>xgIyzSj?PMT4UZz z1-Oe2WFEM^ePx6u&}p`7(zL}QrlQ0TAg8jYq;_*NS*Qxv2FZp{JnqW-J~G*Ni{7PHA39)|(0GKuP)l`zNO>;|Ti9yt0LE)mJ@|Ij8vW%YB z4`2v$`IqddRMD#~)0Xrf5G|QL4yErv(H70oUCYbC3EQNY0eutX>}z_qUN(cPXKss& zTyz{;aO$CP+JaJQUF5V|H`-I6+q(9Wt(~+s&dW>5HVqiZz!<`@eV>}9%$_qaR;PVC z#RquPscQ44r_XB}mV1C|T>u>Sfb4n&ci1EyDq1s}zlGzn=hOpP#Dwi(!N5kx4m;wzy&YV<6^)07oD0j+Y zwyGNmYh*+kUA0_dM-rmE1dh-b?}w3q!$kbk8PV=&Liq~YL$coAr%r2v0h*+gPA=hr zq)efAsR}zf{ZPs$K%%nzvnB5~gkBk>*UDE5u~8@Ui^P{gV&{tj;Y7F<%#&eipU`hp zQRY6F$9pa1+|<9Az`wa(Bp(Axfwmm!(rV`LPkz)f&e0i&GS89m%ZoXXY5&`D<2m4G zpgF~!cSHFnXYupib_Tt)=Fkgm3d@QfD`d+@y*t)XPP9dS2O)SGhpm#l8G)?qzyluy z)1<}I*iUXXGNzb(&^{>eMN(e+3OCD->$A>1dPQZW8J2oIZ#(8TgrBUA-l2K`W1L_D zY&ZbjW^W5Ts3cknuIV?UljrAX6mKR_ej4iida>K&!pHrP&m6gfszQ|R zR~K(}^}46*CuEFwAMeZ5G{aIkE8qIYzQ`Y)L`jBG{;g?a0XXqJZ@g-&;|=KzUtx41 z$`*~5-`-t%-nd3S3W|$~e*8*GdM1$52lzN-rR!m7&!efsfopEn40KsNf}tZS!?mY0 z432dmMvhmU1hbeYI+h2%cf2AI1!^U?o57u^DLC*3x6IY&=5NdkLn?tUx_5k3q?7K* zy#olnN^N*Uf5yn~h?wUIH8u#CiNWG!47e#GV&CJ$e7vfqOp0W*viUMV^(a}4>eHa| zx~ZFHg~M3=?JiwqHJDjMdPa|~&2)+kQZ6m6Qu8XJXLaJRdRmKPvIrORCtbJ_cYKs@ zr->`=1OMq)|BJ5he92fw=>1oQCy)%5vIYv$q8d{ZUTiBKhKD%z2Y0m;6K=Y^v{d$M z>BC+`tj;!{SXu_vvg>!DVv>WF`~rLh!U>I5ROY ztzWUp(_mtl;*<0)bB%YeEOC8^?fy6w6I@f;8AR*1hMCKIAP}u&KDNtu;{OxXX&#NT zDA^d`J^zv+&Xwlu8gumf#Bg-0YM>$K;Z9Tf@m;_u&5ql@869VCD3v}aitx|Bd8P$l zWy$|WQuj|s5OBX=*83?gmiMwUs)D|6*kWwyC1-?0MEIItBKvVdnpsz+70hnOUu2l$ zdZr(Elhyk~@M>7P4+-1K7O$0qC7E?Zw9?52M9|wWsBsQ%65ra@yPvngX@qPEXl2}( z_;IfXXsJnF39>)g>L0jlmx=dtOw6+5wpS2H4pqUL??01@$ofbXZVURGY3^cTu_XEy zDr89z7VOXbTw<+&K$=pE4M#jaZmh1Fsi?}(idOIW1Sy69!OwGZ13cPp?i~!~oX8VG z3T#W5308Q%8#>K+oQXirpI797ZQdrYNRaP1rOLh8`7wmqXgGs%mN7|gE=s! z(At;R$%l2AP@Ep3(?~B{(sV$N({iCw26NWUf^T#j{9>g#JMBAi^gR|C+Qf_*EZzO& z^V6Ice~Xz8jGIosg#LdnfZwhwJZ5}~(d2SMJxZ-bu(K_jW6USK)D9OwrEqcv&X}mJ zjUO{T5t+pMga+@tN0&ClA@loKehi=4jJYe&-;z9oe1K4l(NF|xcI;m2nH=G!?2{gd z@+|eThFD8j*PiDR@lC49!rkl%ieiWp>s(j7rFNy;;rz3l2BV|s*U>_)lBkldF*}B0 z)DzxoXYFZBp5SViA>5m{jTgte?d(z1p#74x_a38LeJ42=4JCYYv|QjIj<7jR1-Tx> zqU_K%xt}EESMaap&DKY$Y;>+g#LMK=UV9;_z#pS0$`4O|j=iU`NL+3oxFMAu^nbbp zHj9>?-Zjh9zGwgVMsva1(x__`I{D^unEYpcvjg8>|7U-CpK&gTiA3G%Gr4x&q5{W# z;1VlMSA9Ib&t5UZ9%EG?$Ar{T)Tf>Ffqx#~dYs3q%@`;cian>bvQ(7#%3yXJ>G@>W zx|v^E?Ts(Ms(J79vT_`}7=4}>%?LI1d|h7rK1AxL%i7hZJta`WjUajf*IVYx+<9NC zVzD6+o!ol@?z~B_h$qo67bkZ5E$&r}O&${+j_V^98<|gBN_p!adgkk<4x=({m>pIh zE!S4|3j8|P>ulj*Wrbr!$n_N8nWLoVrXlN#m@NXE(;B)sK!CYjpMeMnCdNn@LLqFM zVUhM}l9mV+&k``>zPQjQ%{JO|r~k!a1tpH=InY2q%09(3AH-4SGndZTWXpur-4WAO zEa!=C{G`4t>^hZfZjPWzvtgT&1i_pzG?-g$8c`oUp;}{MmG#`rhmGNxV#3;x4PHdG z5+GM>fzNCA+U<}z<^n8SF|PAG^8zSM)sKok>~E8c;$u^TDEF^Tc+c}kSkLcwXf)i+3NyFqenngAsV2J(|NC%tu;PmJyTdW zV(pq@${urC**{u>4DqBUY_8#3pnZ?4mE@5;`}m{~aY}?cX9%`HKaaIgDfdTXhOl~{ z-D{D~&rb+GMN=%^VQdz7tc%~7;Irzu^0dnH>j}UcC-{EG#rUCMpe#X33VSqhD~oWG zy_C_-`U5jxVI671NkCHvuBbM!SQbbeQyT~6zy~h0R1Gfy`d(p5g}+3=-qvdk7rP2O zxAsuXZTDOk?swQoH(jmYRNl|#p!RT9kjq!T$90dU&AAI6^u|@YneAIVe-SIO%E5mN zBcc$)Q{-W?CL;qPa_5Wc31xT$c|9ktByN#WXekN+@{ZEodRdV$Nt9DgYJZ=P{sZfJ zwbxGSwXqEqLrXGvk#8h0B{aRC<62GQO&`JECu$$Po>&_%k$?$EB~(XQ#bZuah|WPTL$TK5Xc(9{-6ov80zWxsXJC`6&=Pw7Hu?LOv~s#ZgHe*AKz2#j1-b>^!Du zHu-un2p1cF^Q%%S-vt2yW{5iVp0XkaWvb$vlb;DTF+OvScm43f8$;bOIX+f?4%?pz zq3n&R&uO3goi0Ee4CLrxAT%&mLG|}Z(lcF8{~5LqJ?m6hy#wZoHR4PY{Zkv?j*@9J z6j2rd%Qq92)_r(kRzO~x)f=|m&~xp zM8NR68z+MKq{w1yBQmSJH5>g$yqM$nPN*;vOrixr`%aipfxqmv7#WvU_(g!?B^o6G zWV-d$wlQK3254WxL(juvN)^BhIq&aRc$P)XIQZIjrqT%~Im;jwAW_0~hK`TFBNt()o^Vj+8XpZ4W+7h$L#I1!wDd_Iq*lAK~D~t@i(aj0D8pE-C&wvCo zv^?a?+~%Vvc56XLX}$*39ou~nhO+#ZW2}6{QhAjA+s#AOM;|{UHe+^fi}$k;Q``Mr zno^i<**s4ATl}Mb2I9a4#iE;4ai|LDJO*E?UC(wS1?Pb;$9-+Rvo0Y3P8l6()Ke$# zI_Ldl&7Y>9G70}2Q$oZN(;vPFA}|Y3ifucr&O6f6ec z6!`w$rvWHMH2{^;ZB?6D{2UrTw=o!P~|>B60Jb*1%X zev`#34-WqZw{=kGM*ycWzpqY9Pinl&p|DW5wejiAF78pB-&E zHn_Fu-&+a%>G?l#NWDx2&#GrxOj$=|DaGT;S;OH2t|q_F_a+L#BTVO${r932&8_(3 zE~yVYCcUg~b2m$#_$HjDJQZ@L(vPm@s8?wE9(>8%SJ=~VIowcm{()Wzqrn$BBu4n( z-^WaKpj#|~8F@nn9hPPy16W`$|{nAIj2|lOz54*=3YEx(_!j$ZYo4yzP6 zDB9#?8-c-bHHPJ|gt*mD2Kc*+p{HjE7a%@kUfi*Bjg477>kMA@rG~co_^g{wnc)ws z?5uck-XI}K?xbO@;90;y<$-}}S z<{Ufr$CI({I>g!gR~KON>$LT6YHQsq5JY9fUE^{aa?Rs7{^8&{uy1YY$zgnr$7JS< zOB8ISI@Wrxqm|pHYi6Ixv1%w1W3A0Bjb*#h*f@@CyoAH8E?rjh;*gyD3*-7YU}B>8 z8jV5y>6=^f&YCxm%HRk_<%YT7G|=hHr`Y&9qBbGr!)F{uliE;b{>R1ZoY0bKVB7Jt zSvgc@ziq#ZvvBk|GdW~m2tFR%0+fL^z6Kn1QZ0K5T{-H$vvt zB+e+*TnF_Bzww?foHK#UeiO&kjWzA~uHKGPz>vDDx%~K9w0%?*^<*-p!JYuk*%bo^ z^TEsg8t$rT0-SR{!mo7zfq$U52Ik~7F%GKWXTOx;*5m=EB-jLl*|b9u3@m3a!(!zU zXM;f7c@##vHJ@NvGuQ$WePlE4gZ*IGa$@Xb05Cyygrjy76MSkpX67qv)0jHNB;adX zzz8r&uJTy5OC0WzGRHJn7YnyL6Iuf7tbmX?wjo-|b^Wh>$!V{|9z! zVhq_fe&zThVg>%~3EoBBf=8WN7-tOz-GugOp+{{P5$wm69V-nJKYJ{g#wQaOr zJ20@bP5qHsl65+`6bbw_F|c*aob?Yw7U*K~WxmOT8A z82Mh2E>ZASUfnNN6ez5Sk{WOrKrtNbj|$tpmf@YB%znAcRU6?l^?Fdy6Zm+lButn=zX2UzdAGqR4-7_Wp!M7Cj$2N zhlBltd0MA=_{RlU2kjPE#aZM|j+%fQ2Wu{EdDkSeIPS(nmI9f3@;GkJYHMEP$c=$> zP(a6}hnsmgKz%k!CxU1Bag*=Zet>iSW0sgJcZjHUE~6dJ{Hk9(u^2!1kcG4URg90u zO!*c&y;y`(pj*%E10%%YqSX#DV;Vd?oH-#9xBFsZ*jSr&Q#y8ursenT*kGBdP$mz2 zS3Hd??mD2yhFN(r3ubIOr=}Od1ZXZ2qe9OdsG(ubAQ;Qi z*dn7II%`EUCPv2ZP%O*!vtAe9hw_Q`;)|3`o$>r2l_R{CF@NVS#zSPzUb^42|%chW12 zvb1XIL!DNj>_=d(`Ut~Zu^C%pyU|NbTM!zfy|=!DrTb<~!yBW)(2&-8_%aMAxHf^G zO=ceJksLDHgOYsc1EQ?}tdS@+lJUgX2&MH+qV;HR9J^368ruyYf1g|Vi#yVCYvECB zh}n_(X%-%pLZ^A!5g4`TGw!zatli{m|Hy(J`&maVyeN9@mi7H_ zed}Ad;_-ZZ8t~e`<`uZU0PvbG;FbQh0&iLc=FjSVO_!|4x;VYBAAbp-KDPge3$br9 zd{I^Aes)a-dWp-$F*4fFS# zT+0oCY-@8d#T4gUWChE`7PIjYgzf<%LQFG1=PX|tCvK3K?|;q+`(B`Bkz7jDJfqi# zH66!zw$sSB0VJn{$;V7VoaT`FThrx=SlEs;HL0olgX~GXPrNpbBP?9f7zC7U?2gfsEfamK2?Yj;8Ty~<28_R>+WG9U~YUFOKf)blMkFEu*_yMXzLnSu1$Oh z9gkCOOT;Q|h^2psGtP~eD=krUEQ2htB`!ZW&`o}xfN@tdcwDT`3oii4pN}G=QzYRQ zkFjIb*ZFUoY&tQAD8m4{VI<6 zhbPAca%|O!oCY*x`q!KXGTo+wylaXx^|c`W%Lhd1Kds^0#;`OhOU=ZlwH}()8((qC z*ZtV!_}|vPq1-pe@x8!ZIS~MSa-1ZOSm(WJ=e~~(ARNn*B#=jg4+1}RsVA1TL^6M~ zD}8i~T@vV_wU9};+8rwl(c74D9Wze7q|PU2oMCGnUG_U!%eB0MVZEdwcNrUxgdNZb zLLfYH5ehxMt8SH@L=v9U8mDuoBffIf@t<8cHt@qyKdv*w@Hd>sxmE|f>yfpMEbHD# z^g@^IZvS-u+28C5o8qH8kS#r@fo!_DWP2djU0F{ zh~Y(@0t}M<6hoqvzO|ba@e{c8?AUn`fIq?e_S--G`Okm;-t*_rufGCtl=+PrU0(or zW0vxo$h88mPX)G*?LW~Q5Fd#7WBvGJ`_Fx;<{IR-uEET?Ou6$-bqu%|N;qoux{m4c z=IfYry~1)iw3SukBN=hHvZA#gV-Omky^#l2mE!S2aS_-R~#xe7S zojI3m;tzxLT$mFs{Y)fsTuqaMukVuCcIBN}ZiZ0GJhdG=7Yrj{Eek%F5E0Knh*#nT z%iMq?zD&x|#^dAh+9Uv~`+k>wDav^$q|oq63m=aqikzAdxD}j!T%6PB7t9gPapLcF zw@KLLhA1~&q$Vk0h+_i>SgF>o=`KZMEgvBnX9{-GCnsWMEn*8Pq5;7+y(gZn`k2yi zl&1ScEbrcyH`?HssEr*7t}FaRKFF-v8)stHPh2JD7}^;NT2t?MQ>^OSJ2-q?Y-S-* z81tN5Wu)Z`KHK<=J#+m-UmK&@P^jaF4`cggH^^84gA9XXP0R-%wZkHFV^m&_Q608D z{wHR6U{-$-67?;&;ac1F10BDlz5JY)qMjNy)K&kR6JrVH{3ZijHttv}yclg*qjwCr zjcOhukB}SAAB12SO*Wv#gKeppN#@3BYo|q$+%n=4$ zLWeb$Ni2WoWsVrhZT2DRVjkuQ4j6KinPXTK`TA8Z8PsRRGi>baCmecXG4@0Q#_8bU ziD^|nGV7!`j@dac3W!`R2gpz40Lt-GkN*uTG|de%nx^Jp6BAZL*mSUApdWM$8Edm0 z|I#4U+F@m!2e)7Pt>5~s`|rN{?mhh(Kn_~5y|y={0$%YqC7Ej;*9u%K@cXL*yqo{g z?d=B-Uc7j$>&;`a>+k4mo`>|scrJdKbCJ~5iT||Gam^Y*E>Jy#p{MCxfnN9wVBz@4 zmWv?QMPqZF>;-dhtREjb$Fl>MY&&e)PaoR%Q%rn8mVV$vd+ei|cssZ9#cnw!FTWcg zN8Ng*ZV+e#W1o+_H@h{Xx4&-!CjU|Xuzc(*BWShd=4zJ2D<^}EM~BO$IRPMHZf2IY zu&c*^X&G3cePQuGubJ_9>3(I}DOmYh2-C@raFInerVP`UYG?_%#K2)yQ zsV(`8ClBXVow+OEDQD~@aM?6owa~b&ex0{Ja!ropB>xkp{s+OaxAlj_kTEu_^nZ`DB*owjf6&gp&fplpowkNx0sY{6Zd?u?_`b6n;v z%;bo?F&rvoIo4+4FaK>2enD8ibFDzS^Y>i*{3||ugHx-~3Nhg@-Y1xmG@_XrH67o!6x zA-n~j<3D4|Y+ptP^Zl`XT`eBnfAK=syyKzl;GXM< zw!S3#f~bkVSwHU}^v!2k2tj|7UV>cFd@&Rf5J=|1--zf4q7C<8w3>CI3m=4}k1ZEh zTjy$QH!%2-ZrqJ(h;FR9?~lgYTDKOw%N33;Ejyq;l;>m zdNrw1e+hk~V?FECScg55`mV(6CJh{yQif{gdsoiVAzt~6pG^nG05c9pjCeSl?@e&X z>`%2l^`6WI*R82e%6vX5D&68Co92y-x}S6|_;KUv9Pq)m$zQl7&)`C1An3iHgcg-O zbS=H@_lazL9GPW&?8xRK$0ffQG$(pm^J~5^1x)Ywk!XU*)OH~>v3NI20(AKBf0<|h zu{nC`LoKCu+Qhcf6f}%Ix{udKloL7@W9MR;o&^in#XKyVBa)66|HCY!;Zg3pk9|o@ zZ6BNG?1zkMNs%Mh9lQ)1JcLq-x%%&kU}tQ2nm~ za6zjPZZS-JX5(scH$!NEt}$8%^(hRXVqy~E1EFvtn~~WpHC?sB6P%#C?+_~d z#sMu@8P}FicUUp+i(^w?4{8oy4E4WUT6av&*g{ZX?oHavb!yd0hyUT(7oMzNuEBx} zB6P%O=CNZ8hHr^fL0`^_d+(D6A3WiE0DcAc^3eF&-hc{RUjTRm7V(-`C^Xqj#zA<;$LIBQuL_E;SQfo4AbY zKNn41l+=8!^g}-C;&(uwHjbJY=jfT@=srWuVjdVSj0(41baA1{$6{^&A;b77c#o?UznRmydthA#0wO zef@|@O&k}}oI}*0{Yi0{R|Y(k zJ3r8p(@J7&s>hz@gFr^BC!yx4;TqdIo0a<}^RRv+$32A$zY%*q8o&ISs}fmyWc;IU zt8t#0Ts$z{gFklUk~CO<8yJHz|7IQL_@{blr#KRgUDfujJmMjr>zesP%Bs{TfGf$O6!&Nem;V7 zZU;Yz9r*-zr-&u)?or1$hBLK2HZrQ(<4#7mFvfe?R8ju|DR76l^!VfE!YzxYKRKE=iF+Fthx zTwefq-B<9+|5|~6!WH1%{HHHoJb8F~`&jROJ=QO5zOU1MKe~U4=Ig~=tWJtGk*D-? z-OzPS9$fPf`C0?JY9?xBCMSP5yF9~y2Yokc=$kGX8@^IgA5UGLF$c@YhWmv9YxV4`t9oF74 z94!i&c5Sd+EmF&`TZ{OkuM^G8l{wn4e{6izc4v|-~X8=D&w z)r!M-YF=4;>{=JbwCd<-IY?U7=q+E7B&(gd=*0*##%h`+SRHeZkWVtiY3|u~2Umu8 zQme)F0*V7-6B+unkurI(cWdI@T*;H!OA~^sxx8C|5re_@vEjVyu|9$Y$Y6 z=~_!{tOLsOB@=Mtxen|e1@8WA8%cZodQaqRum={-B#k(Ergq&24*zgl9L#mF2D3VP znp4&%-`0y?h^1>O7}v-4-cK($#s&4X2Ge<-GuqUQ;~3!nibM*}Har}2;vYy7AX`oE z=70C8AL`%v#_wqS;mup$&b#}0&`)iWUdH}RIf6?lVN%0;-~agL5B;y-y7}Dy_U)S= z|8IZw=39T_i#NOwz$XOOZ>0C+1s4+?LNi}t2GhWH%45IWWV6PHv7|1RC0*O9=`Gs@ z0`I;U-D0uTjI~TOwzX)Fr24FfB;XRSu`qU9l5M_}!D0XKqRUo$vatEz?x#ud1}0Pq?w-j({b0>76EY#-Zy{K@_MPd<6^ z@e^JAAHUF_)w{jD^<(DE?Jalhxi`>dfeR+B7rR`XBx&lGlYW zesadF7i@&g6UzZDuy_c}SRGjMy~uTPTP`LPB8TgFwBa;|7-XgNf{sGvW9!^oq>Sav zo2(H!4=cIfZGswULA`#?E42XslxKCrY_F3%)UxdeUzb(!swsCzASZ>uYVpFkjd(Id zcfuZ7DGPukg@oG4#*=9Z_oVb#~8=d|oeZa}ZE{UDtc{`YQ z85nW=7uT&OM585Mj)6V?@`sA*vub4@Z5kVpY4*{$IL6MmpVwq+t+?W{aI5w4A5P@t zzcA4v5O4B%*>3>0d@W(V^E4*Me?hH2oez@t9Df6Q+2O6U?03lp|MEtsB)wnRZW8dX zv+Vg}wh}(8U+Gg@O!$T59Q` zIp4hCoL&7mp|P7w7FYevmySb(R<_~Uu z?7#j8H~;Ma{Quni`k(uwH{bl(A9Wg2jC3gh5SoK0KZ2@dHr9F_9sGtIlT{WL`JjjsPrP`s7d!cj>@c$6w_KN2!g2A1TA} z&@$|=37{hYIpnXY#I8BENBZ%D+n@OEcfWg&PXSB=Dx@m8_OE3Hw%y~k}HPRGwM?p+r&5FllJ8a zaopshe{)T5w5T9fUM8`OO$D?NvFUPuk(U)Zic%@6es*_pR^jHEaUwcTj#)&x(h?c!I(-k0U&eH+)cfcU|Y z(d@LA7k2lvOm4?&ZT9;*(jQFChck3rQrwfwIJ>@_m@2M7K5BTWcqcC(emW`5ITg zg&SK7mQI6QRwj3K_Ls5x=2r&Y-@*bHfD*v@W2k8)874yNRh+%|zOiD)-$fz0%6A6= z+Q%~L4v#dChf?^Q^~+d>)yFxp?CPRANI(a?bigQQ;yw8Ah2PER0l)9;fA;_Uo*wdF z==b%X8w30N3{U2IxJJgqef56emz;-C#{J=icx1)U(6sp^0^iqqOMiP`??v3ZdHCS| zj5Gh{pZdc$U;m5mlW?4-FGd)>dW+pE@C;oiZ{i0pm#OPTPg}8i3=~X#ZSC2)d``aX zg8*qy8_2`2@Ks<(vxEA|FXuM$#=I8~T;$`zOpjG%_OL(^vOfzs;4fZ${d<4rXP>6)t4!M5ll3Bc0Qy3-E_Az`R1`c{Pmj5oXasZy*Cu9(c_5re12g_)t(;FUj)1n` z4j%r|oaPo$8V0<3LCtC2`T|_E$XZ6*$=)?1z8v6hUrn5Irn!zYuJgzpbH**yXf@X?5Q@ou`@o#)0XWHgiiB{jy^SUoeEGK^^TZu znc&!#8yE;wvhbJSVo+}FFVvozOH-AEz2=nTU3_XkRPNgEbGT$5B+y+pCh#d6_Mf~1 z6eD9!%=5k#A+ncpJ<4_7VSwEDx8PT{mStiHTn~8n0DO&dF{`wfYWE`tL=)d#pzjO2MH}p=velP!BjURsJ!}S^p z@j+t&^T3`lDR;ge>apQPfIjGZ{_)MnFXH=x9^K6Oiv-{VU${zvEbjBpzpfLvdhmas z7XcnVyuEq&R{95$-9EUz`RI?lck?U%&QJNf0_2h!sRyh3+g=fD_O|bX*x9cJ+x~`V z>1?R;qy7auTVrWxwd{TUw_`ln(tM1seW<=x44z`im~$CXk1^ip6gO^~twEh^vu|QA zJAf9uU}INleKIFM?gKx$_r1UV*Z$bM|IOd{bv6DHKwkN&@wI<#E3oZ3uWb%j;@1lN zfvEr=+t=^R@lO7ib#kWXf&Z}z@Q5OC;->Y$X3kib3k`h};E#scMhagKuo(x8G|a;% zMrytS4CGutxFTW31xg~L2LYe~wI3nDNNk2~2d@B|+{C~E2tzr%`0&8ykFWDk65T)r zPr_U*cWK7!;-~5I-3TmhP$ynFZ`XI%2c7|fVMrNCYyVO{Qou7UdF?eY-f)T;iz30s zbFCX#`ghkS6dK{v`b+L`W#=Q*-YkcO6teIEu=2V9S@ILWHYqrMYT-{z_U{M_iB5!a zz}5C8cA%J-w`JcN71IyLf^&HCm{>h_q?)|O#%Ng|t}?`=IgCP5X`G9`O1*rF6nC3i z2u)>_+e6=S%qB)<^aE`2J_~u+P{Z z+b0hHfie!AJV(aZ5Bhp=N5%vE`2jz3KitdU#S1;u^Nzn?1kl63`+4v;2IIugbj38d zYUldvb-o9Bp@^L?akY7J-B)6ty}-_Lcr56efH*8{>ld_MYk#DxgO$` zV_5-NAI%BvSY9{I1qhDwaHf{Ze9jdXYNL6)(}Nbv8qiOx0#mH?A9tVU*j6vCY{=zT(!VCRq z<*w~@ufVn^z3!=8`ClvWW>lab+t=0Z$?eU}W1WlN*V*=Kx)wgtgYf5dQeT$_KNu@* z-HG@KUk5bLuRhlw2lqOoW2qmX-96T&z}GBY6m@MoaHU+Qe_fdl2Z`q*m%AVg)fx-K z-1tD@P~<{~CCxV^F^yoqPQ5e+s5evOChvwDZ*_YtX5-ShE0_iVpvSq@DBuPolPxcT zj?Z#Bhh6sEB)Fw+@(dY^eIv)a`$G`J3AALIhu{#M)ebBqHu;1~Jo#zfTy~xnhFh`* zhq|8L6&_xTi-C`g@mGLDejWuMS?!Gni93BIl;M;?HmbB=U=qMUE!_laeX3u*V{WzW zoX?U%hDJSS+&qsy>J>O1+jb*V=@MmaES?ak?rP4bN==--^ESJ<4DRmVD%BNTYjNZt zK;^jG>=^qPA6oXQWLllkUtI@c43A|Ge`MaP zY>Gf(<{WR`X;-rA+Bd1q!a#*9IO8brey@QYrBBW?qh95=_0hg!OMsUej7WvJ9)wrt zXOgkmwqD!0Hh|*R6g)}H|9*bo zxo_RT;9;EO(+~HW`yt+aUI2K3Zr;IX%%^X#%{YGhn1}qti4NNS#13)5r6(nC=&}#5 zrBxmHv`9Y*@RmLS;1>YizP4hEiv!hx}Y4`?u> z(6&R_WFM4g3y9ICw~s}`Wf68f-(MkG__F=z*Z%%rdGT-l>;K6&zxmA%#pAhj&aPP3 z{`IWD^-BO>&vm=9egi7-NWY)|-p$QprSgF;a8GnqWc)<$@bf$SKKbi?1fP)S{LOis zQ?txC|LO!jH%d8STfrv(Wg{#5%h>k&MFb2CLDJR5my@6_C+_wG=8FV|zN~oQi8l5h zO1UOUlK%$Jg~V3lm$(Z=176|hzCxE>o3nvy@BpVxzMUc(Sh^*~Z6@O%HiVTt|8Y*M z-wC72+L&^MluT6Bve8zO+%l+da1FCA^Ce0cvtH^qn}Qn6Wu^#zWhaDF2e}c33fYqS zY_5_5?9d~(AHmejW6VusXfX`2cqsYib($YG$~2@1qZR zl;$6Tjz#pb4==?a6|nVhUhWxOq{!1u8Gqpuk7gMhHI8IzZ4Nfk&DZ|!-1tw<(+$#P zCsaY3U&s!iI?ds_g4#4{Z-)#t7<#&qH2=xFUZzZL&L=rG&)U$t)??@Sk;G|z&}A*+ zV_SJcBjc%`CN4N};R{)eYN?H?;*xZNS+2A_ula_!H)Z`IZNOegdc zCp*Xyr*`f)F7TXMFO=5w5@Q)?(0wwp{rETFna3)E#9hCx&u}TfQw&Y^_32Ju41A)` zzEIm@u>bA(+RqC!JZ7AHLnOz)6kcf7dh*%1Og`n2K2a-UCPY!@AV`hj?*_J-^Rbbq zij{ssn_b2^ke2;=K`;)%&3?;?D?aF|VU%+aqjRnKb&<0yb;6yxrl(6A?sQhpQSNZj zS)pXuD^_D{A8p*DVa#M&Yc0`m6sm*BAbEw;!JZ>_wT*9(J!9g+}EcHUOc~l^Zfb8H_u)?$gdD^;~?Kh zfBWk{N%gT#x5vBr zyiDHK8y=t3=RzZyF0fom`mn|sS}?v8aF!NqY;~U3faer%a<=w%u3{Q%gt5#Y zu9X=ZLaACd0qbtFsdas-V_w;UqgKHCar`gc;#_bFN2*PG;WtzB!BEzxoCUDgXy z(PLBW9RHZr0;{+ly>xcWs@8YUwQ=mMjdh(cUt*NY-1t=k{pBKaZj2xOum1kccfR_gH!t4d(MGuEKj+Aa_|0I55Dy6Z-4vtFZ_kSaPLq4$v=5dzXGtL!Q$Fp z&kC^e*LJPIwF1A#3i#dp`L=zX86WE%t@m{`^q25y-rvvniI+3yI`DLs)rDo9kfFgz zS5lkw1T2STBmWt5w#HsohRn@Czj)4Zq}cIn#zpR;Z4zV8{D_IqJXqk0e&uk1wNK+F z`vJ_C;&4p?Znre%dUw?qV#iQU?q@SNyJs(O#;gMD&9)frYj#&JnS+2QF>To#J=H=#bP=5IFKThiQcn2t>scZ3xc}K&)U!2IeoNem- z^@$8UA)31M2k&wnQ0o$mEz>l7N@5ACe5p5YNzG**B9FS^Z*+BhcKU9-=Fpz_&eM6s z=crHc29?PEzlh2A&`m0slmzcS(m!55kC_LrmkA1r?W26qg5B073_kZx><`4b7 z@9E?FPyMm|u7n}7Z%;)sJ9Y|A5(JGK*uoWQr2WZow&lf?7sZ4sP>Ex-D^ zZy4jr>M|L#qH5%t9+#eXQ5OdrH*;vjN;7w!#Il&pZr3q6$%Op^3pi^kQ4GkHPh?7O z0h{M9e)YG$_SGk!``qV#@b#~Moi75^UXm#4ukAIh!1WUVuj#^FY5)IIfj;Q#GwV<8 z-`?`AGmrJ7FXFrR{=J6}^)xUK4KBG7+7p2Cv*bE#>}Lb#{V+!cHr$_nJ<=uk$|WZ+ZRNm6*s+O z%4%;z4H3@HXVp$QNZKv@vk)k3XqLG7w=Oh_~rD9`fu0>&46>{k(d}Dbk|78o-aK}Bd2gkV`n9XFc ztgt;CrF0!?^uu~`EnheUA@PxeUSifGl5lLZubqSB!40d}wP$MhnxiJZ711p&npWPh zOUF5G&PRn>`4^8^s)Ra^*n)?hHPi~*_SVL9*QXu_(wYM}t@#yyuL<_ZZBqyJjlGE$ zH)PeXoHrRYtbE~;7L=+>ni5Q_-cwF_I!1ADJv18M`ma1y!NzD_K2r-PxdAw}Fov-C zq?iHG9f6w@Jq;U=XO7G^!t-^3UjNqqEH_`@PHR8-itQ7*p@&a-0enY0)+WmGvK;>K za>srWZnl&>wZL*^pJ?bXnw)~A@BgqR909_@R;jz~-`}?X>%V>TmfqF(gT5a6F&^5Ek1y`e=HWYCYjY-<_wHt)PlkfG&XVvf-f9XP=*7nqklFhKn7kN?Sn7L|Ne^?FYf)^&;8uZFaF{$ZV8IlwY`=VV2!WsT7hc? zE-KKE?d#Uzu?`ZxY5$4($2u*3UZ=?%H-0G0c~FAL28WA>UqMBh6RVtZIl;fz3!4K` z?>VhnB-wr)kqzhmd1_uB6On5JCvCH{-BK_ZEMN2lx`#xqc|$rT7n|CY1G3s`I5XMF z(DoXD&xOX{$gX~Y5(B$H9DI=LAG|-UmCIc=#G^GfP?vZ%acL4L9M3U>!zu}E0+zF< zlG{%ZoqOQu5a?k1x9MqEyU^Yt*s-jY%45gboG*EI-rnva9q6nF?%pq&Oz{f7_tmNQ zy71*h^8jAjnCxqIxF74j!I;bLyVhwlS{NE+Kf?oQnyD9L8A~^271`Q$-iYQLt0=~H z^)^0lPB>DvlBuBPBI09c++^<7i!WUs`1!MX z@x!NM!rNo%WfA?1;?iT@W*4N?dSb^&&0A9ycyK?>~QUTu0 z*Jtw|={M>A<$E80{AEEq8=L?DKmbWZK~%l#_`WXaPjs?-{QRSjKCf@!&skT|)$G`D$r)F!!o^DSBd+I}3dW{&rze1f z^7P3XJ*^+P3lh-bJn)WTL%BCr2eyI3D0-bxoV*ADXafxh9jW?is%~7ZJ#D~Uf{Y}Z zhu(l1XW8UZXiI9RJgQ2uGV2(wv~nj=QdIuhf-HAz=)5jyvxdtTB~6`cYeiCaoH1O? zCT5(nb%=pkwHmvF%Wx?92?;`7gQoeBkVT!hcT&R_@5Z1vSUJkZy!$9;qKVRacqTuv z>(*RdKN)mx{5W`PpQ+Df4u`ExV?V>Dmrte)e-TGsKj%7p%as`A60$OYWE>A2ahgn= zR*g_K4xfsVLemTO!=p9PG%>JijR`Sz1Ctx4DPg-^pacl zyE^^{g9V+oYT;Ft91}Y7;-BP?2jyxnwM93w`K;y-?bD%-+Xs( zh3hrwTNiw96|-?%KUsBcP~>Cu2#2fsezM8D#y=K>5Q_6i3?y#D?W6-!|Ab=--qxPr zX!}mEX8OXtd!NWx$igc6EH6x5HYc!e#p9?qop?VTl2mhAv&tY50cCA=Cy{{wC&@_ ziUL+*R9;P`=y(6DOOff7C&v1HhG)8oyVa`!4{r6vi2AdD@BS~pdGoD5{p0bU{XS_4 zQv>5p;>GPgmiV$6KMfR$Iz{7}0Kfn_JjW&#f*TDD5*gdx!uZKPI-6OMc(I9x_rr0b zBTlE`QlH2p!$>zej@fkHQ4OIX zm4Hv~OO3V6d#7eOCcSerF?r>a3Bdpixv7Mw6zf``Na2zo9uFZ!!p&qVU$zX!u07MG z2aYVK#+9r0(7@R2Z63%FO-_cy!8Ih$EyzVp6^~z`2sl9wQCHpy@p#HXE~J2&4O@lZKw1rqD|Or&HF_HthmmF zlqSd8EM8JceUBU5p|BwyekY+O#;XSa-jiuoi18FC*=@N%SPcY_dAZ;4DT$V#Y$F+KkIUPu_xFQ^Gl9RLRBBMS3ST&%5 z);?-o)Cas6V2UQ zy*R{z88^NS5*c2`8vM>(J0`SJ*=$<#sACX(vSoF{m7J3gII>`m-&*U}e#hO+vaI8p z+$WDQN_~!V3F6jh$IcoY$VM^lR2Cr3!+8R>_;y1k8}hI^JR;TD54=_Ya$t>lU#tVl zC@P5Fe?G4PkSHt1*v&#zYe^V58pl81`o_-Uwhd*Gd{Aht2jioLMWdf_A&@8sU&H0=~Y!%4WjbT0^pG^|;7?ASjC4TEKaDU$0<%%Pwp-> z+|SM^xGmzJAI7cq*zHN1+P*bU_wA@}AuvGdw8 z%r2_I?8k_h87N~-NyJ@-882=K<769Y^I$qY+214`KK1j`O6XVzJi!k^WhMt!ps8%O}c_rZay$h>eqej5l-VLwb^H%t0YX+0&_&uleDw ze;%X5$1f(@G@H#2yOd@tkcRv>7vp;luz$=)L+#T<+Z+czJUtoC9{Uy#48XVC97l4P zn7ee2g%|S1!57hnZ#x)_zYS(1v(-*Dk#WB$@Kye;%Atp};P|<0#3_ezZ*0j|PW9Wk zw#G_|xfu-Ps_8SMgtYc!8X1QA*^p0hE$1|8G;w8}Y~|28mp z8_h#(h-}By*vT*)3|)ONyc_U>f!PXsc1He;-n)Ll|LErJ?|!H+*8jLiAye%9C+#tA+OKjb%_s5o8Z z9#4%br@v^_kangxt;j_dffTci(;Y!QcJ6fA`s6`b&R__s#q*46(UxU&jhuUjTR= zSM3itXMR8bqo+^*tUjXuNT;w5bSl%k`hGY6k-i$1uUGPEP^UAWZ8>Rj3e;Im0HZ)$ zze7%P3^L`6X}N2P?5?JVe|&V8oPKP;S0h*lU~v&}%Y^VY8fjJZ=GS+yr7tO~Y^Y7; zzPQdw+~SEZVzF_e!_iRkm2+HtbvgJW_kZIj)D$Ig=3yCV#qp(wI0AG!lF^&8upDG` zCWFXoHmKv9*=!-Fceh0= z)kI^QeWPHz1h_ARjAW@BOV`@*vzGSXGDtkIhQoA|{|dMAkv^Qp0UqEb=mCP<;AcAk zrSXeWt`{DN)EomSeD&|d)mSpxbcAiQT8`zJwKxnccj$Ut^fFy}UD`2MYo6g2865mz zZ357{*jFfm{42lYH7JTbYqjNoUz!HOsSPrZq15rjL9*;{vmo)YrI~-@tQfK3!Q5Xk z*m(GJcwpz@8MFAt9UsPR-=Nx0Xz2zp+ z&M{EITx;S4V^+QS5mWybMu1(08BVtqXSCf9;pS*H!9%%oJy0Jr)2<MxAbt&m+<+4Uk~{C z*#6U-TYVFMd<_K^?eE9O_R;xA&xL-FSI_*V2Yepd`RP0O^m>?l>C5NyK8)@+ilR%kdgPQtL7sz7 z66vLs$?R(QCO^OS#BYfC^?{>OumdHV4)Bw7#l{914S70GXJckQ{*4yj5cU3+80^d8 zXl#uQg`Ec7C-%@hu{Rv%Vq#;%z-r!f+PM@9&rcq{_0zxl5B|aZpZckv`uHnf`N}8y zBEXaBb@KXE;Q9i<>$hfqAQ(UT@SZp_AEoEM1aqa22eha6UBHEo`5QcK6=}a;!`%83kEhfZ3+8 zsznl|uYXLMWzz~!>JK5xo=>KK!-9q)<&g;JQKkluqLnPU9 zV`ACctqG|V*9MsqnnH9FD1r8(;6R`kE##)XXj*z#YLi^J4FnpR9-z5up!C9_hl|o{ zL!iBhZvqibDq6*dNU~(fl4WV1w0FmEjAzU_-|xS+>?X9{|FY&<>z#8x&v?djnD0B+ z_kQ2EzJ*$?y(jhI$>=C-^0jng9>leqvY0dZ#K$>a>l8MHwHN1z(G|2c2gPOGK$Az# zb97GS%*jp?o3RRvxcNC_fmX8Y32_pmIbLdWYVdXVz(2gS+AKdf(ULl?`A+!*y&J$W39qiY+{a^9Fx@6 zLrqqq(oHFTcTBndGba|>rM{8)=pY#ZTO6I>Au190#v0AagP{bNA$QNYp|4c~$;ZH0 zPeB^TELhy|u4PMDLI_PBtP`|0p2#OYOfh`M21QMLV@*7h+A5N9xRPDEHDHS}!Wj8uJ+gDdu4medF1=j)RG-vz`Cq z5|8VvCjfX7;GK8$Zxz4xJzcbp+UL}^o_xn&IGRIrG4Pn@_`I*LC(Ue-4rcX3U08zFpSwl_mWiLve++4%nxDy|EL0f+rDn> zbt1m5H-G+wwy)Qf-p}e0*H8H5^xl&_hRsVmmv*V{$ti^QRDr$cNn|@8qW2bc&PN=1 zH$C~tx3w3zCiYP}w$JQ|-m+(xEURgmTsb`BxBf*8j_gih^J`vU+R&Aw8#w(UNvQ&_ zoLL>%nI@BvYerE)jBVrbRDk@x&`jTX02catj}ugEh1Z`X=ojY;W_~~*EUe}SBSII} zBTpQ69z0CZN9Sk=?F=FWOHv;d5K|!+y8_f>;|8;a?xrtH)3pXLUV^|J)7mhnoem+O z=88W`yV?^8V+LSB3PqRoGA-q`XgujJDQ06Oyrw!-aF5%%~0@E)GW5ws`R?75w&p z@{DgRNmoudrY-*(AZN~DVKnA@ZuG}$e04TvnkGL;@R8o;5lE7pq8%LZHKY;2ObFb# zo;5+fn(PdB+>GjxKJ(DVTlD7&NWN6TTQK$VhBw@{$7vy z(;42L&(CYTqR-p*=Wq3&fAftn5r%#o4f$!%8-955BRx0in&-woby_#?$a$MSw(9#~ zdwqrf#FdBVU@!b|5XAT-I1T-yrQ0^KZE-xRCoF11Y&Hk#ifPxS$SufF=!{|(^o&;G>SxBjhv zKD8B?T%F7KJY24z&U!R%_cly1aNSn#oqIuj;*RwTamM03y^x|!Pi1FbmOZYEYIY^a zR2r|MYWD{>ESZ2Vec_SKrhcywmjv z@ZtEfRp8+r0598$y`=HJ{^c*f{{1)J@QuFSi}y3yiTq)F`Xi!`YlE5BEVIq9sd#go zT(xa$UuLtUV?W|CBP|`zAg`7Qzt3V*#Q|aH4O0-oLNfa9eV7?HgHs;AzLUqZH}dlV zo#V$IrG3oAhA=e`$eTs*Y|@R1G0hu0Lf0j-D1;S;Uxp;?fWa4{fhhzshF)K)ZOlh+ zbL<%4BODY)l{SM((Y1vlJf}Rt)~`ur6tCv9Aw1zi#v`Lmoljqf*$85klGrR!mzu`H zQh>#LtfU9 zhV8OmM0vUbWVHtw>cOkmtMdE$7jhJ+GJ6))B8Gs8>XLGfrT`lVBCm-XxRgge%+b}v zbJluZG2AZ75Pz(uGTTAsMCjJQae!HG z-A7loVp@42Wz~@ev_$Lyk=uD9ddGVoimUq>_CPtURUyXLu29`3$}Bw7R-hvD8XW4 zU)CL=aDz+?0}+eHyew{s#`2BcCI-Rq9-p@Fx9a!r^m*IruXtU<=bm*>Pq7jKQLzN@R9vaQPfiKiC6 zGzu9dGFq`-OP?RaMvRjq1a3qP7Z!|zL*@0*I&hQAp98%5kG^f08GOxQXe5UTR|0*9 zv$9cvksm)^0^kKjw9iu@X=dQr>^+5brbUHWf8^5Z-->f3a`DD2YXl^fVB|F$Rw|Ss zr=Ku~H--}vW*Wz3A?dR&=$z`}vxy+ol>9Zc!PC!t_FwqQSHH@C0=WAtf90?6R|TB# z5A7wbK+b}fH28a|E>3DYL`^@O_$9iaSMqA5g^t+h^mNJW1Qb zvo0=z(OB_&Bt8m8)rPTAI?kF!G;yH=TU*tL^Md3igcy20>rn2aPYhe&^)kcGf6Is$ zmjtB2F}|z=0T7(^a0g$^*&8(aAcvdD`?SO(<(VsqOuKL0E_qID#nU?{@in(Ts3C{y zGa_Q)j+m_vYIKq8mDv2{a0t{#k5ul9x45&Hjojuz&1ut^iM3yS$L805jLqe-X^*wS)%e*y>}1upc0aIpVXlbgWNG6jS+z@i_sk9AaN1#tpZ95S z@_p9$eV{w%o;$1NlgRjToJ%J*%k3nw+{Sd+)%QB@X3a44a)F)eKQ1gl>l|!%Tp#75 zH)d+-`GITx)V~ecS`WGDc=M2xiQUI`MSiGq4K3b@Ve_Dw8oFm5Vn?Iv#@ByRbsQjQ zjXSeBl7q229Qjzga@rn~ryk2st%)lwXE(EPZE0IE7vKDQ-KL`{UbWqgrhp# z%s>BzK8Vk6+0QHc{ENL;zQL>cQ$L01*c1>k;fM6N5$9IKH{_}nJa=S5KsTCk~2FdQRQ zbjDoPWy!4aA*lF_<<>E})g#+pn7u!yx?8-BY!{D-T|5-DlQGWuJ=rvv5(ryvL{FbQ zzI*=s>D`B3dwTcbPrY{cTmQx91sIU@S8wAFL$#i+gy4m>OtqE3AqhYf^=BD|Zjsvd zf*BiZSL|95{tQ&j@z^o;`Y}d5(`gnNh!{oAyXqTv=3|I6E7aTeAcTRO98>b?xJ9s4 z9$)dG*w6FxnDpJRef<}H^UwZ^e?t^+h~urSO(S{eU$zQ7yaV86Td@y7ynG1X+rRgF zKdJXy=>z!gUROx3>ld#7KL767Gxi&AKa%^-T@$t-wk;jm5RnIjR6}NrEZ1*ZZ#W2i zFUx@&NIn&u)_pjv>`y!#%qE2v6t)J>fenwLZ3NO(&+kW82u`d@U+kziHVGLUS2%@x z_&llA`}7mXWL<)Qz40;>kvM6_X`bXPiVf-pVVtIO)0Dqa6=1#vdm%DZmiw1Mc)d0w z$9>nz1wBX>8JPOU*}}liw@-sOpL~!nV%#!UQ+~3Z3G;qlf^`ABYH*phx z+nL9bO$-}1-j%b{#vD<^?x9>IVLTkVel^pnfQ?OLBp~9}GnyQsG~pZ_YJ^ZwPMwCS zf8#SoczR-}ytx%00#i7V;?j>3+)u2;M;^-_2tM?+TIXYf&aa9enA*25e>uwMIN(zf zl^HV$HlNzv+fN*g{lu8Fq2J&x{w7bSaDyZE^V9TKPNyS{mt0)VOETh@dG>`_tP|H5 z+NVxOFdCk^og+>r0P)(-nn&*1RVGpPu(5#^H)`S()Q-$)AIu4SoUE8*l3W=NhljQq zi^K2MF;erdpqg^Njg0qTlP(7=_7sE-rIUL z|9kV+eZ7)DpSJ&s-pX%Z;PlgRUd`u&@xt8RH|ui~zHaOXOMK3uLR{=qnw@!QOZgG5P6irROH zwjJU7ytHLlI65t0Y8!nWN1F(4G1Z;@#}RhywR-CWCDD85!$ce|8!*3)thE|8QnwmnnhkHg@Q!^H#HV)SVN z<}v4z)+4&|Fvtp%L@?aZaxqGsaNzDS?p!Ng`D6xylWd z{j0D1I2N`F(GewN5A9{Dz{3*&FVkxMe;n)0zt!U{`+f`mJ8!=A@kh^|Y1ib*!R!V+ zP@4^d-NE~cRcwrd@u0h%#0HhX7(M3Hv-Vc7PiYu)$(iVh0Bu41zLZ}G=)6yP6VAFlHYGJ?9pcFLI*=DGGWRh^KR7ttTsBmEI;`o3+_B0Anual|$wB@|N?+)c zIN1H~Q3F@jAHLW90}nrdJap zG2VoLPsn}Vcwt4S2V?oYVpHoGnQE}3v8)fC@ZmtKRKIv8o;>T0Prg%cn{`~==#|p2 z2|cGEwn<36ahVR#ljIv)*RDz?zfZH3Pk!>a*e$pU*+`2o=V{8^oMJ zbjHGKyy5pm5K-$0-{u@HCnH?QU*G`mdX8qziKMkBR_GSSVI?2S@T);_M~NGo%_|>l z=r*t8m}&DEm(Hu>eVvBz_PSZ~`g3TRkjJWR3F)P7tnQr>4P_KrjBVQp1ns92B8`pVe*l zlZ#P&7=T#422PZO7&k5K7t+FK>CL zF2J>f4o72Kzw#}8@E)(`>+SomedW6|e(UbZ_udgY*tNcjlYgtnJU@B+J+bgg{JKHc z`O)!u0zk6-T|PH{-1PGn@VN;bTfd?Y|JcVz=9CCIJqLVR9|=;++mRet=j$F#TIAJl z8Kc@o+T&)TibRoW!ZGVrs3nv8c4SLRdL1KF0%_)|AZ%?<{B*O9@c~Ga} z``D8o`H>&F z`{EbBi0uogq96JXegz($0Qlgq(f{ia{;_}f4}Vs#-2d#Oci(;e(PKV{@9y*33|@an zdxSpuQ?Hb_`H_!z32zj-^v{jRn>hQ2HWj~eW3$;&*eZU%CO+>b<`tN}HXidBF*32@ zDZh2L(C9Ut&8=IMHiy>YZPq2zBxgMUS zRx*ObPiqkwmgqRF8#v+-XNzgI5O}l4#4EhM$2a}t0a@ZRE-@nOsMy#xE{DNyalzsn zdPVElW1nGobYwtq`k^CU6UeVEW8_$%i5>ogpSWFYaB8J1F4Eus_xD7mfIG_6P`h`kHv!0%hnGE&4 z>XY>*DaS%j>-8@RaS*YCk|wK?nWQ6L*T3YGPxu@~KS1OL*AJuJOP;4l?W!M{e=hTzhWW9-&&}WtN0GWPT>j;D=H~nxEZ!kyE`F++Im!7KZPz)ovc*3# zB&Reik%3z03llYCz2Nl+Cg(u;;%hi&g5B9Xui+GLadYnItGTQI?I(oE55f2`p*)~A z(Rk||@yH7WK`P^Z45llGdJlCGg7Z0}6YI%u^XDUy`Lk0d3USpP{iR{7pXTIiL;zRO z*GkY{FFYcXpF9}6vZXdQu2FgdwXGlXMaCQ{l=MB4_%vUe))iy-zJ?Ps%87{_usvfg z5x&?j__p5JP0rN}SK}zP{u6-Wc=W~_ZxB4eC0q?2+RImghbI7DzBT)&j##hke_SM= z*RSWlq^p;|(Pysz4|Ls-w3qr@Tb%bdzW@(V%__^;Xx6^NZs5m3v!$@Bt=|D_t6+U{+|1IjVjfYflJDeUK+)>Q z4M~J$1XjTfHgC7EpHRju1^_bGgVL4z5fe(E97g6~wdhgVK1cgo>q(yRFOUH?mdH`q z7vPD5x!(TFstFf-&!2eB(fooKF}Bh4S2upcQB3O7x?&r@jkWwMrV8%sbz

    8!byX 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�Q>@NZ6BLFwt1)y(q^b>=g z9Kfv7p8@210J@{;iQ;ZP2C%Sv4B-EI<6B?*k8c0?oJdQhXMwk$yn6fM?Z?a)@G^-H z?Jjry5|8XvbL#nYRA46Ua({@EFO$Cgxz(_Rm=@&EL0dEWyT&wC*iV{l-*cI9$S-%U(~4wpFo~c=3-6f7K=YN<5Z>0GEF2SOps%+Lz^s zTZ-}#Rz05hqEFfV_CuDaBJePuQ{Ff(x5&PGO=C;29@ z=AIZCXSD|3Tp91a@Q6OnVx!mykg<^qOkHNI%s)cMy8t#BY$~`t#&nCTlRzSuZi}-j z=`We}-A_|@R<@7o1=f1Y`iEq()T09>9BU>9YyB`^D%yQiwDEsr z+Xq6}RVfzB-Ih!*>{t)z*$3Mtq}rWu^)<+ zSKLlgI0TeJ3xB&qdzCHso?yrS8m0ac02W8krhv{_JR%yvDA8rZQT$BYM4 zGxOMi3ndDV1y3V&#k!#MI9KRpje%Gld=rQd5~^e+XB-TZn_FRQF6bPuvB|da#}EF( zF_x*wZsd)by5kUDL7SkP>4aB;i7#G5Tdwrpdz<)I#s(s@2Z@I|W8zMH2dM3m!9m>3 z2gD^WlCv<<#W&uS(*WDYjgN`CD8*WQ^a>wY)^BK2q&z(_?mEy&41XXO+k}dt#pw=% z-`rE%gAf_dC2;A86h5EWhY|Y3hz$tdaMN+u7|HxbAw2U2DX}Ux$A~SQ#H-RVa0gSz z|4;%(1SX6qWIVFgc!@o`2d6F3upPX^sM(_@pVLRh`Eqy=eSrMHmhXiN0GU)xkv;<8 z-*Dvf|LWf9+jQ@~{`Ie)6X-T~0B{jNPZIQbg}}4x1&)gWES}$d{pDBRxx4$CzB2HK z=xfKjefn4*AL#Osq08)LUT`cr_C7XhPoc45b!${S(X#_AtWauupAbv;4i@o5DeQ#1 z2~n|^&I=w}S0+p1n^^404ik~Xh1(2`Lu?a}!<%<2e8N7v?-RW;efK$E>o>zet*~{l z$j;`B6CuIV>VqaPfpjRdn@{Vf0KajYp8~X78R$nD^g@=nRAfl_wTGH=q~#GozsH7g zq7>a4)W*59FxT>E+4kU6R?D=3HGYw7Z|U9NHi}bI`wV#ziL;Wgjn*6>=FgBtoVvBTtd`VQLu zP>w;yjWJ*8x&e-|bL^aqoTHP<8qeviIBIWsHdyvW5SC%sfZDo_n})gSqA$ikSaS_Q zbRqC>#bYEP^4gIfF97|_HTtjq-go_OC%*u|ol{w-cfPaj5waQ79;`b?)ICY=1s==B zq5UvY;OsXi=xw+5$=GnUjqNkN>rdcIwlMI`39e4e$hbaw;_uYN!C(IOAo$|L*uZbB zD&MxRckwy7=L`9GeC40LcJsDw=jTKptoa!Av8ydZl#3d6=XqIu>>P$SYKH}3V$nKO ztofdUZ4a)6Z}<1|)z17_U()zUuZN$j%{;TV^oxI9Gv%G3Hi*9$b2(P)yR-F6{7m|dPaS393sU?yv&A1qga0+A6Vakbt z6f0jq&hp4nJ~b}=l?ea(1Ml?f;m`Z?&cELE=K_E~@2_|C-+c3(o6rA^U%&ayfBcfy zVsH8PXa28l{pa>-)+_6maV0j|`6x$TUy;<20^#l={MoIdW0JYrh}ceFAbGS&=UOk2 zJRSs6*}b*UK?JMPHDT7#MPs#dy1t_XYjCJf2_)NAhz>ARS}JsN(_p zx->`Rv2)v4(2OmRYdmQM)Th;+i#%%4x>dTulxYc+Vkv zcd$^IzMr7rQs3t#VCd_7hx?x=1|O>qUKlz))b4w1WxErKo959PFzytXL_%weTmO%; z9190V@JEk6@v;BxzxdJT|J{H7n?LnaKXs#DmBZizUA`AC0B9QX<}-HyXyWepIY7zo z^c?_99_^b?e)5xdue|cgoqh`NuD=GLI{>%{aI5bCfP*Ix*RuRnYDi!a_j z`9bY?`s%>vch8>ay=tH3+70j&En+)UPrE7m##+cyWM6SSQm{NJs=7$Aa^YDJal76* z^0a^z>o=<4w%4IWsfP%%k3xFvU~-*11C|d5XG+IyU!0(C#$+K9cHtZ zFesMLDOBUueXv$7;E2H)tj(!27@jotngABy8i#VjW!f=b0jSTvl*?u@Cl0n)trx25 zEuS%8`7~`?N{3I|T0k2EMJYw%3BVW$R}AP0N+l!grpcDwh=_$Tw0t;XXSn?j^d823 zCun?AsD^UI7)@CcyKU`yYuC7pWi;Auh)IHzc#e?qtI^>Y$&M-mPCRMf=>YrfZ@rdx zK<8wiT#1)sDZi-ViwQab_3&zg-Y4aQBPsXcbUXE(PT+N%mLDDMK{a$vi7w%`GMSuoUB^2mKh+7wN9IC{HA-fx z_3pjDEK#57_ig@jtH0m*SDV*wTo~Xd8^81IH*fy>U;BqQFMsn5pE$jvclwd{v;L|1 z^1txnBNqXf%RC4HxeJwIyq6bZa+o1`fVE?ih0MT zI^>Nl4C-4}-s*Ra%_=qWNVG#uA>hi$rE)9Pk3Mldpil#Om0yy;NIK<`RNtw1PKM&atwgaiLYe0H< z-v_|Kj3+C7?28kA9oNu-k{`e6XBQGD7QCyCUZEsK6|(6ZDW z0B=8fjYXwrY%Q``A6h>w-V|i4WN$`#ypluGHEF1K98n1)8~jK;Pk~;ZiuZ z8uH+#_{N9Dg^$H`-~9A{+LWQ(v1}ffJe#8ot&`5`v8; z9FI*|#&NohSA>n-Sk?IMokx@m_z-{E#U)m&M&wWgS~xc_-LU~J z&SrzD++8-5vGac65HiCn7BEgBd1Q9u50wiXG|u?zQ*|sSM#G5JaGNKYjWd;mUB3ni z@BJDd9OE#8TSVoz-Q;5>n!}Ojt}z-%3fcv+39LYhQiMKY5loa{ommf~{&70$IPx$@ie8etXu(anmE&HC(qa#=@7*K=hyZj_Z{891Z zaQbejt-t&$?=&sr=kqwx&u#l} zg|*pZlGlNtwLG2!E7}emKV4MhRJ%r5n%4Cj zY=|NwBUzbaPv=64Amf;0bo;UFnB32+ad~Wp($yJINS2RsCXP|6x-`*Pi^#_u zHEv(gF>pp-z14P{k|S}!`BpQ4>Pnb@tMIcx;3=)$PN!pU{lx}74~}`+S2;z}9_t)* zfK+XaJjs9KQN7onBXA_A@8)B7A&m)ipvy&5ZLb4#6bl@gpZ+#)jfK&Ik5jcj{_!9A z>}NlV3E0pw!0 zP^?b=ZS#%iZ-4QJ^*i-i%iaU^oy)h+ANzA6f~I)Uxha!5fU zT5rT|Z6ER~Dq^VpedcXfFxY)^j~;K7)-#@#l`%D$q|moxRU1RTyiWGG1mPFb?PHtv zwn4`DMFKzmEzAbR(LZ%-?rklgv570qv||s+kXf8Ov(MK5xCF`rJSHj+#(hwN1JgON zd5yymrDV|!C;S&aaApHl)3AO($mHY{(FW<-Cc(HVY((t#8Czm3f%hHkEnKdrVaw5} zJ#$?@V-l={?R%{1LuU5tC~`=Il?=Rp$jEtGxc8yXZLkFUfIK6hv94WE1to$ZV`$c_V7Pc}6&Uj!=Zh`xqNbOkg`^BKz zyvzC8Yj53r^y9+lkIzN(rF&1Fym0eKCzrh2?2iWEQjffd%*hVKob>nvnA#^mBeNe) zh{Sqe+&52N>=9c}($2hd;+)vY*(ci`!%0TMxAboQt9}PxU%)rF?Z2dN+kai3&*x|L zocQcaH^Vw%l9^E|At*|dV;faoQrgyk>9e{+s`sMH3{Lw%5Lu)RQE7_(b zs`i%9Josd|9Jo!|Iq{Jhx6B#OVw2mc&yIi#Mx?my1}Vk+u}4D^!P*CDtC|OXY&Yj_ zWnFbmK6|Ej>N)x6OaA;B|D5>uE&$}Ld)EIi{@m~A^ZviIAd8TOmo(2`2Ijl8gp5%0%{5O6giG6~syj+e|0}}bpIZq^7)g*e zV_ex9?{l0ksbN@iQI0~&V{>mrZi|IbLnCgV01^Y*aXI-RN$EJWUh-++fn^j=YBUIB zGhUar3n@g3$3e}+fIjPsb$j!s?kLj70G@r~a-}@it+cs24lCKL*JO)m`ClIGfbkn& zay-^DO7R@1nKTkhG=sDP4s3bOP>gElOkwxC2JFeEaoRE21BNsHlQVkL;S{?TwQDPH zoXz`9Mym&h{v3bAWN=;dMSy?go8SEAWBn4qqd)j5!0(|809jOPNZv=Xdpw zp8@o(|6Bw(OMevr*_U4b&Tsvh4}Dro`nlG&zI{_quzU}|3%B2wbvUaD@7Xy1R(RpWVlaiaD@7`rPfn{@lV&2|z!5$X9&W4w(yqpwlC@UXVuP05Od{TD64NS1z~> z3>_~fx#yyvo3wn!jCMPuuO3M{}N7Tmd+Ur`0}6DZOk>*3#i%34LRa4Q0Z~fzn^S&8(s)3D zAurbmCcb5hj3PneP}52aMviRq1A4aAZ+^%-L$0CFUuEF-yxUNl_`@ZB^N@ww9Ey>5 zOX~~&$Cq#Z+)w=x^Kc@=NzjwW@A?9OkE2`!z`|VcoG1Hnke}4c2|pYZ$3AWJ5Lo5_ zI94YT%VUt(?1%{Y(?{&|u08MQ^9}p_tX|&T=d=26Ve0Ykd|);IFme`XpXtzzPgmMd zcl;b1KnZhleqWb&>}|Ac!@-yY@3?uc*OhCpYbk6;IFdU)#*k2WsAPP`pN*pMI?&+z zwtt=YWB=s2?#j^TH&_SgnVToKkEMIAj{$tgbx%l>lOwX9bG=x=Mg-(wUjzi9%LJ!( z^og(GwcdE?u^ao-#&lMJm^F*vQJibKSfZvtck)_zY>Gn!4!^V*10JkrPVk>{;@@}v z{WE|1!awA?<)0Jzx88W?=4U_u#hYLG!dLy%e!RQyZ}#UMe?9mv2u`4A_Z@%w_>&u# zjtS%Lxk0cBfhC*HL<#k7F9BvGbmugq)ZeqytYWPvjPP6HnT%!Q0q{5>JnV(BYEW zw#$yjE{@9p$;KvHgp|~_GGFp)yhb!13xm~i6VOM)&99Q!N z%y@#@b8yCsW|xw;K6o7T(LaOS1ov8+KcVl=^2iA+Dvt8IFRs#=%MkBRS(_+>&k;!7F=(IoujdgIQF9z#JZ>kpJh5tL z;!6R2hJYU)b4Ngf>V#U0-i_3}9qOfhf9(aZv1^`nHZv>>;)c(1GR}&b6Qj#P$Csjg z^yJ0Q3IFKVfBn~QKlZVYU1Ba7KM=j|i8}z8{4By7-u-9(Z}mlhOpw>Y5B$In+`aVD zOLw36#3$~)``zzarY{0~t}g=g^>%PPp-}i30JUx}WAbU={exG(@wI>dGk+8@D_#=) zWX$8&^kn^_-=W68{^j*tFQy5D4cYjlT04$k=6G#e<&*va*^E>4*(tT2^&evUFpX1| zLv{Lyy-)7_@(_(+8kz+mP7@kIzEfnqM zCh<*hc4{Jlg9LIko`tO*m>_=ond0_%h1ww_htwgHMlzdzTwej`%Ng$+(}f z!ggY;lWf(KFC!3H#v;A{o4j|6xh>1DyY@MCy4`MfwY%Exw9pTy^Z)=r07*naRE?|M zjg<@WB|=ybE6GDkL6Ha|FUXGI1wjM}2#MTy0wINj@B~7^b&@DcNO5J~CT~Jy4dC@oi?>$oLKe3)TUcyV%=X+$?EHUf~~+ zW{_mtNK2gPPL};08Rs6!s!ZK6fo1ta(9a`qRv@EYJmuykW8-cAJ8r(OR-uZ*%Tkj#~3L?Vq( zS`zJeAxDWH>g^u<;a|V5yNdwGPPfg&I~a20*Khk42`7Z>qrptu3G8 zfAvecBSAF_eHQ#I_PK4paYi`fU0mL_+NSpSsbL$cz33L5etb96g7I6ti3NSzQlGCi zP|y$N&_)(E`J&`25Ne>uq7WiEp`sR@4wU7OXlEOd7UVs4+Ax-nbdUcdjamH!i{m3h zb5~yvU_7`(;QlN6BwIP|SR>~bmGNt&^D;hSE8ayueP~gqUriI~i{LkL1H;X{hhbS` zdeq%_*LWxzWx%PdF~p-1*>9n+s{{K+KXVI|;1E9xe{Si2-HZH(nn$l`!Jk|IU)Qbw z{=Pro>(?j$&wuUZ%a8uqzpMHcT@277e{S)o&d>bm(|_$3y(qxA<&J@j(;64tRI<81 zQoAT8_(-wq^oQ56rfvx>$BTw-J#{K){n4qt=wnM|6nKB3z3q(D(jClouA(eXd)clm z$m2uo1C61S#^gCLI;X#FSN>*y)00Q|15=jkBdudU*`1Ib@1)ytHy(RC?v@5t{fMm{ zPmLP=kSqPFUh!U0Z|%fpShal$UdJrM&he9eZ5>ChIYlf`&wlh+bhBSDckk*BfT9{h zA{|HSE*&a_tjp0r&gW?8#>C9~5tVFg7(5-ZjBgyZ#PSNl4G!dbdA_FReZ+kE?0GzT zG3X9};%y(qV+V{Am=?C5p8|%jtc2C=x$hvWJKk_?0B{Kd{U?ALR1@Qrd++`}ZLOm< zBVQ}Ot5@C}Ebz|Sye%#Otb>)tW_}6av7Q6)_!oZR7w&xLcYY@i1LVx7i+@I%S0~2f z{v4n#0x-~b^@h@)1iY*7Pu}^|{cpUaQ-K$Cqh4;X)LDWq0NnYOyWc+RLKd^k&rUYa ze5RW0lqTfW4^5M7lkvROStYMHC zG4@IJhHZ-l-m;;#9UTd`wV{>?Ecm)!oH8*?0gxAkfVA)C=WYSy_!_{2$GW3JD9S6R zlXsrErw8^t(03z+w{})*T1j+ViZ9fZz0;>}B6Phrg;pulDQ$&|S8Z)wr$yqmSIwf) zH*Xt@$g#cF-3+oqOr91)M%I3jB{Rb){WNp>u-hK`@z+QTxj6vV2V--#W(3o}_W2s8 zJp8{ZtFH$0N5wJ98y6~MZq$xbf|iYQiG3Lu1>?6(oCnbGMtu?+d%?8_V?2IAu{@0t z%CUqoXbf?9$&C(gn2m9X;*LxFA}-^pyK*M}p0kZ%)SNTnP7q6f#VI*qRlmNXjhAdt zb#vO&wX2p1JMwK?mJ^AcQ7eosgC4lcodJy7fC$ieOvT}ZxEnjQRV35cJoZwnpNV}4 zBZr&iM~^szmHciC$Wm|vrBoTuNO@$97hfWW)pC!zJz*r4jaxh^lZkhm`8UsHGQ zv*i@<-nfr5hiJh&;Ud>VwPQ`fLCA@~{5uzr`nrceU8$7mb`F@pF>r zK}xJ($qh~>@!g;1h~Q=K@CXta7uwTjG5WzYSOZiw+_eo@Ej2`{#ClKJ}l6{jvDhMS{_mVIA0=DGk2fTg8(02boa7F zBV$2rnj8B9|0wYf0>0+BWo_etABD!Y)W<}QKpW71?$e3dTbs4W8SV~_DG#_hXd&vw=s9aR__>8xp$*SOFdWTMMl$azWE|!1f z{lD)IJo9b8@^@c_HD4{K`Hn1aiwgi684obEehI*%s>QztY<>v9^QHNv92&_J^{l-_q0V+{B`8g6!RPx z9U3q13HXRT>a^St&ANz!%*r{yIWQuN{p_@MIPPTUkgVJrg#ufumX=0u8L0?-XjW8anI9e2q^P;FtL-R7Wzf1AJi_!&*MDU2f0l;~b-N2l_|iagu$ zTZgu-Z^`S{g!Y7|9_MS(BhoPHO`?oXYo17?@i1j$ry3`4^h_b24DAyowB`-AMQgy( zLqp$O2krxV1B6`psm&MB=+gB#k34O}>J8YTArBSqDRKBzwj>GwEbf`48cj+O?1ejF z+Jgd$J)?7XaBQj%N-A%kz<2^B=4#s1AOFJWoVx-rBEU+i7x$p#N8! zK6utwC#dm#k1^DRXsP9!bUQ{%S<)116lAL}dyy)3de*~H#%1{xutIIg)2mHAOnFF% z7+MPL+&0crZNMaUKB0c}l-?!u$71HL9`yIAU;NtTfB9>ly8Q0n`#m~A6rYclC69Zt ztV+5)mb(oL8ZX+EX|vFONl)7U>Q`RzQ}+3;J`4R9UU+T$7jWB?+6s_kcw;E8-#;Y+ zFE*)S*Evv|<5lf@fd=11(N(-~vwD2aqMsbZN)~d#;oS)`HoRchz<1#;Qs{1sAGB=) zY+7ts^izYGm>xY)Er+dY!OTZ%a5+0LK0APhY!(gN1rb|Z5$9y~;X}P&s%8;QpE>lL zKFLm;>9&lf!Tj`!1cUUi+zL=Yw?r5>4pdg+b&k# za^sm}1b^Tndu+{%Wl@D`xYWeRc(3pK>tTQVyk9=`*PSH#)c@f;{hteA5A|GtpZ&>y za{1Yx{*1oQuM1PUkaF`$|GC}2xBP?6Gcw4lj^ncJakamD9C3G|BtZ&AJqUh}oIH&H z`Ge_N{wF?B7651|Bf7ASq)la;+hUMIqg#OaAsk$>9Xivths~vkVVUnu4Q$F27^iK- z?LKzU89XZJgbwDhtLmj=YY%e})QtAOJ& z{p3Ee)9wRM@onWK8s4Hks@k8q*Z@U4>kOW{Hn8L*yz)ST#NhwE|Kh*=>?i)}|G-bk zS>E99(9PT80zfCqn+@29Km6gxEa*At^HYGwShh{=hXLy9vfId@16{92FTL^LAHDa^ zyMLpnjCQ>Hx&uJd!z*-e{GQKIqDKR1xhGnu5lB**NjFq_5@oV_pL7ku?=uxfGYWUL zWY!PqxfcrCKpQ9>v$U~0;@Su(Dv+_L#EERnYFT6L`Sdo^It@fSu9WHN=qgzW@4`y>coZ<~Qa{(Xf6M88yz=%R?P_|#!PcSA07Hu@5KlLBXe>tthVGSshrNf=Lj;tcaZDk=G_G9CZ` zo@j20#1%}79P!zA_r)1~s?$DxFC6^wAMk10>(MPn_91{G2fgDY>Za2iW8is=!iJ&! zIyteekt+?D%Dc_xC{lH?n%eYfTZgu|rQu((;=8$$NDYl*UV+h%6RR?18&>@%5mHNi!Z#cTlZh__x3F*?3Olt9av-* zYxZjdyjT~VMU@z)ra}%_gtnYK+e|@kM02`fpIk{Li1xsbPs@d0f-+8Q{YLBJ) z)j%67%)tDqa{oXXH#V~UR5v*Yosf1PRN|plQO@8oc1UyL&V2UbpQrrK>;7vz?C&)# z>~$xAzW2|a0nCS2^=bc4{e-^n|8x4jzZU;2^qp5O1nAR$zT?j)|G_MFF2XQo#Miqw z;?u9b|C0w|z~5}tn}Cunhh<*p!ipEo#y;wS3o-d-TRC#2z6hq;XcR45yAr^M9*ZTh ze4>5x7zS+>Fp4|G`WUIM-_Vd1thMtiz$h*GI1_`>1f=*z0qezQb68X zu@BuL*%x|mUgB@~Z`O|ASZN%4jwG++g+xwYCK;o5#ktj?pbzVGrX%X6~DaQSQD5Xm4@m`3F^_EusIY#yZ7zS z{xI&Xxvf*p8Y+L$JR4%yslqcj7?(Y zWX#`<^rs@i1r%AMQ@aEFP~y9hVPBQosdi4<*WAJFks{qIv^VSEBBd&=LoFwP;C1ZM zSKD(KjTPvPHu_U4)~7;$5t%MHi z-1vU_+IHiuG+xxT(r)$}Tj|7i?R~}wf5>%gWz^y$nx`eT^`1cvyqMJqlNU48ZtFHs z-HQH(Zuj@6$NUbfWM6pxwacIT@Bi=1cYWmP%lG`|4_-d_q4!+g|E=G2c}+ht_uN-r z()XtiSK&K*>r!CdP#y2; zS!>1=9=Um|6eQ>;Hb(A7jr2lE3oj|K8<`pMOb<{w)6cbbl@e_%#;<$S)TM$T4%oV<>l& zb@>tp@n<<@-`GbXrno&JQ1Rk)YDgn=Kn$Z8j#tv%?^~nMcJjN&Ytd_@b*!yz=OlIP zEY^f~*cI!9ar-1JZjVo3A<%y6`c|IpVqXE<57%3FTdjwCHbn>7l*U7^cx_XcZ?_9) zI$U&+NqcXbT@+G+lRol=+PaB5oQ=Eej}4A>{FiR@1rnh%j@rMiKIN=AI2)UbR+-0_ zS9ILJuejbb@!S9et1+2HX9_%uw=M^y5!_;uAar;O>{c^rba;TKr%1bjQapz4Q{a z$Mb6dGjlaVk3~OxUOWfj`8V!=L0`4eoMw(_>8w5Q;l0Ax8cIml3gsmQqjXD!+_lW^&k#r=H0InsC7zLD~g7=%^lv&1-zs#0mXN!3$yuqMP?3ZgJ1s7Bvq8l#~~8OqgH!51u@=h^!1Lb`za7N3IN}>am^?Ji@`DK-UqH{IJbokNV>!58bV;f--fiO-cQMH8 zu_NKJhhNx^ejesWUu5BV@kU!>5X~QXd_j*fvQLQEM?|e*oY6K7`<-LgG8j-nZxZNc z+u^?Hmia)j{iM?i{`?$Z#+0um@V)e>cqd8Ne2EfPcN%P%%gF8CoJEu3h$A znE5fn-T$kzFhrnD0kirs5;~UFIN}G6tde;Pzq+-B2<@|+IM5qYbt~I``1R`=tFp<& zjwA1pu^nIWKm1&vHLBH@9Z2@(tZ%l9X@*_TYRQ+cBBzE@i$Sr+0 zVn17Ql2&AP`+A(<9(r3WYB#nweZOg?;-}ngqXVBqKKl(951;ymo^|maJxS{<_%h1Q zhq@lG%#M+iQ0LP4?)a8b5hst0Gl~+>iHJ`pwXqIzZZmh;PXGiT>vGonIPXgwwRyjS zj$FiO#5OiXGeed9Tlv7mh@)mXH>N#0cA$=fr846#Z``@oEh_6eVLZNj@4F>+S05HX z^`k%fqmO>%M}8#Vvq1M9R^B!j06IxDf_L;B0EWq9t!Dr*+q`$^mJYvpa1nr_Ujkrq z^&)_;G>d$G_uq2Re*PO@`s5G2_ct&d{Vt+6^E>br299ZK{lR9Ex|!V!2&Op2>%b)}q5Q)}AVLVLC5-gJ z+8nqlxFPCcH)7a~qE!%^9fy5gySD-mAEs&+`Jek;(LXz4{26M6@UE8j6xgt)Sn;VT&ekccCY&_w2+?5>Tg-tb~=@pL?Z?+MRoeE-N zJejJo1bin{hAymXr7kM*OU469!iYOLb$r9&C;A*9y!LfI_p3H_(&kGoJXi z^{smPg)>(rabA(8(-`QsZ9Ml!NL6!K88|y8?4=ie5vbEfA1TM7ni4N78=B=B3$^0s zw25z6Qurj3#baw8_V?g!&QZAF#idq!Sl6aSgPH~Q?CT7R${XOrE!U-*?5a_55`A;)^@Oa@!VTF~HOI92^}zbtBAl=|3ys8`#@zT!H#*rJd*XPrIzW48izn=aNJ&XTGm!JFD&-!Qn)>HoV zX+Jy`{;%uB6aU#a{Iq{9khr*l&zYA565F&Wolog_yW%5Pgr`ch1bWJ^mRXjjhaS!(wtueJZ_u*!BlEM!qt!V~NA2JddFuOK1Cr z?NdInL@;uV+q4PtidNyN5xH3!fBl8ue4Vn11BdEYp$@%>dB;&r*>6Lo{lQ? zH(WHgeG54DomXjytc*xmZ7cJpz}L2*S6&GsMU&Zry0wLi*9{mKcemaQQNSH zqa*uBoXBq5t-5HdNJ&n5{Lh%*x!il#_ltZ-za)1@i~rN2<=;u0x6K6r22X`4!0Q|| z+R!dv|N7VcQ-IUwL4c<7D*(FHtj_>Iv^caWcmCFMpZnq;{EqL}7yq?J)db^>>)~BJ z2shLVVO zIZ^RYrTgTzGgv^#1Itu44$fWxO8mf=X|Z$T9jbWK7cJ9_h&V!AjL-v)W!-q-6FSTjryzM@rzQRNHocUyerxV2`R477LCelqIN4C& z8KI7!N#V$vdmt!|#V00$vA(t0>>{>NFsVOs8Jk<=OFx#+_A5K2yUtmN>1%7l&Lg%qq*-RqX7O&w(2YNaGW^Xn;Fk55FrY_A0?vJ7 zgROGgIGYAfujaw^(O1*VC-QCvxbd|h?u!TJDgrhAigY32ge=ClRKM%&MV8I(!f&ZqXZWG_U0x zKj%`q7|Nnizv|~(p5M@?#4L2~>SDlMJxI=fO4waJDUfFZ;Oyy5?ehK6<(*`RsW}$B z&ed47tF|+E9lKy*pG7i-Hu(pQ#i5*-`Rh&-QOsqKGwG=l>+{VwRe@HH)1 z;Y+}@=mwM9@f9~XW{;{)P+A?PMv8s%#nmllU zn>_ITE$fp%#K5KhB`yHyy`4KQk^=;ZE%U|4Z%FnXMZM%p`HOA`VNS7(L{GnmU0Ung zVh>NVZ5`ZV`bN@f4VP`pCg`ZJ?I)P|lwON`E%f<*f1dK+#ebgkkIbvDyngwapZxUY z6aUBOyvS!RvB-bGg#-PJa6b7@%`N|4@H3dQnXizHZB>o|R+FYW`=H(1o94)VlQ>wx zaclbCmnGv`eEzymuW_2#i%|Y48_bPgS?ZJ%*P)ehRpWM0X6w^R+I!y4I>~y6Yo0$F ztOUcv zSZV02(0-BqcA2;G|50-`>93|uo96)_JWl!6;ejCv zkk0(Z<@iHPW68BI5O`67@w03>Q-v>tfQV2GBJ~M~RK6b90Fnpa`wk|?Fee67>4FF z>P`3JbueFol9iAQ_|wnqJ!n@mY|Zw$$pvt{1~GN_h}vvz3B;$!c0@U_#C83ihi^UQ z+)MAfHj3e^S7eg{7~{H9;qwT7HGqpB-=-6QFWlu`0R71}7dP|`3^^IJs7Be|kDY-V zCwGPW{p5aA-@1hjicc2ZiB;mpuhc69Nmc_bJW)P;{+;$Ii3G)na&FBD$2;_hEIEX) zExcK@H}pMr(xetba;O$Yp_x9$j*~e%RUS3Qx1;HoBsL3xg=t4?4;vDk$`JG^s^bO( z{4sT5rzawF9n29MDRobqHfk~W=e$^|GIr8!vNk8yhPYxGW9Zoe?ueGQS_vSu8iKF3 zA&rmj-qj;!hLPL{YHZP{pP`N&@rgMlHAfvAGjH3)|BV4N{-fm>2WF}rQ^5CD0@fMI zwU1kDVcPe2y}4-_XZe+}bB@f8C-r;TfwzS$S(&g#4>5CN`??)l6)3OusJSZ5@j#Jn z(|Wv}n(;JyZBLKUU|&N$?d_cv)@F}qWy7jg1&J9v7ByhA=%>%E&3E<5KX*u-HtuO* zxttmSj8E_(Yc6tyWXCCTVjdZAK03(eOhf~6^4IvtUh*_{fK-VuPqstZ+xlnM zO^(fTJU4IfmRz-&qr?xRwDEn((im(@RSpfc>8doY`v0r-qxIxA=-H2Ma!GNHM`QG+ z06Crcw&Ou)$8?>OSUb^{WCbIVSWg^m-LQYg3{EaPt`vcVb$^bAdcJmdd-n57#&+iRbf4Wc1>A z%$)#S1mI$TWtD}Vb0Q+gbzEafGUijeb8NhC4vS-Ayg39`GdTlV7eE#+Y{#2qc@9C7 zD-F!Fr~jS*;=3RHg+Kid5r_XyEpMj_01VU}7XJU>AN+$mAOHBrAOG}E|1`6J#sA$8 zedt4vzw(u@bR3ao@xS`L3t$N5Yw_=252(;fj~;&Vy?5UAn|y+y$#?&*zDmH^1A7sr zQ)MQxY4eG`CHB#P=_g%FcmoRpq;-Jcgfj$WEWljWsQ^~T+-O=(dl4!o6;uX4;!nk zj@>7_YM`>YCk7f79t4vZ4OGZyit(JIAVEJ}vGEF{qBc56du)xRmX+Ye+p%PM;O(!~ z!l!9Jq*onCu|2V&2hHAw7Jrc(rfSP9zpMbXOL;*WnurZ4a)~9*YAZgdjiGhiILD?a zk{3|tajYCRO0cIxA0N)x5wpLQw;$=$5`6ryo;$ST;g$&s{rUy4#b?u;lJJ{8Aldw3 z?n(YN%{GujcuLIdF@tP>ratXv?x0a$R>o0NX>QXyk>VTj(zP7oX-D()svZ<)B$i0W zTu7OSr{EK9M6QCSJM+LX;gPVp9iChN`3X6GY?Xq)J}J~sr*cui&+D-N$w59vwrGy6 z9uVPiPNw2dOjY-|3k};|U+D&Y3}mPVzl3#uWRT$Ek40sO0!34`&Rat(b1QxpX(SZJ~r!{&kXrK0l7` zHIkqFuj4zle6Sw~j+_$&i27P7K;8L*PHCN<`yJk$+b}ynDoU*|cwC#;A+~2)f@8bj z)lr+bX!~*ZqrdeBzVM|leUkO$pZF7h;z|_UcS?CXT>$WyoS*zd&@Ta8^q@a4G>r9F2_SK z5%J6wcWF}2nH_Xbx9p@5njI9b-r9Xi?<%39eSMLRYOH6GJm~ON0xe*>c z{l!SbogQ5^BX1`KMIT73;W`Ek4WI~Js^hAds#w@#0=gE%wl37;9|wWU<>{yRbc=X$qQjf{J^caV9NAA$Qg#c+kKWOa-pGsIJ|U*yA@pES zlNG$8Y&pfF6Km{P#DWrN4czFU*J4?BqR07dY2XoKVy;FYj}T(BcDC4Cv=Uof!XRTZ zhNZRK49hr%M?od+k-rj#tBfo?HAV-{&9Yn`DDwx;c|@SR5%&0iIYyWlbls;$&U&UU z^M)OI#(4aU7@7{;ld#DZ&w8p6bDMe^SD5G@rRhW_b3{2V0Fx(-J$AM+b7#EHu8qCS zs}-X#OEcsG##k|Ic==4DVTn`oG_T6IH6A4D=!H|ea6o~|mKYr~zDz6@xv{z04-Z|$ zigQEdx@-JczhSSI7}10*`g+fL`1Ht9r-~|Wyzr|IoX(TN*u&P$u@H! zI;Glz*oM&Nv}76Kou6bJro?UpEDGl&PVWw!_~C~>9Nl;lMOSZClI61$E&#-@Z6`v+ zjVyH*mg=aq?OOfyRe+Jlhf}T?C!YC&bDY-0R_rC7_*onSHrIB86UCvnp)O6oDVe71 zJ2VmX@8jtT)t04^I(q7Xxn#hPPr;#I8)={0%ohMsP8}#~P8xQosb2zcpd+}kN+`m-H_3F(gVT27w`bbaM(FCnpn|8`d8y6Y);8KD@>+s(a(B8bPxDJssZpifG zf4vXwP?_d9qh9?DLp`wwrTK`*aJSAG#m@4!m3TRBGM2X#`@6ZfyOnwy@wVJt z%i+bfr8Dm2t)6b5nQNsIbNbh`?Pnxc{uLwf^Sb+j&ZF;Z-s^+1md*$I>v-XVpefqO zU;oSA4fn75!nZ(Wtd6IFXf@tV6mUnvs|n^epVq6!2V)-fkp=MHGT+iYGlYDL=j-@; z<*p!?jI1j@@4AS(jIb(B$8xdY>8GE4=9y>i=plf2f8iH?A#Z#Ic?Z>Ry9)psn{!w% zdXU5AV;}q2V_gMi@&8y40({J~06K>6dCz-z2;k#B13(u6xEftPweKKNedoD1UjO1h zd(Zef*VN9Z9|L^&)cwm-cb@XBI*x23gfr}5nsVM}G`-X`6F|tq@$AGBf|9dw@u2Io z0cb~|V@&N@#=Yi2qgZDYLlOQVI!#H~Q1%HsxujUI7p|J^<2Tnnq_5BH^%MjN=nfyc z@|PaIXI~;FMP*!cbeM8qUt#4JLW%qGltgv$;PQb-uiv?Ij{{qB!%5LS_4&l3w!sE0 zR_L9j)Je6wY!X&5w#=ysAlbwH$>J58jt?@_w^-j+uGLOi%fyw$AY+Xywxpn(q`oR5KsqmWROFP!Tz#Q^xRCS!I*Q##gDgF=CElo6-V1pX zDs|!~4j>U}iGGZ18{yig5wyhV{LpLP-RU$Ibb>6Kr=Z#!DiX_Wc%P2(u~Eut&Z>LiwH$>wZRYdy$~lb?{qOBO|Zvag$`JuF%e`6Q4<4~wLG?|SNT zPy9Q2E&%q>_eO9Y2?k&PU4XhfW7LHczWC&ll{NqHj~8TMkr9J`zaq?51WELw1&cEC z*dlAtUQC4+d2`&BpiAcx)^5s~GdE)t_7`WY^pZI&I#eWw4 z`m~=50Q%&g3j!?unJ^Pv+25$Q}QQGPLQm$^ILpLS+fAf=E zi_3hHKy4tqbs~k#S>8&%a!#@JPP8*O#jNGCu1;lwYP&NQ;GgBx#_O`{Yy7E3a2u9u zZ8%`)3`|*!|{GzV_cq)A6GoN7)J&;=b zcN8DL_r34EyzlxW84O-4K3{d+H8 z-rHXSm_;r#ux~itSu#_7N;0!4(-IsksMt~0o#KW!FG5J#HPt>a<{U?4@1~0Ru|G}F z?QRlt*Mb{)8373oj1=j(IQS@QUzmkDZ$5x0g98_Dv@74yPEH(>@C5_$iGaHTcmNLdN*j>)x)VSy zOcTFfRcIZR_|${69Wy4I?QdkW#jUfre-Mk`8qD~hj34b86jiZ9OcGqstE)z1fR6;` zT$g9U=q|;`AqaabrIW?~F}?#_7Yak|_b|iDSMPf2sJ4p1acBURDJw`>anl^%t%M6I zRi!4zv$WTG@#>g$phm)2+5mI5;i7WdJxwi^1cSsr1@7X|DN{0$3UP0r@c%S|`t;Aa zYb4Q+kT#%NSF+U~i4#5^$zT144uuXF(6qVXx%dA#Fo;wWT>yo^7^gENP)(u!wU!l! zobg_I0P(;-@}L{k#CggKo`-r$Aje%6 ziiXhpR0}>fzgmqGZ;uA~qgKXuai#^?aFpGM>7s^QFSm>WVMz(s`!B=b`pQrlc z8$@(d;O)FZLxwWS>4XwI^U`0GQL-16U__~ZNjTG)SGG4m6DU;LF9 zJ;#~nEckiQUw`fo+5=q>AcydLk;wsQqog}m_1XTIxhS1qi=alv>ZGK7lYSx9dMV87 z;u%N%^3va19=`-|S04`F)mrkd z){^@TstWIb`fYUqpa(t1rHlU=qs#=)xQl-YfF0+hmtHbmgWRFyD*&{iQ(C+Ix%;p9 zsein^Xf|pFY2kYJzGs{Wnm&kY`lzxmXfYe-E!0hzntjZ*>?~P!sO!n+t@Tk(@dO4N zBUs6d4mO_D=*WW}rfS;W`4HR1G69a=w6}m-(g^Qt4FwiWw)(7sZ|?gdAA5;D&FAN( z>;-_xSZ!Q5J%PhQ5sv8@`R!d0Y35hleLIcRyVNWSq|#GAoX6*V;=jRTRJ zc_doq)8=!yMf55p`oMTT4NujrB}T`lD(2C$gHtoEaq56bHf)MKsMrr0=_a1xL8e${ z_#}As)o_j?7HcOUI?Gpe)Lyv|%k068PXI-!<3=PS0@Jo*GxN^v+Qc_YA*h!Wr&@Kf z)_zubR7Uv>KeTEc!hyfChn^v{Nt`s$seZ8e%Ei->$hCK|F?bQ@~z+c-pdOwymI;MFMaLuH~#w1 zUw-Ci{?XX17pK*;9sZdgQy7RhbNW=Dw)ctpH>!cCeP_W5%&dV9jnX!Cqc>wVJJUvy zUztx?JYt6vEWQuT&jR|BAQ4$qQo<*9X_G_RS2aFF+>0sncyGiGC!l7l28+cO`RZa7 zTCvchjb3TdInSG}#}OUd_FI^H-k=8~HEjskjyP^*u?cUSr|FV@d@1dg8j$f7uJd{W ztMOoex7}lNRkp8S$*XY-T%QEToOME@nXxgpdepq1pi7(Bp8MKMbCNF}A37L&z{jsE zUtmcF_bSy|q+JkDsoY!1L~^#HXYix#m?8Qi?R|9h9`zxJvZ_I$$6;+}=S?;PNEf6aGjT!iBMfO(mGC2u=_ zSDxSK#K+E8nCN*P;P)YII()sFulDx-k8Uxj2VWYXrQ3uBJTgHOUq)Uxd?xr5a33SljeM=2GKSMblVk!SkX6ZE+= znzldQqs}M)Iolr$L3sY+Nd8w&z_r;76x~&}2O14cPA|U3mRyhc&U-YKln%;c1Flv;;95#+)KiKaMGqb^thSdu;VWX z3P~3Nr1(&`4L$Sd{^iSebTE^qPeO%tSKk*v$+7nhXgP-;7)l*CK&Ri@j$}wot!(RP zMdwgOUB#6)cuvF~JJTn1mdeJ66~Koo+aJk{$v_X*i1n&3p%5#=RPF<>wy9wS%V3#67~0g|Ff4r{a^n6%kR|UpOW!%)3*N5zyG^0 zzw}FAz5Iv&!JobS?9YBuv@<7>>y}usWJ9iJ^CnJD3T(5nqhbG4J2&2_?Rw$}$CBID z2m-M9@y8eKOlMP!MMzA#B3d7K4Y|;#7xE)#9t+EZ4i+)+ z9@noPq<{D=f_`jZ+)txA27`5ohZX|#aV;TMVe0b9ZRY3bO|H=O`-1xC9Jq!-C-Ik# z9 zKGD~czV%1@Dg7!Ac5Jh_2)AH^_D$Y~t)y|T?eNamo7i`6QA+|pHKL?<=>z5Yr)Urp9@_q z{Av4EfAXk&_#uBX9qY-VeH6d-3V0eTe}~Vo7@L+gwh+iAtO+->NZlEDtBqtOI?9ee_Nllx31AA!102fFSJQF@iOj|iEX(`zhx0i z_@}Nx0I_3N-&+I7g)&O~bMs~@hj> zV<=9P?7E)NY1{kZh$k2E)5ipT1z`5d;MI{GNbo0|bjZQRhgP*6o2*J_ub zBHkul_$R-vegY5+(i5GdpxYCmW0GQG6A}7UIX_6hDP3s;QstZ<)+ILSiw+X!7%WY4 zv}&NE3;!w;ckjOcegF2K`sf4w62K4s;1Ax>g8=u^C&KTDEkVC6OCJWP#sBHQ9|EXb zBQx_fC-h4I>lpwN^mLfJ0QedJx{s;#MrPj24PpT69ARTJFb$ur*vt#x!2 z$ulr36!DNbU*c;{mI7{0g*}5)#BI1t4lT;z|i8rq=6Rc{4+*4T@>>+ST2xe_L7yd=A1)Q3dD-oS(a zZ7G#hkoFfgHCzAyKmbWZK~$?j?dTWYYGAJ&If|rl$8dcIv2yhZ+A1POTa*!S9(Q-; z(e&{>aV4kZ8GFsQVH)E~3Knf_#Sfk%L>U&HNYxeBkmFkH7;itwffOF*On7c z`ls*qX<|tx$A1B^s0D|`{r~#E{b#fIe=@$h{?U(q`{l>~>L0!Qu|NKM?Q-M2_P@P& z)Lt--Kqmk2o9g7L8jUD1UFQqhrbL5&Xs4B;;cK|nyG<&KMf~6#n1yf_L45x?3#L32 zEuWgcu0_**ej<(UU2`k77FDNQKVju3)L4WeL(PkrLz})AqOyxk+ov5Fk0%|M`rpWQ z{-BWOh(@kzt$X2ue7srdcyIobvi9l37z3wdWa>|1+nD$#X)Caqmn!UcA6x#K&fFXo zX(U$kR8$dD;>rRBa&wI@efekXl<%)U_sZqfSMD!5?~{D$T_p5fu+5(xi`}xY>ymUY z@>K)<(Y>OpQ}xn2PE6M3&;H;)f2uQYH1A%2;9LFg>n_Vz^?FUeyu=-s_wVy_fBNY^ z-x=`6O%*f_Xxj z(Q+$3L&tY&&!!_kjY;)#2pZ+!sh2p-Ser^N!XcLoZ_eJIZqtg~ieZVYh6NG{w9#+$^QY+QMK)d?RZdyX)&B;`8EJI%}ehyG|aw49<`n4yI zsYuS@n5NqH)S-yj`JJ4ER^EuXyLA^jK7XvJFV?!bw&g1X--tW`JMX!Oio;2-- z?63Ro+v*O0b2Kzy47LZn^bddd!`$MpukZV_i_6O|zYL3keaz1QQu8oCYF)8*4RL-A zfTq5i{_u+|X;IVfAU}Tnn_ki?SEsGH2Zdj}$cI{90&~qtFmtrh4tsrk5DOzA(o)+C zYR}Zn!qU8~w}h1R-I@q5eXIn*p1I?l1iAQNW41RiRQ4^ztmHxQUbVDI;vi%XVk;3= z?dZoAP*NEX7XADTFFyc6W;j{ZZpC#!Eb_I1N~$56E+ptiAt^}qefkOjSU$;=2A^_0 zHQ#H6uN2#H+_wv&;q)qMS^~Rjpo5=>T4+ll4PUL4FmW+tL}^9q7HA!EHl7V&3q4fE zn2kdSPWiB5ZO$fGf0%`dUuI71y%L!U9Ig7rjWGEr33f9tWU;eSRTJc-#CW5jvu z3>_FsWv<3V;>H{M(XP$Om=x;sc(t(5#>ry3Ys$Na)4Hvv5<^oyON0* zbYgHEBH34O!1=Wo^v}{BU)&=Wp?= z-kmhZawFh$x6gK8R?tsegQu!I*IQud%vs6k{gXyz$-n1v2?_lPTKAiHQh(w>dGQJW zQ1K^x_aV4!+ognzb82lB07MYo|IsT9toV&KRQ45A0$|Frf9$hSv}{i5HD-_bVqNm^ zoE`-Dfe*eP@X!`|T@#iL@QD!Hv7Xi~+qf1+V;kQg#^+NHg%%Wce_S^WJ>EmPz{D;8 z4|H2U5B2kH|GwovpZw=xe|(Dn@bdNNU%C9xf9e0ZeCE^7`4j&x^!=oNU$n|6{txss ze=Ih@rjD)T!+F-llCwC5@s#!|XL}LTAm7O-xJP2l&N0DRzJcNK6)pN1@3w2gDp!t- zO)Orgbm3g-wlnq4`(`-iV;paniSzOKhT)mB*W;TxysfAuLp{cU^F*u@Czftz@x(!o zKOXRWVx%4IYY$IEu!EjBE4eMEm3XmRMC9F59om+Gv&(ICltYj1mUe5!o*Y5z{(sdT zAA;eI)xj=qtU#_*KP=ZS zBd`dk4J_!TV}Z{Nee%gZOP}|n@Hu7Ue`5?V?7;RwW2;G#+!F!@zsyFY2-`=&o=!OAnnIr`qGy)0q;D1 z;e{7ET~=r;{PkJ`J)i!U&sP9wKmPKg*K`L!#F!@!F0Wo5-JRcK(zMhYv6zCNqf>Tg zG(G9u6)W})Lo;1=K<&UWo82+(LC41`XWsz5Ms;qfW(vAgPF9Gp~$C@M&hVCM&BgkCs$)u%NZ*my8OUxW(%k-2spkad6|n z!NZb7(upEhhXWm3{e)0zy9mVgL;=s>)b7yO#W^3pSDFqvhmE)a>*eT6E~@dxYTg`j zY9a$peOhpZm4ik=cV6y$GqzNLQ#b5a`KkwD37`BOL)eZ}V5ZBSO=<%iZ3;5Z%u=CK}?r`M{$68W4OYyxP`3j*eV;eE4%oxv2;zh zW9B#xJHHSXefd{$aY|DY)m1#6?%O#F(ls56b0zKvhdG%EyI9G z>~F<~aVwcY9)|@IC(9-8gz|ku2Z2bnZI8cFdKr5$lj^YaeK78fU9IM=PgG zdi%IYYFO=d)+zQxJHDUffMlGYXI>=^c)aRl#u3_ioI-2I9oZ-CAZ7H_+o1d1oYqP^ z>*mLE*zYND6GP<2zB_XavP5NCOUpjAPkp|?q2JicOaG)w=uJ!gt&jMM=RfL$WY;;cx@auPCK^C*TANw5nReebIVveIdDlA_;sMyM@Ruhx#>_G?cm;>?4 z)}iA?-7vBI5cx#Bqw0XN;0C=ncyZrDE|L{fM z-|$ZX&Y<}#0B!3T0OweGI?S&C^bP>{o<5p%z6kKim%si=<_T|jp1gWTdgCemY#>u+ zO**vT&pJ4>7%a^#|9PSzvnO-fcH)?nD20|*&3Z>DbL#8-NzgXrIK}20N!D zv#O5-VW3RGOAJyOTy5E6Ar4i`w(goxy=KorK%ejn!#+xo4|wd=NV{#=NyFfnB;5Du zlYu+$n#&5Z&jHR@#Hs(fXTR{D#+wyP#LP%6pWR=$)t`8=f}T@rTC6B}l~k=r7B=!Z zo}p^F@z)h{s7`$a6V;>|8TzVRR>SbY5F`0?Lz|AZ6a|cJt8wK85j#0;q>(Y*9k=Tb z^E#5^O|h)njRWlSRXLk!M|E+K4Sp!t&%>_pd;4cUErJjFLuv72)9}!YIWlU~cM)Li zQmVX9TRw#6xm+0%Wr+-R}S?YWm@@I962{!*pf~DLdSW#zhVpJ@U?_VPEtd@ za-1OA&>DB@sKs{Msga+2i-13G)!#a8{n~0w*vvA8U)#6sGXmj}mzIp*QXcZbKV)Hg z9$IS4jM6_|E9fTi1fi%6Ye!G{K}~5l4AwUaLR8Tsc^5+PR`jz z(-)jfq=&b`^E^zF7cIJyU``-yevUQKGSxWoAefuF@xcn0R@;NCKG(rG9`I9`@A@*g z*P{y(??(JliV&aVkVtC#B3kxci?Lxs+25g{suJ?x_`Gu3hpZ{u*n8-b%V=PiBL&C& z_-H9;b`Z@eM-xgT=)UEA-mVt_E?fYheBu+IaD8k##UAS`0B(QtH-9rf1;`+m$M^p`=vL*8i>uZ@ z|KgXw$colXPOfx?=>9!@4FJM{;GIBgU}_1?5l%Zqj@X|62F~7sh;75q3obhjI+~1L zmfz9$?sbcSja&Pel5s$Wyj$Ur0lfiAK>PuZ>ez|jA;Fd$-bw^Ty=$ov4m`7lZ=VXQTFBe3 zjMR6J6mpi83=U-YVn}URz}h!9=))aZt4>Ya1&%$IEFBB)qD&1?$-4`yG}wC)ud zyseZ`Kl<0ds z(@qQB(95-K6btDZ`4qLb16MLuE6*yA#V5o+duW6T)z9ezg=QEj@7f}-U)ED z!JznJg4)0RhkoPbyPo}kY4wGA=dj4}_1EC8uo`sZgpxcZH<8$Ru=%SE_D_C&TSDVV zysMAGwP`lB1kc1#C67g^9yR4!w$zBvmTL4jj+K8+n=_7qS@S((lc>Gl90tn62;|LA z3}EfC5l#P5NBEi-eUq_Nz!eEw@MM_zYtID0jL*o_j55~B~TFZ(_*I2MUE9?MLBnUL(F zi$|N%ixHd)ut0xH~GH*Kf1j5qUc`y^GSa{ z_2;Vtd0s^x9+x?Jy!=aSlu?T(3YU=Aq`?XJZC-@Gf=J_?Zl5a|{z|?P|en>qTM`FwV z(Kzw)^fc{Lx7_%T-Ob&t`n^+xos`yf?q%&Wh2P-~fXXHMOz zjM$a{>slrp=={0h)SbKEt-HnV{^BqG;$7|lxbmSkf1THF#|r>6f|tvW{n(Frc=#oN zkA3W8kM#@yhV}6?&pcBZ>PLMLpq>N3GXj{UT&d>af3z#BpN72m_!nP(?#26$9(@6# zCyYK~xqp{m2NX1~$(ZMl7swJcZ{{2m8c4nnuNE~GTu(6bO$jkvt`8s~osl0APhPTAjoYoG7YoU#X`g7ItMGcVO?l^`0{agz;G#w#4`Q z@q^Sr;K6}3MUJF;T;QNIDo%05Gvd{suY!ci>~1EZHF9dK&7@dne%jyrvyc!9->c!It_J*MD^ zV#I+pyxR8DI>Sd35N!-gv#)6!u7xQ+La-_23t_jxqYvLwk{4~Yt&Pq7vX}&raU94L z92~bnoi=@(R!!66i>~#xQ2`4AGz+CmZ;CmF2|<0sj$hI&MjB&M!prxdL$MDXl`$Z- z&e`#!jHAW|p2W{Eh{v|oJ!?XyKqGF7b<0@&tvAw=>ln~#8+{OrING&1#!8jJP{Q|^ z)(Imp7S$EuO^PjP)35NL!cW=#$v^eOel4{^)eZGaqHcT1(-`|cUg%=&Z~yJzBVxv; zFl&BYDK6C;)ZLB#pcKsL%HWaztyslvy}tvci+TMcAaDx;AgA zrGQSQw*-`3EOU@zXY+4s?YS^9jFRWEL)ccEf9k%1Ik8$d@-*FQ8YGx~143jNa%h%? zbVJ8*ldrVNUi7I$8%5OT}VK<9vefV!oPMGV> z7k@=}0LYe?|Gro-7XqwR-|1lAL~qbfUUp5KwH&LFH(d<#Mh1>$4on2_1qSa$e2<@( zKl$eZfFA6}1ONP*@BKf}Pyey_fBB{Rmmm8df9~>k{`b#%;s20N{CVjifA{rrTNeTz z@DiP`u;h*iZgZY_i*5W;-7z08MUA5onX$06HRcYZ5FEqeJ=ws@8TKiGZoJsk&~8$P z4;iNxVC5jlPczE2uoY`1d`OvZt#8uPFSa3`*xcs3k(0D1<%d#VZWHUAi%epoz59j5 zx5ODc_*ZOWMafQ z8Flb?j)FrUwre%o54T%1Q{eM@vhbdeuL0csvc8J!d4^w!(Ms0E2Q|bnjsV+0B)Wz;^b|B!aLPRr3^sAq`L&0+01d4AA7*cw~ter0wjDuEVH=A&mZ}LQBpuMailGTB;TId5U3a=I)vPB&Z%97N0%lqm$IvS z$SskPseB?CqmR5WO0uCki(q>EzcMvU`0GE!DMi$M+ACzv# z!eD`Yz>bj7L71@Aw_5x}2#?}b+Kzj)Z&us?MqK^mgJfMr2w#^v2+cD&m{(tVb{xidl&(S#mt9(m+GZeI{iHR1| z7Xb@5%OM=^C6GCnDA0*s_x~VlI+kr>LCqYMi2d}Y%+@#k5QW|9Q$kcL4BJ0N**O z3k3X};h+2O{?6qypWOVBTBA~eQGl0oQ!o)5MhrFLRclbs- zPBs@iw>?HV3?~KI>bUu)8^Y!ljV;!Ew}wM|+nR(el|fnL?JpvV%-fY{TdY;MQB0f* zbm)-_LgGf^rtH>wGM@03bMDq=^%`60i8ojt9|_u%ahobSx8W9TM?4`)>smgbqSnYb zwCAGaWh`2XfB00l>6Bd$s3Qjgy&$v~d3v#s8kzJv2NqX;(l!!edf8Vs-Eo~wQHs(2 z_PeNCY4ZkGBF5Ko;vT;Qpwjbm@LZfb`87Foy_k|PU4-Gsdo;U0rL8M|!5F;yO~h%( z-`Jtea;rLO&o2OIpO+0?aMV}SroG2aB$NlzY_*}SusFn1pv#mN7OYc> zYF5TwBxK{D<=^{*zvm-*cHEthfBfV5fYj3OoXy+$0ssT-LGDihe(rOhyYrzBedwY) z04^W+zy~}#^&9~I6d*&&9RM@5k9igVcLDH%<~K6mn)dMWjW=HZlxK%06n6l;sD-Ig z#jIiu>D5na^(oZsE}+arw^#1^Q*R5vroi*j!xp+fm}I^--NEYYf-`}QX0i7Gap;a9 zi)=dhw}91zuN^}d2Uv4gSXSIb9tH1335LB$6oqRE-JNfO66#&sc-9bsC%nq8LqbUh z5iS&f3G6*R|6k|-{z?G`5drQ4_g}NO_}P=9{1hOV62hb!=)_|aVN4OV{+l8`By8A7 zw44z&>t9(C!}QoHrfSssD!Hc7(O(=Nrg&wWG6sN1-+8^VdYQ>!utaw@PJ zS4g67(a3l!y+a3W#Lz9>G!dFv>hKa<{i{3xw26Dsgt^*wu6~|l7Tfh90pJTV(jSay zrZ3XO8D09D6PnG*C*!~sz=~0Q_=E1c|4b8wKao3|-~DLdVtf1AGN z{}+G!4_|)A@BGcaBf$QT-lY5*Q@tglhT9|2HtK%qxcuz1&loo%8MiY_(9Z~++X0$% zM0K{c(HinNvd^@cIP*e*$3l8 z=eY178A1e@CcBTsAVspF#A6Oj@|X1TQJi20=rIP{8_KD3@cj0Yn5B7hda$mAkG z=Wm4DjJdNi8^sv`$l|`4Qg|8>NChEJ$CAY5hc$2&xDDcQ)6VW?3TY{JjV=;axy&W zVWSprCV8whoQ$h%7H2WQ?wAkp%-!-I-I0s8W7&po`XB31mmh9yWT5axd#YW(_UqbD zQUxD~rj7pgCp?j^%3)o4>?hobqqA@Q5&$K**cWnv$JPQW9eKal%DU;nL>3IE$Bsn= zI)!}{p6!@|(2b(|g#F}yuMF^qW0-GqlAt3=Qn1Tw#=oRr z@>q8OJpTIEzwX&OKLzMnz%K#xA^^9v^;7@G-CqLu#-j&c)YK5!JBoe@Kz9Im@!x}J zb_8y3)l~A_(jg)<)s`UZ&kODlYQyzN3Wcfe9SjmpbUK+q%%LZep~to^}48fxQu&L?xpG2iI8O#V?fMQdtTE(>67I6D{O^BebSEs76f5wrBb5kyK?D7d#N-^6T^5Skfwh2i8 z_&o@5fjE!^Ej~uC+gPhVx64#^>LkgXQ|~r(grINS>$zi)QN+)tjhdf+;*L|GMRW zZsGsQzy6Dtzxfw`;qsDh|L3-T7X4oA>q-B{aGy{A^S%FvdYBpUV-E+tbsh)d!IJ+a4+EuU7slZx#a_zE?YU~BZv+bH3( zg?5hB=A^ZGhs~t}EiZBcR)@lEL&R$7NpP`-cY1D8`9ZgrBJmY8imNq;(`e{|Sp4pvnlvJv(b&CU%hpVp5F!rv!!^e2~DP zZQJ!305RdYNZ&$qqGU396j$01PgTrN7w4h`1hy<_HWwtWQ)djqZA#fMYkb#v*sQQUOg ztFP8S;zuN2WDeBBZD_c%8`HaA3N>R8Ed2JdC;ep@sXAXPsW~|~OQmk3UGuK>Zpt%$ z$U8DM?3abAN8Pc|v4H(oSMi?GZ+hOiY)8CO5L<>rg?Z+pYI8o@ zv0Z$MHEwhlo`B3#wZ}5Zk|CImD!LK6!D@AFYlC8>Q*P+t>^X3>k@;lTgu;V<_SXTl z{YBrNf5|-2^FiBxe;9EG7a4IiUD=Q4!Ea;1yLM?*fabb*T!c?eJZ{VHE&nfZ%l|`8 z{Pn!QYHs&`QP28wN5Ct(Q}VelKh#hBefaWYf9K=&%gKLU^!L(Bk9^zzLp=iUvf3}{ zX9N4#126k?JYN71pUH1+b5l${-KScg>?;H7+^)9q0C;t{WS=|)Y7(cTi9JjD-TzN) z=9}Zqz`}t(W$~diGMcYe8Wnvp?y`L%3miuXA4>c;qItsA`i)R~a$GT;;NXCzB_6DU zQQOwB>U!65Fz#Z)_!tpQ3aCY{jQX_eSl-HQV{&ELNUAOO$`Lo$Y@=E>W;ao{Z~C>$ zTtVigPO4V~HEubVH+9>aM?jhbIJKch4wu-Ym1M-yl+2*L7-MlLAQN5oQ` zZ8E&E-o>$+pleR>Dd7Sin7D2OHEqXJ0G$cI-adShsN;xFqf{rCscpx$*q^JxU1hZy z3E=@P1Kc`Jw)F*t=;%w`laB>OLvTTyAh+8Ad=(Ao8{Vs9(u3!od(JNcwDecd>NR@- zKpWJXP`CWM{^&u^rko2Mpv_`AMx$~QLN)#0Q_;|E`T5Z z(kFigy%au=<_z`u2YOKtQ%Z{+m|;B+4wVCPn%;-)WwbpB*%7cI!a}6$6JmS@r%Xm$XCV(H+3&Z550^d+$qVh0hnjA%;l*jc5Gj=uF73pm(B z-}&jEu2SMXIrTE~yD%MblgfJsin@z7yfSTN3F zodgRG0~^KC@==UY2U z?F*+iyUw_g)nsNB7c7XFP-e1RDsA-6k;p^1XxMbDoa;hKPIQ~&ZQG`2u7S3AHAB;~ zu83Do$kL7n9Oz%`D@!ojDD(1WycizmP3|nw#SXm#06W33;iS5} z;Gb{!0m{!eqL1C<%O`%}^Xp;(7YO`~eDMYr+sz53iezVO#uZTuJ_uY_h)4p*LC49( zJpRau{6n4mKR?g==Y@Y<4B+ISU5~ReXI+l%kno!@S6NMCv|( z$2dkGYsO;dj4UPIX*btXhR^B?yS4q;tY9B{ z@C8n?WoQ+0c6Zn!^B7eRoWf|%+`GKt ztNc@ddWq>hepX(%F#Hu$UXvF9*2dRn>MsGz7Mo4$UjooKPjA(&Xdu9q0z9@V zzXm{;m;YJJ$$!fae&!cGsom{MK0(%`(WKX@wf~qKqcbEY+#42NCpXV9&9UyFYHi~N zqXr02pTJ|{scAWCilNsDzP?$&Lq0kAj}NEq6vWi#f|aqoHV`_bKFfDU<_9%nvaG<4p{IpH0n_y zLw6QJ62bDr4x8zAd)f~9u(dp67Sxq9zT{_cp(wE1m{kUl3jQtF#3YdqRZUFFSi=tP zKpt#uyTj~lnppPm_|Ol>?T^+y0VIyQOGYF4M_!vVk7%&FDS=+X@J{z^lS_PyFykT9 z+ZO#~bb{ko-{7-`cX^&UYzx`Upts&9@a1$`@Aevp5jFab(~&ic?RaG$YkX^+jGLP{ zh+nwvHgEaodH=utgWq%c_HX}nB(X*i_|Anj#sf#HG$&=Zv2STq`t|L&Z~@}J?mGCU zZ+_SEk6pd4Yv(kgjFmbyS=%aG5=G;6T=#ekyX9MMhd?IIO`_&TEZVC-Fy(y8;hGZ6 za)4LtoXzYXw8x{QC0RK-N$Hm^If7$RU6&70u5+Qc+?QRfh=cCrD3c}gjG7p1J4eSs zZTAbj{tiuS<4zku6~|H?oEgjUU-JUHSs0dUgf&vKNEvElm>zK$AGnXi#vQZ7+Q=D$ z_Oo9Uznohe&!!o-{1QMu~#B+kZ~}If4I)AOB~UKldm9zV29fPT%h98-KmvkCT2DPWD}M z2Y?C-KF0gVjGS-RuN+Nq`Y}<>~hAIHVf_eZaXy9*M^!RjVD!l=elz0TQ>DJ zg7l|tWx=W?b@n6VVaYo3O2QKh6$iccw|qpzgnGAiI0nIU1DzbOX)#X;uYIb$sbv)Z z0Cc`J*Te%W$FX{wm-9lBd5R4&S$3h*V@edaHpV{q_afQ@UIchxrCCGOPMW?ns$fVt z?W{Gg0dh5M`P1@YSZ$y11Ar4co4I3QPWp4=pWFUmIGs!OG-d<8&Reg^gtJp+Lvz(e z4JbsoFVa+$q}rYVQ;KQA~BuKTiR!Y}h&W?hFon zNyNmU;OM`L1+yT`xm17{1G`cs^clzR1AtYL&kF#PMX3{XuU_~dbbhySR+_4+8 z!H68}6{JmtFk$-8s=Re&>YGmGQ=6fAdo?Mjo&R|GpRvIbF(hY6KX!@F$dbdhbsGXR z784%8&7Wv99yX;vfs8x7w53=L!&)mim#t!a_jnFmY$Y#u4Ovka1pK}Y~>hY>td_+R&GrT!`&&xe%{|TxBcsjlHS7q zBOm%%J@5Y${<*)r;4jbhyUkqy4|NxSE(GwCfZXlC1psPt(61?bdqZQF5*>*)K+@fE zT5Ddpeav;cVNvXB|Lh4i%E~}jqd3ajfjWHte{RBQ=NRsUfLfUC+{3EL+jF-^kVEvJ!^{bJg>;J>&_l(uL9qs7tWZ(8oE)iI#f z!fBGxoTOe3|L^>fZ_xSU{croWZ<9KzM0@?OUy~OAv{`1;T^{!i0R0kxW$)3808jmF z!u}F~UjoR>0MEw&IQi!efa4;-<%_Sp^pVUW-`aBT#rt2($*SguC!J>{lSPY8;4_yw z+2w40PO>@SpLXlv6AXxkZK}sP;WwrYIcSosQyW)esy{Cg@Zkf|l?{{(x#YVWMA4pq zlf(EgJ9$1*8v3ZfP7w++<>Vbl;<2yzE&xe5@%IN&n8~Q9-Jx`NST6z8h#KJ9IcJBiW9vrB2*4HM>AldJ{&+&+5*R~-~xDP4dozo$cz%Hdw|GVmK)7Dvs+rSO1WF9N*-~lSD zd}v`*J>H1DWrKHew(4JCRYrHYfV<=EVfUDf102Ki8o|`P9d09>edbjxsnd?WaV>R# zLF|ALPV(l?zDoNKe)qq1`Qv)t|Cwjr97OmHH6zOgh{^`W7U&Z_4i0+=Xj&F^I^cWB z#fSIk5divZUCZTk1Yk2u&o=nb`3$vlz2Xh>#r+pPe_RD5`t3PYi!!P}kCZ2OqqhlDR5Qh9NTaO$)OSos7q;H{C=l+QA>4VKRI_lb>-B^svZOOd6 zmY%Zkxz@J_UNNaRPudjXZFaV1d@Q$tSGWD8k$dvhyp%9)v>P+FcO%s5$*kjb*Lug; zUTN($HrLvnt#htYHJc)1h|TQ(!`~8bD>BkQ!<^WY-NHyeevY(!(3DqmC{iM;H?gR@ zjfv^7!!0)Bft_&I{vX4M87@wB+3uZ9FKwVfvbWs)Nx72q>MxHuu)q&>s8;o=xaW{`Cs4uV~d<~q|F)R zjW)xa;ej@yAruY#MeaFRGS*U#V`+w87^Gk9c{_uzQ zX%mWH0p+RJL5^%h&nMN7bt}jHcfIRfkDh(@+568t^UUS*pXZWU?oiiD03Y*KTkLuV zfF_zx{t@;a0Ne%e*;gKZ^lR^ZRgm>Z`K5dOY@H^I&Un4!YhTc}*2HCUibL8GXHNQ> z02ctH!DfBSj|ct8Y2#xjTaV<}S&&>6PX7Iyo2N8GAS`pvdh1P;-O5=|tEkc?2On+7 z3E#z60G!Z2LN05r6tVB<6+W0=c(GqD4IJ?pY2xdD_dc^yP+zx;X*QN%o_>&L0y(g7 z2Y|0|Di9YN9oq+z91Or=(6BRRcp+tjgq&*Sl<<<92F63lwj-xaVawre8yr+T787R# z!Iu%HtfY?W=%WjkTDFOi#xKURc5h_((5H4WfLcfVdfP_&g@=vf5O>CD1XL8yE7=tT z8KE2RY+HA-u@fsM&4~}^BF=a_?v1=A0N)hiuRPF^3zZgPc{@UGO6AyXX_U>yJ#~Ux zsXYh9qj7Mre{2&Y{>>K)BA)#LyXJ2pIJfL-o%+=*PI>q{>b0|b$>$gvNzWW_U51ZM z(vEeAiO(q{~2Be-H^iD_o+SDb;^N9Z6MLe18_$YqKiq1sI>cOAej=OVi`hLgZl zu~EnS&IoCTyVRD=vHaM8)t6Ti#5mi{xk?$V&HtPa4xSOo_T97%x3N$Ec(Fe9!6o)& zEG&){jMqJ#&fI^f{rIa_f&-%d%1I86f08)Nh*uK~^`A(w&iK|JUXjP&JS|{cvBg=Z zMYR2S9VMUZbu!>z0*JRS5I89IoWDeF@C>yBSgJn1B9!sgXMT)*#)8}UO}aXy^NVDB zT=aI99yFDLPIufY$1bBQ$x{#Brk{>~pz}r?mnEIodwH#20GO?Nxu;t=e7hPi`qPR0 zef_rMV@~9c4d|19T?BX}n+LiB;LcwH;Py2=0&wrSM=yU#v(WRH=U`sZLjn3FfP42J z>SlID^#p2ke>|N?^F04l5;8?q;gd>rc5S=wl_$3*rIqV|ASYxw?Pkh$N5#?33snsp zyS5G}!Ai@;T)FhgmQnYAN=?^);$)DoXI z=q6+5ok+n&VE@&n5e_78E*4$OvdtLF^2IG}201hf;RE5 z`x^TuWX&W;oAEOte0H&1NcJn?t)AA#c|vuEpySfI9K+aK>)@FzI+~eNfHr0_?Odzf z3Jd44J(2c2EY9+9gM4jof1%RRis${``@Uaw`Kx-_-+Oe+zqh~S-gFJ6I;`;7xQ;Y^ zn=Yr=Ji%mQ-^#t6M)&Ub@CX25_Lg0-18Z($o;*fQl_@vdo}A%6b73PM4))=L&s>x= zuq+kSyvSTK_?Xqo@vxCB_K9zZ!M%uys%ytClL-?{qoc@-OS{;YlpfM?{_ zF8~Y>w#7lT`xybtw4!&~SuSJpfEz#a$Mg7n#_8Msxf3#P`R_~qIQiEt{IdPXPk!?9 zx4!?UF3)`_FZFwgm-_ixe_rtS$S42YNxPOD{ zW_ww&x7ms4{ha~9Yif7ySYhQcx>pwNo+Y>b{;miOQ)C@h^ovTS0lQW}af*$8rFX+kF+wnAg$CDL|)QGv`Wn@M7Lxs>}niTDx0*`o%B~7ZUQthfc@Y7@>w>R#YF2Jrgq5O&T4UN z%nniQ%MQPm=FO(^INQlRQOmz&D8aI$+}C;rsG`#XQrTUYvfvvF+%w~NSTjNj&0JK(I#D*lqO4J=w98zUlkp7FqjPZo5vz1_enj@no9(VaYQ z;~uW^o#-7VSdgFU`VljB;!wQ|&@WrV6r^?ZsBCL*WZ-O@y*(1wP_MGW3vOrGV{}Rz zXX+j9+UV$kTW%TC?VAttIoZz%@I8IY&QAgA;=sCC&>*elFU*c(curr6Z50yL2X9XN z_04{M;!n@|^O8T`^3PlTbIU&$1|I1m0nhvYwLkxlE?@qlvy3+oRmk4%=>TGge~fwnJ9yWYjgjT_XGC_${o}DBfUPMcXr~^YS_- z@w2a_2BW~q?c5^Kocm*JY8eK5U8G9LuQ{S?yL#%=C+rpPkajM@>(tw3IUoDKeEo=* z<24dI+7^-$Xbu%qTQ-VrV~?Y;6ayRPhHI@YpGXld&%)HMu1~OyCr0EoxwISe5Ch?ur=4>z;p7?1pxVl zhwPmzx(!Tgox#&CkBNKJjWnURg@WJi58#}0ALH0K;`m}CHcvhE0lhQs!H@pvk3RU| z2S0dc$mQ@lYrK{(0BBxiBF%dM9{<{3`)j>D*`_SIt;03H1VDd&2>_XAAy>ckC;%t@ z=v{R8z&);jf9O*me|9FLzUk(Q{o{Kt-+!1HdOJm?uc_{q>X~ewgdsT^sn{i!o-fj& zD|PHpx(uk=Ol12+5o@*WTeARQH~?zQ9zcYva`ac+F<2@FR~?`1t0oN3`6J|-17o8P zp?q9XOc{)g?A1!a2S>mCUp1cMY%F}hc+2Db6d)fOd@#AMiwrzhJkJ(;8_O_ta0zE@ zBB=q6>8ihi(_S6NCcYfBmcn@S^&c#BmRaQOv9?iw!q;$ClS#Y|Gn%U8Pq!5OeVHDbneGm#q4)q>D{6 zBNM)lX}_N7mos&EqNmjyBQ0jN^fLz0R3G0{c9-N@fA(O(uw-cXrdwM2`uE*`_;>hu z|F^#NO*OEqGZ~tgQ(Sj@R~VJoHXldK+&}FskZEh0w1=E8O8BKC_b%V`O<#XKKOG?} zwt2RD>fLV&)nlJvdtT7bcuYn$3ApWJQ*QNzX6KvplbLPsY@W8cfgI#z(-?#q%;Ey$ z_UP(LT^rhPTD<5ZY(dwy>fnVeu#9*3Gfw3S-szM!vdUNcuq&rT%(!-J>K8IO?!y^< zxGO&YBxpWm-n#g(fjgm_w`G8xMfjz+;vafscgZoSy#95g-zfe2+mn9yp|f5q`sny2 z0KQS@@1Sk+xx?I{yzCw1CgOB$XUyR8ca>ZI`Aowjj@;(|@P)kP{{`Oo&s+Z0=TQJ| z?SJme4=;c7um0rahd=aDpWydpe>@i8=lprrUqAVmcL3y@e@;rc?Vra3auEQgA;id< zw>h)A?zL|z<3a*!YoKj^`|Z{O9lwo#YXi>uN1XY0AgEa{YM3X7aLRnMe8#%lK7ROs zO2J@^)LN)*U@~P}RdRZ6ndgJYCNlRIvSJ)MTTHCQNP)b+h!?6S<8Ddv!b;u?H-7C0 zULyo9c-!6K&+e@bPVv!N_~?hOeY=7$@w)G}UtZ1U#5ZgClr}Yb&qKB8HwVYX0WCJO ztoUtUF&v8v;nUuFW64-X^ivQjBNcRAddiG_>f-$ zprMs-pS%CUIx&qnP@3z(kQa_Q*hIt~0SJ-X+TZ5WOOdO06@3fPbgbwk9~8~-`|NJg z8BP_umRG?Y9oG|9tciiZIO7@vX1RBpYHf`##jKrJ8R)p;#L&UcyS6#wlf~YC*&i(~ z29TU~e?JnydjoQTz;_Y=e0kfW7mY-lV;7|_77HqpQP5OzlxeURS6w-EHwhVrE#za- zfo?yx0H!2ONyir{Vfd!TG6$7x>gwCC4L;@Mb~`v&^W?UQ330&3j=^K?&Uhgg0`l6N znwZKWjrva4zVXitKo4ieW!WyPG@4t-&QkfTP=|de?bzYC*)NeejglJQ+xVwN^hoLt^R};j%Okn9 zccNXlPmAV!ZISH~4q~ZC2NiP9OrYZzWY6T5#aa}>s*=(zGOky}S<^k4m zaLgs&IU1_+BOHD}cWGkSr|fa4ZVkrdlh_-y9Lj0sy)cWN+MW=YQvdeNQ5}z=%%b1+ z)6(#KGAx-9UVDG ziT=Z$cGqa@i!LRy_%0bqVeMM2snOq9#ty|%*mfQt`(@rA>eW1PE4+*2o~POW!y+Dz zr6zeMW|2~dy0uu$vX3E1t_x!*yqSQs@dKx}XWMESHJ6pQjN)sH+2c9OmCo0Es<-6Tit7EtXcQiT{u1$o~ z=)}3autuCg@-}d6=yxgR*{6+banc!K@+wa2ZY*4LvY6P+6l4x=9KKV{A`6k?_{D`x zU98|#L&nO5f)^HE$xwCoO%QE}(gpLl?0J*Dw-&Vvj(VY$aG-mDB$S)}12eT{xZk_~ zmUsUCKmH9L``E``v**JZg@5t&Yc}CKb|N-Bvp~c;exvtD-q=w|>cw-w*|(@^b; z0J>Uk{g+>P$yXGZv|Ipq@xFfwkdtFiGbW-ZF!M^2+>_ga4bQjq{6pd(1TsxYY&-HQ zxnLkgyEdn1xvCrO8VBzwSmPOg4ny&0EtwOUT8?TNtv1jJrTD8OAAzvL#NX)j++Xg* zOl0fSH4An21k(XbVqZkCKNj~cze*PXT70L4K1e*!^%wFgLwHbDHVH>c*BMxj5P2}- ziD`2K=vsQ(*3Rt6k7BH8(w!xe>0^UjtLmv&DB5>)BFY+H;s*)z(JserXG?YQiRHEh zgF;?sac&C>KC!FqRev0dQK-{qdv6|%R}Sqrm-eFvA^9eEXJz*F-(w-u>vRlNJ343E z%2!#{Zsj(1(+|HXO1n4mWeX+G43c+Z?Ol$0l(*`!XKL&c*g4>n-{5 zOD43jiA)*q@M~b$79_*J*k=xc5ZzHvcE%e&oD?R3s6mnrna7(Nu?q5Hj=+efC7kN$ zI|fFB-+pbtJli&9MSRxgXThwJUnS_ra`8l0Kk74w`rX#GhhN*+H0Rno$LZ8=jn5c6 zrhu~l-y(n?0P2p1q>2^W;5z$8QaxjS_~u*w{cU;qeD0UNe0l!4hq(x#&l~+V{W{*n z@+b>lT_onFRc`m!hi@IjUeP!D{??yw?{%{O{PTI!zi<2JrGGm4e_6{b`qu8_AN$PZ z&;7~2clo7HeaYYMbHeX${Wq;w+qAJ z{nNTvU+r<`^kN3_4)cr(R5H(qoqsjP_trnM+?81Vu?b#LTNmre+WWu6r)AsJ@Zw*N zNtO)A%#Yz#n<&G@G7C=rYI~zM3OE=Q4=&L$hAiOl4{64=`1p~3bV#uY9<8&;DsHOP zkh&Jel+3xRt{m@hh=e#D4_I|S#135wa_0bF$IIcZJiS zNN0Yo&zz;7JeRv&@YSN2o*DHY9ouOS4?*^Fk01QjOUm(!T%V`pufB#XUefp*&u-t1 zMF4vE!n2yZE5yP(R>d(ces-1AG}SAW%{EoBSA2_7CSj> ztvw$UGeH9A91V(#4>l|=WvIW7^PGR=GRWl&)jBx%7F_LRI!731kA^eAPx{AvIM=%a z%%Ns_Z?J40KYm(|0GK6L3>EVg)tqp!<2QFm*{{xFvex*sw1DIEBv=@355;5Lahsu- z7~>&82GDQ=xN)17cUliy-;TW?HuDog{snJCbE^S`+_uGH_Z@B#JAN-!nd*Ay`gc>8Xll9^5Xr+r> z%Tl*t&tMm4M6N1hoGIBo5!{taNA*qN9~$8$$GuIB zZQFXver(YJTO3=MJO*gP&%CgWr=-M@0YEOzW9%iv*7=Rk7_REfa|sp5KF(Fqos6_o zcdX3k43CMHaa(Y=jo=OUv5&0d>ZGM9IQay(zF?C7RXGA@jH0bizRAlSCH+>96L!-2 z3@-xot@J|W#qw34|U@IA}{>Yg@704Ie+AE<52-lMDjC#jXSp`Uk${QT&wm7 zL-?kU$5lCO_^k12#dBe{4P(lPyn4CTas20>(N_#J48+0V)iASdpVS7q`$70O$IM?y z<9F^K8>hB0Iyl+s>@zP7tiR zeZ)s!kjB{1iKD>h{zA_fNTs8ll2J*FV4*VRkY9a}rCY9pU_3@hijA8X&WpV5wDsZA zcyJ(SdSeF%7Q$mBOX5^&^Ul#cD$|M}wNSaeLw`}BxId$3iDdru=IwmrbsIHa%Z0t38hZ_zxw<{J})7M*yfVpM2^0 zkFvLL*y9iM%lBTmJkn3st*PTlmqXUfKl{nSC%fse_MPyvqpG`)p*A^ZTd+k>4Yy6z zF195Fvn9;S}BU34dC4vu0@P!2-JMII8QTy3jg!yrS>z$=@Q`=rv%ur(u$& z2L{jj^GDjXtU)o7R%ydsq5x6dd)q4yeL#|4A1XLlaRESA9Z>qgV{(O@{!w=^Vstbq z=r~{w{PG)`vGID+!$%AD)P@lT#aJ}z44(o|9ZQThp4-w_w|pcZhx|dv5Hu%zXt&<- zqC^j;+PEfPOS0PfL#QV5A}#yXxV4S_AUfwpB}-!!%%}h%K!+Fo*tHjZomyjcH;I+U zh_bM#|nRNY18{qVd0!{2fFzCZh2m$yFi=Cuv3V&Vjd z>U{9dh&hU6o&T*9uUxNde6XXo|ESx)s@;i|=Y|~fO8^jR5!0Adu=`_X>co^?Y{$V0 z($c>Zav@D)`5g-Efl=N49j&*kv7}T@f6d_pPk-d507jh0-W^sY>?SrFi@4)gyM(;T z#kls~D`FPMQW;sMgfeFj&P`H=dpd;bT6`NF@p-Owsy)84KdzcmP_ZIHr~JUvd^ zeYIXq4qgg1qi~MI?El{A$YWEBj8DAbbn@~T;31=B-@GM5j(_93jVy4Y@%ZxWFML)f z)_Tjn79IoeT>#6X{&h$!5Wvn$!gxdf{Jft|^nJq5i9av={Q2fzj|Du>^Zwue z6PF+Pfsg6-etz0dcM9mF-!J&1uXcX!Pj^4+LI8iCxd6Zg2A_zK3H+T%+F`ab+C)1b zTY|THdkkleSt^};V!^s`(%zb}u$Wc10wDNM?{d?%9%{>OH|%6?cXHpDU#WG)M%bQK z%fY1G6VuT}MxPd;6Mow^_gxoo=Sv*>+8N)Y1ki$RJ35F-|HgXRF&5t5V-d~)>o%n3 zUvzf0&qi&Yigygg8g_GN9%Vv3q~S-GTK|Bczo5{e^b$Eb>jxs9nBb34j1QdzmX}{^ zN8nE>rT62CabJh|h;(rr=<{INsM@!-)b`oirCIXcJ@N zQ2RDq`haNP4H$-LrbTC3)SMX>!z%pTP*p>NMi{9S;RQFh>!jWSaC^F{Iu`KS?IV2S zntNfwA@dPr^%0r#5RXWplCL6R`_ky#$bv^-^_KU)?QL(n_mPi$uPdn5GIB0jQ_=E&xqJ%Rch_7d|3+^xk=N5kT(& zSYKsZvv&tDyz|ZxQ0K*+YKCWW?+GiBj~$6+!(}aC{}*&TBEOn{aFcxF@sOAEDVUX$nA--i*t0I$+z;>r*-oj)ElJ18%O-$0;i4@ zxzMMaxE8Dx^Oa7yHX8Nm+f0&kb@8kZz3Z~L3>MnTPD`^6kyCuMPcGqB9Q!W(=<1lc zbn;6(`{-#Kl=vNTH5+H^GS;Qrk!j4<_+^_^!gknOqET+Q^EtM7;u8)h$J=chw0$(f zi&)_R5BF7bmHmO1x4->Om;d}v{JWPwsOSB=&zY&9=#yV_Y$CNY-lTHc#U3vB0_5iI zw>zp>Mp#qV=+)4%E52G2`x*Tbz+2z?M&}ZhvKpI0ukHbEDuP01j_9V{iy9iL>zv)s zm@iC%;ET=;+Ke&dg(B+MM~*C6BnR`A!QySK)6bB`GveqM2!JgMSOW6lUwPQi2#Y|> zBTM_(|H*-zib)$-^}{*%^cw^H*`|M%>RJO$n;INS>)J#*ywyoMGurk+*M-(@pK@?A z#`K#>08ppP%>l$-iFq$D983vOjP?_u1zzf9d-^ zeEEO$yg%RU`x$?p^QW!50A75^BLIr;XZ|_)&qWEI_a|mAPN=y`w^djzv3QH9|I^BN zC!4YH*pgifZAFpXo0Q%HUlK{Hk8ihUQNXBQ(d&(k$IoHH$+GS2*17F&_2{nhIDEGp zj(gv6%phx>{R>Xvb++)@1;3WG72%LoM}5jq6Z1tm!sK>Fk+VK~RkFrTKD3(?`g2^C z-2huh7%vHS#p#HD+7y>f&4R9*9n7?G9sspc&i-!W)5UfGjxVvC)50ZQeCu=DXJ8_` zjWH}nT<%CaHnG6Jwi_dMmG2tca!||X)V=_qeekJIt4|VF1J`&G6}V*R3khU5 z)b=<+g2klVh+zC}6DJ(vN|efQRkxmK^vxzi_4wXXPrXmS8pjLZQ7;p_ypC5rAA8NF z*sC>q5g?oSQGW{X*=L`1PV*u_Z_qcr=}lKJ0^}LEDV+Fwn()VyMRx%_{s&+D#b-G| zW&-;*8tp_cKJ{ECmrr1?W|pC55;E-+bM(x6CchTzkuzykbjqsp6;DB946U!y)mE;Y1q0@j@MfN;YIHGURYoT&cv?I~1h(0A6EG=-HDf;mySY z-4PH1Nm~kyBm;_Hh^q1Qg*z{B=39)M{Br>S3m+3EC3l8iX#$)vhfoL@X;zgPr%_}F zBr?}(Q{o+Y+mW{?zX3{>*a;Pz#;M)u&$u{q3ERH18~%`j_sK0dtl@`d*R+XVIejcP zYb2B+Rui1|>H&Ngd#O|2wK1Glk+U8YSHZ2#FRPxMPTLcOcKcVgJK+}&v5ZZ}kY2Nl z#>_k3)?pjpa;Qi9n?cZ4&fCB({F;tOX5!r9l}X(-``bL~)62-xUCWBo+PN*8*f!PF zW_6vfoI8Ks_l;kx=l#Fu^1HtC+l8|Cag*9XR*sf80PKcd>y8CAF`~|B+n3cC4cjHQ zYI=ko=(Vqd=UanS)Bg4PB>)bEE6*V@@J6!8ToTs00d{&?VMCjx#}K0XrX*~oupVdi zmyLxQwF!u+_hsxQqdk;H-tn-ZRw?yykP1~dW^3?W)Bqp(Dx++?J-_RPb@)unuBI+Q zQb;b%uXW=jA25m;9*e^-v*EFkEipj?&TZ9ghtI~R9~o@Qfi?>zoRW9ir>>lxgKWFa z;``+KR$u>HOCl`>BJY2ydoc+=x5-Vmz6hWeHSYo7q@SPT<8ugY-r~<40o)zOU~uvs z%zPWqNjVn`USiQ_8sF-##~q*Ng@1bP-+g`a4<>ki-v7V+yO(GG=@Hh^&Yn%EH`^!_X3CyE$laT zb(Lp3Mw&IYvA^Yt{&qfD#_Fb!2ZefWN_4+DxidCxXU?UEC-IS;9BF&r3%(KJ!7(8c z`n1ZGe&?Y-BOzENmAmYL>_j`4|+MzpE55Xqg{M z${drJxt!Io5}%7{33(4}K8i?Lf%aX?d+*0N_0U-punJfNr>Mde?7#>szTG zKlhwY-Ze9IRlIs;YTNuA;A&&|(T88qQ*n>=bAb6o$;5y0!Iv}f_xUcS8zc-e$vcNQ zuFNFG)+Xv_N5~029ZZ1D%r#|@g(bO^`lseWamkS4eLHJUTeTY)Llt$sqpg#E0uaVA z;=8zr72n_+LcZAXy99o-zf3_#$AsdfpPCo`IVy_4MaNMf=07je`>p@_ zH(maBo&3K~&-=$dde+2RBPpd>j=%@6ZE9PvS!_2t=U1O41N>kwr!@?yCP^wdJwZ&O zUIciLehGl{q`S(%NX48EZe`3{;_#0W-U+zp20mzG!}|0oPb^#tt`1G~@Mob<3^!C! z7T)+xWjpi1Kt7Ih_!b9kk#cf_eS=-b$$%)v_9xL}J_!X}}{Ib_~`Eo~% z%Np0P^|yJtrJlrmQZ1uT{L|0-#Q!Bfga4vV=y?{OXY)D1*NM6>2+X(foR}jYJ>T%_ z1FYZjzfS)7nLj-W;JXQQ5#h&w^y8QR;lI)I{$J)-0r2IPf1dg0qQji*Q~RPr?#ScB zAFjR#F*%SA9w*>lII?$qQd%ZQn$$e0pFABsk2u@o^m+Fu*)TZEy6n%y$dr*8|@c#%A}4 z(lKmR(WJ4{Zv#qCO{PH`%){~2rR%4Npdqf<_q1K8qQ{-lw8QI7z8 zN_aJ zZ_{z^-ux6`HLvS>{xZF8a(w*$_rJf>f%@J%-tmsdU--foEPL~t-^?QbObnLCdJ*8g zxeMU2uC{wYuEm9`dK@YOkg10fF#n zY~yok(TM}6`^Ut^Zi*W6(WM9sMy?imPRwnkwVcy#wb0@v59t+KM8Q*+T_yQ77WMem zo!a)N4M@H!kiZSCLx2! z6!=hByETMS)2C~lR+UM#O7yWTCdw7pc-dBrAad-)bYWaKB8OM(4RCETy;nmxjcr4` zF%GUQ+$Y8~Rd4=8M&1bFZHa-x2qhi&wJvtIT|C6! z7Pn}Poj)Y$?eSQk(*S#O4&t`Sc+t1rq1K$;W>@Vk-h8+0w)K^5j(`)R^DJX3e#@i{ zczHLSx)CE^J&m>hooQ5Q&vs&P=AV=Q`QsQ_0JHP zo&DNjh`c)dDCFrJ2Ppb8@5FE*yzR*ThVu=cgpo(jhnv0#&@phwhp}00fGGA{dgjcY z*Rkk2V>NpC2oy{=YlPVC#PU3lpqSAe#xzACEN-QV%NV<=%0+WF_-@tw8ESE#EFWN=a7XDdKONo-FCkDU{3$@x;38@aXy!D zGS4&oJ+bFRf1T{p*6sY*vAm#f`1!W~h3B8s!n6MI<1PPuj(Lvf{r~DuTt4(a|FpjK ze?_=+@~;zrE;8go1K;%X7=Uj1*K@}F+@CK}3|B^EZ=+=A6N;-bIQI+k?uP0X@@(|> zissxZ1&ZzUaCc6OO^7Uf#;yhLMnl#J)ki7&F+!hxg!NG{8A0X}oi6d;`ua6m_;{OF zbw_R5m};SIuZcNgDX;hc!jN<0W7|6dI`2Cst8et6R@a!jj~)WS_J~v@nVSuY6@n>< zqry)Aq%^*4Y&W*ovE)2<_*!Sv!2alAIIW2L!&UNF-hO8$qfS* z%`5#&s5p5o9G_9xOslEa-k}(Sra4Cd3Pw5c2Q?Q3)E{{w5v#uAgBvyi45sR7Wc=De z&VGRXlZA*|>b-e&uXVziivz6(^xoHe;J1FmCqMbg```9$-*)d;%8LNk=3Arn8g2AW zfS>%ypFA^o{F%>uM$d*mgNzBnF9Eow&3gd)4gh`o&m91sZQKdKA5F^hk6-?TXQX#5 z-2uQ)0cs-Z8F)=2ozAMP9b?))t(8Xd7;u`)KbP#tZBs{yJkpu+wM>JsCCp%(-AjsV&DMSz&m zwhlcpG$K4M052bBB!9a;tdN3P>dGO{JU;c5UNtBg#g$_*Mnh<)7~Gf+pW5K;|7u9K z#29lhN=$VequAjw2P*mGU>s*`YS)7_{w)n*IwZdM)?(K~`Fh-?MqVA(J03ka!@m5H zrJUaYpg+s2)7X(3=k#ryYpiSR+i?K##E36^PZZk0$rL<2Zt(3U=Kzo2X+yiq89O%Q zZf&|oyInm&?bhJc`pa>HGma5QMn7X~7I%)#$vUB8OS{{JcE>Q=GjpJFVxo@@DP{9Y ze=ua{=l%7<&9}e(>C1odC;q+5AJX&w9%Szqx1Pe`|A613Cf|vN5 z)}_hTu5#72VeX(N7v|yD>kfcwJEPA17u(KP>gEGT+pfhi;XB5YjO4Ym!EkeB43FUW zDwvp}E8jsu5ko3F*CKsnk;}m2r95p1=WspwqYH0h9UO`C70QZ%jpGETY{2YzVFCqY z)mwH2f`oEfq>q_XP&ajKf)8ixQqBnWyNZF~VNAa6N7n7L>V;YC>w45BwYp~ngjW>C zYUgxX@3|AuT-5fsF?MSah}wMnzb^<}{35`IyugoV_jOXwuNURyUMKdtAi#6|4>{TQ zNj|suOOB1|=kc*T&--)7z-RSX0nhvYW1jctgkKjJQsR<8{|~FGR-hAa>5ta;ybMh{|xu5hFG7&Pm!~ zku~w{XCjd$ek0d&6G3w=o&A3l%kwZwo@lh_e^u0JXCHKX1_h?wZ-|cWe8gnsZl{R~ z{4Dt31RN&i(7JXWpNTmx9+T>kfpD0(??Bdd1>eTmGVGd%$9hy5_uAnH%aqg3)vZ4d%0VdXWsW6#QGUHH0hX$d6G4AVo>kuH(CEl2qx~y34oy5y}s}?oRN<0Pa#i zx90x6#gW>9E-a)RvtNc@O8iD{qKC| zJ2~Fo>-psJd7U=$y8G97a=ZsX%bEcCC4k3z7r;IJ5&+-oU$_WB`SO>)OvSA6%;Bd1 zH6h*S4uHyO^Gg7_2=Mrek6wEA^5ARYq#f_2i(Ue#Ujh(>=BEyP^7l91k_>ESu3!bI zJt-FoIB{m$Ly~!C0&(F)-rTub;7M=S;AakF5+D1y7a#VDg$16(Jg4t{|Ms{XwPVRF zH6DUc>~TRL)!=p~^zHmgfNx6Kn|KxuRy+ov-25g3E>qY}`iu#Gc;zHpei=YtDmbP_ zFBu3+pW7e5`>9t4E6M|*vY2?S z<7>_2UrAu__81(XiE|ZXoXUYZdEsBnec_>_8SHJ5XdSQ93LEwdibf|5wYG0s9Rs%I zE$?wM!s%BzoLyR1p*o|dnz^tH#YOG%J%QwIO-3p_Fie6gQa*jpjPsU)&6<`vEKkbC? z9H18;xHc^QEpBO59r8mRxv<$+V2geAsqvh-4bB3Z4h~bSK`!HT}dYQsRo@Y`-bx^zUs|?@4?%5M@zmPOYq1aLIEkx=CXZ}q4#!yi8?DMppLR* zA3`-jqqJ`O91F)j#`LZj;bEvFclt%5CR=hvzVm?FS&!ems8uXFqlM+JEV3 zoBNJ9&1Jrj$S-p|(BDk`HC4=f8yFpW?i}Fr4vz)!-T+SEKmN17bopEV<4@}61@&%$ zmv~n|PW1cS|0^%+OAYxw(&GX7#y`9gH`^6%;qRo5H0U?6=*S&zlxp0OsAF)-PXycD zvBHMW8~XTlg?ZxOM&Ec2L@T9pW_qr&jWUCdTV*^SZV3+ z%yB$(WE~H{r+5vH`ko(_(vME9#Iby~zJ(TKWq&nGP;*S*i!urlvS_Y9=F>hk^FH#R z1tNCg^r~&*aI1m%6ANpQ)bYA2G>Lt!kS!zO%z?6&yhje2LwwC!zV*|e{`3QW4Iul> zHGbo~p6b{91%Nqt@Gbyv7u~+``17Ctytf>`1i&Iimu|bqU;WizeZC7|$;Wox8S&|t z9)9BTRhn8x&;-;U%2yufkFov;=PaAk;7mMBV#!zjnP>i@p84f3>>DOJt#xGGd#Oo# zhN3`)y;n?8u#KvH$(?8}10~ z3uQ*rDpONSc#J&1AizZe4g(U(^^tGAR7|yX;Xs+Z`JP?^s6Gn^IX<}P`in8ZaSX{Z z*=5Ef>f|C@(=dm$=_{%v`WK}k%w4V4#hv-&SgQ@LoZGMMSwr&*e`1w0-K#&8^cMgv zEGubJF=*Us>qflfwmoaRY!+rEiA3+!a^IF?JB-7mgFnF=Lp#-t(S!T;B4QH(oyf z`R8S429w*g$QFT97k>)*HeC1`yBJ=zj6-2Wh}6cZDU$sDcVT1jcaHiM z$@@W!llq_isZU*g!*A3DImvxuu9JD6{OgaR?{pDWMK~1DN zaSpM)?ppC-jB&3m;|?$QwJ_@2BJJ$|u_Ld;9K@L`0WMN-ij=$)2TYb-z^ioo@66A5 z@E7alTzd=54YtH9&uxLM$yaKTI{6D0UWpgZ*tcIE_!K8ZwjVmjk-}#3-!h_J|ILY~ zExjGe2i)S&rj&o?Y;vr;GWy|}{hPM=qEG?j)JK~2X?Mz>Xp=^W4@U$oXB%1LMISyh zwi0#j%?J!$Z1;MCZGl_KWgo}R@w%(M@)I2UY3~?%gMJC%g}0Q;jB5sI=EWIU&Q1|d z%1!^mE_r5X2rzO9vTcG9ulV_70KwqJgOd`DADZKw@O!S)jwdm9LGQghJk3 zfPeUalX7JKid=06z)&S^KH{qtzbLG; z%>BKiCZ7EedhQZM9S0qEL`F{p_6&9o2N?}An3kg^f&2BeqP7T~D|-Vw3c;zkr$IUm zi%;~q!hxw4PU@_aEpaG1>9C%5Bv{7&tMm=W(~o%MLK@lg$GtBl^Y*o6{P0aaaZV~h z#Eg*eQ$prqFJvgtABzREs=l&~D9Pk75H)eEu!>1yFZF5!i*=))=xwKVzA{V5>K4?> zBUnVoMoT#=2LJxQmgc&#ZZV0AtQ?1j`<0(QFlC$YZV0vy-q}v&8id%Kp4BJY#Jfu$ z&9(LJy?QHS82#E;e6kisXIzM{`R6R~Lx_B1lpnI&xiwa+!e(3})B3irp<4D&;H_<6 z_tSfiJ6e3v{s+JBw_X17_y0kk{38!f8riCZJ5jKKLus_e#>*IY-k1`yFR6p^?Z79aDCdW&fIf?eE>!DfiQ_LbsC_Ff0T zd0Mc>1k6aho;I@6zdppcYdH{%j15q?oNoKg_sV~`p0c&s58)MWMGY@~7S{>z{V#CZ zlI%SKGInYi4r|QC=PqN}+>!z0y@a!~Sz{6zU|RHno*9r+tr^ey%7P2>*j4Xu{(V}d zum09&sdbuVEEruCV?^RS)HLcLN5Dl85sIO7QD=Tym^8+DEIW|s3cidb;3B{q-uQvH zyyY$T-}SC{-Q!&HS3-HsUjSf|>f3+kpKm1$a*{0z^l7 zq!;M$9)NpX2;e;cx`oadzLido0DR~(AAk0hdyl_lp(oqpdoSOAc&UJml z>+@nvG*4~deONmRef{$;JNqrp2-Wok2-_d4n#s#^zDcO|?m76XK*)YUfG6hu0O4=G zsTA2j+3#sjQbgmqect#lT>Cs=kCEQj$*_|O8$gO{cdfXU-@9sZxGjhx7J{j1 ztjF#S^TWN{9%>=6E-PzJlVF_i(L=*=;1T~lgxrwgZYusX?u*ODn{m!F1SEK{~tWK zr|13OeECoQv)_IB-v9VJV{KjZjcETuF5z`7Y)r9wy5%e?Qu}we#pkJH3p1p z`{BOrz;U^WhmRL2+y3?6{4S-N;K7U&9Kc_TeX_YE4gRdLb-9DHb=4DT+RncT$eGxb z>fM<*8LR7<)(^Sn4+8$hsytYGT|LRwrc{RB%5Y)I-Qfl%angxz_l@SDzMRXt_(&3e zB2Cpfx>*u0-q^QYJu+O8SGV%2(QPdU^By@d=~Lpn`{9XZWuVq>M?TIoe>TpZXWgHI zgnxXBR0R8Km3-*w1Bd<)`fr?a^hrPC!T+iI6MujI|NQyO=RfnDztQI>{`$6mzYtI- z{`qM?)p}7NZ~5oMpF08g89|=+|FIwbImvmspHA}i+&@3-$IJa5>V!X!0;q4FT!7#+ zI^Qh9qjebXwJEYv>Gs*$%0|D&mGra?WXRI-zOB)ob7JFz$8wJGw8bUcy6EK~^P}X1 zA%f%(#4xR47+DthDwOMLx^bnRIg0{>&0CCTBHEsnaL|VXpa}3(v2Ggb)DAabigkrw zbM!MlhzurKc@K?=i)}GugI!{zHiDf?Zsd|-x20HufjrwU5`>YjJ{$==-siTi&2^56 zQdwcl8m1Mq%i)*2OZgb6TjpjOFrg%u8aT-oA52Z{`rCdV})J|wXob% zO=FK6CKF$N@#REc7ZPm?=A8IX-=P2t5RH^$`z?IijoOt29VqbR!zP=}cFhZW=@i}P zVzlK!f&onYqUl`bsrTIbH-6XKf9~gg?w-yib>ni}#`twv_0F@`Y;xKeyEWO6w7o&U z@f*L9KaP)e7eF_#?etTC%tp>X`4s@$a1nrhzx}UX?*ZU;kjsmY9zCm*+keHAQhVM@ zZ+OV3YE2mJc3h1zviA~CKn@Tpv&yc?2{J-S%f~gl6{0Jl=PMF`N5`qRuM2qhb_6`p z2f;jiGmC_N7Jo2Lbh_}M_Ja05PhrQ$+{?}CVp4nPiWWw|RCyXNFRygkq|S~vJy-lDfFP!MP5=Z+l6h>{i#cr&iD!Rjd5p#vvFHL6u_9T3(5<#3}} zTl*jVn#C`(u`KNNyM8Yhj~h(Y`KLuE9c8zcuk4HT9z~7D?Z!4Txx`SZUsm31eipU z8FJ=_Y}`dYeDRELZIr2@uncB2HZ;Y3$l1PyBL(}%HBKN+e}%r$*D!WZD#^X`KT)xX zEaM`Uj-Bm;4JRsOabGX`qkO|Ryi>RQ|NhGdKJXs*ogW62z`1U7$w$8rVTyc9QT=Q) z={g1m$jV_(d4s6No?MJTKQ61@+O#qkY0vg_i|FKj-@gQ)rh$V^GpLMjWgx7!)ZI3X zFYV~%l>fN6#4nb&pA)>T#-VZRcU#}iYY@GihnOSG>a@MZU47?0xd;oGJ%3Ts?}`Qm z3Hw*tcg1Or*z7U115WbY?E$jx0LR-P6^}q0sF2CdV zeCy>c&wP#kZt5F9Ul31z*#^Og|KrOqKKsSX-}sCF`0`mj@6YZ2ujuxEzWHy>xBcAm zPoLZVxd6f6Ro+98Z5F&^1D`2m+rVAH_n5}SxqHJvpFQ+;G%^b-uQv7MQEdFJIDN2@ z&{gawoaE`>wFMYg?BGjXALJDOO{do4kO-$VN6*CytHWbC9iDCuxDk^Bw&8KjU%#)I z002M$NklMlu|4+AkmUi;YHi|T3P_M;FG>54hi{Fy|bN2roayPa16HTJw8_LIkiJ56ofK`t`0h=zO*ftngPS@|sl)GYCnky;CX;=JhtzwNy*|L9-;M8Fpk zhOf(#Plm7k)cOtpZ+dUyU;?6nbvCLi|9DKz4#z-rJo1od=ld|MAUvh_b>smHGX6qQI!9`8|-qGNHNXqZwY z(4oK~EK$py)?s#eTJKc|ykgD=6MhMRi!1{(W9IJFY9cK?!;lzL%NkxSX)|Ks(qStO zIns_DRv8C`$h+;-luh)sTZoGI{6lf-+IEfmQNT;|LpaS>lRs%0p2(X6VG?R*c~}jE zvp(Wa-!AnN3ntW{jiY$G0~S(`4HW_&okae0wdc zHeRJBkNlgBLIS>pmk;uAE=J7c>GQQ<|eEGuXUby^)|N6%+AO7K=zkKm?&-+$= zzL4M>KtK1-Nxr`If9|;#FMs!kK6d%<|J2{VeEJu^q?7(U>;I5D0QlBlHMjozP5*ue zfc)lftaH2_sN4Qzw#MU1pV2vSu8;lNp7uYb9Z~9zD0iT8F+KT9BwRWAATbP zAo_5|POvWZvp~XPQNgYOlP+s(59B3^D<=UzKnJn^@ z2s4Kwz4xo%{jH;Xte*mWy__F6;V0_X{2c(35kK2-m7IPFfOi2r{?w;FwPuN)?|A&h zFZ#Y2WV{IQao+_ncL9K5`*|F|?aw@V{-eK|*VJn=G09%KJg-lhnJ`R6TB&DhG0m7; zE%VTGZLC;F8p8&`(U`H?xfQA>&V-fF`ynUskLMmlwS6s3`W=g~vm;g5+8B<6Q8`b- z2vnA>Q4~}OlMDMVzb?Q@zVd)Z0L%<8vLiBW{nVcfxJiI77kH%xKeWM+aSXu5`{K&; z(Y?1n;->(E!oiJiC+^?ZOOK2O=5?t=@K2N+2qgBEN64!=hWOF$9}e3}5Jt$+2R%M# zgtMJIRxGnHdPd^fbaC`3tsb!yTS1G{I!H0B{>L{^3G@+tH&KYjSCx#OI`pyjE_;i_ceH69ePKzOpr`lMmVroK`q){zZr!Zq^M} zwXLI1{>!$?uTYa`$LYz~aYX-Q5h18acd8S6_8BmgwwHa>;7XfJh-tYQ1 zFMs5ZedjScD76>_%cI=LoQsT$KMgxH&%--(jIA+PiufZaJhl4)Uh<5a<_ZIF4uY`; z@sv;gQ8RA$F8|tZ{59e+^G$&;uUXq2f9zo8{<57oCh3*oS;aoX2XOo7ihauL!)i)( zL~vxqZ_b!3{hgfAXNhfigyG3E^M~VD@@6dXXi4XcTTNJ{S3O+I*W;vqd2YYR>QlWU zE5BT#u5A7s9N&in|(ji&xyXi@#g{n-}+Pc?&2QO6J2n)g;?H#x4_3j4%=ny$j(lzV*m$b;LIjK*~CkT0Gx z)Tqi3BYgsaU)`o*tO56SKXa6I@*F2s@BxG>9d(VBZHSnH%(k&y{p1syC&zlg$EW(C z7hJ8cF@m)cbJy%*zntNRNLg;R!5md~jb}$J4@1VGeIUcZiCbRT>06)rQG5S4hmeR( zyb{iAX1u~V*pX*j#<#H=hq|S*rce&(t*fExTb(4%&%QuTxZC~#aoxP4SKg`jIAtzc zDq(q6zd7xk8f4{Gp4xZse_mtzP-h8W9m1gd*rV>o62jzjjVcxpsj`7?YB+j`TT71{ zSh@Q$QTeP-^q%k}sJ^4s zKh97%Nx^81wVY`)Cxh&`oF`2G{u|%)KAkf@rSr#^bWX{O$zIpxb#sNI7XUu^!4F>e zC4jyNuv<^xggxTq|IKfH^F{9gU}7*4G7B<`YRbC+`1wE{3DDct_X5B@9oW`S0h(o4v4%HGOLAZsO(WuIlXXj4Vxz{j z91Zdg;r6NTKfiv`=V0@y?mOl-88#Ax6PnHU$vD@Z_OdUn6zY!Bh@|^U{IbnDH-Zxm z#VpRQH^<1>1eKlb?Qyn>OPy^L?PlV>)WOuBnE4Q!+z$Vn#IP@qU^4eQ9`%dnuJuf% zgdg)`S{*JM%U8_~&ABbgC3Sp^XWknFpU!FY@L>N?GD41E>-*k}w|gH!>aqiIe+VIE#_Cn_y&moR%(paNDyP=Y@6MxzT=1nS>@Yuw{CUBtBm~QZR0an zWj+AiPT{@TwN<;~Z0ulQ=j=D3g)H5XFF7&b=C`)S6K+eeBO@xG*30bBZCS(SSe5bP zWS?>2q}w?HN0U?^}0fl8k#G*ufN)-jp`9DG2#@%(`wK$|;;v<6EoPO+!jb4$2iHPCjkjng#826=ShLbb-m9X5%dmWyKcAWXO1*u^h7l{fhfbXD7?qP>qM=G$Ds z;W*sI*iWQr-0FPNL7%v`uCn57G@Jc5GlGsqIhtR`HK-Y%J%qznLF;l-YkagldBTm9 zu^Wuzzirc}oV;d>cvSi7j*b^PW<2>>=_hzRpMICo_)28(-SQ9e6pskL%qg+g7AC#d zVA>?}xQ{Lr#G#hX77~xz>T4y8@7CjF;_)iDRoMl$H^u&tjb;+(Vv{5s1WqNaOiBXt zhnNoC;@ObW<XOZLD+3AwOZyR-3cOXQAAG*LQsvlYIB5{?wnk=a&E|?|tuk zGx3^heGP!gy#LH+K69_<03g5bR{-Xh0C*Unn;))#s#cOI136W3#bMj9=cPLzP#{@O{MAoz2EOU@pTE4GEFcx0H1w?iT>wzT7Ou)&Ck|H(cGUI-iHh3E5m53N zD)+USQfX=*&`gXyrTX-`?HHX}+O-0AwrlrL?NDzN9vI7#$Bv_3D!=t}?e!_1YxRxS zr@OigbS1p*U8&T$*0K&-$nor7V^6!-fMtwrXOdvpcHYaKy5n*!jo-+&7g~8SK49_( zZrdKAZ=qVqvqpvkV~Xn2*PgG@2V}S9u*jwdW@xX6GV8baU31c}{Y-z2IpK$#_E)|4 zOD})&fBbEiU;l02j>IKjq#N3AJp(U4s0fP z=UDJjuiO%Z8R3T+UAVT-?R%3LhmDQ4Jgp&Kv9@n!yo^EXbjkHBJAO3Rx)VpcF`n{{ z!UB}TKh>w&pVD)(t~b$Kb*GP=-~6lH z3kUgLKcD*Nd;On#;q$)LpObz#xfqZ;0$#Q~cLU@t0$fL2jD!B|F{mzb)i6i}Q+2PWew3lqc=Y~@d_3v9uTlfC9A7b&m- zgRXku@M4F|6gM2`<9FL((qg;moc6SLu@}b>S(O=^#^xLV$wY;ZkM) zk~%*JuJ+iR)v_tJ12-V-&EbCd>!!Y)w}p&r*=cmmjGZLQ<|djm4j9fp)*Tmgx8*7? zby(-v^QyndWN9)OuB;A9@n;K?2^2R=59r*hPB(l0Q&)f=(kPBxyPeD zR(55-pwCjw5t7xO&jKB!$H6e2f3Wx%7WHSR$wdL;$tPHyS?`P<|lfSGVw6R?3=d5SjCQuNJqKTK<{yOT@H0z(g%@$;1gx^ zVW&N$w03jk8wK(UmA@P0)0oC~%M9{F6WAFXIv>$)4c+HJ+58vaq+7z*Zg|cPbvz~x zx3jJW5iOnSqS!Ga=e5h3kD`TdM8+DtExNA2&<-~7zH|(rK4#Mqc@k$wr!IKyJ%#x+VJ&dDr_NduFWy4xN&iLkKYUbzz5%T`J>y_L)-Gc$0W6WV%x?bqs;0I*T%_&9diXWT~#pg1`TJHlPCE7z9(U9=KPLtZtO zCtp&+_e0)yoUs9O;7+0kLh3x-`g{Ot(G2gE`e_%$lsFpGj=j3%*s%v+9_q7wmCx`d zfaD3|!^i6*Oa;Du9dc|T_(H`=E55ZD_xS41-eJGxTUheyc0XfMIdxuLhlIo@{G8ms ztdsuzfWDl}bCQpY3k96`=hJ=RBkBVf~Az-=~J2aP>_TSuYvbF7pm*bOxYFwYyf#d@|Q1XDfp)H$@gzQ+D)+$4hy znfH4zS211BTd44qd9DpUn|=7{?_!GvsCq(Lb?k$$uH2i&p)H%EaX^~OAyV_?>i8t* z;7FoWFM)m;8dMX|V3`hI7hm z<+&EF{9N(Wkb1>6?Syn7BDmWB$2I%Oj`!(!c3h(?c*PU>gRvERMDkFxV`rUt^>L2`{SD_WIcl5R1jGn9`S%3?_O-V2 ze%=_z2^Pb#Q!8U>AqsJ~eN5nps#%y~rLc~EzDKoEGz6vT);phLdFVXt@ssD@{N^{` zX?#KTML5r7xqWZ{b27=j6JCd}?{VBe|NQg!KlM{TH5ZO-VqrZ*6H6${TS#)b<6 z)OnpO+%3SqY!>HGoRgH8abqFAvU;FC#0w5n zF-xe1qZosXMRA!eVyisp^fIotHeLIBoK7#hZ9WF6W8@TN<$B}#UH2_XtFe&#nScBf z`!3aIe5JGBJ#OyfSg%pZI5{Pr9apj7&@KGw5Z5uE*shh~?D&Sq0aqb&EVwXcBGr$$ z?M*eJZ~K?N>GI!w|94&9{hlv1zg@9eZs;U7#$$;st(;D9xJ~N-jJElPWPk+^ak}Sr zjEhsZsf>psCXwiW=g4}4gUlGSmS<)?28_p@?f`hZYTNWS5G4cZnnPa<_#l?*9 z=&^P7NQuxf9hysW4rOyI2KNBh-s;pBDQRE ztORkQ)L!Gh<+tNX77I4q^zBn`kU7Eci9J8f*YEE8}5XAxr^MnjyTz6T_DPOB^hM-J5m|g z=DTE07(9jXG`r)lNSo^j;;TC9#EEZ?aY36$4iiJ7G_w?qfx2-}@Azh2nET`}-ZhSw=HbuqJmxD%1=KXM~)qLpW>5tC9;!r z&rD926YxfnoQ%bU(poAvhpOTkh6Sq}%6u*tZoBYFKkFx#Quj7HcvScLyyVf_?*7@|_U?}W zwm?b0ee7fRANtUTa5Vrc=$`^?U$qM-{@niGuL5up;4`nh{83h(7mF6mi;q8(#Rt33@;NAE@!O%q zUO8IbuG90e;l(Jl^dp+TPgktV~^9h6fP|LZ}+zZhT?(ZumPUj4k|^zBVt z;nW+M$4{Wu%MiwlX5xx@Y=1nrjjK~H#>P#^tA*vta zHU*w0*F!kIr`jB|Zm#Fg6y9Xbk3YuzY8->B?RD&%!*T{|4H$7TA0wKYKI;}OrEu3H z1ml*c$@ClC8;+}LA7 zoszW_myyEjfTr453Fx4|CXpaZ$)bj0Fd%F)muC;A|i~en=^y9ixAe~Xa2y)29~tr zzjl&Nx*#ZPolKj4W40bSjW1Aktc|%NR-^dex$byClz;25?dW-3T5N9xED0=)`x<)% z9iD6dCt`6-FkArJW!n++ircf5BizCYnz^e|atf_*4Eq&EKE)^Zq0@{`6lL0sJ)rUo6N)0(|(kT91=* z=k1Bg9{cpSq@$qhr^z@xJ?Gnw@iSC4*k!m{OJOaW;8xd-?i0*yj-xqVTR8@eJ9YNc z(;rw?H5{E+WW?_r2vl5c7qi!s(YCFw_SCn5hZj-f*N6ik4%WhvCk&g) zd~6b56v=JxN6~{>a5u(<+vw64huiUqeA_j?^6a=4=7?>{6mZ+kog{Xvb^RTr z1NEow4-LfV;lQds${97jlkfGAV1Xp72Q0m73{nthQBVHr!#f0#NXG;e7;`M}QoX?J(eAM@8M3B%C?sclvA0Sv~zg-TZ(YI{ud-v4y3(H~6WZJh4OSgz$he>IaU7G)Qyto_e4 zmWu+fYRj^7Yn;Tde&u_Aq3#-gtgn-Eao{9^?3pUh%C7);;hZz`{`bHCj-LZmVW#gt z{_&6N=b_$q`Q#_{=uDM2yx|R(7hZV5&jHZa0DLC^&j8R}0I08uz6Nml-2F>GuD9G; zYWgm`7U(PY`6U1r9826w$y;^gVO9+bjU~o1(mGXJnpLxsB?y+a#!B9nvGUgx2VinH(Fz}CI#Ap$V&J&OmubE8spZ=hNYOrRJwZ6Eb3cSY1rBawM9q@-JA7r#RS9~mwZ=|Tbgr{GdVIw`lqBY zf2uGjS4FXKYyv;2BxduBx1)V!JDu94TYiTxQDULzv9OxWiEF#{HRFk895LO|s@s5GL7bk{NyEzxZ>@m{uI+e2sn#3W(lmN@^A3WJ)lXYf_XE9*Om&4)6w*l-c) zdVa^1J$vr;2hVF)W+&&cY(fOf@0CX>5~Cqfo$=8gLmDc{q4C*g6xINb%?PVw4AjQj zl+iW5I?@+Wc z54CV1w!!<}_mx=s*nwSQlVC9IU+GYz=XDgPD_LCt$o>ha(#&0AJV}&ugu<4%HgQrt z(wQLFmA6Js``UW5-YOb5c9d;L9GMHtrO2O%#ut6;(*~Ck%sB#$fPJ%VP~MLx_h=-I z`EWg4opvDV3sZdXra8VwdvFGWoPt*hW7c*g4J7!^W{84J#A!!f?#5H5vp&5nyc&!p zI^w{dU&Z0J|Hrym#V7V?^q4+VvET4Q*S~!zybdJyF9z_*zW&(qFu{IJpr7{p`2lnC z&&f2tn{VP{i#)Znn_!u)9}B6WDG(Z&DpBIDm2!Td$k=%F6{ZZ@kx#yj~&-JCkYfE*RfP?9;u=~L5xeIO+08F zN{y~4qd}yoG;WHAL9Ft&N_|&3Wnk=X8cF9)0?M_s!q@&7NeP z{Cht26#(+GtSA5K-|OTbxqk|99tNn}=su5)KmDhk=K&b^6ED5+L!8=r0cxW^yL#Nc z7P6O8*Okn>iqz7=@&eLnbpSB2*jT_L(ZUNQZ@W2bHbF?(daYBB0evvig~0-v=~8)p z({S787Ev2QSUSi$JUpy;to24ZGPAuPpxEe53Fj%k?H>_^eVYR|cIe24lYL&eNL$jC z07lyeyQ<#)vc3Y405J8zf(M)JoiIugsEy1I{dF6i()J4$>aR5v#a5OYYvw6)aB`s^ zjK#HsD>iAp_LlT-uZnkxcdV#8PLtA4sHr*ItR z$SAGT9$&@PPRhi9L82gbuj!?L0ltYHV(}15UfO@OU$Ad{{V#ma<&S*dZ@K)EZ~U62 zs{^}+bNskzUnWny6PI19?Sj7hQ4!~wrylLFxx^^AI&e! zd%N{eu#i!b#J+-u)%xKk>j;U)Z-#O+1xZacs6ObF`xc)b&I=xz4a4n9}Ie zO{`ni*wG?w9L_N&Pi<@6aa@2ZMlfj}YI{)sI?CW`+`6%Vt*rHCIOE^A=$lIexb|A< z({)bpx4g%h)EaZg-&h)7<{~<5tEWCNrmbw}Ve#4w-UCdVSGT*iP@B`!mJz40-V`CM z2Ade!KNxpT(EZ(ioyc?I&Zqh>%^d)rd-3!6e!rgX-#Y?cl#ZwU`z`_9rRZ8RPX2lM znF4e24?phxiMro{utte6@em6w;>kL9Cu>lK*ivG1w1?Nah;7rg0IzRP7O8!xU!8|T za{g6E?I`f+0ZV*|ATbg%Dqi5h8H%ME%VOl#Nr*iB2^3f73n|zWvl2i2!E|Dzx+;#r zd0dIHvY@Kq5(A3%X(z7Wtz$#kqI9S494*PFJ`(HpAuo=d_<7;8q^HfWq!K3i9+_^i zG0=o-EX|)b+jG1sy-B6wqb5d9BoC1%1OYD?QYW0o+4WJwjVpfVEZwz()0yFGoRXyV zWxfVq_c}zKcbi{B;(C!K7h>amv`cj++xp}|zKm@?AY(s!{AsMo_eg6}3{}SlJB&e6 z)0p*O-}F14V9*9r{@O$f1t;?q@wfudi9R3uaRDGN9r4`fY{cj1PD`>RGpVspOOY^O zOMBHACBAdrb=ZK7y?|g-k|v~-sR_agWY;-AdBa;jDB&ZW5AyT!n+WJLR-UCh06epr zu**k2@{vx{{d@%g-TiaVJ$L!UCq9Aho}U8L&g03QI{<9YT>$JP^A!Nw@fCoNzVNA! z{(WEk4y|b^^+S{T3wL?x(dRC&yZa(76%q2$H^j3e$k5zAkl<0p4yb404c<$hKZu-Q zul-QCS)yxw8((5yIKT?tftX1GiWTfoGQc4>A0z^3g8-wlVx-@9?$%5aS8cBIaVZ2d z-3=i&HHCnl;H<#w#HLCzUj!T(Zn#@Omr%H1(E9SGyO%Go*8$@N22`9J+@9zw0R9wY zVx7w5P7UNap3|22rZl1(vASp=gnP!uJ=)b7;!PyA+BM2BZ0v2zL*Zen#<3rv5k8k$ zR-Oe;O+<-Qf`(F^$3LB7uJD7y&`>!sg*L2?U7AM@jL}sln}tsRyAMNf*RuGzav>zS zKYSn;@|IvF8-8N4Jv?}w{%#{9P${RBk{YYMvxU=AOw3ix1EHW&Dc{+y%;RrA;X5%H zqQd{Vb|VBy8RH=&rjC_=>PG!<`|vkie)Dhr<(KE4d-ICLd;&M4)L8|lg(!{WsWvWb zAk~_aaUbk#ivwJv!=|?OK5iQG$z#(Q|Jp3-6L_>&UgGWAwpxZhw`s=cmE&9A`i9F_ zzU%Fmzx|^hpOMUd^H5qH>bMIcbCdCid=gsV;F1dn`Wy)#^k9mI$Ko1q`w>-x=eFwy z!tL8VHb>dfe zCq8@mtAFK(hvST@Bhc6w3FdScVrgutYqK%CB^~>MY?@nbO-g45c*!m5abq(zhSq4h zMxkiC7LF3RUV3}1_YScHOAdU(pJ(52kxzdMXMe`t7Y?{+po<0hq@Op~+zF5q0-hs) zN6LP4?w)09_g8PX<#_sVbv!lzz22E0+I-jyy(v5r+Qg^0EQnqFpD~&d3gMD(nCm;TpsLw*ZO}LTW?|9zwjRie zs}kxX{t=%sJGdd|Q3+KB_{= zbUy8Gyr_~>*V2wHK{mFKTnE1Ms*Bn@ouiY^Ag#Hs)vP$L86eu-CMsv9c49RCCa05w zcH%Fdc+PQ*ain0UMdi^kn$8p}+~$LH-XC+Uc%ny~z4DfX zBW=&246Mi7gk=)XZ-vlLK6U7nWWZZ^9o?iAC>H@j=u|ie(xOsvrLJkzFKyR@ z-LG{Yi|hyCX`W~vF7_%%B3ZcvX`c{0dBO#N$NGx+BhDwE zJN+EsEUWwy04MT#2EgUhpZ@ekKLz-zz6QXZ0AS7+^W8pet%oO<|LxQN&yRoeJN_Pd z(dikBL_6N+pS<7;09r}ly#Y_>ELLi<@#%PVdnXf8Yf+kBlj;g(2h4gOt5KB03wZqz zFn_#GFnF_x`aaS2l9y!db0}oO^$RyK^!-=Jl%Fzo`6mF~b1@eH49vk;7M=rq>D4$|OEd)u z>|ofYq>lu@+iJHQvA|`oW^RkKSnGb=gX6w8J z&k9-uH;tf^W=6u3vc^QQSRh@O06z43D8G=OJlowwxCLrG92>skqhK#Y6Aa4?!;T~C zfqr*FxNEm#k9~KvJ$`#!L2SE5klJxspZJ1BmvPDvP5c_vjKsvGc!;m1xi?Ofj&q0N zX*u<=&jqpX{E2o7O;~i)oxBXK~UUZn)?gx9~)SBzBHVU1FcrVSVN#nB=)! zXC6xm9o*_?1j>sd1-WB#H+q_#CljdeoC0+;#du8I*%-PM=O{y-kMNc6dhYULKl;3} zUEW`Q^oM`)@}K<2fAaDt{_DSZ`OzQwX-Ri3yWLo?LuhQBTl&Nld9{=41lQb_R`S@z zN9A~e_qs4PTYmbAm&SS6!7m>C^85m7KBa$EKbggw`bRqHe?@xNI$RfGBO6&P^r;99s6}A^cq(+9r@FqcCou&$c&x+#cwcd!EhW5c4#aknKGR5#xJ(9 z22?$=v}x7XKF(sxOoG90ywj%aUh`?~1cW%pf>;~(jd{AznbY0X+&LmA5CaEvTRp8i z^Sid)T!|B|y{>jHPF}i=uh(-uEIcdXXMDfSOk8G34({$EWoMpX@O_ z=i}5q*p_qWA?1pRfLyZg@P3@K^zNN~a74MwbJ6;IGHqvBNYzS1yWa#UZ+^ z()fFb2Mtlv|@?|scX;onq#oUHZya` zZ8179oOubA^E&t*KY6##6Yuo(Dxkcc+43x10LUuPRDI|}AG*^694`75fV+==^rM!~ zF9E!&p91u?Dcu2Zr;7kxM%2dfHGtmw-$nxnaii{o>OZs0$?vf{t&fv?1(e5?rqbohC15A-b5YWvYvG;A~{B6 zm`>ztwU2NIl0mt}pX@A5R>#AIn09s#VjQ+MqA-g$&85858UN0_2VY`qFn0{KOMQk_ zd}BCu$m*$jYUYfx59AZW6&j3k6oKd1e?YbkahrX`7wpa_YGa(E#$0|2@4CTdWp#h% z@jpMkf;y8{)HP^tmqr=ZSt9>AdM?nZ_N{gvy3VkYyD%xC;!hq_r}Zb z`~Ba3`6b`*3rc4UaX6r{vyyhgaE!D$RJe@XJL<%Py~7uVoL0g2>d;_J4+*~Mmvdra zWKtNvv=^)=QR#_ z^HFQUb0*8gIj@|S*o~yrn4Zq3v0z@$OI9k8geQXNXN^cf4$Xs_ay<{X7=c6rC#5#K z9g>~5VFq&O4R`C;z>dj^!*K?CogcDB5+n4KGp7|Jx~qV&11PjP z0wGRHaqh4gOfOzk4z5wRt`2`4qb(bLbW2FwEF;Ibt-7W*E6DaX4k^9s z(y`#~44wn>L{a!yJsZ`tbOB(^h)(`JS)BaqBEUtpb#H(B+wXqn zXMTqEeNX=NQ-E4$ncFswX91w#<(2W-S6=$)7vDYk3gNVR^iw-`FJ{eor{U)$1k`H` z+{IZ}kF10YOfu`idu?Lmk^_kjf3n+)6xIb1&KDh6w*&O*=jH_55l;jw2B;H9SZGt+ zOD7k&O~8goy$_BP6Ptq%7ichUL}(75y^arw^Dj!CGiXrTNU?5&}Qu7Kw#S!@B z&9CY~fO>Ku+`K8`4HDmX#-GP&aPbQJ;&d#Lz(%WOd=G(rF)}wL^yb}em7~PQ2>bNO|FsR=@w*w)+HxQs1L~`Qg8^@hbVz`lxU_>U4x6)p zc}SP_Aml-q@j!&99m9q+it5roecX;Iv4oBBO)SVLmMgfpE9c~j@+`LP95s%obIbh5 zFyxD2=ZlJcPFzz1GMrkCE^xenqa-gijwBofc&zy^ohoBK_;t@;{f!80b~&hZX7?org5S~25GrTTJgPWIq{$kBRl z)UGWAw2@C<11YiUj1lf-nQ;~$4^ZRQ@^GV-u0fd+*>&02$Zz{6+95jb@D!V@l0a^s zP1|vc!0Aw{!B|8dX)clkA7A0#k;48^*-~1|#}#xiRZ3Uv37bex(NpcW>UMoj@W1Zs z-m8=RckAK0Z@hfNFMYpcUlOd7Q`2PitB#VbD$0z(492w|0eQIPAO0`C^YWX%{r6t} z*hl{CjMeZ7owf9I9$i_~XO4t(TY^p2jp-IMd*F!0xQM!fB_c6HdlP}CIfim2ygnQ47oFF9O~mIG3^?n+g!jHiw!&`mh2de z$l#1`ryxCY!%u%|p9OvKL>at23FfF>Nuz#_h2@0j%qO6u9ePgUWHN^paUzY~@p*PHt4~vfgttFUf(=@wKR<9!%%B z8X~wY9+z1co0@<(I_pNVE*40fjuSKG!i?ye!H}5Pv@1g>{a@=ku*35Rrdpf|lvw%n zpZCa*^%VfETo1Ez_CyD>=G?{#x=A)Y^@$xdj?Dr_hH$OC9D@MtzbhVsh+TOT2f{ho z7a;6h0MIi^bilaN-2nJWtY9gdb+-`{)LnBEZv#;|J{vOMfxH!OCmy;B;Ew}K; zJrRJ^zq?28{|Dal%AfheAJg694NTf+uRJps0J^h(_jiByQwZ)RNlQ-FL8fHpq`NUi4p@CyKLqnJX!<^FS*mw)_n_d4~pMzrI7?(Sz< zaQxb2-`{&}wvz<~#a=_QRL6a7SZnI}#NBrW%*_O$0R~qYs3{n-p3zE{6L)pJ{JrA_ zg$`?NQrLMVgvT7NMqT-#AUd!u*RXw!M<|N9zOmsR=WWrE;$YNrwkz9ph-dN`Evd%Yilnkw9n=z#1s07Vz4$!l zJfoi!Wv2_`XoS#l*5Pn$@v1 zKk5qbNSx8_nlV6wKD9gAG-mo&ZN^Ri7;S9P8RJdb7HCuV?cdh+s0|dMIqhjn$$t^S zMg6V6<{K}+T|e>1$yU%(Oso9P1u+G?9%_cNa_Z*Raj@=zP4bK{uPS)QK2E|FQ^tkX z;ZWd?RR#uYl@5|>>)ns)G;f^Nm>fbAKnzj3meJ*SqrFuZ0P-L}MDfu$UMuHP*q1iN z(|33$U^s8F=X#?3l${N-mWh3m!Nas$13cUGcWDkQ#&Oh7y|8?+WP&^<8NUZn)^h>n zJ#*`RZ`N>a7IwNVPZFe38zFgZ z;cD6KkqNxi7`ia8iDCJ3VA!x;hFi5)h;;EeoF!~6tNOjI39{7Hv8E`NyOkJ;saV9t z)2_Vrt$t%yl2|P}@T(|pXDTw=IXQ3CZw)%_Wp^~1L;ZH&YJEUgGvk^uG>#}{NDZ2H zaLX)>(e3;bTl@hj(J4p9o}qE2)qH_JP^#ZP0y5(oGszmu0~{75glp{~OFRfXLmL-I zmLdeVE<8lQRz*MtNhKM!wQ~%+Ay=Eq?MfQz^FqcM+m+#9k%7TKcHH@M#}Aw7KjW6o z85b5R(s?H8nD}LoJu8qS8DqmTI#=qor zyH;SWk3isKUAUkp5$mbaXX_%IMPSl!jvf<-qm3Za@+W6gF)%7Jft=Un(L4X%59+Y| z7ieF_fZ!P_&&&mY9z66608i%Jy5XtPg8*H>;~nqdirIZ11bED&FA(Sffcz2wVso5& zweLRl%1b}-6_0c)qqN+1_wwE6F0bmB09c=M+|FXj8sbl!T3Ks@aG%`*ZZB-OrVl2X zS%p$aZ7c!NpoSzSe2;!U^+!&@sSt#u)A7L}5|zV|GR?(nFBn0~UJz>;nZRtaaV#Nm z6hiOflYa>~iT^yFv98*j>X=b-CCLf(OL7>DZ`b5mNO#XY{+v$sb(qknA$ZKKkxzUe z2J9G}V#tYP`LT#z;#&y&WiOAsb@V4^?Ka0e?Qk(Bf9V+wOUJuMXWC1C^3@x%6Nmg- z)*h%Z>{g+f4QyK&FWStXs=Bb`y04x}nA28I#-4WxW>Ts`X<;y{YrW&RvH^R`mvyxX z)9R45mX-fEcH}L$?Z#O7b$`YHIssTuca_CcABvB-?T=PGGiFb80pNol ze7Ey3#<_qgFvntr9G!fLHyk_9ZHK<= zwo^2et4i!UX5*z@wrXcAs0UYG>#nhD49Ua#G&%-CukoUtGGOCRzQo^H8k+-oz;@?y zJ>QXUANVX+>%{T&wsAj=gRi;V+HGI82VvBss|ncElap`ko0^)qt;fCeK%C$3Nalq+Tz54S*elivU`cJ~zGa{eON5KsBmIJV5YozWAw+e$DIOCM=6u=3E4L z^5WeS-4(zx+HY|nuPe9LD)w^MY80ndBrL4oUEG-keyd}BLW?bJDwRP~5kqTtVqlp1 zCU*zRGT07F0%8PbZ;*seV6;Mm)Ne>U*peG(ly;n0#1#hc>bsaWvXpem8XX%Wuv15y zx9TU2?%p7wB)qZlI4K4W1U?u*YG?wYYk}+CHnqCe;}WCSD7QKv#K>C(|NL|8>Qj6C zX&VEtuz_PidLFh2>-UuJcCd^RK2lOghGhGLeY@Iz0M#cJ*c|C z+HuXekCSqcmoY=pAj~k>RGG7SZXKUBo;arqW+j1T|G;m&e4~Ei z&jp3b)!a&!Sji>&z#<3lc^X^#F7$^8tJ-$Fz|@b2_Ow6SPH4dPFSenca5fR76gvcz zcJ?jy015Oz>#BOdM;Y7fFVQ*9?JRd3DaPk@63edveCks#_)a2Nn)boy@uMG}o=}yW zASX~8IRMAnxRa2T#s(ex*lryy=UI{Ka9)e{{B>QTKO;HY=wNw($yRUkZTs)kgZSR# z+xNMJ{~Lbk`~39%x9F}CClASD7$!SW`_`ETt8eTXRHHqBgT<@*$Ww&b9rL-1Eq03^ z`-~9!uH9e!4PSlv2mj%pfB6eP@Ha|$Q`hEnQph5o80b@i&3co)<4218Hui0UCnLyD zjj|U3vt^;D>*DSq^Z3l5wC(QXkC9`dUS705`P6Uh>}fem1Xb0Re%@sm=vdegN+r=t z!e8RhxVG(p8hZKR@Q}ez%qGb^Hy<#7cD!<7{9!zpace!%U2%X>w9D50Y?`MLBDuw+ zANE^aa*b~1!rQ=P8*cRU&y7H!8vp=607*naR2pxT%IY^<(Zyy<(mLY>cg7bxWDoEE z=o531M=f`W8cgE4<{oXrf=RDhz;iwKNK$H0Z1Pz9zd((*HFm67TL!)`;mr2LS5EA) zmG!ue=Of;cSC6;zr1g4?4m&%UfF}3u@A!?MlJ6MTpx-Q@;2Zg_Z#{0!Zmk?G+7@*| zTpJ_36_K$+dz^GE;G)Cp^sH200FXuJ6x(#ggxH-C+2^q-yy{8L z^GUyO)V&D66Tln@_SI?3bKqFa_)JHbwj)U&Q}sc`_MC-in!7QEl>j3jWB5OgTkPDb$jLLm*juC0iWihq;N3+vD;9%oi~5_MvwOvKF#OTd)=t-gOTsnCp=jtzE}O>CUEn} zK))ZT3j;WcF9)jb>-6P;H{ZW>`Q-iUJp_CO;E}#706~(0A-s@zN4F#!GC@vEwEu34 z$7UQb-YseEKJw^cueW+iKa*M+wrN9~x#UDoQszTK=MYoqU7}0-2*+d4c^c?|QkAnd z?QiTjf@F#@w25V6sxG6cp5fXkhx!jTNZKw|rkNO;f4QS$izZ~$5tJJhCF>`C%_M-w zU!r)-Hgh5a$FYN4ahdJF3dg_9M;2xytxeFxusyYnC~<6E;+>QxgeF!l_hl1 zoX5CaQW~+()yL^LNd*NN&H zz{xz{o#zSrd_SKPeLsC)vQQ?&<#Q+HF-=TjJ{+YfyQ?shhk=swtxm^hCy9()ZHww` zM4iCFuNY=*1hxn>IOg>a{o=2_{P`dFDB9R++cB)K1Zihj&sZ0(b!B(ad;bTce@N=n zoONM*>|o*8UKKv^=k26H=PD)i!bv^2^utvqcoQq~Rkqq`5vPmgX`6R&jR#DpAu4Sh z6g2psuIlPjCzs|Bo{3+MVmnB?*T!Rz_=`8|$gu*$nC|#8r+e-a5B7T;5~sb|7usDy zU*2tB1bUBw1RV=P@h~I>LpLr?^414Hjg#7Sni&%xH4B!CKKb@w%#~$2Z&y1Di z^;!9b!W3=L)g)H;1lg$Q?SIDG*%6aojC+0wfIQ)t!imLn!c0HyAF6RukQb5o6hWN9@`hN=lYBXrnTyHQ%Dfqh z$R!PFSlv2ZkO#OKlc@(NbMFAwRVE~#LV8NDzkl-j59pTw9_vG4ehLs*&t!R~E&z0f zxB#GXKR*R{_uluu*L^nn8bI#^@QTsNKkM)j&j8S5TQ*+Hq+JR<+sF!@#>}-pi7r}j_dM&!-~VUKa4)AGEuvEU?XP}LzXb4lsq~NAg;Y4W z`;P*iR*X9^gS2rVfmHMbY6YTPl5;HaNmzEWw!0q>@f$nZIml$(hSNN_mfnzXIMjR&(51MdFaIo_#5mlh zWa_zS6^G-+{?GWaAdcp^@-hF6bpx27YL5r!Ao9xKYy0F4KWWZf+VSK@a4O?coWWct z9!#J(OkQh!N$s^|+clgvS~d3jjYdwl>LTVz2#rPq4fRCSQpqN!Yd78)5k-Nt@j2+Al}? zU4vyf>wOG5rMu14t`mEm;D11$>VNR--)k9nJm3LuE?o!e&?L{+9_h)k>pnIy?bZ>; zC?d5xH*j3}tI^=O_mW_`#ta?<#vb4QcO24G9Q&Q?`f~##=(`Jfe?>NYjuiS<374I@6Btl zA;^}vHdO*#V>0m;zi}g3aqk$M12be^2q*y4Uh%uH*^?@BW#HZ%f!XGaq!_kQ4927CgME{X^PvQXj+QarB+E z8rzk}5fi@M^`-+#J+axDI1i`sRV<2AzsQ|a&2r)5w5cX_`CG%13k|op{dX#n$D;dx z&{&rVNyi@95#NCdI=XE+Qi=H*z$?T!zKK=IxlxpA4&jT`7e)uUi%d8D*=-N*=V;9}+Sae*KlT_MjOcL;Lnc~{Y zYtoa6$B-Q&mae)LWM+}kcc@LzparYL!xWM=%izImoD0GtQsZ~o?Q_JaVKI6nRV zim&*J%a8x~k8|?Rd8jAyO>cVB{bxS&nG0V5(1n0YF9L7}z8Aj7^7_@B zvFjZ8^78BQo%Jjrq`sYfttJ*oJ6S!PqT%ebpwt8DEeI*}%zmd&lzj5;O1B-UsZ$>j2v62dYI8&!@<=~*0P{TGhU`PqwsRxu8 z71`oeW8~!B+#zsV^^VfW!NZL$(H8lJF!S#-_|eV}0VXi}2EfRIiK$9hH;M z0?9{Z^~6t%%Z@+=I&)OV`qRebM7^z*bn`TJB+rYJHwei>*J9$)5 zEHsWQw6yshb-vU7kw5fj{YeQL;AiQ4RF?QmUXkjvzuOOER~EL~?y`Eeb?CFIHVSDn z%y-|pgW>D+X+AZd?DJiHzMs#k+>T24 ze$q$o_{6d+i#Ek9_HnEM6oU^Yz6OoRalzYh<)<9=W6bXJ)tIk+|GS`=(nccK@mCHE zABs_;#hI|vmyR?jMjCh8N5^($y6ku4^H){6*GwG3kdtxn&=w-F4FS)R+j){4zfMY@GN!jyrB;H?E1i z?Ga5?{&1d{@^oz{`_p$Q8vEvLOqFzBOEK!-`6({4j7Kph8&An2<8sQQw#DSVkRcPR-Fa}zJfv4u^RT^xSF2=$Bx=XG zEFWU*D9wBr3odlF7w?{<;0(|vjN(v(x$x^1{Sv?@^#+^AatqvQ|tFmpZt8_{v#jxh^Ll~PX4JV#!z$e|Asfb;r@je^b`#(&A9`B zlYdr;WvbWn0Myij06+iHH$3{HuSU*y@m{?93?5A?O0O<$veIT>0E}nh&^cK&|`X-Yu4lp*k1Atoud~oAC zPI^7jn|U~LU=hJl;>773(l#rnCLR1GM`GYV{fveY#@%iv^FvIeEot?FfOD3r^+E}D zD?9sV+cx9$%nwXwByx}wi3vQL9xHIgE{w1%7dPN*glQ*^@N5mbj9X;PVhn44#$Uh0 z*fw@pt#I9l-nvDQg@c{tm^{$7@=CX3#*(X46#G14#Z6+Op0<(Lv&JH~UE3?R=zxbl zKI~7nD*}v%8!T(By!0uI4KGe^p40dJfA@d*>n{JqFZ+d#G~)&a8m#dbFI323MaG&2 zU=d;!kh?^acqMJaB+{91Y~TxdIINpFY#U<75Zgo*d*?Zh$-xC|OyX+9)`cSR3qLLr z104!Hb)s&>vql0yI&upDnTQ-44$e+D>%l z1(!Kvwo+P8*MCq>S=x6xnSbNu-Sf2ld`JJCm;JQ;S{wu5!I=CJPaySge;zX_G+35P z=!1QOslH=7a@KEFTY*z6493P|wn8B`EE0fqz;UYzYPgmiGSuS997fPFuRS`)oJNQQ zeb>9*p|R349X`p2GAV&10(pvGsVWCW9EoVhMayC|0&h&Djvuorjg4-wQ8;#)#2>a; z9z}|b1-h*dK6bWn414|I?rMB?x*rR)TYws3s`ynEp9nxSj$A~H6kDs=0mpiLP(cobHa}UV%_q_+0a=t!{!WxoTysIq8QgT7V@^g z^TNJXLrIq~ujGS~{EQ{GNZO*NN5N*u)G7weDl-=QySr#S5(`3O*{Z=U`hI_`A2>6+ zHXTo}$g-g^98!GKj*%W=_$_jt}@8f!eI!m7d`tPR_LTg5Zw3csZTo9E5v; z(eWG;JRw7;H~b1Ta{j}< zw|)87>6hdF;yd5@PA&@MB**5@&gPlA0MLUHlc}EqLvMo z^Am05hfIiz7oX-iHe2o(Rxm_^jY*M$X(xDZiDNj@2bPLJPQ;*&)d@h`ojxDll9%Ph-Z%`7r zX(z!1mpn4YTi#a3_^i=|rtxd$>lo$Hu6v8wsH}0762G_H#u)c>Zp#+X{OzbaXNW^o za1$l}^-6q_j6Y*MB0B~f&Zb=P7rT7wf7##n*C)HT#eSBL@h?zgG+ts#Le+Nu%2|?N zrHySs)3y~V^=(X&v@^F$J)buRBhMIs#(wl_poY#yt}-_^lcHP&blzY}f%pt7~8 z5;=8w8hibp=(PKjdVGTaes0_6Y5V$ApWF7&a&j_$_}XjJy`6uw>5nR7ag8G?{ysT6 zlS)72AejyF#y4fng>p0#xndnKfHVhhqr)z_^enRz&R#(QAs%An)Z@6*5WeK zR(BIW$)$FtF+Cgkoc%rd?LN8{pO9&Xd9|5W88+9m9pvpez#q-F0dw*eAesJdcHBXL zD^@N4k0o-j`4lq>4{Fs{^@?B8@b4VzpqR!9L3|w8gY_xhO-}e}?0j%2mT?|n@3c55 zubb!md)`o=!pYa7Ivmt;g7b%u6dgFU!^61OH?8^}Md=kcIraV&@0A^Oa z4)y8({f9pEp+`Ijutg{Tuj&~9k95Thj9>cnp9cZn^B_Qd1whBhxsOJGc>v&@PX6!u z9DtvE>BXP;1w5ZlC$T&O;8mTnzVf;k?;d^rk*AwC_PS?va3l%>TeU3ElY#AJSnjTEvTWpGNK@^{z%&rsRBD3#=88jMBa`WFr z+D%!DM2~>2%O8-(mFz@ z!gc4IJkR#(%bi1N{EU$Vj^~~m zxKa{9^FijEmfjNcHmBGbn6Vte=3s6!MyW5CU-nP^{g>bUd;Z1C+uo`tv7;Ls$3cfU zd4gyMR57fwxcE$?1Ud}IEwjJD9c?=SZfwrm6cqH=Yu~Pdy zIawB?Pk*c@huS%o=0Qyk7}VL|-Cwzk2j?3g+YkTC|M=xk{5SvW<*)u9Kdc@lIIrn3 zLHf|iztQ$}?S6+*f*jj;+CHCBf1{qT&-e7Xb)OUcuhNOWe^w7d$ESLD5uLJg4BQ5< z|FrRD->Xee(lbT_Y+w}|-f~^rNic=^qWJKC#Du@mh(SKmsVmR(P&hVt%GDgw?|PUu zY9Au&(3vD1@LMcAJ>mIu5Z%|j?<+5V?f?8ShZ63MhQ={ZoKtOfK}BIc8fT1c8?24F zg(ZR(V=M!Jbmn8YRwVwb7%NguoY%40+T#F=sm$s4=uWKE<>-0^zi#x}v7`Uz)M z#Vo-zDsOGEV)kl-m!S;3Rp1hTVnhgpvN^VHG^!4wJphrfejSz3q@iGI-^$(1Vy&=j zTSdp#^F8BZq}rC#QK3h!YwU<~Lf!cU+ih*yhsE|4;KP4YnJ0va2jWoUGqLRp5yb>u z{cQ}_vB%+SV&xp2-P71EJXfA$V%I;9iuKbL+$NHdn|avsU$Tq=a7i~}rh=gxX7 z)XE^ld4N`Tlb9gmMNzG|_-IsTBkHO4Un0r5gpyT*QxdT*S&iA+>4KV#gOYY{j?O5oh`iy%R@ulQ05IIHF1Eq zo2ge&==5pBf1i5AbtEIDR0;X#{X^ZGjV0xYcB zj#ql>ZryyX4K|an#|9iu={UCN$pSudf!uk?arzlw0aghoHoKT{1v_%+66}nTx;+joZZR@Vr9Cjxle{Gxjz}0BHulxU5nzp2Vq_j79=w>v3BA@#WYp(|76hefj_V z5B{r{U-eIa@8w5+s1G6L7!k;z2(@Ri`EmQUscmd=gm^u|vj2vczI$jbJ# zgXriOLq1n!)>5J9oMr^}D-o_Ygmt2xxcsS*YVH7d_q)F&-$8YppeGOUxkpW2H!(OO zZ=jsU#F3a`8lMh=v7smmhjG}TiO_Zb`az4B7bRnaeFSy8^g2eL3Xm3vD zU|XVts(PDZy?ohj0VaPV# z59_78&8>=uu$FbO3RHb!S?9@rT^4jYkr8OoJ7{bunHSm}6N|G!Y~Qt~A60Jem$mxU z)|1zuap=cjOzr8IESlwXEE1e|UPaB?QEO8Zw^6tK9%aTnTW*7`UDcJDJ*8ub&K>ZZp%U@b;yh)u>=kyl$ z=-^{L@}GC%bPcQV;M!fJwXa?P`vEvF@o^`BAO6Rqz>hlug5lyo?5RL=ykF}8Uj+mf z(6npgpyOQnjHO4y388>_q0>g>61l7f6vd<0zy5=Y<4(_yd;H-KfB2;b&L>OobGClw zE&yo4IKyN{FS-NZ^65{1`tq0l(qE!`uZg_pSpd4KbNR$4KCz~M?gH?l!@Lgw)QP|C zuzmUEmwgf7fB5*{{_$`Bd0#)fizsv@>y<~k_vTK&4@j9crd{8mAkso~Jc()+8}D=} zd`{0w0pc8SYjC?E16m?^-HZxC7wX1GIkk6c;y-qwzJO} zDp_)0hU2cJlJ6j|{hmmXcunF$|2Q%K{y+UYF2D18|Jda}{g3`zBkg`{sFFo;v^Q-@5YK-uT+a zkCDT*Vh}Dl;bw5EjkUR2I8tdCYs{L5(SQbMH0>j{v0r`S{n~U$v75~Xee#G7Uh^B2$;IYNIYY#^77LSe!FX1Ew z2qjzz7${zJ(YGDV*3-i5jMcJ<7yDHv_j1-L{pL^}$25j#yIfrl@tqja)xLbiKNNp; z@jo214_8N>9PDYtog4gBzhelV@ttFO$vnm#kk(Z`TsQaAkLPYCYsY@Z(pXj7P~58X zi8Vn`PXDLuY=cu@PReMzGZ-LK*4S6@|F4UNg{v*)m#*qPo}v; zh|@qjR4>*vC>Bfy+R7CxTrKfPPr~Cm5fbaP=?8PvK5i@{i1fPplpm7Z0l>w8oU}Mw zZMch>GYHr*Yap!=T9w8cAI-nT%dvX2n~T~C4Gd$LVcFRBV@BlYd}^s`+e`XYK-k7UG&=edqsvz5@#XU6UR+wNFFyIq-J9?Dz3xI)bACS7j))U?zti=>%xhh0 zgn$JJ*x~bz#JfXwEFjT_KN*_P3a)tcP4tQY5FxPgWo$+%%|jnx>lL?S+rE(70C0+F zv!^VbB9T~N9|+*q?{I5(dYSM^QFkz4jht)y+zr5U0MuotgVH(<2mCxB!|@LN6yQ(Y zX_T?Xp9&{W949eA1OYY__bZ3+D8)k!IwxDPJ7BBnfTqX%cuuB&wj;XMFA{k&4{jV! z{VC?jXX}TZm1FWc(>wD9Kh(7J(g+Rs%wx3$VMLsh497xdv{D)?y~ayjjw~)I z$39k*GQRP#>8z%oxT0wPtiuyM@r5JFq+Qccqf0F4zz@G|R57+WHgEw&*6oi}Qr_*+0 z3l`4Ktt6yntZFr&ZC(5zCXPrQ-hdfR%B>&B68q#ZIoSzb>&&*M&~YhTwrDftgO|{x zM4i%n>>rVNY0TPH|Ebu3=^t`#!T+A`{pT+q{`OyX`9pv3f4=;g|K+dgjsU%Dn(__b z_`b{A^e{&MtlrnX*K>9I{rvjeDb0E)$yII7k{k(6PMHgJGQgtkI+JWL*3}U;3jXgQ zNxl+#Y{Ye_CX(2kT?tKDkcu_edERr|yiZrjWE@}n>&l@)XN>ZIEAcV3Af zY5Bt>=OXav3G#F-*SwA6e818dU$ge?4v!tBU3@*@+b4hyBGMiI(_`dJWpiRyP8|j* zyTZ(v1U*l&d#(LH1cbW^24f#T(R4gJHVgm%sUdE^s~k>M@!bfB=V-4nI%C=n52S?H zZfkce0~Ot_Z*f6)yVAFyw$)zOJ(^|w;cZmY9`nu*YpQMhB&KcCvG=^`AZiU8^Q1vj zd(O%ZKKG>PkX2UZMR9nHe+g8|oY-)ez{@j$!3r()iLv5l!`i2Cv5a-YN%)gb>D0wR zDmOlr6OXSeIN^gJ?(L`26-x!J!8!pomd^;?wK$o1Pa%ATp@;-03#14*t?Hcss{LR< z={Wg^Kj{cJeuno9-CUC&;T=uvt(F<9plraT%CXQL`cgAyJqF1JsbZNOC=p5Y=&fJz z8-LGx{_j8XJ%3#vCf|Mk_kX`_4Sz;9&)fw7&5P#t{*JEz=s|#Mn%?`~_g?rpK$TbZ zHGq}3PX6!bmjHMMfbo14Ko0`E^iBXh1AylN=%?tOTyzoO@~M|U_m{s&4+3NnY0ta7 z`1muqEna(@J_cuLu{jo~S7-KFtMv4KEjO)F!C0(WjBeRZDz8cw>gMqh6}K$et7NDD z0AZma4_U*=RUkY{yN(+J`w##h-kNZ2>f8JA@C2F;ZrRCePhcVSNxR&!PhRexNWnEf zIuv$)I+(i1x!WQHkBsL4=t_a;B;z|y{L~32QeX|qg@NXDTf>2Ec6NFx#^GTcH3YPo zpx~T`z>$F(qc+{Ql{TBD9PvFGsqw3DWJOGeojSoYZou4JN$! zY@hlmEHpDti)(BWC;Bir{>B@!WWIa^*KP3XNnfs#EnUH`1tcd2VzWrco;a~%Kmu{6 zl$L@y3o9yXK($n8+XuJt*4XsKY`s;p0fBAuI%_--9d^EBMVGwrM^4}HOTYH=`+ono z>!EM@2{-k@c)dWtf0CjAwu=fP_THi9wu`*l=4C7U9DC>{)?yui!5JfZUxb9q4!ueTDQ5P8 zi92i=L+p-Jj##pe*19kdHGzwpYD#3oSKsIzx4an~uSCxOMIc?*7>aO}`RTgxK$&5| zW^ndNyMj~RI7TL8N2K~)&wt5b6Wh&CsFC3>^5w{OkvXY&9(?`)MUK~HhkKNsr-pi2vjb_L;rAVc{q53zJo1S z#=$V#roV9=@54*Mjy;{xiqsL<;kH;Dlg!ioMR}%k@NX~KuZqVi_IX%V^Q_7jo-t&;&zWgcWaOP zijuLAy2s~^A8)x)#B=kHAGVRx3huRXNd$oz!+6fWvcq!A*LYEE?y&LxnAhWzRrtM73U1w)t<{jnD(@z*b2c&G2PA>I1#2mkrue;jA@ zRR9BVDtouVkN;4P7(Kcf6Su>jeI{*z)$jgk=qn*zptT__xtCcf1Y0g$n3{}N#D<^I!dX<>2Y?d5x&tooyA1L0TE&MB)bGH!kG-i1`6wpoc# z$7Bwy_7#N>G!i3XXP2$4solkm3OCy0DzfE1I?PnEQO6DSF%Z<~n9xm`h6u-&>v=r0 z55JP3_xpu3A#!X|@Js;Sz~&)<)VvwqZZI`QHsnGdd=U-eO?tRu+QiJszJ3buiM~wW zd#PoF9mY516nU(gryU6_F8KVqvdzFCcUk1GB?mQFTGK3d&8gcCueZwt(Ar7=NUNQ|C#WLJZ@_eap3}9%0*vO+rrL@$l4L z=pKl*fY_N5o*5%^AXKrd1d4idSr$x!c2edTtI4G-(ff8x=Nxj!AL1dKIBYiKNfZ+l z@pOFFJR_XKSb99&N1>kh&-ps@s~xp5&TGcUz#&I;m0}`^eFI=TMXg)FV}1mdyaw7Q8fi#h#vT zLodK~V{aXZlylr8kx}hl6Eg}b2bDftPxApGcwwMUu&;qT^`V|r?I8U11vc$$=_G%T zUz!6L=OBi#^#E3N${TBy_AvIhx?-rW<2p58xP6t5q0K342T{g=WBbn4Q2K&*-*d-` z4n*sqm(9^_e!2J;#nUm3F>U^Q=JTM9M8m}5ZM?b)D=U2-|C(uTJ-NY0$nHbNvP zDz>v#+~}A;UMGX)2e>Rn?Xf*Tr4^I$b{y8tckLxShs-u1I;7#Vcw6A(HV*soz$u2| z;+Far)=YCjcG{n9bSI8J<;0kNg2Wd(`yX8QAC?EO)G;tlM${W827!DV{-?rK9RyCp zBxaMP@}h5cRpY&RBT0!*(cU*QE(m+`^ee|Orz5LjZ{TR0qc7pHU@|OADzA*d>0KWz>4+311JI?{|%A4l^ z+<)w)7d~ndmXOYFU%kA1dG*mO^qkv!!O2L7xYKT$6-PK)kM!%rYtwQcoVqft2WR+z zPd-HJ52;XL&SH-X1>hs~EOaq~f>;xu$dD1DYOZo3q>CT(k-<2@4u{~m-r;V*=8G{( za6A{lR5CGr3}VGO63+(E&u%zD+k@k$1c~MCue<<-(fmR66;9m&z!gYvuT_jqW`=-W zV}@J;`cKJmI{v6@Q$I5VmP3QSH5mAcp-qW?*On)x0JJUEf*T#Oil8huu|?yy9HHaY zzT?Bjb{)y+9VZHv@?%_n%d2QTSaOQ#9wU6!|IilXF>qY+$WOgZW>X%I#i>xcv64qi+6WGzvc!EusAkn}upt&Q+4;fC?aIXWoNg)q-M{D8 zU4HX-{>m9Qc=e*^G`zti@^RSQz`^Z6R1qsL^r}`#uA7U#W%xqO#%he0S#%It#=g-} z2&fzeATk;D81+RfBy8cLW?y`&gf_9+8I}{PTVnx-b5LJxkB95@G2JpqC-&tt^I>CY zEshbr!6#}fmDe&g{w8*hpMzTQuDEe8|9j5p!Y2;BoQEL>(pshKV0r8KJ`I(PIJKRq zagp9Oj!zIP8G*`axWM!me~b-TGH8d?)wJ>M=ER{kCiZ1cc!#95c(PV!f5zTAkDl8* zRsu{x+wrty_>jHt1Ns_(-6W0#QOgP4af(CYy2J)wsW(2YbIb_KGc$gM6E5?HGuwE8 zH+cx~|FZXXzq)4EmDfHWcE@qq<#Lh^{wSv+MICqIZUse1Bxxig+PA<>qNKTkgmkyK zLeOb(Lu|F03j|1f{11p0qJ_BV+>qoSh=3alaG^vkp$bXbcKnfwU3Jc8{KlALt@XV7 zlw-qHm3!^;K5MNx#~gFa^{i)~{k;3#@7tP}Z8A)7>q-sEHBvgS#xd{C)FWWUG`g_* zr978)k3Dsh zIB;$lW7`C1Saxul#ES+85R`Vt*%JSyj-lQe8vMQXRY6>Jw0AYj9-W6T1+BGys0Hjp zYtI=O+cxV~v3y>;USB6N?8kB`gzFUSvIiv})W&K^8)jcDx|`N;xX_ys6W zsBrTSf*N=t0bAx7Yc^9k#+Ol&GCsttF}B$A#_ai%V@IO5TIu(k6Xfjn53O##JQ5Nm zcklba%RjC6jC-tm#V7y#2>`F?yW()!MnC(rKYPa;IiOrG=Wqe9yz=+3t8^{7gfVBLcLuapdNG(kN}e zk>G}j3kSR|TR?jFFL^LfB^bFqmdyjf_|3mM!BeV^Kpka0^3AIZ?ml$)*8ThaO+!@r zM&V~T1!WET%^5D*T2IJkk(Moxh1vF0YoU%oT5ZVz)}>f=#zSWvj3?cg4fL2en)OZ} z!=YD(#-NCe)nc;+V8gXE)ZP`I)eaj0xTsbmdJQE+A z&Zs#t`rp#F@NkiIwVW$#oU_P4*T$UV6{bP$?TIzVnd}TW#xI5_r_;i8Xuym<^FsnC zkCSKT)_=fHSi?MC`|%&~Z~cGimw$nkU5gjpP6%n5@=$uMUIy{VDnAN#$8_WBCud-R zPrl)WyzX#a&zb!PVC608;Y)I~(UOOnGuwS_)(hB05dkJ~o;fyrjqw@{XF{W>=bRPr z*!4vTw#K8y*2w8>X|M!?gdz{%Vr{~v0sO`>T&p5z!0lHoSSG}J_z-8Fal_b}FlBt4 zo3W)XBV-9@Qz$AmL@8O1CLdw5mUftCVvaSoPxI;t$<*HhlX^IVKwD~pn09a+c~9O* z0*5q6H9q5HX?;xzj>pG8p*I3Nnxlu~FgxBH%0Zu8MX>IS_xhuubGw)c1hwhCka&)3 zsp4d%rIv@|_+sxm>>RZ>j=UN7nA$trecvz-OEj`Zo&_YL))_+t!`E{LzI9UDZE_-# zzvngLD)Fp&lDbQ#vD_A9&iJA?V`b{#rbm}di>KMo^LM@ejbAK-U-5OwZUOjr?p)W+ zvGZP0<(U3}$MV2nvlOquj5*e}`|J}mVdMJ9*H#&9BOvX#n9ffhsMBsA>!KiM(-^QMWx>7AHNyv&+u8?FZW|ob zzI;rpVb@q&$;ui2&XCi(lCqwxZfx&#bk+vA@8qaK!L6-N0z7>qXCo+$Bj0r`25Q3Y zTDb|&*#4t-+iz+hri*N9AGW3~HQzS_)=%~NBjCjHBmm>y{PQOZA|X&VPQh;HWD-^1 z*&pNey{NX5b>1F3iAg=@y-?dwB&^=~-Jb-&d&%hu04;ZKix&D_J>VCy@42QEx^~Vl z{^BqCQvkmB#V>k`saST>{a3#7m9y^Ry~~bQ0o?26-#%UmFs}x<|6jiTM}H`ad{<;c z>2)^WexfH2<_6cqY%OoEY%pJn$L2dOO>cTZm+S+^HVmDN>l@DiELKE76ujJtNT4v@ z-ko_O0APFsQc7A&if{PiPJp(*tl&k6X5O@qm;3j170~6$gZWQmutqC7PXa_uYg0VM zp~rISeMx@?fR)rd!}(ar{CCv?PzRi}l#qC^_?Dl!Q90B%^^Ye!*fuzE;h9);^EA>TX`m5ybq7y&UlJ3hj_|C)TU`IXU$;4P0Xw^ zQ8DTmTYbxHOwWg3>aP&?WeBzZW&HWS@soGI_1pik-%u|6S=-QW&Qz{k(tsYao11}J z>&dyAI_NNrKXrr&t3yp>hz_wj0x*M2qIt&d2w@$=lB4EbU)&BBO|&U${02im+6;}j ziJJ4|Sq|hZ-s=RHZ05G0@OyDQ-*_{4(NZk#a@mKDLrcQJs!bmAGBIM_7;4gRwT-GOrI1YRl7FkU^HriHXHL8P?#QkGSO(V16S&G@_LxVrR@_ z#fqzZfI23m4IB6sW88=s-1aqU>ToVHrxll4lyUUneNpZSbJy4x;kJ$X&Zvxu-I(Ov zs0O5Wyajj7cP+$J`;OoKvmX591T zWQhN?uZW9$@?y}n<6IZ#5fU7jXlqs#3lSlI|vh!{K!_jb$gT0vj$qi(D zjj?K(u<}?{3~cKrV!nTj56dlIZR9HqPSbx=s2g7a4xx`v5eIMAps-ZT| z4CB$nPXOqBvL5LJ$hbzC6yn7Gt$tM83p^kI%+0TBKlXm~w zYp>bLrvotf@P|KayFLlPJ?{gcX5Z1*W(<@6SB^`9^!{-P!xf6f944z{RDI><5{95wL(;$!;k zTN&)fd3YOR+we@RyMc06JRJV$&I)u*@UL9MvEmjdIl@(}*KRaL26ZF=&iqM@2Fm@D zfA!;AzA)$Y53l7Z2%btcllhc)<$?Ly>Lae>^ugZhykf$2$tlyMyCkYcjODlhX7bR7 zj`RD{=7)3ZzNxJVZ^SHquMP2YUA$xdIEc#`>^^V45INm&T)S%Dx~b>dG`ESv2(w}1 zIwDW@5c^R3L9A-{FeKp!HZa?rII0 zgQ=IHB*eAF#_?Qt>z0ka^){v~Ww`VOU5reKYGiuv7vr|i-w}o*da^2w#g*vj3N+t) zGd^n*R(oye=32RG;Fm-Ay^hEJ2IaWIN2k@uR#i4@cALBY^zr9hDOg}=@eyZ@AqWp+ zJ;t=gmXdI%#czH)Y+6C)pL)z=u&iAV^|<{efchDkpGBVj2{vg;aJYzTEUNLDkmLp? zF>!|rqhG2ovcd!0*BIg6Tc#ne9s(N?5em@{`p&DL<9YI6-V89`x0_$Rwa{UkcG=Lf zKhMkii`aT~W^@;$`w88MUBIskd};Ya`KFMXtH zWji{2wu|T8I_<;neFi`KuC8oI6Nyh- zx(@a?+}u`spbNrr-n{1MC1^JE2xn2DiC|(LB%D(dQtb%Cc0qQ$avU>g9cO_o1h612KqiZh0SoC+mFxz;LnV zf~7|W!b|{364(OwG$4+n_t3F;E##)h)`zkH3(m2b+jtznp#=@(*PDKp%sJuf8alrE4;>S=>dE|i+#F(|7&X^5FiXNV z$=eUqTC2;k3NFu3tS)xg({>z}$k~cHtQsbF&ecL6y5Mib*2!=B^FT8{cz)y~AH4f7 z{_B6|?l=FzFNX$h9z&WdL=$0S(~*J6*~>H30291((139|9}OPEp|$!}QpX9Ggz1f$4o1dRK4F6}adG8xWyYx_d)js65&w9*w*PLC*9E4Gu!~}`-@WDDctx~h+X?>5Q zjAIL3b(Sr99i#)+ShA-^iQS{H(3_s9avm-xjs2SGz-S2fZM3gnvtHMn$XhJ7)#l`_ z>tBwn%Z_S|Z1z)E?S3z&MY!W?s%5`oZw>(?59k%QP-x|x_DhY}AKqq&$fnRte6*n8d8*53Pk>NbylKK2tK zxwSEObzg*8hpN+)CTUi^){nZ^&nX62MRcqJHE^LhXXGz5BeMj<@8taiKzeTe{pSE< z%SQy3FKa^0UK2=7xEH7E(Y0~yKiF3IIczZT$T| ze*(bA0P=YA{_Q`^Rj;k1i|<>HzQIo@*+G22^=0I}HQyX`S&0eD+`i9sri)0HAd|3L z&zm%dIM|Zf+2$rlK3@<7gX6mp7!-TVM8k;Tsz4R$j0T9P+MUWF3eco;3#CW_ZIjdV zn(+Ap4$(oc6bKh8u-7+wz!~eFR~8^f76~+;><)uRF)!Wg9LOCl^9<)xMF|Yv`b!As zjO)WsJWageVvOM??wFbfyjKaVn#U6ezcsnu9f^%ubu^AJhhk9c_{0%+&1Y!xSWM;qxUaU@&(lbf#JoWXW{xHFu<>c91qVxQlK zYY9HOcjVT*>j4GN)mPO=_O)L1ZQj=4+Q-~;7LDvfo&lVp)v8M&gLaP1lJg_t;HAzZ;We` zsOm8GnkW$!?wQW2FwI@p3KPA@bxaIhUu6*&K>x!tC{7sT&S!j*8#(?tztJ+2VS*WZ zYg=a64{aSc<1LH8XXrbR&%mV%xZ*W$&83SjxbZh&@ajsJJ{maI4)W5LBUpTEL#!i^$=x{rAa5P>L;z0+_(=iY3xFpBH0OtX9>SHAx;^$GK8k15MabGr z1QaW}ECzE>BeM3LM_i6HWF5$3vu}N#{lLqg)Gv+SllRK+$)Y%q^Pk5f-UFcRwbx$j z(7oQ>v7ZER&z}MCNdR*6lK>dAYx&JT?*(8VbJ`!h{pOc2(0DfOtw(>ZKZbuczg5q@ zwl+1_S@vnRu6L<6S9aa(SkD<74564Ya#WKeskkVxb0JJ}`hB18_BL0+6Q0HK?NO}3s4V5~1b0f0QbS|A@C z$P)1EDml_Xs!c75QZ|w(-`vrLc<>nB@q&^dt)_H06w?4 zGqx>;`oTVIRCsOY-1_BiXgSK+Nb9aq1YOViQIGpnP@;9i2{ydMU)nOnv14DfcF@2x*h{Xkp7B_Kwx+Co zUID=0`~M?-#NSVU=GA~4p86?xm9X-eXmXQ3^Sx;_Cujxk^~t&_q^9=dJjM*IUmRpu zO%8Tv>$Vf{NNCOVGfz%knM+SnWnT8F_e`YmmNYo8x5jXpuRUPUjhH=#EejvliX%}t zt+k=%*Ti%B(GOhB=TC8~CX8U+1zR8dmK671GtZNIt;v)Z*EyNs6(ird2C{FCn>gv} zdC2*xKWk&za8Y9l9&VA!&Q}XKd0Zb}>p)m|t7F?0E|=#En>7k=7VgB8mxpseJLBf) zS{FB|mj=|#>0r3@XObgNxPAN+KO_oj*q-WWZ>Axut@!kN4RW4aPdK|C%|J}|!}c8l zF3Pzch-AIebF2>5V~_1HKD@KW1iYXT*ZlO!BVfh7Af~3qF>jp1&^q;Dj}PH_T(lA_ zbGTgO;Lb51HP@cuW#XiDw!h+PeUMwQ)7Gqw{%-nQFCdl0i6)zL*;mqmEudBjEkj@$K=ls+sRwc9#%ef6Y|3yy_7Y09K@WTa;IjO$b1 z6mV1zlFJLEt$CR*Y*fksD-BP^>2;LvToW)f^0Y?!M%n2}GM;(uL$sPxPF^pwV)~?4 zaLHjR`#h@4EZGZVvQ9Xrf|*-8DV1c8nOeQ;CBj_S6s`%0u8)D5*)`-B`uu!+r(2jO z-%tYo#GmsysKFDISXZvG|7IVP9^tn<<9py|@L8&^STtG{u|q%rPax1p;NkduCPvd-e%{xft)yj{^LIKllTmX1$>U=j;BfU;XMG zp9C;}25`rF0PxT&050cqZvJaC#~;7-<{Run=i!&*dM(r2PxEI0zCd*Vn4QFh$kd_3 zlZ!n237669B9pf}R#9xk#A>8_>0AJChBvqVxhnYPmu+evG=w^l#=}ZF9!$q%+^I)5 z^t%QnEuI1#&wyY}P#7Nn9gYH{*Zf>F`DcmPL}vDk(S?UGuPlo|Ev@7p{j#^C~&G)tIkI2IrcgwRrOb zkqxfoOUyn-Cv(z-Tc@9ZnHgaX*zLfn7Ib^~aeMP<05V5#XB?qs)!=BdRXf(^YH!=X zooBT4rO52VU;8_syZcA~_&4re)ytCSnW{txYqgFU-Rd%8Fnh!@GhgL-Q2nXOq|~b~ zmm)I^W~pI?bdY@HTs1XrQo=h*hBvWZ7i(8WYH<#Dti<}uiK}Cc2B01=&WRnz?iSgO zK`V{EIoq3hVxkWm{OMO6j)x%{vM0hv+`0>|rllxnC}JH6{u%&K$pp7z8vYI0+o+AAZLaIPevmgbD3 zvAE%-h6sY@Xw*Fz08N$>gOe?sGLC+`H755XJpu5OKlKS=!(&@<>WO7q>LIngHu|o~ z7FQANSNa8+G@gfRYO#g5&Zm9{)YcwwYRpWQTvQFD*{lnvK z`C2O5lV0Qcuj4;}Fv<3l)SP6w`S!3rIRF%oBOvUQ(lFNLALBxaTxp~!ij^9UUNJ^&CjcE{mk zK4#+kDuDNWId-qbtTjK#qmDCzZdR3GI-BE0iX+SovhD(_Op-pC_puA_x&iq&h=*icYOr_9|fpS0eH@z z0T4jz$Nx>QPlkAU|2tp#zhCz^qg-V?`}XMDPu|RaV^w{Th(bNz1hkXbiP_BDxch3s zk|rA8+dEE3$K+nv0JfqBb2NRP7{Dd?-sl~Vb;b3f0P2Sbq2=bCQPc(Q3mVr*mNm3O zIn%+xyuZ=cFhcQXLtDyqO-yYH+Va)wSzY%!tW4?BHswW$Vn|$>-PByJ)}eK_GbF+);}3FAY1>d_q2AvE=F93-4?pL1|= znT-QAXRTu*ey?%yS*?w;G6&e^fYB7vhi78)E`HC4pLlDVIpd0mtnr)NHB^f$1D^`B zF2IHpT-Jp3Jg?P`_uj`ZE75K%hviToGOCSv9@g%NtV`k;N7t%t)g-$$A9asj30PsK z^c0?Hj?>sOwpzkaZ;>7c1JFM4dk@%r@G(EuNYm9?f7VYdlba4(rm(NHj6BD=;?N+x zJ;QdvG?5ULihEuIW~_u zTnD%vg}r*P_klevc{^*rtZNWY;yFHStWmFN@9ED_na5oXwPWl=;Gtg0J^!fA=z$9 z*5A&X-gE7>`7J(|nPK$4kw+a*1*~suA@OaoeM;xeKXFh2DGxs6v~g*83@?KM$v~+7 zVJC)Rz{cV57q*RwQi^tF1yUpmAB$lj0qH|CkK2nb3yB}mnEup^?CWfFIS21 zlLWxDrmx)RNfp+^f8!+9zClke`l-aYJztrveNLy&+bO7G#R+dR?Z^V1lM0ZmqYiN}2S z+Z1a}rjC6o+w~pz)*F)(n-_ugxlpl2Gj&hCcFd*4TC1ZNYE?5-Hok%@zdSg*CdBzc zRASwm02}a`7`n&t8Ir@~J}k~%Y4E0&Xv&y6&WMbiMUKi$4FVPnsr|8)E5%u8>he0m zHa6&6Z^`QeR(^(H?PC({ONUK!4kiX4I@Wp-Zh5l9!*sCGYZF!v5`WrcpT#qN_=6xO zoJ;dy<99J(u3f!f8e&pn z7@tO9C&khOwlYm&j)=;zJrvqi_Y6x)7#_UJa|@a&;SN3N-l*k~=3 zbz{6WZ;gm&4K@#>&b{8Hab2l@nc&pqio+Y;jr;CL{Z0EW!iu)!p%0_8k6y+!G@aK! zwnKM^t7Z(dw}2iE549Pw@Bxgfg>Lp`Aa*7%^5J^Xy2X|VGADb8Mu{fzR}%J|36t8J zRY+Wq(Q{Sf*_iAfQr8UK1h)rz%@@G(SJV+3y;39}5AR0;928qKg+H7ed(D~_yZ|HD zK6C14#WSv2K>CJ$=xXo&9`nk<+~<3M#%b&vb|%7e1PzWDD*$UH5Cyx`B9M^bTjv=& z4LlFcPkpAT4;-yAvz~sHENh_0W4#d|?)-ku=twa(b0r{29zrv8tC@*%cI`ueQ2=Wk zAUPH6>K7ld*z)pz{nXD*zg2Zi&z}O2c(|s|EAQ7T%0G~d%tDkK1FyY$xJH|@`jTz{@Yc>^}j(#$#Rq0Os!YjR5iY!K(n?y1##eIa`%?zkmDjx44t_9jbt{vx0CW z+lsq;CX5xyR6uW5Aw7?Y8JkiE-~_4n-M>Si*Nr!wc?<^|awix9kpSe9G@0;te27Wj zYeQw56*I3*L-KlkbvLg6u>I0~&8-Xtu){fztdZvW6i+`H02NONm^O*{<-Y5c3&mbX z{TYBcfbfl+Cjp-7jR5^JG{{#I-c40{(ZG*QxHT4Lk3-P8dt<`{O(?Xer62Afrao{o z;EFq7AJ>6_PmV(c^=##aLI0{fj0P>eV2dv<{kEI@I~<57ciUNx$JX0A4n5SSpc4-dv$_ojk7Q|Zd)*a(UHre&9!T~&ZQk!eL=H_5=EDf_sgF9%wPMI z{@(vL^7sDoRkPs}LrUxHya`3R^~*Wu(+Uo3V#i<@S@gxZ8;t*+PKm|Go*D6(yT>?lFP_HsF560^0bo5!SXS9 z-*V7bt;NwpQTt{;M=r{SRbysbJM+nBqsMzK4ac@HwjA-}tN&8$UK5n?U}5N^dn{dJ zdz(8xBB-^G^G^Wqy>m-Evbsi16R8O8qvcgR{mz*j)pceZ{FWML*P_tzZyn8(+6r6y zX&D$4i=NZL1fL%KTg6>5%WiYIm?*w6%rq^1_ST67zvtz&f`h{ZHiADRGXIN?%^w{3 zat>D96|l^EAiO5)i3B^gZtBgfM47do%@ggl8{H6r7#`C#_H})(lgH#ZG&l*@GdD(f z>N^?ZXc_=vPmhs9D_sMI=L{+N$|80x?7wHx2gQkI*ZYrS`4S~#bXm4yfg8g?|5mNTQ!U}*6#&ol3V^`^Pq3dDa6AY7482>3iYV!yF#eeNnufP8K6TOmrgoW$fetge9 z0iX@DZmQ>v0J9mi{g0D&|EGWYr+4#70QVpGzz4ilc=`YQ2|#032yY0en}5&0{_Jhu z2++HPH{kg5Ctu6v!^?*DKW>$o^N(HT&>Utf=@Jpz8(Uj3Z>0wyZU+*!g8|QmHpW*T zx7Pka%K>JyJxmN|%6BufDS|J?&L6?r@8X6xZUMlU9WHL%x&IFzF8*GhCjnqFCtw`A zDWhMyxy}jky5aY$1+oc~)4Y?7C45D11c+QTar4j1v!6WCYYL_qQs4uGjkMKYNZc^r zwk+ex1;QE*_|PYq$=MbzTy@pl1wQTQi@j^8+O0j@u15hujZZP2B9Jm>l29*E*bX=@D;nduw^CV#4kwpoPqp@D$ zZCfLQJ#)Bf=-LDl6{|G3JURH#P#x;M=3pS)J0o$njSKg18P*W&YGke!!aBxxZMinD zHq9d4GKj5WkDNEUEp>DRS0*b6&(yaxv|h1hIE77U^*-Ex$=M99zg!mzO%DB8r$l+L zX-FM>?>pN?zW}j7PQQ4KnI2sAr)H&4c$Q-GY>cZo=*3r!1oBV@H;)hK8V;`lSB4=; zq^ue=r;8Ssec(Jc;K1Ze8l&*8G4t~gT}#MikbL4%4zJ?qhwBr11;B?t{DT)flR$F5 zJ>I2R!>U2fDUqn*vD%Es1V>}Sz2_6;&X@@=?nq$F?LK%AUqfXmch_xeZ2nnA>m0F- z&&krPL^!|{r`{rm1NStqbLQ+2=ct&-x8*vt~z>g4vFXwSh!z-#!Q9f1nF{ zv%r+tT09d;toVzLg1yG^oyV&Zd4}ZV0)Jae&b6%4%D7rKb|U6H6pw$iHA_^KBeR_m zRBXF0Sg?8R)JI4CDdS`Ze>QyQp2oK`2FaW+v>VIJd*>ECDo=jPEt#?*lJ-F9u{yW*_538;OCd9*CffhpkPcFnW4 zcEnqZV;sg|eAMi^H;O6uAUt>lfc-Kq1mV5gYcEp(!v}sI&IT!fl30gK^z)zwuN&Bj zB_Np-n=4N*|M#sIw_kbau17ZwkTXxbd(Et$Ui_p2Wt(B1VM()24ZWb{@!4`TN!IzE z5Zznkxsm#YGUtSh**mz&{`iMJ{uzA|z$3kqTvYhq8|~Z*?~RHcR>2zqo>tBtr~76X z-QB(Ure1EY#>@ZpsQ;due(?1AGXS4`J__*5&;I;%JLd5G{%w90?k%J34foQce>r77cVsMuGwf zYiRd3H{bx|T4AsqZw~0I=$T%#L-G{DpXgJFWBnU{!Yyu5!D6dZX%qUB0HEL#0n}_q z{zsqB`zpxEHxR$X$uAY)2?Q^gxy(0fwhgPMmd^sWPM?My7fp`Uuv7@K7}f%aVY6PE zf@5jRn`KV5@`TPD4s;b5gO_a*B`#bJdch%V+hINC+P04BTXo3M_}aFmQ46uqtom*g z!c10b&cx%5No}1|XE_+ZsI~U^cD@&*LBY6jSI+O?aR{tu?3rcuEt&=CKIV-l`CI?b z|ASxgNB-Ha+F=Q$I6UBxF*Q|*$IQoOkDzDW#wu^us6KRLnVmor<|i&DY!=aeaP~rC zqQPFKnh;8yV;L7`r6~;)5)9+O*suQa(5}W0)-@S6cp?2ITo z*7>vrD+9G#J=vShAAhmO+N@-JKf>R0#IWmjIitz7;)+v0En&@7W%XWruZeTAHe~nV z3M%iZEl7K!F8R)5GVg2TQrlWL>b|zyxmSd92dtYxLvYx9{oAR@YMbQW{=_Oi!17=cf$&jq^m@U>w>Fs^ZGB1c z1Hn$|U<|=&5x-p9H|E z^G5;dlK`-vkG==M-Tdvpd!7W)&A&PRzyGGcyjov*r#TzeRCpoxMvC!($p1 zJb|H69-u_Qiz()c#?H_zT>KjNeq0V-gW$`_-(YMvFd3Cgq5jA}v&*k}uD&b~T>5s9 z=TMZ8`AhRj08T4jp5f#b0NjK{L^~@3=Elqq9SjAo2ioV#4sabCVTi5%=89RZT-eSv zjE9&33QL+|IKi}wUqU+HQHHHUI5I8P`WFJu`VXUq;PAyCP>IKzt`{roBQjFomku|GVbo*R3x3SyXQR}+x@nfT^WoXOY~lo7~|+VC8unPYmm=dn9XaKPvnpqpe*!p z3ca<+5j(!YhHmEA8Coafv4d5sHcyz(BVHZ(H`vt=IP^{%HJsux(wXNfb9lKMBC!S+p%Ye-f@{UHh{ID+A zY1s>mRt-$t20wANo;Z)qPqs94k%v#>`1DVIGC5r?T8g6AeAXqLaOC`L)OFq(wm%~z zSca$9m>{;khp~v-esEk(Z$?9VgS{EEM zU4S!o856jsF!$WG-&$_<6Q&v_+H11L8Q6ywql(3vbsD%j|A^tfwp&E)?k~kff$=OYzh*?iGGw#!;3D*1CxI#vp2Nz`7GYHja2#F;fj?jARmzSpUH=6Wps zOiY*>eY8%q8yCEA%vwX1romez76mxQn29NVI|c-Ao7Tj|2n^0`Y{bhKe?8Q^fBtv< zxT>*Z&8>Sclrg~iDu5?nPndE1oL;@+a2R^#VVA~SZRiP9M+o(>#Xr-x_8{a`5aT?e zi5Ygt$ETm!*LZID^J)Oy`1?}8-e>BoE$!2L%) z@)3U&U_S|&fHrz-7#NEE{_le!@D&xH#(qM*%nCAJ;{fIhAu*Vc(G()GBOVEN7GWLhMxt1&pTVx;dXAj@pFb={Uaz3h}^_rtbGAiY*ujk(T{=g=GRb(IeTrUjznWT>0Gm0(H z`hjEN`bi{$$`Gs^i;wYjb})^vnLJ$wtbDm9b5u{WC4c=`h8j;X_w^iqOC4obP#Lxdz~b@1gl41SismB z=isZ2Tza_UX5E9tOG#{EBg` zljr-v(s9%ro8o!T0P?ss@-W$se;#zaYI*jWvN@Pv`RGeyaYVcatnK~Nzx4C!AL*my zVZ&<#lXr9DKJELW&Aa~lL{Gtt@4x!hue#SO0Pg0K06gbU0Q4q+>`c#j6~OsQ0R9Bv zfBy16eM1-B*L}_M44Ga9z#9Q}V>!=kOl;XxFbeBQ_Yf&!XOlT&UEG?_SRGrD?V2k@ zGk!g<8FRVwZ{rE%p+?T8VIV!8D&gGR2U(2qR$~Itp-Askc(jAGNWPRjm0YdKDmD&9 z=Ndx@Up7m$dvlpe)u`VOiP688-v3tOBtVMn@0$RIA)<*(BgbFVq{)06M}6=)hkC>@ ze%Q8c@6J~1=iRh_;g}H~!4n@oKr)!j zj>VT5{?spBd}md=Y62IWPPEqB$I0@8rsL1y3ZW5AvOlsIW$I6S!qf(5}eq za8fP37>S*|rrz4cy!eB#y*QY=2VkHj?rOiR!$n}ku5+dMNV*mg8`-j^Q*pGAbQ*cw z6tK=mZOuD1*W8$o>j?l<)2gRF8;`@So%xQ*8kE0b`17dc>~oGzj*M#uoBACknc=VP zT(8>NpLsUUUNjxYwD&|X_(+T%%FHR53$#ybLK5)I*^dQICvKFU3d#Aj{5(gI(9q{dz^Ki@Sbh96dE~fjD zIS=N>5AVt?Cw6k5&3NyZSU2AR>`(;MI0+nZx&CGG3Kb6m`0Ph(udjV|jt0!dlgKd~ z>p$bL`J9kQjk%#49|y1%7^s2c75r>n6TeFKpUK0|+>@VQ)Fn@C^vfNZrlQxwp)>Z* zvQGW9@89Ap7y>=^O{D4;#%oP{Sm(%WZuH&rvj05b#+N4sG$to)2+X$(awb6j0Hzay zK<^wm*uxGw4l(HN!%m+sap_45JABrVZ$eCZ4EdwSPhJ)N@y9;)v0d)L{B9k-r;7P5 zPQs&~`l+7+=Ci9O1suXB0n8f#GJmd*0<@ijo&;c*d8hFzfEjy^|6BLZ|4Lq2cQI=x6_pf?Nu|y>@JXg~QQ{WxjDFp+)Fa zv)TE^gPze+F0Lt8A+l2AE4OW<6QelN|it{WdTKK!{{mpS=(BNIJm+{<0}gX{^v~dlCMs?>3_ID;qIajT^`4nkPDv zhjHd*-1d6Rz~N}SmU9;%;%4Pm4EoT)%Zk|xU-(b{*4=OFZ~k9?`6X|t>bF*tkb^-V zoJZL#aPk`xKR!Qp#uQ*;FcVXM3eC*CKsILAMeJ_Y0M0S|KgKxz6{C=a)0lc$--H3q z9D5$YJEp0YzT_u1wHLtt8!VgZiDNTzP{1WsUh&8n~D9@LWqu@ zdxSSO*NSV_fVp&fUcE-Y=rGKKi;gMi0sLyeP&27vG+)E7vD=6Ji1jckRFP|d7t1=| z8nZfBsgV}Hhql{BTs7Gh-o!LVVj3BynK>3*bSy5``Q&|&=j3E84xbySwq9yL%cp<( zRsY6oTn;|@TcaJWG$W3|r546{;ApD&8j&2Q?L04Cud9vv(-ilhR=7^SW>S9^bYRRT zUs;cc>$(nwf1o}=YkZqGbM{4=dL_v^W6|8_t$q}Ae679K)Bx_p!gV(GBGfDDbUqlr z2(>kDc+NX{QRxiZdFT!zb)NNL`R+B{DtMT&$ser5)ZMzaoKg{K^rQ%BdS__3d{Hkm)1#WtDS3-wUV8mwc+*8+=J^&^?4Pr^l|3sx#8bW zAizjb)2s6@_o~r-&ZFr8!of{HPaHVkJP|NseRjcMz?m3wwVQcezF|*7s4uBClWv(N zyD2yn1+DxIWXyT<&4+r~XU`^EZc41>L;u!)`sypMyz+QH2_SxX-p%d%?FoSUFMjch zoG)(+{aL`BPUsz<1n{8`eaJTX9_gb1J8tioz5;+J0{A2V{tVz7&)@n|u5>Qw=Xc+F z@@M`vwlEZ%Qr|&URAn$ zGr$zxCT04dO^EGR)XuqsqNc0Rb*PTiv{^X4t9b~gwAmQ`1F@jr>)>3I#-5ta8tcFI zXRR40o^=E{y3dp5Dq;^;&tc9z?$%i?;J%xByUO9c9;ubz`t!H`$l+c7Uw-)q@BaJ$ z@$cXL>aYJz?;DahCp|dxqHOmVCpm0kxAaz)=$4E<_Bh3ddSkIitrMhhB@g%&S0sL+xLcU33-{ zO*^*N$8A1XQrqasA~?|choZG+3YJk~7S3x_krQ}!quVAg$ceowc6BdWhjLuvz1Y^{ z`sIVo9L8Z)uKXKClkf0XL09%#bG)s!J!HjU>v)n(ch-6JSmo4d&el9N1bvOS5+5ii zK90?89vOJD?&F{QsIOrcf2K~@iowrsmL6X3Bb13g@`_c8=csKDPvdr zn)NT7CE1H%T|;}L;i@!YtXEY$B)W~*^F(QG4e74&U}4@d)c+uxbw=Mc{+wyOu1rhw z1HJ=?k0o#Hy8e%7vKY5eTT7JZ2rl(xlwl`^AO9a>t`_Yji(rV34s}lqq{nSX6>3(5pF$MqCo}C z{T%k%j2B*F92cEL1g;~uD>A!==lmH#7%54&H!K2J!`*%A$A5%2&SP)Bg3Z>s>QuJMJEtL`_cs z{GkWzbPe9R=VR-%cXTtXt(KeO0f2X7KHI9BE_MUwB9tW?(5~$lMs|I1yUh;HJ$ZJj zoF&HNt5u=E;5(?8cD|!1ip@PCDawWUaG@|6wJN~ZSnmJ%WIta$JZtESXzDP71xL7^ zG|0us^~px$3gjaNne#~l&L-}c?%uMGInQvSkM{xSZ)~v>LrWh_EILw;8d}@$Zx%M? zut+*ZzP|~CczDdAL*YT^2xOMZhUVNDw4fuJ&OX>vI~dr~GoCU{cjh_AIA2(w>^@(I z@MHLnG2!F*qMBPr{MXvH&Fko7S<{Vc{IxRI?Zu2gJ7o)KR5RT6S+y6VxbcUd#(Hq` z|JVNdkKO&&?|lC5=YHWQvD(*tQBDpVSUibI$Y3`o47O(Isb{lDqBbc z!5{0DYrMrKKKl)q&ygZ(A(I>DR0DfvT%C@w_V^Q!_44|~;PsoKPY2_zzaHwE@mY_@ zQ_*Q}*wMq8yi&Nvhql{z7oy69bq4vDgjrWU2JmD0Gk^zr4dkFl7puXt?o{vtDQM?# ztTQ%nu!a^-f%2akA)LnOMArUY^~1BZo>9$#ax!#&_PeS?;yeAFv%ayz6urzfI%)|A z$CHEk6-Rs#cyC*C-P-rOTA~EDu0dm|EYiTdQ%1!t(nfA=wX{TMZKB3$UYtz@PgdKM zGVy9gV&q<4SZ^Ib7v&FL2f(i5L&1 ziQr#z^17bGb~vk{^-`b5YYh@F8a#BD=9)%4aR_UVnbzK-N33l*49KAo2}i8f9-3OF z@ASfvYMj4|JOX;YTieh->=tiaC;bV=zBq9-Zh@jY4mlNog*mQUTZCT&Ify!cEoj!oWoB06P%a+`#1mk?LVImknzs5 z_L*}KpE^B~6J-|ZJjss9ZROl{o0u{n#s;lbfAK1psbHS4eLmT@GJoL1pA^jZ%wPDz z7Y5~w@7lwA{Rsf?6FmXIrvUUMJ<>-xcsy?esNej(%qsxuzwavm_&7kd`@Rt%6TJ$+ zoa%W;$h)sS`}P~`4sRRXoj$*N`|jD(x3sTf(@pVQ9eKh44mKFO$2-UeZA9M4LNT%V zC_s8e0&r*#Le5iA$CC^&7^b*z5$S6Vy!qyNgXBTOm?8F^JU!P(WP>BW{yoxrZ8|5m zs_8c>ecwrHe9EnxdqcdzQpZ$-ibgw?k$&Sqsh3CYtixk^p+EZUO-mOw>*QAeJkd=Y zgn1}r)~CI{F&UpFNNn?_Hf%IFXpJ4JHSc;fdevV;qJjC5V{(L3W9QfbsnCJz(EQO( z%m`bE|NjGW@L0?vY3GX8<-bYE+U!~g21#EBW7^3OT-LSz_Qjra6I>4KEQaL5egV#e z^?lJAbMtRCDuO4F_>+`h{#*Zw-|X+zPyMib(rxMVQ^Vxc!evjqP-^zzUdLt^SUe9x z;4Zy1SCiA@I|6*prmnRP%qO0lKBv>;+PKk-Q4L%I3D!d~TQjEE$|sB3789)I$C?;2 zapknXnEIeD8w1T;8|!-Hz~i~nR2y@T9T!EZW%HEJ7ILbUzhfIYj6cJTwcomx(LL)E zo+S~uH9I;XII#;nY@R#6VGbG}u%H|~ht`9S6%Pi!8|=h_N!yrh+rExiHA-@xGrz{k zm1vJo|5-Q$@)^0tCbfO#a{QsYF#@bujaRN&Pb$f|_i@p6Z7}e>HrMTAJ=Oe^fAtgd zDu4wQz$lQDZ2ORfY#gZ>4S5(G=LDF@*ciGeOfZ;qAkkP(tc_;;FoK*X0@TBXoV^mT zgbAB#@!Z+vYY$JO5|gNH1<`ihU)4lJ#$ib2Tg}bVC^*lta~y_se(m5;eNnifnZwpK zICYZOxmSSJ!<WFkiMZ@f=FUb=AqTwmqBUxB zteybb+q4r?T$MCGJ-+&xpFZQ|#2>pF-MmEP11Ds+egmeLU4>50wGQTU83hQ9sEqXm#YEW?Rhk%Nr)eR z=XUPHWev93QqC#k)KFpLjpT>;m5){F%48ifSD-P`*G~d?#O+HpuOf*jFUjb1mgvpP z0x>2md6;_bZ3P}n@PotD$Ka|599Ki|dFg+AJdwZ?0sQShy)YWDy9jg>t9+KCL(i8} z7!UVQGe?`jMmRpa#igcr9jSEOs%6}oCm~O$Kx(*s@BiRW>rLYy>(9dZD8SIX%a8B% zCji#z(JKHr`+n%g-Dg#A=-|2j1c04+KOY5ncfJCEoBw$qfWWT5D^mp0#9L8aq ze@x;j0pn*U`x%J==wk78BsS+Zk}V%4>srDfj^|1oeB;&IAcYFCvo1$u(oL3oFBjr# zRg`|B!1WQX$E30XAB6ef^Ka|Z0C>4j)`xF!tU({ik|Uh7bunkUj`+_SI$waB!L8r( zVkTEqapcQI7?D}Pryj!at?)qB@x(6U4Dh{E+=)f!i(6KE)|{Q^cAL|6#G@m#c?f^S zmdOrBsE?pF0hC@`#&%@_zmw{>t5d_Fw+ncOQQFgPKcA z{@Le^QgV8a2T;2Md_8uBrdOiIc&Iow-g)*smkI0Q%RGBYF{@?2GcDG8L2=MvyPlVg zFGb@rM~fZ`_K3qxgD>Xlm>kwx+XR8NkeRn0dhC5@&KGU5pICc_d%D)u-jL(aa2Q)- zutRXH`C2FR&=mYmyzwLbSR9g_bA#sK8i!NeC5|O1)*Krr5z7bWjAM0I|Vi)JAT66N~%jclP^tO-YA$H7( zImWI{`S}0!d?UaGA$SSIiXji`L@JGU&8A_Sp=Mk+Hsk5Qb>EOKU)S0hHj(QrXi*-9 z^IT$Hc?~{tH)e_=9}w4)(FEr#6@IRB^7qOMVrQ`O3DbClge~Wn_~tDCZGX*vcy}Tj zs{(vnv5+?Nn}Bs5u6EZnrmF{@=;m}-w=x^A9&GWorLQ&E%XyuMYTpc$G)Wd~Osx(? z@yWw6xt6}6V1Dik&p`ush!3k4GZ7jt4I56Gw6< zE_+SmMU%K8S63dzP5y~oA+?|Bm(z)LXe_~gtb_^El(j0Cdkj2AgKavT*MEYEn=`CD ztrMT^4rH?V>!VL2Pn!1+daGx<3^4y-=>|F_2F!7Xfru9R=sOY!NKM$E>F)J?Z|G+n zxf8Wn%*f3)Yoec}?eY3R3bUGN;hKCQk-GpujP(G-P&w%b3P9uj|B8>>Eb>mz*gw~2 z?*9d?12WqDzbG3P>N>fXzeZwnasfNHX^tqL6L1zf_fk$L68DMVsO-ZW$K&_E|1-Mx zc>Mb7ulEUnX5K;XvQh8N-et1CC%K$GpQz7%_Op-lxYtKHu;cFEc;gM*c^?4&1fU-U zIIjS>mvBp(?8SSyF)#2Z8!&cb0!>%5DwKv z!s`SECI2`@5DvN5ID>s;qx-o4c*R5xquV2de|kiOW7kk-{8s2O`F(}Rp0TkSJSuwrV(pV0$N?L?v!# zJ~N=9{6*9AaMd$5=o*N}MfWV+xc7ow9EbGSWmt7xkk?876TVt+XRV<%?H=T=b;orF zf#l66(BgeM-|;^35&gaY|MVZ-{p#QTTy!dhYY>@NNfT#<9ET_3_ws4db-<-DX4gC8 zD(PB!?ga4=Zb|~xjGG*ZIqb8)nlhf#FU@w&nx_y0tVwhF&8tLUjFYc~;258Y&T(<> zM=ayvTCuozm>+=J9v&EQQ6%2a))!HU4b*5G*&+}!f#dfLp)UvX@D7GB*=o^if z`hqb(cKd={^`SX19W!dR?d?8lVUDloyZW(ZEkMk8a&{f!Igh(GFrWS@y(-iHaa^*` zo^Xa))4jGs1Vz{Y06+jqL_t)|@87hpV!F@RU$g#aTI;&zsJncNY8J@J z%RSo5#(FbOEk0gk5RE&={`MFXQJHJxeR2u3A6$?b8P{_l(=}o+M^}}YdVUZ03}3`@ z?j!u1*B5cb*F34Vv9Sg*T3x5;WHg^3+t0aWmWs>C9NtrZP~q_hZys})FV2=6)KGOY^(LW$1ZEAo4$vGa9A$r0Zs&l| zdD?9eZB?%T2;qT#Hx9oao&eyy_@w{t@BZ#{J$jxV@d^Mw9#HQCP|UqP3J~nQ zUIp-6?*YJ*0C##7faB-o|MnBWp8)*t-~947^!xrdn3LuH*|Yn%dF_pNCwnBfwcRbg zn0-MRE~kQI^egk7g^+OhX#ow}Y_>5#eZ%4^5d$x}@1-tuD39x6vbQ5ZuxNoDzIn)J zJ^}mT%&X?chu4TrjR$pee?4d?zN~4Bk9lC`JL^UU&?2M(!hMnIG1eX%zE!kq- zg9C0OG3K6F(%kYy%jRGNrt5}A+KKBb$46Ek#Z?7!Jv?PxyN1*Dn$_~KKlM6;v|Vnt zju7~&yxDdRM-RH=qEN?}{a6k#%sJ+(emKKB>nqF?{pSBuul>l~Z~g8U?tbp)`FsD} zQiGUAyJNecBcYfm3pScEww=5v8u`;Dk5(AIp>CYF~Q<72`t%;XJT~Z;wYM z5fd|P<#zB!c{S|2;x=Ly90U25!vZwJ5~a(va^KoP^EGV^GVj_@S06>6^*8+1Hp?pa zq1jrHE>2#-qux&d3^@D<(fM-RoCEvc;rr1}w9cg~lU?-xAKG;xTJxn0uUc@V&y5Jl zs-3hMM?kRq+;kpq(e96WxR$d&g+J_PbjI6~H}2ZJ-6hwx*!bv-g4Rl(F}Pwg-acZ^ zJyk6IK5vOWkHob#CRrRs&2poc2lZpOjeIg@{$eHg0%*?Q5@+wh86P3xPrgz#@6t2W z*l*VpRZ%|aVN5!A#naoYL-9VxbAIuWFFB1wloRF}!^3p@;7J^NUZZi*`5~K4V>f{g zlXCFk4KVA%UP?Uq25%`?H6UbkOooGW5|qGL;2~Q2MUp)}ctq)ezZkERYzrr7bOMDq zt>aM0?%eV*JjTVl-{GVU_y9P!=7iHyEk9V@JW!wRJ6B#4E4YmKT((xD3^zZ8Seenc#wFSlf>P zTeS$cv8M9E*w>QhoH#EreKcipo!|PgpDMSSM$m6-7OB42ZL8^~zi=Cvn3T7@oTWB2 zU+P~8HfCcpy5MEHMRwkd?aR~Nxi2fid6{qi<}DKu=XlTI=5cysOIB*P&qmH!ZvKDi zSN_J`Z~gY??_T{>J_6JZIlDIPsnzGT3F!6c8YD|{5R)%7#bX{1XRh^yuXN_893s8; z@u2fT!&W_ZmIeEu8wgji*vt(kcIJdwOMT^E>I9hB*5fAzoQt(eqndJo<14kq@3nG_ ztDLBItvi4nceU>VCr-N7IT-E-n5Ix~eaC#S2Tpl;v?7gN8*9XP){61EnbJ6Qt>h=W z$JKXn7@n2ewSwThoXFIF<>;CWuIH`QNz-b}S4(}=Hu>dpZ4cst3950KMQ7FrORdfF zA`6ANR)No&_qaK({>{lq!Pd#TZx2KMZ~6Eqf5=AG>u@LTM&;=TzjbW&t;_4*$xeIG z5OYEFJd&krjVi{;RVCFI6>&ZtZP%P^ z$sc7o%HH%gB+4?dkB_;hGiTBvBceJt4HNW?y}tIrM=QY~T`T$(L$g**yn8A@_SR?+ zbA6d_Fdo|;1UXqT!S*9AAFIj!!DS5tvL8}4Yvg)u5@@*@OfZvZ|<|q*X2Bgl! zAHV(gdFM$1o&=aZFogPFS1b^fEaR1@=H-Wd8JTFt9mFYoL<^R+KJgxton=#~MkLdt z`{~J#y!zVj|Niek)qBb*{ET(Fcio})VDCEN-;3ZmQ;+&afb&s+>^9CIJHop{e*)nC z10VRndLuwy1%RLT0_Yn6&JzLaPXhkz?yWaOCN4I)J__*hH@Ul=v}_{o?0qT1MSHk& z29s|D=F!H@&2KddmNZiGPuRZP)`1>9Ewof_6H9|+l%}x(m_$^ zVLKV*&a!E+?TJr~0SstCR!|5$?HS0EF_>CQYDn-IDacJzP9=Y*np+o4&2~eurmf*c zxP88WTdDf6hB+$1@pJ(#>T|SV;yATf*PEZJ-}(+;;>G2dO<{J-m~J>Q5myb&DZ4p5z4&1<(**+#ZpTeMwhcD? ziHkjWk6XjB-qyT;=OAZ=Be}rQn>iDM6VJIFwHjcv9epdO;g>^sFGf$wnjQ|-pcfZts_8y<)YkZ!=@RNs@_#40Cst12C zhq@+h@M9s{>LV<5$r56lfat>{04=BWMLO%*4Hh$rr5GBP3fB7>KYBr46<> zj}f3YPNtzc27&k*BA(=fOF1@LlY{X?*#%)jZJP6-1~|+!xN-t@929+EY?Cv;O*bnNKEWu=Pqy3TP5Poz0nuUb<_oG~uWgBLtOt#RSUjy~6UaU7G$+b61@ zKT}@60ziuW&&nNOE{r>=>}a;(f;a7?vD{750^Lt~3eXSpbFLaNwE5rXnIPPH%|m|< z0NTI3v{39Mp>I2r$~&(vc(7J$J(bYoB-Sy5+Ds=k%=L(Ka&a%EM>4MXwf4_n`k~K! z`O9BEKUJJ>`1eTw zJ_SG<$e#r8|Gf3)>wKs1{u0aEci+0Zf1+o!#H@>Iu7=4Zzb^n;;iZ9@Tir1bn9bLo z%}RiAm?fry+jAA!})A29-`8TA^*{p|`Dm{Lr zrxJwgLln{DW5#CDJP9)cM@!AJrKT7Udob}Evk-d#2M?6pwyaL9oO9Bk^=#OzDg%#C zzZY!`Xs~8;B=0r$5-Ckl)s+0_z<8xH{E8_<*QWCa^+PnoCtuf@xLqqbk_Rl9;A*c@ zqJj%K_Rd#2+gt~5w_u!42lff$o|}(+vBe(+hvTH#%aWWuspvpYf`^wh6rjUcQqI)p zNkpfPddEggIOE9pWTMtR?^;aw@?}1Ho4Zq}4~}HIu^FpFiOsRqSpgj78A;aGTIv&Z z&R?|O>ZisDKlDdz;-WCMlCtQfd+hT%{ukNnqjz&{dwsA?wdUXx0GRW{ z@n8A$#~t!L9fqt+xX4AKtV2cJ4A0D2p{!$$!3Sf$MH)}}Krr?X>CRBztcy*PZF^$P zc`8$E#aQA}fsL)Rd5UC+%4Q?%`fj;bN^s5e%>u%KB5S~XZ4 znlq+F>x|Wb@58>?TXd{5k$kN!N9d5*&Kv@@#CvpLhJP>tawI{pba2s}XIyscU{63G z^eA?ZYYT_$xcGUFwK&^MT^s9yzYt>7Y|HR6zpO$1jcqS`YXGuhtOo;Df!(vd*fgo# zdh-2t?{n}5OjyR~B>tjzYFfPTx7paq(aUZwa=%j>7n%9xn7_xosgKqEdaf0I>lK^!82w}4{`Ma+F zzIXyaC-7cR0Qk`}q<3=kQ11ia@62EQ>R0_yfFJze2k-Pg0R1EYZyy1@6Liy0%>6tG zaIg0OxaUs*{;xN`_9brx66xaOruW$sy=h&x$aSM=rc2V_LF&*2$?jt(S`$4!W!0CV zI@kiI84NUBhq%PbcT`_q4AcPockwG8E41GG1O^xzJ{X)~d@9K?y*^^rJ(lcX>2)*i z7{`Iu&3uGLHZgkmH~)i)Qs4BOW?nHMuO+#U{z!b^)AZ?i-{kV9ZmN;wRyomh zZp)bZz)j22#_xF9DTVQrY~(qPxWAJo`EOgsI|915YzeYBDPx43E^_JObae z?N3bI*jcnhPTcT0BO1mFj^-HKJ)OgjwZWX#1H+7uI4t|I5axI7;|FB@8Z5i`Q}?VB z*i)ZH#CFDv*=sF=HT42t=Kn8w@A9kdmR)!4?{cc_x>x0tFR41G4k*~JDwh#RNRW$C zqG41W5CRp7)58uB2@-_3ga)x}LXQs6i$Fr5kwj^bbP_rw{s$rv(E%zATQZa#xhk%> zZs+!G#&3){)>_ZI_i-h{Nd9!z{+?&eHRqUP&biil-futeelN;r_-yOG!2{gIm9Y+& z*ouV1-#Tm(?8jria-YcbhD={M`sBcVAQ#sQI{$_tj;(PKn|04oYgstCowDth`omkl z6>Ms7{>9Hc-PW>w^nZu0b3WknGkP1q8FyhG5!Q~FNtrO7ONUlKKN>k12s(T8OL^!= zD-#IUR+sUx*VI*p^qEV+9%Wv+9`^d<(^lPyC!36q>)#GR&y=s~%7str2Um{d*EnFA zH`i-Sz1t^pNBEg-O?EBe;MbwVtv-?B7a7Z%-+?jL@e^iXjOU+iWn8!_Y&F{T!i^)f zr?;WNIeZMwm2AM!TBqf(L@(KEr8Be+ ziUr3|M30VU?wH7PQn_M+)HyXQQt^Q&moqQocjwjvUE?-k|BeF(oNKmTU-9p^~FLSdSj)9GBRZJgk7-JSpx*3m`I zkde6%)V53gs^?Z~4sQPS0f4$wl7s#@_JTi{Vyh3aG&FJ9(V?7%Y)tLa*GxZHt0b?v z#$C$nLkZqIFSu>m; z7l~H^eEG{?UJLfd8*lJU0C%sx`s%%&)!~}}{7rXS!oCH-tI5m%(Q)+U|2E8tZvtQw zanI}b-@L200X+MzHjFk9q4}2-?2&t8b|BjdS~WJ>V8EhP=SL#l?oQ5Vb4Y>U<~R)X z`w)u6($X@5gu{WX=>NAe&aNi5{F6(1pXEdba!*4>6<&?-f;?3EOFu+zx}0Lx8Koh5 z5+TnH>LuAy>jMFe*UPlkuUQHG_=Nt+-3Q)!_wJ+j`YZ-R`D?l!-1sH{!s9`Jvzdil zw;>N^C#W)21P8`+<94_^*%YWkBN&^PG{J?E1LuX5OsfrP%f;`hJN+c@^h2}G!6nql z%l1(C!HD?WhI3xCKR~e9t$pWQ%dR_YITJhaw{(poCXw#-xmsbtvun{FeH*)spL(*M z|H@bXxx2shw}0{O_19lDEIEvafZ!LY)Q#WXNbxw{ZBWK`C*qmA)e{7I?72jooF^|n zOr&Fx*wO>XuFLt1X;t+0lihCg_MJT}A5g>{v_@bP3+yS|h+Sl@yRtdpaUMiF7|~f@ z24b8|_Q}gQ%h->+mhSLdoLSLj8ND-bD)1cnEMOueXHvXkI%W>ew)D#Bbg3Rz&)v9n zuCP~jy{_qq`AChSIO7XHxN6Ob4wDk)fHn46!xpe&bVkw#i(m5T7`N1ae@QzNL| z!j|!^onM$U!Q@gOVj=rvZUy-JH>;@JL3_1i-SHf&vXEdGxkmJHNuf1!MoGp%h&C@bXR`M~QZnhwF{p!s{0JW7rV-7nY zF0zR|V>%s~%Z+hz^#wAxGlpx?sr?kRYP3`N<;Xlaf*s-)ab@jfk}GwMleIdjZ4MbV z06TQ64{~Zc>TXT0Rrrp&rULotx0r(xBB%QrIaO^$IjUKMy zB`4RQn5o^U2Pb}Q-)W7{%4y%s^M+0MorSoc_(q@K;n8#O$GyS$8v-U#=adyo91;># z&3okGf{YQIqA5XY9~Wm90_Eytu*8~mlHU2*o%x9OU|r$!4}4J{8vpdyfBo0*zWUX# z%8eV6m$$vw|1d9aMUQ8`7Kv{Gm``!!>i~^r5%mfHWB4k-HhmKSBAci?(qm3~BA~i^ zz6n6TJm|$X+GAWqy87OF_PyMY&+g+Hx!oK}#M*}4fVs2vh>Zr>$k3t$d|#yra1wk{wwPRL$2EQn`*StTqgAMq;ubOuD2eCrWoSop1W# zo^XD~PZyVF#CUPJFV3D+sGk7x;PDB469A2Q;lYhQUj<0sM%q50>5^Uwdx*o23eLIC zc&NsG6C)ApG&FYmTg<7SqJb=qa?yijru0KiB(vI;2lbivf*pd_Np254575e^86{@s zAJ2ND-$&MSk2j;EF6_y$F*EO=MA7A=o_cTW&fwHp7I}QL#rdls@A>Eb{{Q`7`ZISQ z|HMb8y4FBkML6cQviHIfz`VseFO1Ynm%8IyZt3MzzQ_h|o#%2mFiqi00~Opld_yAq z#fBNTS(EO2bdGCd@|mkgA!aWLb8Xc-s7&fpv|;f1V1z!j=4*}y&Z)nEWSA`N=eZgV zWsfCo2sB_C0sodB>kPGI>f3;rj3I3}w9XXA~9?iE+iI$Or%Z z$92wU9?0ez+vA-3F^TzUMD|j-mhO=lRtdQ0o3%KZK;-%_Ci4>3^BiQc-dU!1-cCkn z$Ff={F{0NIo~cFagc@D+658Z|E;)>Fth?)$vDXrA$X#>mC*~q2{^Ah3|0xIa#Gl$% z9m1PpdSax8##S8!LB$UaY_?1G z+!dhSb7Byu-Ik9qj`AQWVd1&eZ;D7qEONUv52GWmo#U})a%hgWQ_F>92E)B<7rxEi z7>`k)E4$|jvSaSBp6xQSLlB+2_WX|g>>DJ+U)wiJcC&-1$mvT8kT&Y`Nzp2MJCxD~ zD2J!zdNkh#U{C0Ajl(zlz4_;r036_W+*403q_55m8@CFbnqcbn%2@aoELt zRuRI7P7;kAFU3b0*ytt;wAkVlOvge>3?71~Q-N!>LlDGsGe#$YpUV-5KO;arQ(%`M zdDY?4!Pr2RBTyq$JNts-)My$ z)hzD`ZUF1LM(t4|d%d6$0UW&K|KlJ3(B1#=KmD1zKl>m5tLBeS>^ndL<9B9k?6FUF zJn%ZOtz^Sty+xg{kr#nRb|Di7zO2h&Cn0pM#qN{Q#Ia4d=8`da@Aa`SA@zgaamd4o zBuM>@vH@eT3>)7y#>Hprsr#6ylPl27qvMWm;P~lS@nl3sr$(;i!#NtXYQii;u~I~r zqFQs{!VfO~K10+{%kCT(_Vk-Is4E!dky%37Jv3QhTeU>jdK}a-l53JcPF>|}k9XFN zsnH0<$}vM{BAtH@Tl^AVUbfSp?VOwUl7n~P!}Z9YT0I*Zx$7Di=XbbU9KX{Y`BKC9 zI7Z~mW#$D9bG>rMpJvV{cR%@s&w9#?iFC{ZH3^u1lFu3;*mHL)6A#30C-#cI;g~5S7>ARG)I= zl)QP5tGnug%{4LE+TQ#!!$}hCN_S9<>xZ>tn{~S61=a+c2YX+=XHz|9VwS(gmFvx3 zvp;bMPv1QV4w+`X`f`k86bg*Hp~$Xc_jO7v^f@kil+(6&NESH_`;0dNXN~wbwUE@x zUk1x0*&>SVc(X&c8}`8zN}o8_3}(9GOME1sh+iL^G1T|$*-MNK285GN8k@%olnAbA z)r+>Zk9>~7hs)CSRC;2FdhOqYaqQ&9xyqq%UdLQJ2S}3e!cT6DV;TRcuR7TCBq|@2 zthAYb%YjUvo4=aHxC$P+NHuZ#0h0ZIz$cq@SCA zUjA<#UXx$R91G8BQ)u^QwEe#!xwsZPbXGvc7P_*@Pji&E=cU0|NAEk`DN%gu_~@7Z z`0IKbz_YJ>6}(>$`H}Lu4|{Pr^LpN|so$?b^<~<9j{d+RrE;8H2gSVYBWqbUx`j=h5XA zAox7h%|Bo5_rLtgFW>#_SN{362H6xuYfBwOfh(~zJ2O%3FPRx6KQOq{kLXIy2`7wk ziRri#=eh==at;%F<Hrf2}xI}d3uJmP9Y z99wI&3N;v9`8jeyZw8&nwRppYOP!3=WHb)~K(*%EI-|`wwlc;O3)pMh`&q`Ti4l2| z3$jkPF+0XAqj6q?;j)ZY!Tm9PC`-t&a z{lHY0oBJJWGmSl{nFCK(YUo-1u7|lm7M|STajo>ypS7gs;4&8zRSxy#W%7UUGoSLe z0hn_bcYY)$3&sb{MApJ*Nc+J)>UP7EYN7w(ycDBsH*5C?a&7bi@2+X;=kU@6;fjQglIJV4Pa&QdPH#r%3O>>f> ztnhXYhc%tgvquEWp6Jey(VQ~022+L4#+i(3=+?JG#G{#vUP`|OKyO99`<>wwQMg$1 z;Btj&AVq4x5UznNtUauZ<(e06@okLu_{D>BUbP#|{yS^m63{0Ecv8-@ON@J)Raz^C<?HgBAYdd9%plL zVPs3LT`em1Xj*LHX76IU@|j>Lj6>mzI8YKn_D^4lF{pSs4NaI^)MEuv$x=;AKb-V9xgEZ4wJ817;1tN z{q*Y8HkYdbfVO*~wayrP_t9qC9Pu{8O^LzS7tR*6Wb6vwvFy#kSn0iY9{43<>eAWy ziwho_`s8baIpKqAuO2XR!Xets845=o4x0hFbsoC^jGeF#>a+*O9DZcv0 z+kQTyCjq|oEq(niw!^=%*@X|AkkqcW=1}9)-}1naL06X?G}iwciJRRHqT_hf3oR{Y zq`eA}VoeUWwP3@yY>b$K+g4Tk6A!jy>|KMC$9qetX0&VB_=hpOKgBNM%tYssh-s@{ zsho$ft<(7kMjxw%tc^Lh-aJ|WbAX-@t;a(vacm{w8`k6qM)vwGq9oxodab#ii<$YF zklwe+q|9RhgE&5kL47k<%Px#?od;OVU|;;v3|FMYv>h&6W3fz0i7~@)tU+>EyhIL( zIhOC_ZKY1=Z=116UiMhS^$_a{{ky1eTrz@&L!D$B<4FnEFe)vc%2xuqj(3RC@ zPBh!|_CddeNbf{`@|Nc81B$5-lKc~J&ZVx-f1LBcJ2jM(UiWa)&vj+li;on`t{o!j z99%tnio<{L*Khhy_*y`Eo)DN<1<0N<(eX)P!mDM?Ei$tTp1pwR7?^-I7t1JVVAbiq zr0}(e>@K4x!r*-xKJRJUHMc+XkuU0=@7a8v{1JS+y(|)I{k~{g!1KQKUY`TNX8^Fn z?sW72M-vGdq0NDFY0KfI_+rI%9F1)OSaPK_# zht_$cj>(-jAlqhJVxEnj4IJos#>FXR%jpqI1PWz+j1CX6S~NQAc?jjoP>27nFUMYE zP*4di9xnPZ*$ldB!qlk|kzBbznhH1nzQ(2Z`+^-k~akuFsRw>ikeQ@30YG6NS? zOS~#)#9TdWkLZrnuK4CYTJpBYxyQ-3t-z>(tn(i8jf)<{)-j@?N#2r_e;8|_-)-Br z?lI|{xA-`Uplt0c3!~;&6TkSs^8DG|fApXJ>vwPIebUC0rgLr((m`Rcfk;*kWYwbbStKkvnnjdoaP$8Z{RRT)9{ zj!im)n|ycP$+rydm)}F%MDUz>{lMxdU)QZ;=W~#6{Z_^&GgK|3axIfT*Iyp`|<2`|i$=EvK)su6=W$b#bk&Ot%ACBzN(PLAKZ)CzhHV0!BRzI!>%H-Pl zDTY3r*xBd7*eLTk^IExe9>v2CzL}@U<;r|Gi+$ROj4lfM zUutI_n@gaLkCqtzCICGS{KOYO>;G#??f9}Y<|xk%TS(_z-(r{Xn9E{TT8AxuiPpLo zer1q+&~ICOlAGplfTE1q*l>0v6e^HYzZat8x;M^kS`*3Ht1+>F@DO*Fw59$S2M zW*%h2E@j39$j~~=ov%%re2mNq$k3&ScX)mE#tIt)o6589QmxAAv{|1ZJ&BGN6SZi$Ufu? zeQP?|%z>iuiDOyHE6@y>7r1$~x2;Y?N*>m8imhY%%7HwR;hOyMKgJUwtQWm_W*+@2 z0DedI$C_~qJ*WH`khXcV<{2A;=pm;`%yThgWZPHLf{jjnOxU)4?Hl8SXfG6bVSoDUgRe2< zs{p$X8NZC}ee(o>7H+Nbm-S5m`Wyh(3*9|m1^CTxe$yWWsBZ$e*V_QRmiiDt`|vgZ zz6s#1x3~dayT$v*K%M^Hw}0bnd@Y?egnqNquU5M7-hQet;?&>4S7_K)7V!*8&dN~M zO}n7p?cjYCnItw{etP;b7onUHr_fSzK6c!|IP)JKF4*!5V`9x^ zFLk_vBhBFLxTKt+_dUR6{2{~GH#lh)g_{rK(p=a8#I7B0OP>=_JgC^(VYx*bZk06`pP?}8R zi;BTTapXYVw6Jv)UG$YxXnJOADRQ=Zt_Q77+V&t>k3vHUkD0zQHvsu#T!e z@>tM2pYWxoV9Ga)7hD37geBRgCw>Pt#uWYJwH(LR7#)U|Y$m|WlI`M1Kx_oonxW%Z z8ipBLIeKI`caCFS*wzl~@Y+|SbDo4RfAzyu!t_dErsgmoc^x?e=x%V?%ht&qtMYKn z_Je~pIkmpT*_=DBbu(-oM}n)?Q+LXzPwQXHegaWC4mpp3eAi%u%hPr2Z0tP{Y;n+; z(tOzVn(Ru00S8Zg$sf7nHAm1)tBqmgRe&^!^-w>~t0R+SL;Roo$ZUDmImxh;YkG_h z7ukT(x#Y@ayKD(>*Hj#SiW8m0PEcK%!;CW@#KQ5wgDX}&b(JE(OKM5eIS6$Nlp=9r zxa3QI%ro^}>UETdC&7bDAKt)_&vDjbm$B**+&I@a`8p4$GBIrgIRr;hU|pno@}3d= zE50#9^}BRyeHP}3W8!1%NKGetc1r8?A0hRJNd8FnoDTw24rH2K$8R{I>%N8yqyt)x zpTsj}eZ5ZH>G-Q5-x!d$1W0Wx{n9M(l3F%35>_f(cU*t0BAYx z^)-NAD18$EuK?%@J>jbWY5E)hx_iC};6oq!5MKq@r>D4y?|wt)w*Ua6&qQC6fG%!gRSZ3z`E3C3@l2vGQYifd06Eyg>AhR?xFALug2O`GRNq+u*<%3* zb30Ccpu>T^Jk@24o!O@^wtak(VRglw<1WF^pyS4$5Bq!lbDzHZn}6q*@BYny>yMy5nu#(te^gcWlT=|IENuiKAW`TFgozx@&A%0_CxFVTB`3Tlokk#vG zHn{zdQS{h@x3o@9lQ;q<-U#-@Tg}GlJC@z^CtI$68_ZEXn%%@zti|j*Cn}JA08{^j zW!QN_wgDTM^SI#i_RFSEO+ejRhXzYG!Hnx{4jaU?Xh)j5wDowEHjx1Ps^UV`_k zf;Bg!{$ULoBJ%s&yZWX1**EkHvXs{>I-+;Q7p`bzy2%MWOv^s`k!O~CECsAr0w|8T zh{xgEDC_byf$TM&3{a2VPZFrt{X(fS7wDuZ*OKLGKYWqZoKX4)YuCEe?>TNHJ1c}T z0q0vfNP~TEkKfDHDB^w5w2&;8w}!q6;Erzs_`(;ykX6+TeEQR$ zzSs9Vb}sI}``zzaK3@eO#XYYCm}Xx-2LL_CTX*+7lfbsolUn*Jz^CG16M7@Exquy; zY((KDVdGqR#=3xYX=N}NU;LJ(&Kr>8%Vu?OhC$K$2`ZqAXY3BP^Wg@2HRJKgfgZUK z!sOSX02%Y+f2CADl&TLNq6B9WMk(rBfonB_!$$8FhLndOq&K_CTnQO;z zzT?*Xnm=RDjpIR{W}O0c4vOg*6uMi!ao-*Bn-^?LuG$s3mSv+X>T>R5AHNx`yc!?8 zZQyjQeFjxyj8yqsOb$v`!Gu4S<+{fQDtW2nfB#{{H* z;a~g-!!jegmgY_$8k5>br=vB-X=m=wmbEA%32r;s#iC%9(U+(B;8h*++3JVRpXhxW zC13nBU~HWn&v_?Su$hl!1pCzGKtZ=Y*EVAG8E1ZixJQ$HZlv~KsC_DnzXgl*_=rgD-RXT|a=IPIO!awfE)v8_7M zPpyc>V_ydefZ<@hZW3V})-VueVQko3LCm>MaS#Xm*kWL8oiwg(dZ%j)I6LeTVl+o; z#2&sNDIH& zM9thYKV5}0R_0GQxh`2=&3Ea%wyD?ti~-U6hN7`Goa{2@jVfXE`@0DL0vC0Vf`D+nfj2t_w&`vPDfU%`3XPrH{?Ny7@nzgIKU1|I`1? z=YHmAeg>dE<^2r2ATNdRzIg&bi>Yx9kgV1*KIX9g8LV`?+FA7k;8OJ^i8qe9#g*Mc_kT$TA>*-(cNex~&It`{0 z1(UEFieUXLCU_ZJ8YLx3{iWw#Pq=uP+;|dzPk?tUoQ_6>ywCkm{^N-7`-f0hQfeV) zYLoS97W-LOYTCNm+TS{(KXn^dDO{=jwv^NJ)^?7mf#zr`pyONrvv&4b+)_LK;5U=x zNs>O?!U&W(LNfrI-DVyqa5`#>5C0hum%sYwFaJ;O{?woT*}K1@_xpeRV;@><}aRaX4_qDyHT^ z4gRn*VXC0Gsg}g-66=AN*7HHn+zhTU%Y$=m;SaVr><`<-8N=y+#h$n=J9cY#MSKvb zv>eqtU)F4z^k>d!v7vK({03~DZQBDWdt!9OD$aGyv;J^)4%&;tDbk;gCxB14+j*GMD z;Ta!00(Cp}$x&Ie)&x;o`^ky1E?K|Wb#{R0!6&Cl5PzbE3UiW}MDRsi4V(_cIgOF^ za+rcOVC*~x7fkXoOp3x6KLS8EN0D^XJ5aa>INjiImq?wo6$PF1N)AH0%-!G(wTWdr^b8* zh9<|h1`)l%gF!z{1unehWsuOA)uCGGiM!L>7CiNHU|~4RVPK5T%P_h%#;JuG$Mqb= ziscyjJ(X7hJk?hL+DUr!w3v zozNI1IXt9ToUmA|6&jilfl}kIVJ*X2hG3=f6|z7otq7@_r*VsaEvVq zxiVk;t3GqBU;po)zW(_y=~V#F^f>^!Wx0tT|Ci$YzIg(G)nK9Yo(;beK%WDEsw;cP zHvyo~R{_%dn*e_Jhky8vuL7hUUj=A87#nozHvxS6{_WrJrpKrY@9q2VYo`#FD?qwD z1K=~`hfT0zy1}KwnVU}9xz&8b&nER17XGKah`x`1MNb08apyhP5RV+}-R@r^Bnn$z zQU;F81-EEr=#vHHV-92S87IVeI%&TOL7K*bD}TG;i3iC#;KGM>Le|tdj&nhw_Tgu5 z*@pZ=-yiDtIO&4``AcxP2Piwz8pVj)4{l0g*9v@9l3K;J%3P)u>A=rC9ucoOE@vY$ z+PYIZ*-OVf-8RqFt#Zcu!7vYGSMP~Fg$bd z=gw;{Sb7B1Pwqa>`~CmBU%318f8pmQjxr?BkuN!C#zTz#5<-LO>^p&@+sMw7t1drW zUG(vr!E1#{DWIq>jQ8#zum}{pnv3AT$Y{K~Gq}$FrQsx8h?u+uA^~2&hP@XAq zbL|LRyJ1c_M-=q7ZQb^(baH~5j7)|tzCI@jA!t1A&~lE5oVfu*Or?NCT=5JJwldPM2+D0UYz$u2Be(7RqG|TGb8dYJ-0L(6 zFqLhX7;Ea>%Hug49dM2nE717N-m~ATh3jqSk6exkVm6eG7w!ZE+x+SIVV2B;&-|!M z4mcc*+|5Bz#>5vHgW<^2T08tP*0Qk+BU5C>5I!{Imu8N-3%J58>>@C#^)CWxv&O`U z_u^!@2qQa(CTB+cBb4XjqrnY4oaWU@zTIQ=V1sYqQ8-8f)!uyDPdbx~x+Zop?7_L` zwljX$YvEc>K#@LkH5q$zS{VJ8NG0pKk)dC;HfDEr>5<$kci5t#EEcOCxsv z!dVSIly$DffYpI&l4#dhf-9Ji@y_~)|M^E=)91!L(dPiPFq~hy_P+WWK&=j+1HdBf zy^-a8(r*HI_uY4&@Fc+TO#tlBr}`kkbC>WHfL-{06Tp*i-M{l2-k7|1nt%6i-@p6( zohQ$p34Srjoa+j0Urj)iWu%Oe}AA~4J|HU6WI>tRT_Onh-0J{|6XzW$-aMl@Jl2Ii1>af%fFH}XQR{Wulh28Ew(^~MSp>l(8tci7 z$H)WnhztE*!Y%GLdw6f#_PL^y16Eg|d^Yl|ETas%002M$NklA1$Tzr5Vf@1<2AMWDxa4Kt7nPO{o;ZJ^BHz+G~n!N0nK;tG& z1G(2pcDv0y01V{4>)qKD2~Fmp{vF@enQPY(C(j2N6G}Ie#_FTzpZD524lJ)ZuipK zN103`mo90Pz%jzr{1ThdjvpyC$pD19CyV%(C0fs;^DHWUjN+RyWcv>ga=@ol?^)sY;r{VvzPaqxpVu+2y${2J}g0eDw$ zll}J7ySIOc8*M4M4awgmv^qa?8A!yCH}{M2|t?uz3;_dmSq3G=Bb79meFSbbZz-62h;Kj z0KN%;eWR}eG!6r=0?_9GAo~6Pd=((Fj>UnIuLJzrcYgb8$lhA)HpSy@0Df@tAE^D; z_W^+1t@|<;S@JBb>S>n=}Vzj-g(JB5a0tsJ=)4{c%O%B?QoHjNxx*n$EWDfLw zV2TbC%^beUgh>6;1?#J3fp$Fp%1`aeDu3};Pkneuh&| zwiqwq`Y=G^Ok24+Ym`()YtO^agGyy@#=)IDc6Zd+T(^~#PQB`vx)H93GmEgk*BSrq z8~(?!MPZ$FK(zXr*Uk#SZegJQ;AbfX*xX)bX|^r?8SlN9eSPp;SmM)J@XP$Yj(pG` z`{K#nANgaSzx%6y{m&KX?t!+q6Vh*WTNI#Hi8F41*QKoJCeXc*t-65enJ2fn_|sQLH$sGhjU zwP$>LChinc)8xi5md^dgA$er%R6BcP**ptl+hoq4T*2*H0G#vIn9=+HiK+d^^)>*< z_Bqiqd+{fwqlC2hf8@JG`CwqbVnq~Thk$^3=7Zn}J!g*@R zkEyM0rrC7S4|BsbDUWfiCmb_J<3hLL!L70U$Z_Qf4*|z1`V7~(W=PcB=@d6c!!bB8 z=458H-u*1a%qld0>B+JXbl}nn**keh%zKeQt+B(k>F(+=~ zV0ZG-Hz#YO4}T0R*1|2a%_C{ypqRBv94Tgf@H`I<-4->YV^GdR6^BR8-483KF;nM3 z8cx=CU;ptL(gt(R3=Za_j-?%4yc4fc(IMxX0P-Zjvu}!%J9LBk`?J`@b9u&8`Ei3l z^BuIs;H=gd-lhu<3e%wMfkCoyODCWekj|ke19&3fUQYnzFaGmt01Jv~itkk1drb)Jtg@ur0^h60K+clP*pFB=uo?7YqS0h|M@PVJ!+r{rb``OPv{pwf0 z`qJJ}pzy|^H>HjjCN3wDM`**+jbw5?ch}Z1v=JcJXZ~AE?RN7eH{<#Ry z%=Hj)&a>e>VjEst9^}zAJbgAUAC`_qb#fJ3ABD9tX1RG1z>h@q-t1EdFf|ty(S%{T z<~mWA{c>HEU^z5!d`|K1$XB@5 zQWy70(=}c6$G~&p@r^XYtdjuc0=x2w-m$G4kYsd|=BgQ2T64Yh!%5ia8?b%#rqE#K z5>hCDoj+O@xjt?cg00i6zX)Q?Q_zMi6-<87?KqUd*&XmDIt&AGNhF$|f z?Q@?_-kMX|T$HzSoAsHR3Do+w_nFDei;S(KnU}MXq7Q%OV`6D8M@k6i!~Eh|Z%NK+ zvXIP}w}AcR7d|_vjRiGZYaAZ$E_3HR26x7K+;y@$W2%Z3^roiaxYW6LPY$YPoO2-6 z#oO~*7Y&-K=R^8>F1^`;^BgWiNfKq}p8e3MSR1n#+u$jM0M4#s^^6;8`@-Ihy3xTz^2!jn>NIOWkaV0mCA*fiF1**h^33`Z=H-|Kw(RfhIl^W}TidaE2;*C!bs z8AuFdbO%@K3T3Z4`rY{5XiwOdV4G=)AO*S?y20iZC{KTfzd&Y%jYG~a-r=7h-1M_N zXB6af%wWZnT%KsL=i0<3Il6cfa*pzqOX0uL9IJ0o;G@d*8E;w*d5W0Oo@L(fi=-0Qww& zC;#VnzxnMqU%dFb2z?FdnX>zLp6X_m8`>3lg~$eE4|2^d^?q=t>ZR@!ECqx)h?fl< zxUQvzib0&xpwv?!q_XUAkN`|pa}k_ltkU(s7ARiVpFY_J88`ND=9nzRf9Qy=29#)PZQ zvUIJHaqYF?w^NokVLQGIc_bt(rERE|i@tjJ()=)9bM}Mt_*gkNjE%FTC z>)a5($jDDB;E+@Q6K`@Dr`CG<68@(?|C$la%kI)NMEUCvxVom=@hWFX7?;<6otIND zXE0!i*{qoh`yO^Uq&(^*a`zN6tqh&s>N}oZYR7X6;dDZIuAQFnOwZRds=2EQ|-}9pBmtWo=D4Utzo&HpJNZlTNntU(u(3zWaawI_N zDL;U+#b(R+f?uukAUGV`D~Ja*FTm{SMT9^U9dzKF1A?RLJO=BdW8R}@938%iJ7aR3 zJRSa4p0NlnExbtu!>~=f3-m$V#yhM|4tg-4Uq6v+%{tU&XMmpg)tq?isA1JX%%Jf& zTluT&?7AQSUjL4%YdhZrkl3uSSK0BzGGX(l(H+fEr*85~-ti7f8gA@$B+lfiZcUey zM6bi<8X52yrNcQR^Oyg5B7nyueLFxfb`vu$Rg>h z0O{`Ec;k(`uYa9y@N;ABd-Q)&8|HHWkniW~|ICAew*YW__uY5=sSv&>Ufe%<_sN^y zn~FW#X)ZPPt~aE1Zr|?@5o+J|dJ9^!(?M!#yO$(-KaeILcJo{tO;9~B-TgmR0)3H> zQzHShIv7A9z1dF^h(cnfNo-uifZZvH9fHoBo^EjAoR+_V4A(JFMy@fo1~NBT1i5~a zCjbKQgAng?diFd|Euill%@i!2@)7-P$>uTb6*VCbWo}@dm!sZt1WF#wsm?n$N@0$+ z?`bQZeqo%*#s_m`#~hdsVHj?F7;+q82e_uz987uVzwzxi=<3M1oS4x2pmNE~QRfLe zSQ<8-1mHuwINtcDe$+4d|F{3$pN-uZi;D;6aE)=2yw;+^ow)kL(CKgnEzHR@BRIoL zZW*W(cKJ#VIytm1DbVRBUP0fkZBRMm-#XgYo;k}1Ik}{ibKLxH{l`-YNahdk2+5oG|%<}ad+l)WH+`T%RMQs`HMAm-1_c0kR|^D zpELOKqKbdcj4XM6;(*4wuHVdGIk0su;<3-~r3VrJ&Z>I-E9YXUc_~Kdgv^i(nd4Sr zH};Y3C8-^4kwb83nsX56IbQaj`2p*(&W#4+=7@iz+}3CRW3C_OMeaH}_l!pVgRk)x zfLxnIVM;Fi)UV^*dwV7#b)4+4xi)8Vf}33X<2*-4`i`GWos$(1lv2Gp2-u)C+rPlL zoFn9p>EUrp!4|2rn3{tL)bla`YM`y&Jc>afhaTCyXMwh3nLI?bB10>R6(4y9?d>?H z#3SY$M?J;$Wx=MAJv}b7-<=!&(T(6FoO=`x&aJhRHl-((lS%bB;UcLd^H_M%6-rUiG($-6rImTya}QI>>HO=n$+ zxvK=Xc$R8#h;bMvp?!+DkLv)|Hh*xazQCSI2#8TcSE zQQ6fG{#4JBUK0>>ErsqbQZLF#x!cfK|8hcL%uRxhv**_j(m%gNX!slQ4%2%HCE9T?;@|@pSPXMqi zdQjxq8n4iozx-uym0$hUU-hbg`qQ7bo|8TYfbNMt0|1+Ms$KzL{Co~T-v$8AGT#R9 z{kylno-0vMZR|InaI>mS<9FXnwO$L5Eo|ppc@pvQi*Rtr7+p3UM*ZuK^n;HS!J(E0 za2jT{d8ksayDT-XNeMa_4kXtpW;b8Vn9SywMW!E|?KV%?5a-_C)QX^h+?q27WXFah z6TN8Pf8Cwi_A-Wld{H_V`Jw9Z!B_HEf9BUOanb|T^JmX>0~!4JA76Hl6d?_ClYkZ-2b;8~6fHZ1WW=lFRYVH#{Bi@_;s+$~T7(1*_T6gwCX z4}7Z5e4#$vH&+5)yn;;*v?_<*H!^G&TvjN^7U$G$Qcjk^>Bh*n=unFQ`*&4jEUbKJJwY@&c7=!fV7o| zhV?Hmd8aa?#$$+Ovwh74`bUC}S9prJ&QoS%fWy(emLKudGLMnZn!!Do<0H4$)ZS$4 zbmZNDwJnY)>hBNOnw*;dn!oz04;}p1>p%G_=f!cGy~eVwbR=)A*vRY1t$BHuET^4F zcMlqPHdkwJMnVoReR0UuhjrHA$idt?U2#GCjEn2tbJ0}kD}x>ORpZshTs3ddY0b4` z`qS?{^D=JNdiq~wv8{QS_^Rh)`f5uBC_N>1UiMn0|ec8xP}$=k^`u@#?? z88oyZsC1k2_4uiU*7_*+ z+1NcCDf`$pLH}s0VaUN$Wqc~moblLrF*>JuVzDe?;m-VPH?K}pYlr3Om{5+!>4pbP zW3*@1EDMjESzK(ktu<+)G9#uwyz`S>%w~f4IT4R*x34vvqRn|J-&25nVO?k#l0oV# z|IUP|2x8U9*auGn==bH{8CLxgZs`(4ftX7UHJc_jW1a_C4Py`GN=6*avgO62v1HFa zcTaBUP;)}5KDSm9=M?}RBNu~+tllRDXNXP$qSv(74=`_TglYB{a$&^bXC){kt=E5w zL)Rk3e(*&*ey@D!b&y~C+Sl%MPr1oZz9jAa_5^_TjV}!Eo?rQuUpbfQUNq<<`5dO$KSrwX8=6shLx}9V>1C0<^0uu?Je(R z_T|{YcoQ;K>n>CuQ4Z{UzYZr5YwTx-D1FW*#?K!FsMBHWvjL9g3wACTqb_N5DkfQx z@NB}FCcJDa-}uXBBo8`p&e-%=5Y#sr${|Ov=73C%JkB(J}i2J)q`q5wxORwS$~lty z3XU5jIv?ZcH5|EJ=iS%Bfjj8DHqDpZ-K+=+r+@*0)lT5*zpV;Qc(KsNJms}=G3xqKiezj%O zYF*|BBQ?9*`vo;Eej^W;9LzzVmOeEgC*~O+ob8jh{lr%W#+TYwEF*OaXX~!ky*L{+ zsDqbyQ(x+iEgp$E%%);b@N;QS@;Wyw*YVo;v!ZI@yVdV;=B?QDSZ}gm0$K6cLgLJOMxs zi8K3K82tF5S(+T7NzJj<4(;|3#&I$iaNFIwtp4(rFx1`^a2O`#P&fpnJTbYjRxrZ&Ws;s9&j zj9E3pTPNXY&>!|F(QlmX#Z=wCdbunfY_-!9s$+>Bqf(6eT%J$_Kj~EFR`oJYqmk1hnk>U@r%z3|e7#A+XeJ=gd913xG`V!O#L~3;IF7CijvC)j)zPFfp zTrtV)YqJZ7F63roAI7`;|43%#yalkX^*vzhS(^?!I(}%qmfKsY)56%V_;4+3D2%q> z)PYN4Cg`rosLRRuOS7mX;YGxF2fpMHn$d;q7!dQ;Cwc5h*x^ajNFuifJOOb3eZ30c zJNk1QI_jFg?i)TX=EvT+D0HxbxeTcR07q}&LFe%A`1M8AX5tQXFND8utHc41x!~i_ z&A;az0*#Fef7B%wsYTy`jL*an(5B1g2alFy)cft=MqRFdEO~6gHiuzOM4G))dQZ4N z2SA@A#}fd;zkKce_5^?zyZ`y<6#$nN(+2@EKDX<=J_mqr0=U;V0o?259_&!Q4S>F{ z0Prs1$pF0t;O_tW-aq>LdE}Owjjapqou_Z-&)(ipc+zrF`C{ZMohJmey^i=?aK2>6 z#XDGgw;NOaJTCBGSU_|3H87jq(Z~m|_;g_?T=1O7)8fd?0*?{&w9@%mY3cYYKG&Dc zgw}yfZd8DZmmj$-c;tYcxvw8R4D`L>FNU0q1)_!?8qRzO;N2_vkA;^6zR=g4z|M`N zIRy^49qb#a9N~)&*2!HGF*ColQaMu=z2`yW+vd8L9y=Kyd5jA@X;oyjv2Pozg zT(MB0I~zJ5qr`slIJ{2+&>sY>Db4dp!2} z@QeS|pS=4o^nU-doqi5P)pB-iYgJ9vcscy_gIfdDb**6U$>6 zl_P7k*N=Ida@1Wt_j*rq%YMaOXO)r^ZOz?@Z5G4V+KnBY)UCwYY<1gRsr zV0SzLtaoxJmwYDS_?d9UvcFD_J#`SJ&2di!7>=Y8*u<<4fFpZB1BNSg$cm2#C2Wnu zZ?drs&N-gBG+;=l&ZJfoJuGe#)*Mv#kJTSRozmowuTAT!c)*r5<+Y*!bsSU|nHhU9 zk0&_P(Hv`!dd+1px97z|{TP=b^2*-Ecmr8amT1sAuFe@<^6pwVQm+3nK0IeCITI~4 zovGPww(S%v%8TO#p^#ai8d$0KC)q27vhxz`L7Q0NC$;`<;KFw*br@ z(v`=B^Y+v4ia}2-^$yFd3M7yGN3kA>#*z-3cAVo{lbwHH2ubt4%x-1V(!6`OpzTU9 ziW5M+>~;|6B|7eF8nS?YluK>jmAHE)~)bIJ%N5{VYxliByt-tfjcR#Q9`|~N@Le7CFeiOrljnn#$ zl>&#^u}4o(RFhZNZgJY0)3`d`@)>_p!Y8>kc6H6Mxh3Xijns2^IwH6D+pF=m+4Gju zsf>J$l)1;!J$S}Kw*GVy_LxEEf`8`gxF+h0QLVh}kIJ#^x#`}lp5C=q(OTQD^__Xl zgb>Vrn@@)NjLnpte)H@(Sn8>+WBZiHxt%kSI*7UB3N&-qnlHBDuMK`;H3a${drRQn ztKFi)w|Q#6F6qpdNU;}_7}U7ytnHHXtZ8dAzPcN>H6g127|Ev0HC!{ab=Ikf_&tJ~ z30zsTCXSF8&~%;pm#!cCu}}E1pmpH^4Pzp3;62nH44Z7p!FFL*!*`sUOOTrntaTH| zoKt7#vpIz~Q7xB@%sMxdV0;F@dx#T4_(CSWPc5lkZ`Z_xF?5_xoWJi;ahu_XB)ngDA9zO{){ieengbD>!J z{g@8|9zK)Qz~+9Q`NnUa z0O-xXa^-6Q(Jwok=2f~Av_0vK=@2>#QkTcTLAP; z0F3W-^Y0zWX8`Ete|8Hu%tn*jcg?|k#y@7}-owvAjrx;6OLi&)aHo@VXF!|2 z&v9@mBr;KSx%u&Bcp#G<7at}Mjt%L<5Uj!!o5^vdpM3h=2`NtARUbI z@hb1kKSRyOnkkPmrO6@I&TVndUf5z_iI?%NYcw}dm}7TAsMDa(K^de$bd($M?;^*;Z<^4I^|-50;~ zIoIj9NQTE}$A=;u08YvAr;e42gtHEO%1>Vg-28xk&|{|=r=?J0 za~$~*#xtO!pH;+ofsnakcMZb`Vy;m30Y}@+3vQkZL4D)@?z{R6*SmTJ-n(}{@?#%& zWb~ac+>v2|jtHS;-<!n_HNF65a*OkW?LD@|s|dAl0n+1UVeD2q8Z6H!?V{FLj=^ zmPvUwNBTw|^Y7k4`IyJSb7l&e>$p`)Pu$da<`AII%%}2CezT_Xh#$=IKjKDX54}y7YPw7rHn8`dYvxOMm1?zVJY` z_zWPom8iJ36Km!5s@Z*3f?Vaf3&V|rXC5k>xB1Ug7(@T$>GRJ%`Q!h_r}P2xPrmxq zuZqr*MDX&o_u~@)UcTG+Y`pQt8*A0R`Axl6Mr~dJaId!jFnpr70Ng$DL4erI$+rM7 z_}=}CuOWD|>gM$ACwy-`mi4!B1_8)bKeB2cayG+^M8MVy*bX?&&=HnNmx{a{#JYt# z+@sT_!pjjBQT94cVbmF#9*B~Yzih*o3$VWEVZe+K9O4?zPV*B4l1tAu<3pOIGf^;z zH0OXIPN+W0+W_2@gM#>*0C*LE6OE4Sc!j`Y4H$mKn^?f0PakCX$cGFW)1Pe~L!=_+ zvO320SbE`*o$AmypOG6KOl3!vBKhuqTuex8H{p<5U%Byh9TRxE!NoQ9#kz!GAyy3j zO{j(hn6=+^1yi6t_)+V_D>Z)M-}~9Szx+4;+}&$>1;DmWs46JlfqV|P2wfw|=s-3M zsK!|z224jRt{EOQDIy$3?VQPd&)3Ed%=~cBT<1(cIGe>K`S=(&e)xvKHrK*f&3f{4 zjfvEp%Idh2{plM9D4Rz#_?aW@g}Dz`=Fkde?38{3l8fELfp4Qg_sGkUL)>mKskc`0Y-raeTlCGUy)NVl`}o^xK?$I_9jvt4uI z(IcEuoh-;HK@|)ixmxEw>rkKC=vPh97O?nGrWMz|`o`<{J$v$)dA?#M=rT5my&79O z_JNXp7<&S=_6dX*Y{S#P(2f5K-T1$&{++kq(Gvh~-@Wlq|A;+!qLHTA$!^iGS&hM+ zc_lSAqf2+35oL4@#IY=H%Ng5q2)dUVd*#~zfQN5FUiYi*W^^n|0;bk_ z9QMhBV#$f-+#<>mfm4p=b7Dc@n%agWj+oSrxYW^FL}I>@1-$I`0$a-3e^7smZ}{rn z!;27QU-FL1hhwmA4F(AZyDF_~1t^y2J4XdB{P?X-hI1b;eFaF{mW+VcQh2;z?2Qi2 z-pcr_v#{a8c&*{A6Pj|i`i{>Kr+j9&up`jrh+@sxO`POLJ>=G`%iKP*!CDkU9!GyJWCb423${#b0Abz|rg=wlC~7*OKTu?|Klaw>r2;xiMA_ht8oEj;Prc)-MM*h+KQ- zmSj$>6` z|MDbL?>#1xR%}L&XI|+q`HuZz*V?f(8sZ_FYkQjaw0r)N_x9`jp8Q7y`7ev)BifQ@ z2h3P#f$*U|@IA;3hO=JAo+pftv|?}ju&&Imo{GB~GIOB5>irm!9M@b3My|BQFizED z+wz`|t($n@j=8UW>7-cl4VD;>wc^9IG8DAzk9lFvA5^EN!*lK0lzZ(05Wuj+9{4Zq}-ni!^yP{s6J zQ!pSLuX1~HUULpExd~=x@^|dv24mH+cZ?C7xUSu&;L79Pc4ocVs@R{%M8g5u;?rtdOx;MgLGv->!{s+&daCGSEsE}34^&n8Qka(dwiNd zJtY*d*JFpNZLzv$(y3*ows;=%j>E2gV=^JIl@VLyocI1s{*8EEOT%na>)Sj?tYz{} ztjMttuhC=8F4)?QL#n=gGm35OB^+05jdMj@DfI82aSf<)DT((B~1Za$sVAtvzN(Dd}}YKj;J;;vE46xM*4< zK0L;AyEQleelj3qKPfPIJ?Uq&PZ;>*xO1BExh_`e8_%^~+*YhSO|iz%SaVGlXX{5T zh$Qi-hV%Lt>VvO-?o0YV>B+ag^{uDB_=~@2GRJ;NPVdJj0K7=Q^h>|w)#ZZ#zwm`G z-2I_H^oP9c^Fe@j`fvv?;fFu`;VvpY9|Y)r-U@I(p9AoOex3xl`>l7s_xF9nZ)Cm+ z!0%7ze%^P#4#lq8JItFMJr6O}Gp2>eJCKd3omh-}J(XpRPsOwK6D^kJ_i5_kW|vV(9tyZ4~PjS9iwDykjLS#e(C{5ED&}duhGSvm?t0k zCC9K5r4QP*p>sPNw=MM$vw73IJ~YysUj(%e8|h9<-VDqGSBi*TI71x+P;eN{;Ti(9 z0=y5rbO=xD%lucb82q)Lm;C?yzw@&KC~p&{w>R8zUp!}S%Q`uG6(@IW;VS`oGbcv@ zm>ko>E=vJT8il=QPd?3k$)@n^^rG?$8P4?BYF=0Vx=A% zH~j0b{JQCX*Ejy}_-6lY-T3pWytm%e69DuY=l^5^z#+apG>5NyN29orx;ni60$&KAZx%C%bgXC2rg10Aa;)*ehdAq6epuFZ5a@$*B1N4{sBLO&Jn<%b(2>siW8DbYqRZoa+0*CjxKqc@ z;mQGW+YUdmx31cg`}XMEyB8?-hy2cS?0ADn?vcV%w#+A%#>EGjBYtSY(`8E3=<8RX zV3Qr|=csERY^!Z+9lB2xM-F)ffF5VRuRPvVuILg@XGPirYuU?rl#~zP9wx&%hxhy{ zV&)uMSf+1>er$8opD~aBeZRk60Whxy@Dl_5zkw%%Q@P2mkFj~|#+++#>R|%?0&1m? ziklXP-+N>2QF3k_M6hfEiS%j6=XDPMiw}L|i+#oTiLKA?_x}0s_XPic%J05!0nq0F zWTmz2#NvYh`&j_4rM1Az2{mbWkZ zhWvQ>4H&L%HD6eA#5b;-8RfcVL>{r}?HTuP`exss9iklgMe(`53a~GY6Fdt*5Le%^ zEu7SxX+(23=4nezBXtTLxqBwYHyt%(36f=Vt)AX>CM6fj4AVRp7Iab^s;+-*%~i9o z>S;V2;lN{JSd&w^uQe0^e&h+b;#MsM82IUfml9x|WwW18<<5Klzxbus@BZRn`m=Yh zzn+);dk%2b&)LGiYjT~i>K}4K#i!WQ|CAdeNs`nxR_(Sx%p|oIh&)D^xUPNHWUywG z4;*df#dhYH*}1J4kPd;%wRlDe2cmnRXO41CD&**hAse4^4g0cz-8nn*hK_XdO^WtO zKHGuSX2*)gDVchqiYY&Sf{HxCa|E4X6o+j+c<*i2my@Y=N{C)t9g9d9u(<9V$#0q*!$rR_w${dg0Ly9n7bQN zAZ9QS@jK5`K3i#&+YX4FaIom!*Urjgh|0HVN1AR0gi&q9N=8kj@_**0&G9p+jx2pI2|VLz%<@>7QFdZ|``E`m_Do*|xUdK7?|YHEnD<@NVy^AU zD*(>cR{%)IR-k!Hu-*)guL9%)0p~9cSnlro3V^@&?ce+wJH$IlUb-Njy!GsRY{A*F z#>Z(cIKZ{a#kb!8co3LvX}V3}bnvp<-p}aAHj*Kbxp65_j6AfF#mDtvhjn6hI#7?8 z3uF2Ec?B*vcY~wi+rjCv2W8`Gf!1s3_&;!Ot zUc9L=`cb^~O#tAz>ILQ4iAWrGr?+B*Nm~=4;jKBYTk8jeu6DgPw;RF;~$Wj`-oJ664=tM{X6d~whTPQT> z(gB3Tqk%v{LO?`1fd)Y_c{mS@9Vb3x8j^=}) zd044UV+6zKQ7UuiW&>{VIp)kkWwAx3;`pW=$<;RAh-tq7#G+aW)U-_g_-8!a?pwWL zt}gi`m*xexi{ozR`T9BhM3fvI$u^oX;A9+q$02|jPdXlpZDtYTYmp`9vHX~4{D@=C z%?!^K7XQQNy5pwKl207Z=lEP8Bfyc+S7Vknb;{1%JqF;fY@plmg*;Ium2893*0$kT zD7rSBHJ~=S=7x^+>>nKC5rJzC_w@P9K0in0NBC(!(_{R4@vc5M&-*BU|E?m-JN%Db za|8adUex?N?;Et=ctia+tOx(|fAjOs;oKjHlfGZXN5Fm2XMBivGIBo1^sn>fwiHea zoJnOOS*gxpr)^4s zFo)7S;H$k*H(@$Xj|rFq2Vt;hAhZh%Z?tUnnxvgi^MHr~nPe~A|Hm)Y)mYf@yKL+( z-W#`F#*M?wdWe0#z)WrHC*D%qKZFRvNgNg{?nnwg>&$5+LX%?#ZGp(Qve0YmKqpt6 z*wHd^<7BR;YrB2tS6kN;X=THdoIr;ao*?&@7G~#bjm5~Ji+&tT9&3Oq26$U$JQKlA znOHn*!dHi><@Tnwc;nX!y9;*mm9~BCQZj$d@XQbW;u|#mVi1*i)SGqkU=Fu0VjRCF zYBXU1*W6miNAyKoCJ}3rDtqf4JLGzW z!rW(mR^Ts=Rr6PZo3^U`t{ycnIHRMz;O4&B|ILS6e5=xRUgAyP!fwpf;1Evic0k;* z^;iqm8YFBJ3BLsJqsTt_$xre{fDh#F1#8fS4Qj08#>WIt|tKaGC<4uNx&?yOP>PpcL4nPuYci7f8u*T^SUlzUuN<0?#0sw zy6c9QE)RQzGDU>e^pE?Jdr|jjfE3p!QINz@O(aIf&|BGfZK|eEy91$S3JtLg5w3xb zwENY90&`gh5PBo!zQO`Pr2o2gWzsfV++$`q+68E0uK3C+iXnC~*>-4y+T`xKA7?UG9>Mxswkv zr)Qhp&iI6gKyEPV2OC}OCS>EY$=IV`xw?b4dB(~d7S~^DM3m-|wng5ooJQ2KWBe)9 zKlP{o)yu!GNB)DwbLOaHP;T_Gf3ff4;LZGG@Dh94*O=r69$5?%zGedXVLCC&qTpDEAm6&8X2J$&IJAbXU&rF(dvJ*Z8o^=G&*^Q5?;4uOc)lFOpSvT_=Nb)tV@gHNVz7dLa*eIWrc_c-C^G zj{Hn-G^CpJW7T*=Pdt5riAo!w%@&<`fOuI-!~EX zH~?S%H#ZOZ(SX15v!7*z9HHlk7W|$oi?viT4#0@P{r*7$9>su(Pfgi}b#u@HYkkDw z!k@sin^|M`-VE8oi=$x4P8%RmVVFYyMa3MaVu0SKM_!Eg$NtT(ja*p1?CQJ5s*Op% zVI)4r;V4(aF_LVk2Uv^N5}yDM#GyOrJzsBR!zY&-oU zL@~*ELnczk!bZYGo^5=ljjl1{;kIm@@cDm*k59M~?~eOmvMV;5%`vFU8lW9JAPBMb z#utlNk(X=aQH>Q?bY-EJoPc4|GG0GB*?%R0*4NtbU4X?4xgG$#_eR>{72m0Du7_qyS z*H<*&iioEG9)6vVM#+~=CrX^C?0sm~h{TSHjWNl3dqv#!1m_qas|yojAM85ucK{a3 zNiXoJ_3r zCR0uS62Lt_2dG~H&|1IeCjq$$u)YgG@A|LR(vJXO_tyRW7xk5NpJos7696yiXY1}h zBF8-9!eRo|qK;OYmgaiqM0)Q|T4Fc5lfxauF1C=(LkG44P#61ez3?NXl_o28^LWQa zq1Qb0pbij(9Dpd9~RWHV^i&2jc#7-F?nYnmMxFIoIWH?5by@48v?ks9j(}Z zfL{WzVxKhfF#u#-fIfQ`oK3YkcTO^Bytr!=iNgZnk%LR@%YNk1!n?V^Qi9DS(jT$u zt0PXRs%wqjJmaVFF>V_J>n_jByMRJ+9ars6KC?T%YFjt&av*PftU22K{snX&`N+$c z|Mb85w=e(nAN-wkXDnhPkCv@LQ}5)pQXvm2-Ht~_E6ODc-MPiqW2T1Nr&1im;Bf~> zpZL{Y^@*Q>J>x-r8}pj819)PRcfD@=&Kr@oy|~Ue$i&GoICTOaCH-5wNVP2-}AIZDqNPUP0c%3@bNp=)zLCAK8ztsV$ z-F9;wx8;cRay0VE@OX%(4KG@6rK4-n@aMz@8;DZQ_Daki#&$z%GUJ1DiH7TiIRQvW zu~qxlU+p|E<12ZLJIiKH)Xwpup`e^3)%3Wm>xRzQ%-tCW=8gLd@D_6w6gC(hMS9jc z`!1%G=F`+O0M=N)Hp7*QSj*r<(m&%_a|W_jx9l>oO>@Uvu%)6t+tF^GZ9(f=9tm5< z6dg>IGyX{G*9-#BEG%poirxC~MqZoBc0c(cUm;i1s%dkh zg8%?P07*naRJMa)9%ypS%l!M_#)JV#bX&9gYmHQ?8rs}A&GGc%s}H@l%*4BIp8v^6 z?Z$|NaM-W1-?--+5qo{qJoDCnvf<5oo<{9}Lm z2cP`U|KTs`3dP~1spGV;JKKI?*T7_P2S>Nnox-rK|cUCjYjJ<|k zf<=24FTfE@8-#3gG2R%WLvuwTFWkmr>BIlRVzJDIUZ-0^DrE1>V-eyo41V?y?MV`_ z<1PvVY|jZ?yKg0AZ`6DgE)ILKsRR|zM12T95I@3>sJ^O>%@*c z2e71*NJK_(RQNwI7Fv!bu^D3ISYw)HW4|6rHk4zGa1n8Q5eM-krsP?SDP>OIQ6(%o zo(5UEosfzyzf^;dJ@WX9(cYfpvByO*O@29;k1Z+56*jkJ*-AybuOIlqkNc7TPx_Jn zSUG1kXM~Kk=DWn0R5NdWL9CZ5gXCX#M-WEbDgn|pFob_YSVltHW=|wF0=m|dF#oz;TYC3Ue^Lv z?I$1B7IUhq#ne8v01pD4=Vn*zhfO#r>h z^&kDrpY<3sB%DLa#EZsb!A8Y-s@~&caW)cqJm+thhi%lwXDFGUj@=qIlX@(|5?>Ai zhr%E21Sh#<-hbU3-oX(|$A7}ueFqe6k3WmQ;InSxM0F;1V$@zRd-8xNMCKHSDNUpO zj>*DIY|*>&57O&c8-B_TFij`@`FER;bTYGD7VyEkyuj6$X;%7J+lisjE^rCXE9o+UlSdtnm z$AdLq^_uwl_hj=*2V@G(7x_IPMuOS0SiRUTs59o~c+MZP%*_OH6-SuMAMA^8TXwb* z9g-bIxr!_1jAP3(Cg@UP-Tq>gy8A0Qb20Av@3yW)&o$-t5y*|N zcxQOv+hLaZKrarnSSg#sY+l#6`pZZGy2Nk_-n@EP+rTFPZ?g zWw!_8J_0q(bjlE}G9dSjwvD^;%pWrj;*j%*|FAnKU*JopW1e)vf_D_`>?-Pe{G>Oj z?0JAmzY+@S^1%yVWx5^rYeu~y=i+q;&-i=1rftlNLL-BuE+1t zJ7yqZ)ZhVdd0A^Y+zH*(bem=F}CFfY( zK6u)FaT3Y5`SZ8H7wp!>#(rvFzu|Fgev`Px@sb4<*=@2tlANwpVL$nD;v{!4~x*R7wMqSHx5Vu!rW%S!A+_6Vyj+m`>^p0va z00SyFHNu^1awu*nRS_^fHfblMAw2#-o6+KvJMD~&lrlbjIv(g(8D9DWY|Ln2^X7nE z^-nq28r{m#QEtPF2PtY$f`FM($Kcp<Jrs?{b1s`{;VkZcLm1t@sSlv0MSN z<`DHfEXTGh(CVywz?(R0;)+)}G-r=S7J%ZP1g5rbG4BSp==zjZxg(Dilz^(EMQo!r zSz-;MxLxbw&2h#KgXqFxZab+yIfXyiwyAGRb(O;%oVNI7ekDVG>KK~pu(fXCiJ^Ih zEttkw+vwJ?%hOtUIH0KV1*jZkoJNe=vh=eS5^s=^pE+QkRj!u2bZ_slQ;G3 zNG5gbK1u22sA*4`$YO$gVo4+Yo$0O7LTUUI5&8LzMgETH)kppPcHi`uEPrbfBu-Z( zM>_#^{8!!h8*A&zIob8~yei4MZXG>XN~lvY*T7gGGiZ{0Sna!C_=R8aHKndAYZ?1@ z@b+DM1AsZH>-jP<1kLF${_UXmlBZ7$B#A#RGEc$>g&0fzUge|w} zsunso57-e%%?lPf-zp#`I+HXP-}(m%SvSS(SdtO@40vDI3*WoZ*seU(WY>c1p$MMp zWDcG?9?Rz`eRLB;>U7wt8Vy|j#FAyQkv%bS9~b`E{hR;JAHMvlfA3%P6BsC$Z`t&PZJsy*XnQJdx*7l41?J-Kc4hzxF-Yh6Ro{H-seETBmEG1vQyKQ= znz+iBx{(-UQKB820Y^p#!5>zGz$3?qNAg!zQ}v9IXQiS zT|_tA(|c5BTwK^+^#y7FoHxeAxz9Q|S)&>5nK<-Ub1MP%mf>^!;*5)JiZ9NwFO~~+ z_ql-Q9hn!@Jd)4F`e1v3U+lKC_gv89yLj5um)o>QrVgPXjNCCAh4k|EuYLRS-~1PU z@$$ER{#T@*9Gc@y-_>#y&#{w-oBane;W6t8gzhapG7Jt{ zc$WUKy@DQiAju0m;^3tDa8{0~t8ywPEi<-ihfL@lN8Al(oQ$u5JBQ-qXytL^-vc}G zcg%+QY8-5KljjD+!ah1##Gti{Me2sv4JC6s5 ztE6}b%({H^!3pFq}te?3G_GG^Hi@xPHo~?njy+#(E)28Eb@^v1!A2J%N zQbKFWPF1IaYTcT?lwQ0%Udm4!_xKHHg$b2oXC&x)joQS4?Dd) z24hI>SJ=U*adXyN)}z&0qW&gIEL}!>|QS))6{o;5Yklg zp~RNHH)>8j0l4RZQY$LeYOHwXBpeF;>wJP%A3^M-cgfugqQnrE%Y*Ov@MmOqr>Ds8 zxSssYRNl2W0GR06Vea(=z=Pu^0AJ?7QdzHWfBW0CDOWW=132FsP`N?+Vxs%M^sQg} zYd`jVAJaOPO7C89lE*IryzlP)T31(aEhDWX;!#l2cu}>sOC(WQXK;+{FHw1wtI3X) ze^JUgoH{>4oDLFQMr#S{aydS0C_o>5QOmK}b;zO{65hF|*i>zZY@>$v4$HXDm!t@R z-{s)Mj|jo;IvBo9!+5EC@jp;$z=V(X2lXoq?|J{z%NrN{<|6M9$*(ilQ1oD!p_LqW zwocngBhzcO#Z94q7P#Oxe|gjoC&<%IIHG`8nqo4B7)$CyOO7qZjYDfCaBUea!D*}M zY6!z;^zyI!;7++irLby-~lR+%atZJR^nx7r1Bqu8)yu8ZiHB%gyv`7PZ7 zw{g@RL`2TFUY^G!zcZKdXJ5+6CTw>c9l6PO)OM%w~;k!4ZsLO!kzHO=YVt zK(%Ezc^>L%ZqByOOs;cFuefqGk7akn>G=V;WDE6OvMlSamnkC5hvIq+B;evg*|;+sS+0Q?4g|br%u!p^OpV9Rv+f!|F2n=&u^7D#tJ^kwV?Tu& z%=xJO?FBx%^8042PT1^Qazg110Lvy0bK4Hn;E**Qx2KQHV@IqiZ@&5T@@v2Pt;=8k zE1$po<-hoM_3^y7d=nUFK)`y={HHH68+w!3F>q#NbE~EQaT8x|Yn+Y29sxdX<{f!% zxo=OjI?uG7n;UF)Dc90hg{y=#wyPrq5ve2`HPlx-8+7Tj0^q;CK$Q-N@v$K-MD981 zw6nyPlbu7<3*Q`W?H6qMT9W4*XH2V&;dETF7N*bOGzpsYRvyts9OnZGPTRBZHgjn0 z=n&ey8W49}DhF#-t$;Vag9y`+w_Z6+E>Kch+pTQIfpyW_q5H)ytBtJ35@`O$q?f)Gvq`>NV!YyGeJwXxY!g=$)ju|Q4`AqM73bn2{tJuCD1DK})?*9DOKmVnF zE@HE2Ica+O;4NKue~&DX<^(Gg*|H0;w!G@HQnS>&AF9cMR4lAKdtEDbv)n3Jt+vtI z^xWy^U*CCF+q;8nZF*>gZSBVPCxLy(kArev!8v5~fn`J-n`6aevKc*34ETgZHhe6A z8wu+V4CKRYZ|E49a;pU&Fb*3pU*5XBara0P9o%%n$3^J_{rnsQX^aQeOc^`bku+tJ zH}34WO&ku#wX;B_Qu*dWW-wz+u#`GT@7T_GEMQcgC&{QO%mLX>C)Ma;8Z7O)iaPNP z)ON+txy3TN*ZTT5TKL2OCgTb|KlAt7e&A!5Kk+C3`S`dYhh?IVQ=`~S!0p33NZT}+ z*22xY&zMN=F;XIqXX3kxdUUwxcrJIgx2B?1-(uIm4Byf-h!n?2gZ{{z%e0FFGKHAo zNzTF5a`_XsvNeXyTRJ#?BPG6qPwd#Oz5CatSoz)}o1Wy21X0_DAMw__IR}?mkR>9< zB+*f)UCSNy9+%olx5jhqJwCHeHpL5AQPxwL;gEFZ&SL-{eM70IU(B$;)?$u!RMV%V zPOgz;oBe(C;#~;4iWSGrRk-QNKd{KBP9Glq12Y%c{0%A=o?OU}UVUGv3v=rF*giV= zx9;F7uYCDQfW|TLDU8G*IfY7I9ZUKacx?S3TTqu*Uw!lP+Be_4eC5|(yS)0XH!iP! z^E;O>{_3ljZ|GhBCvQE~NA{kq3x6}#uWHAuIpXh%y?Wm4O;f0jbRIMN>V}xq_S{D1 z{YOpW%{oP|zJWkz4Pu83KNLINxKo~eawMdq5V&%`i}RaRAY|mK}JC=;Tqt{g-Crw zL;uvkkkrc^q;o(14#I<7w5=#ulbYA)*+*WZ#r9G8w1!J z>a|8jX&2Hv){(*KVV(YU#e8aX^tXvOlkzkIXkOfOR_z-CIMvI6A{!QR3xfrqs$$GN zS{^?%Dz3C4z$P8djDvJnaxR;45F*!g%!Z0SzNI(qqnAFZ>%=?#g4_fB6d+;nvT9ts zW2<-V4S<;-Ke92O*|^g$0r>ZYHIYo-{YO6Xk;^x}@eNkw1APqOex3yAuK@UWi~AHn zzYK701bFhF=$8QAd%1kS7qk8nJ$>|6_ToD4Vw{D?d-7gu)LwCFWRLN=5+QHtOfZ10(G$RKjA-Np%=v zE7OEZsguAQ++g)wZ3$WSt`8 zfa3^|!H=vcY}x6HkGyKQm#t$X(_J#D$?W8epO|`dq^!(iP5)p*M(%Kgr(U*vd)+O} zf{$$XYd?D7%p`Fz(c7&}6{R}#AL=FxuRrp~fBf=&zx5-zcp%@;tMNVA}ERCgB z)SkN;m3ZnlwYkQY9KdH7v)-S}MG&jq^p z@@^0|V|R7of5^1zActp9c|FTd0TMGZUiuh<`JB6(@u~hSq7f323i2tmx}PEH zEYfzYG*l*&A&AW=TzSpd9moI8e?HQ#8&?!&X#;0_)U()6gVL1n;^p4Syp1%2U8pjU8^**p1xS7-vnvRdUPK?V_@q=-m`o=Cq@6%*P^5!!aMcrP}dGGO?Z9 zHj&(QIhkuoJj&e{j3~vdqVkcq$k`uqth~Rx^jb*G5<1^78Je9)eY$pJZjDJpwwc{| zqv!-FBZ7?6MX-|9AiPmj32wy_;_U zc!qlMug*Q6;rP_2KDA~}7yq=q0Ce$x;imxKc;gNK1mOG>;M@8Lzyn?M+eSA5_%gsd zzKNdSC;s-^Pd@kFyGObKAo920zI*HL4Xri3`|l6Ji+3&1tU{I|J7rchl(P=cI^kI7 zz}T24JGm^3Xw9yb1CN-Fb6J z#Jj$M#Q(IwdIYbv4BeK8-K=7{E4fqHC!E!Rhuqja;}w?!uXBX-`Ey^z4>r$ zkw~n!1LdTD8Eue>pnr&M+u&z}8aKL*csMfOmLGZ2FGX$b#Rsq#uaQ{nsN$(iWuq^o zx}?&%=onM?qSZh)LwPbcI#|1Ai)S3*ZQM=x#5tN-V{XgDF{$G`)hUK}DDat6UG^y> zEkl=g>LIzh(AOiLwwL@xkL~Zr_2JG1bp7DNHxlIOY+FAU`PJjMc8xnxD>itc7gn`Mk5Qi~e8v{5NzH{psb+H~2Ewj5Zfy6x-4eQ7`VP`MXLEPjwUE zZGF7XHv=RiXXl1ZMlvxlFVjcUdB1Lx3z8J@UMmyRvOh2&$*l$6<@b=I-yH@{A8tD9JD66#pvfMVQqMxSx%=oC2ldL9#9B*Vdc zhzrd*7qGCuP}cq^oMUv(YE7&=yxp>8ac0?@L}8}PtD5yqeO~-yl_;p&+FU!%i4B$J zD6Z!i8HctH-k?P?>eWwV$)z463#9n2vi>{J!)9}n3RMGi)&~lL zkb#dGXmjyT|LwcCb*Z35O-%knJ2mUvvhCR82A%obXoNr^5d^9kW2m6fxTxMlKwYS5 zhAZQQjWd+oXF!hX!6$#u@BSUX<9Ga>U;gD^e!w;5TvvwX9lU+l-vGFs8@>B~`Q#@* z>7V*Lz6*da0^|t*;OENnLYa5}k>AhF0RI}moA*z@c+unOHqjz`a`z^yhkcqgl!aJ6 zGqI#l;HHIDPLaY!>7^}|kC?*;@xX^}R<(r^A+>Yw18dnsgB0cct|DM_HpXa7(qL8EZMTOg`|{$jXxV2P0uI)vvmNBT&H(e|S$lV<87{+`x?l%NV)H zsN>}^kkEaUFEHM@)hqt;VoMam41*L8{8xEb|0{Y||C@PNp9}s$Iv&OY!^+%($bM9#R@<>E_Gh$p(f?F8 z0sItzZgg<-;HjPn0JHN>Y|g_R1hM;)X5qisye(kmo69wFnLusl#9zCu=<+gpR<9^JECbMwG zZe?_YC*8yotO#Ux6{5Lkyh5$*3ToLe)zN_MMWqq7E^ba=7H9PY6ptX!);T74Vs?Zr z;b7NzO)x=$ZYyna4|{-cQ5uJJ+E~gUd7;wF=z&ddYU#rf2HVvhq`@8e&R1B<*cbqN zUP1+ExZQNml;|f2Pp`TW+51&~wj4fVrhU!4;{<=ZPkIfFJRTU95b?&?RdE91&;&I< z^t8#-+%l7Uts4(M>lK}9`NFBPq+c!EShD;4lFBJXReVx=2KD=CH@=Xc; zjsQvgL;waHAjJ&^W1avQk;i}&L31e}HyYPgp*v(LR4s4AX8)5?Aap4_*K3?(Cdmi}) zz;F4!4_~^CzWWpZJBP#x1PgnVpYm+` zv>Lm|e{A+l&YX+9vPQwqP#L}`)uk6n=M5|?H!Hj`Z;Rq$_53_yhy5xHe3A~cyW#Uz zI_g-Q`6JnWJ%Phhd~D*W@xs(LdSkF-4p$t=gR2L}EPds$p6z(a_PfdBEsQ&>dcd~2 zAj^4#O;e* z*tke9M(y@}kuSMxU+nIS|6a@o1J~Bs7d&#`&+_B%yrCeK`r0aC*Tg{#099zWW=wja z$GiA^HlIiJ{n)xoc#MLE?F)ns@uT0l>Te zd4wxg(Wgx9NqeNXpb^Wy%fg5QmbD2EC*Y2K zl<`rYQ(R138cPOh@meRWsXG@4)m|p<#?N#4G(Z!*U}Mfi0b^Pdl_+c8`HX<9jyVQ5 zj%`_^B@J&eFNne-=QBCJ2xGkz6P?HKYF+`Tbp2JAkxGnhgIhVR*vlNE_(PWYQuW-p z!*g3=hgD)t%{H-7*VAgRG27#cu4SxO%(dV1aC*Zkh>a^#HHoj=9cervuWcF4>y^Xf>5{{E$kB4m-Cl%un=mfxT5Lju-L5uRFoSTD+$MM$Idj8H7*+h8~e8GaSO#g$B%}>Me(8UTK6(4sj#*4 zc=`c=T!`+`>Ym?Ugp5#VtbqTHcRI$G0Ir~xt!qU z%niP8P~P3W_q{)$C&uqS_OXxU_(QJ03Cg?r27v!iFsUk9Oe_<>^aKDG@_Z5C{VT7$ za<6ZAw49p*D(B2v-tPezd)w+`0B?Wx+u!``?|tPJi&?xnQ@K2QsCP>5_?9{|d6!U2 zMO3g^l4WK`iBHEl7T*-E!hEFKv4E96py?RR!N!+KUAhAiFAvv<*M}oxeN<9t_>8d^ zb7ShkBwh(YsKk+znbR+Mh=q$lFzM!+2nCme40}g=5*(kcI+Jo+%o>a z-Q$aX1VDFWFx5%2UN7ml0m;EWF;qzyv(w{)p`r$7MC^;DHcYk0L!H((kSX>{cHpo* zOMHi~ap0d)AC5&i!IwgeEyxRMS;oiy(7vk0n9-oNorT|Y1-1SDlA=+&E@@b+23c`aF0}8)iz$`9JdQ zb4TLw6J$oH=2H{Ta3DFxsSHLiz7s>xGoFsmhBN+=W0R6r<7$2hc>Jnz?l(DZY`I!* z_U&W13Q^th%p8jC;CD`76@PA6#2YLm(zI4>@m@oLO>T6KV!t|eLsFmAyx`}Uht;hnAjj~PQ0cN#p0E$7xJisBE}iJ z@!u0SV}uQ-N;{*A@NB&l?Dv*N&R3V&0dw;$z^mn8|XrW@2aBnk73 zLETIMiMv99&8N{C`)guwV`x3v<=;GfOLA>kFO@rh604{&y zwJ(41CqMc_e1lz1fVB5Le(>hyd+t84`EFMgJBb!BC$Tu{<+&FiYt|wTm?*P|y~9nP zDv`TkikQU&scp5To!Hf zxvegB`rNY6JNfGOh5UhtcoLv2@N(ORUjq2n<-Ky7lf;MbeaY`s6BBlvoSh+wK>bFd z_@-&Bbw;pRxJ=WGmSR}eV_dzBW)t7(v>iB^Qee4mXY7&jia%_^Pc1PT3AfLk!)Og; zhRr9eJ&p0U3z}`?s{~Bs_|aqkx=X`5{0~)gGk~W7p1h@ZCD}ZLHpyu ze2&AL&ie}pM-=;IVQGC`SrPA1>er&i-de)uM~$U(Tpav`Qf$`1AgzZ5nQRAt?GfB{ zsowQ)_vm2c#B=88xDJ}Fo0yl*5vx}(3Q>Huk56RFKn->DpHM0WN1pVPbMTQL?HQ*? z;??0-Ftz=v-TG8}2*$B5m}@f^-kuAA_C>uSqL1&sz`{Q^d6)Y7-FYrrIkEAH892T2 zPJXz}FOE}YesJ=GgI>_XkD&euIsO@~V5?`a@l}jJpRbF1KA-;;e;Hpc^k3EE`xJb! z9`gBoA63k4rKpoP@6KrdCVwfY?Uw$?!1qP~bCNMp9G;+K{FF=c>&*{;=3jCi|9`4u zi))?);3ELy&lurhRtWxIR2&P(AYu%FjP{yDxYs8LaK;CIvkiXf7g+K-*rRpGLbLs< zKS7-`#_sH6<*}uaRB5HC@7Wo@%!K<>7q;ta_kKmFNUw_hbP&cVX`hAIDae=qa)lqY zQIjWq3^1wBv@OWE15s%%!7bF17qw0{BCus5!-mpW+K)QsVBAFqiOT@*!c_RZH;Y}6}wtSg7B?b^6z z&bI(ay5 z+tkC!W@`*#iTyNVr;d2y3kaClTi+CIx{o#8&(}Ce???X?-?B4x2pDeX0JYk2F?{ZT zqmjDDNzTz8_?G}M3>UD5X$fXy>Pkw-l@5k=n5JWNGkK>e3Zq#`f;+(Mz9^@Qyc+_0e&zp#=4t$}jTxj*-2qZvc1}HEGO-F8lL+@I@>BEJ^AvD=)~15KpwY&H+Ol-mh#anaxc{-PJvBavf`a1oWsu=obJ9@LIdDa=LV1wG* z#Jc;zP9m8XQWh-3PTraW`Zh{7D<{cT+hY|&%Stk1=6N>T_Wpb{Ten&vbJrK5YH{J} z$LL$j$GuLZxF}`}pSws$HhSx1=NpuBkq_^_IS`JMhqiqVf3cPmkMs-JqstbZ=2 zUIM;^?<-&8vHi#XrhUF`|5g3W9`E#HLE6OSdiuD*4<%J@Y|v3kYc9xAy~06Lxs5U>7wu4qoY(9P~-edv{) z{sX~>_bDlCL*jGZ2X@m4DS3(vkHVU#VDI&x&N#lt8rY3}jo-=^N4TVQ48-Xo8=IBZ z0mi@el50fN40)auptmvEWz>fwu%%rn%j*+t9pdF|)1R_puORfdc)LCL8e8WgAu0cL zvLikj1!rpsf?{%g;-aqg@Qx}`Ty?BM4$F&5<+Y-wq-L$8oKcMEARVp1U5A^uOqC?= z&hO4K`rXelvA%X3#YscciaCB79A?DZBZ})>tn2)F3}vDHG6&>Xp7ybhgc!?j_v&>n zS3UFHccX)YMOgb2avb#UO?IoqPsGWyQx*$us$$W+33v`X``8}p0km@ zys$amA=Kil2k-yZ$6JmC@`__zv_`FdMb2Y7=8*s714u2~u~8SCN^|tsl?=IIGjHmw z;}M1^^}>eZLft4oz6Zc({p{%WjUjEqkmbxl#w7E>`0?LywvE{&W)&Ms>uKxSCl~+jt9kZK za2VmPq<428y8Gw;$ScqO%KzfW#6kULDDUrK*sSu_OPyi3!YrMn_OH4pjr@!g zGG4se?cgB9^c=4Hj#-a1CkkOmNX$v&*Hval_znmjHWr&uq8cl5< z!~5MZKm}PN2`*R%cEgx1DWRq8IdGy@MBlj?xsWb)mf3>CJW^#&vNr6wV^tp=pQ%HJ z{q>qyJjJQz_(V=z$nx?x(DRvdUbEIueR1puw$*Xyyy*8BRX5zmg5zKDPD;j> zadXH0v@@2)^Cf(I4*ysG{x|%{J{SF8);s&(R=s{!F9YSVTgPD0%Dwp=XZsV&@{4HH*Cz{amkGlobl2H|I`^XP5^h_$c&eL##c827(;HZAVW`o z_&ZLH1M*|VrHxMwfd6X)gpKAK$6W`pKewYRA3>^|{@flOCvlp$EjKPPck}ewZ=`4J z>MAjgS?%Ca9(5P(v6Uhr9tKXaeeC^z+?dd=bl$MXp?M1K6Pzm-b9{nIxa5D!yA8;R z{f=_B>DN1Y#>0WI>4^X$b+^Z0_SnHNAP8MBsNvRuq)5AqaO7QlVj$lC@5OWHShuxh zH&hvm`T%>4a_GLED@KrGY|8FDrjv2SQL+oGM+TvbHOkdFj;!t0_9NZld5s13#2ybJ zz>fK+jxO5D5?6xsI>C&KH;Ifq;z!k~aQp%kLp{({BLg2YHA-3%sTLtkpvZ_h%!zs8 zKi4s^mTe;m=ZgLhTZ(fW&Yh!lb*P%qD2_Kx$#xt*V@EICKqtb`lnWlt(N>dynjQKrvN6|0gDVl(0nGjaLAMD&TmzNHfbqh9E|>x($7FP_@wVUd z!~g6LJpI}K=}Yq@d4TWm?YsR3faZ8Ts^O)qp8{mcJk5HPgSO>bAjtR`Kx7pEQUDD- z0&NU!F8(Q;EUMhU`t-?XKlt$B?}bt)d;Tdv_F6BvS%s`K=^codBCE_g?XWr&WO2?R zLAF_i14wvTtax;hz5esJqY@isKfn{3+}N=&9X+^W121mP3JX&T=cT}xq|c$SmbkBO1NeL>0C;_EuTneVHZYhIgTIwT#N zmD4C18zICd`N6kztIaGiW{D@`C#3|~=3@Z*9sqrXg>MMx;{7lG?B_54)Q|s=zKkL7 z&~XEx@BHT`L2ej4)JF!~=LQ08UHm_rCjuTm;6{M>xglV8+Kx}>OMH4!QaehuSwjfD zv7R^qX;i5^hFMouuT8Y8Yb?EUon*WQ11$q)ewgdC_24|HH?mEk7PeR?Lic22MkjOY zCurv?Q0=_mpqfcM^NELSfwY)IKF%DgyRM75&STk)xc$ANV0qr}9+W>!;~n-=4T ze}<2Xcn-eyp$$HW)kPH&`iT>r0lwg-L*E|>DAu_ms~snEvCA>pz}QRfIM8$Pj*7Sx znBV=6v+)r-J_0}q7u?E4<9}V|cpxFZIW9P-*{?<#tpR{oHy#o?!Mi0H`%2rR+iUPt zOq+_>uXme6iGI4>hY+$;FV_ zG@os|Jz6$n!j9o%$mCk?ld&APxey=!T+GLKv4&>cCKeFzZF^er5bM}DISK09Iugdu ztZn{o`o_g@mODJ-usYBE8at`4_KKqBUKtR(H4E`lK z6$8K(1?sNJh>{bG4X1K@u~6Q}Zslh-A&1uisZ&2zYlGUyay9ru)w}gxX0Zf3MNVw* z9I(VG|Jl=9YS(`1=5#Hc-cZ4m9PL0#&8@!eJ8xI=ca-D0UV6Ig@?f3@@J)bVxD?AZ zh3xs`q0+UJwc=nc?>MYu7g7lwit~(pw3|1ruw5?i``D*`&+AW~{Pmys ziJ#B|&3=U82KmnGzT0mAoICmbPyXajUjEFV`7@p+eGK4U9|K@9^wrs0{docaxn=tN z|9x)&&{ny7{r<_9E_d(On#(eI!tc}jigq1J*r!!yubZAlqKz&+7Osx~>UPof;O~P~ zR;`H*9kU!Yc)&*HG8EP~wg_6G2#QlYU7ODF+8VG9O%1pyS3V*N4ebehpu^D~#xdY9 zuD@aaeE$O-1RlJt806T&3gf&ARszuS%K&dH7;@*`je{5IUnD#2Pkq}CU7!{7RqU}Y zc6zENnTeUP#y***W_+0+biPRE9eX_q;F|%u5%Bo&lgt0`-~IK=AN|+<$(+pVpzSaJ z(*+Y3`Thui>a<_dO@Mq9fbYuSf}f`exS8PZ3eX9CzGr~B)5>Iwh>1vP-;~6AohUgr zkHWjJw7+UNpBpgzgfo9M+E;yxzv}OCt37_svD64!687u3ts(Z#iPYB!`deRJ>vJsN zICDPx*K2?XUsTFE^-Z1~Gql9b>$+4D`}&OZHn!xM+^%y5zavp=I>r(co@f4=Z*}!q z`E`8hy-0@)O6<=If4=8}V>>Ty0`SU{09^Fvv;ElQf)`NjbL%9{&goEX!<+%GPP zvgMog`E34cuRXrJ`VIZ0o*vu(nm(t`yZnp?91H`ak#nK3MNXNDwM@J3Fw;lHG1Mo7 zU`6sa-&cbfcL*@?D;Mc>k{5F2&C3_=vh!6u{b2Sx^5L=^Ug>L7u4NNvL^6K2KS?&X zW6QCsT(tpry`K)5M~KXhGV7YLb8f19oFNXC?Eh|>^W4WQz1=Sc>H%zf)r|{*+Wk8- zdhhpJY{)VtK!;So5-jVa2Z-16`tEh>d|@naE4vv6bRL_ba~t7+SSiH4M+Q5}6a z%L^Ae{#6#wdko4^y;Gs1236AB_Qe@eGH{sChoFI|%|)bj$kj+p#qaS+ln_L>NuU%? zw&o8c+xi(Bmb-na-<%7nEnEfxJc{u+X_>b9uxXJz-1QU%vgLeXB^o?B`ZO6=Q*mr&rMO=%de87JaXkxkAO3jhn3D-eTob8oN{4y?fiBGNy{;uua|K*5s_ zPfmfme?xELeEY%W*~?sPA9!=lh5jVs3+`!KO`vXQgXt<8biOG;f*>~tFw+eKebF~;ftZ`R}Ps>p0dduTE-vfSL( z0yYVn?Qi?i-;4LZ{2BG{Kl|CwIv#ZI^zyF10r1oM8Ni?Vsh{Ga_`;VrFt>W$>Ege0 z=U)QgWKbUicv~L>;PM^J`BQ-Y@;{v%T8>WbJKpj9+LJfFc=ytW^5%#2hLBA9Dkn`d_jx8GgR?lBDdEduRY_rARI z;+9X`vGP@ER}w@0jA#o+2XoCFv(3lD$^fu-9N0w;C$Du;F1dH)abn!!x6(T`KMSZs zf$e5|-2cFZZ!=X<_{73V;rbamJ3=S3X_FRK?C_rxl zaIyan{{A;FKl{J`^5yscGe0yJ6dHfcfgd%~g_1Aob+P~8;amD>#!H@?myVAJFjs!@ zQ33Hi(-Q$aCE%Mla!7pVYl2%t*!U;v>v8U&jq(bs{I2>Pm||UfAz0%J0`YlH(RF+V zzbjUG>tru~eeW0f;-Lv2WypIDY2=GP4JXLJW7H8eF z{&xYV{);$~$*=8i^tOt^7{@rd4x@N!nca1Wb~7zd%)t>;n=)Tq_7yUpNT?s5u+*T8 zspFk?ST?F;u`F)uCF%UN7K`;72k`6*nftKgm=xuwlE9Mtfk_kV~Xq1cHusuv&aXuY-F zKoNv1jnZI{n6swAjbNH+Q!-C@kW2&~>*H8(I&U1dA>ZMsoNjet6vF#S<#jW04Z+IQ z>a6$h%#hSm9UYFrEqm!bKDRjWI-c6Wx7vxxbKqD_A|Y~t$dlUrRPEq5;%h$8d1~m0 zZ8*?nAKjd&a+6wbw!HpOKLwcU4ha|`lsLKCV(dVUO(T^30w8YKmPH{ zSHJpI=4r|3yzhPQyMOb|H!bVW0P?OTCy11J8sPqKzWMdf{(+aj@6J!PXn}LG^yZ`2 zFCTdDA+4OJS%<=Vjj@uB6)W;AJujuz!>1P|L8~e4=wiG6E~7JnmAJ&Vu4770K5l`YcQy?HN-n2G~8nFiDSeVyG-Rie0MsDu8f)k z8_D3hNsSZRI~4hS&*kam<$Hb!;C*tGlhF6*U1hR7_d}^}3SJP_YXI1IXswHX4tYio zNq9r&p^-K=P==@d*5Gbqc#-TD6EEAge3iSF%kir2tCv6gFa7A{Lmz&h=9|@pjpjkG2lMVeKi$Q} z{S%%F;DUcX67Ujj_qq62`)QsE@b?A`2YlQhU_m$shm*EKdU461EM0SLme>8PUT074 zo(N~_F|u5;NJ8m#U|jm)y>TiPxYHNtThxgO+uqi8OU@{eZvKsF>&DX&FLsT@`Asiv z*^Oyq<0yg1`z7=<9&REh4*lD#Xm&Xx2~%{nqj$EOck9iR7V^fnb-xksW3OuEEiNut zxxniUfG2M~*2Vwh%UgOq<|%-A5+Em0;B(9(4!@vvo1yFYq2r@sPyMBP{FELS_^;~c z^tjmnmLBDA4&bu%j*&9WzKHK<=F6W8(tT6F7syF(j=MrCFBqwbnd35Tiu+b3cVY-W zSTLNM!MkpF6h9o~o|_6&ll}O#V{POXCN}m-ZC`9=%Fg+OuVYc%3&+V57+yH9%e5SS z3R}B8`zLhbIpeaO@OCE#;JE-ra}@K`!^n^QAJ658b{yB|L6xQy@(b!@J=?~u*p^iq zw{|j&|D|@LQ7tbxn9_OR(R1rv6W7Vrh<4ppXkxo%v}!-R0j{mrgL<7eP?U0b?H{Jq z2er37rcejYJoZ=>tBi1Fhc^Gp7c2ZW=4$Y9s|_Yww6ansV>q>}&^s39jr9SQO6BS8 zZQ>CQvMIK=hf1nTeBJV{Q1e}}$fW+=Fhw&Y&iX3LrvNokYdL)X_kaK07r*#L=I;LZB>>N* zF8(b?r^iECI==Xy3;%T^;Lm^g^I!TCAODfpHPA2T4C?K>rw??KfZw#^=g)ZD#nv#W zu#nXEf*N@Ol9YQ*6Q40&dA5?#)GPYr!A^z9?;5G)Oo5WKlsN=vw-XK)JMoTwavF(Y z;`7dgfsJeyhv@N%g8x$WM2;^4^vSDPtoFsD^}=yC?~W5nlGA@Sj@XQFj*TMZz9oG4 zz~m$M-?@D2j-LXQcb{n{)0tbzId}*hV%2AvQLrBOcD?}ZBZaSJ$#3x0Qv)67TxZrG`Jn?tU9Nx&v(|YG!9!{>f2?HX3ICvCThhm8NubQUc+0%vj zSAOmF%YXTw{GXTK^}E0C@5O}|<)m$Z9;31F7+fo_P86C;BgU+<+qNlxBbzm!isdA>t)i36f6EUXsw36a-ZGNN zlPg^4@-vrPNfTvINOBZ_g-#2sj4brXyxcK6|uWDa-O&9pD>Ye>w=+ow+ znB!b-958pB*iaL5BJuvDv4lT)cy|EOW*26As%U7Y5nJNiQ4ALbmkyAOvG+ z&uiJMPhmW8Q+;T{dD}J~u%qPo5DsixkTEr2(&qUtJ0MgSD({aYSiWs&?EuGs9-K$F z?c03~m}T}Ev$J12C|!mZ*QVF}SdTc`vo$}f--rWz8!4lm@geU7W8JBsZ>)lq`B-ThbAKr>A$F390?zh!Q=)b6K+0dT) z`eIIT8-5?{%mcPQt80FhHd(XX;qiMfh`&=;fT8cWIY_d!o->S1Q*>p?-G zSMAF;wZlAg2X!2E(1k(A`B4jI?rl+3u9GT%2RTRQhWcFa`z)U`{k|Z`D>FrV9IDk~ z#N?7OUJ*=igBUaGO04@nAUwePwY|LE1e z<6{77-#xj%|Kg*&2cOomzI&h(pQjIX!+@13?X1%*Ah!Ci+XAdDZV&kWl9hO%%#xyN zF?d$*753-|qg~VsRi0^4xSfhiezZxuEc<|WpJNsSPnE z9x%5Bi4iZ*o!DDjkLB2$ZEO=*7H1FD&?(=2&ORX@+WeE{o-yDe4X zOSH&bj=w&stHocVM1j!P)j`0u0cK!`bUxRVql1FQdHJ~1Po zi)>%G3xSWoay+yxa^bum!zBRwq&exEV=#6RXMIdR{;|rM-2LQ;#vDqBI&+}YH}-pc zt>8@|foc_aILUJbkjN0xx>=JEN@<*X*Bk86jlGrXC;vdB7Qp{`?oEG9$e#dic?Xlz zz}%GSo)b2iC`Q4iq{Zku|E(xMn#_3;UgG#~*Mp(Xi}Ejq+POU+_6ecQjV3}#?9p~V ztZe=?gElg(v?pH6W4pHU@3A@JJcrO@(_F>~eTU_2qps)bj0=21Ru}IwrK-lgo?;>MweVX1T^3#VT14>@N5ac*!BWHZWi%%77 zYDe5xsBuQV#bljIG3)#aA7^V@oonN1r8s3ZanVwIxYZ+`i8FznXtkw7Qr2_aOHAC0 zV`4u2xm|(@prP8^xU>od#GK#SM(hLP>=$3`BN-zDOdkkZ6~)XkY-_D@ti&fTQ+yGp>d-thT1op!Rg6Z{BnGL@LErfCnsNUoK{C0 zZi;;+$SaW!0+Uv7vtc}ub*+a`{5t{;rq{h?sHXpsm)IT-oO9-@4xVC0QwR@FCRT3dasWGc=7cn z04I*RfZ?YA@4x-*$!FjH;60z_#+FXF?%sN!Z{W~E^zk7_=&a?eUjCl4#I-d-Ep|{= zF77y}%z=@`t^=BbBhsi<(@?QV+S<}{u{yno)z(Fv)Ip53d$hCY$C~I=>NQ-F@!t$- zPX>u)m~F|XSk(?gHHRWR^p*bM89Nsmyof*t12y6J;KRqbR9F9Wkl@7jC4LGJ9R3+m z^fNZyaWlj@09I!=H=E*5F}#^FNeM}t6F08xpLXyk14d*_X-&KG%?GbFBARI3?l&Xf7Cx33JVHfH0Tcqe++3qd&U^+MuBv?PG`iO&9}a(r!v0voy*_) z`7ioLz>oas_g;Scr$3>O&pfgnHvzc0zzKN1Q{cQ2Fdq>(ZUpc}f%({go)D02zCHDHud(^5cJ1F%Q=9PJK6EMzlyVU1AJ`Wkr znbXFZ47cB|mfBxyDxDQ4uB}Jb9<2D=vh;-*$ge*Jr!S1Y`RiJv_97lONf#e>DDjZd_ff=y_Fs+E{x0y(vfWt?M`X zozJyCKALayX*R8~aXI|jW*-QPnDJD18L8bMN8IkJ-Pi`WX`zYQQ+y+54jCJKId;|U z+n%uoV+JG!+{oacIXU=1+h=XO?eTfpcCVI#*lu|N{Djy?t|CO50Q zv2imS+bQw{>C^%|Fxz~&Z#qSF&9#43J206JkGr%-ZtRtiu=BTuW43R~epTnkjYC*- z9epd0{-Pc~R*k-}5_X6h-x)hH>n+4`n7wAti+z1W+Fz!xzq7tuoQwbZNWij%tcgss zQ+<^~{n@2}3M6ZAB51I=Sb%u(zGyDCtWI@*<+uO7AAkJp+28rGAN#Spzxr4Is`>5q z9lH5PHvlv-x?9urd#8*4wlDk=0H6QVmjm8^_`@I8#mu*?)5Sk$VGp?QKj&2!{q6Gv z04nPuFk9L07!ykHgyQed zzy=)qwDIbxQSYR}@gTa$`E$Wt)tqx`%)r?B{pFRnzoQF3u}g_BPBtI#^KxMHx-DQ< zQPV>-0@{uPvw<0Z^nr!~Z0{gjx{X%!$iW{ziOJo{PV(KZP3s|YMP7+(YD=&ET-lAj z)ylI1)eh^(*(0pDc^B}RzNM9udLC@?XYuux5s`L`k@a9FOcErzt{)_cc9LIs8cdbshbq$K&KR$`80^`9kzxFmrFG)WyzF^= z4oe>7b(Z!=1=HeDJN+0W>uq2DEqOlTj#*ur`?)ywI^6ivbFAa<@FpIQq12W-mzkUA ze4G&^FC^yd7wNl2XSnI#_$yz({Ez?b&-wHE zXRPPk^X7zk#pQSO8TE;YDi_#7Sf+I^AA|&kf8KY9W7^<=rrvtnnS+aL{uG6~$G+OF zrwW9{xBcos?T;@Y)3MT{T%DO3XZ#|ne`004Z0FP*{YZDLnKH6aVNftq+51EUj^|3g zecGTK#vp8wU|!b;rp@Pc#$zynEFcZm9i%4Aro(orX>v=XMU3WQ^A zwQ(JeAoq6JD8Q570Z+_JPD8RhjhOggO5B^X@glLw5P-YNNpWWFo5Td@DTxbT>3gd- zx!vj`8DCNst3N)rrw@<0-2s!RKi!3T>F^Q^6v1Ez~BJlHpFx80qUaXO(*nON6Y z*m#ss7H4oaV>0QDUtAAPmSg})(pdIEqSCA-i2m};DaN1LW}oa4JttMBXN5m7Nb zc7^)nDhAnbM4heaY{1_##i#Q@o(QAOhkf%z0Oyp69l3V2keN?y{v*@>t2q&G`%=}t zaP+3Aee|U2epmqT6M;PQP9VzLhYwip-}BNB3VWw(#JivQnV)fLo8_I?`bReaW=?by z;Eo#se0jq!{K7Bzv!C-z0G@d+{y+G^4|>O8F?{Dc-|1{x-|qn!A&>w2V*t8fx%=9) z$6vhYOaFWmON->~d%d&t=*is!?R>0A{bzY`OCYN?N0U%R$zcYBWreA;R=0LeYdO&i z46JPQpHnbo+##^HFl);x4*yxqw6q6hF-r*EDx(poy9)2nyMJI%T3)bOkPc`FQe~%W zTW*abPdKn~w3w<#+YZ&YrDN7X!MX>R58cl%0jSTxjhBC3j*CA9C2S;{?lX zvDg2GB?c}kI2`L7$79OxaX)ix-_{M?kukX2 zu<#VIZ#m}3%YQNkD?K;Lm`p^;PKKkch6K@!CZ39pIkDi+~}%I3s; zme@d&sKqm8 zYgo{EFoG_Bdg1_Rdjqfg5=A?{Y?NrWTrK^NR9pEkC%nxwZDKh{)wG>$Xj>3xv?;>} zuKN&TheD&J0ja-qLufk>NH{PtpOGbqf7=Qhj;R%NeLFw??rRPJJs+2J>*8&KaTUhq zyIdot5NjarcK)u$%VQDTq&6M*WKTc=nQDW~nZXCvH5qe!-|o|~pS&H!#$4rqkI|cV z+IBekWE3X^Icsd-6LWND{%d?DpN?~U?Rl~NnD00eE9a{mBm8$l^Y!rC4=+#O`?N5R zx9Mx&Fg$eBV7t7z#Jof+pviB~rwq@6O-ahBvda0W~Jil7_EFFvmZM# zYYe^Z=s9+1mhSq=XFjX<@oTLQ{k8I?_<$BZJOQAAnMuI205}P7jHYy-`qZaRzx%tt z%TEEGzWd$pGJPKV>aPI|hLZp+P9FZ#w_gA1pMCZdnrhzrbhY#0&Aq$tUOjVqMzV)Y zWA78P(`53Ygc(QC$pHz`$?7^vA1#c>UV-I6Vk7Hg-+C}I6Oo=qpiDcLU3x-e%o<4v zq$+ka4VHq_1x>~U<__^j_4NUy0vn8>GOZDX2{#Y%1J6_BdGml@-;j`nKsX=(wLnV0 z7QM2FoVKaAczz;n_*Vnuiy4l~ z_|;)uSjumH_g(*b0KXvcna_Rf^kaH>Aa@1;_T0dq%6D`!;J!HVhmSlHKns7J0ARt- zF9_u1fMgo;YaSdZeC{AfnTH2*5`ctn-yNX5iTIC{KA{e_xU=zjb+0*3%boRZnm2bGQ7C56j_gY(9343_?*Yu5qL+tl3r%GKqK( zyJPm(H>mcLgB`m)D_h%vuE*Z^-8GGfSUf7u!`DcZ>)(ALQ~dK@xcs;S43QN5w5uJZ z@gsRFS!&=@hNr%Zi;UWNYC9@jIFY7b#H4sA!&zU&*H3!6(!I|US2by5y^y0%Ti|Zl z@@a47$cV)qB4n(oDmG#qJ$ZCoNI3cx`}C1Gj6d46xUi(sHZNQ`hn%1YMSty;6^G(6 zpF>s2IN?dykqk(2ZLN#K3~d(_V~3U^dBz8w+9=^!TPObbqYuJcUmdr@MhN>ENBAiR zMq>^Sv4HiJS#&EPDoT3q3m0YvMs5-ZYQFLh_2MzVEhiQO7AjnJprZ2J6|m{iO`?ye z!Ra)y);F;mLB2T8v92AIu5xm=93KDbhlkHtmW%z+I}*nn57HE`f+@7|T}KlFndL4_ zX*FhIHb$+Wt$GjQYXDEY@xr(GTsS=FpQ`-)9VVD+ZORlhSX}@V^5r z(#CO8;r)yEOy1Wh^JYX@xlRI5HikvSBBDJ~OY5XEseMkl^B*hW3{~8R$-EyIhmD}g z7Ota|{-I4OnU4r(g!CPNCx24!lh?obo4?6g^2Fr+`p=0eWg%f}JL=_xAe9#A}>l))b);hFZ~m4Fj5mMTs^p-Ws2vXwJGb7;Wc@==B) zWM(O6^lZaE%FAqM5bwD7AQ}PGpGO-?5P9OovYs}=X|D$g2J!Hr-wOsz^t#gTqkCaP zyEL!4P5+_p3}BJ{PzPwn)wkp`zWUENXiT*R_Zye&{Gk$o#_zX(>wEeg^zWVi;otxN zPM_9S12`G*na|Bv1ZIJCtv7`G@antR___1G7Wa4W9zQ9la(_XfcLn%o26fT^ykFcU zz#Lbdu_aFa_&?Io7q{OO0HQxI=jDTiQqViLJ>LCb>fR~n#4-zs129(8(I-lRa32p1|saSqnH%zeOno$%m-hs8FX;amJ=2bcRHq_IOT?3rBl^ab%||K}Jwci_MY6JsPC z$@cE__(j(FQ(hy9+rB`I9R=J>6&{gFPQ#>wyOH^DF$(`U(X zC^Q(AQqz`#((2nZ!;&;9fZ%J_n3|u*);83?9fYw(=XJ%~{_;QN+LAYcsSUFDiNvUZ zdMZj^4zQ?#UroMU$8htvO`heq{Rd}Ltjb<#+O+l!G3;$gJhHKwG?T}gN*mL-Yk$b$ z&VDw`(Cu?zZ}bt?YBwUgbs_TtziTwb?*%XOUc8A)W%H^w@|B~otjqwFh->z@7)Lx& zyHc+UhICv7V5ci!k8$-AN*onJwCCOq9+e=lUHWh$jd3erfO-oT4yzntvjNRV*xj*A zWP`q@2jL;F4!&X+r^ZGcHH%9bsI!hyx!nJ8H}k_W<3J2*)8R^pR;I1t20F|Ou)Jz4 zW#{)8PDJY>&F^Um_yx(J7p#=LeOv@R`m|-?LhUWGgJX*ixnn=?hlQOs>RnIvIOfIT zp9_?H|6gS=b3z~uhf6;6-bOmxcT~S*gF8Z zUi*~AQaXzqK``E#$|sUhO-_vi6Y~=tyHZ}IP7b*sj%{)*Ea|R?HbEIjEMkmofgK}F zz!)7IO{@WRnOIV884v%g8;#?j1wMW$K!Se`7wFQ0m-HNfZ(ltt0Q+m4am9EVE%~F8 z8#sza)fO#}(w~=Ob!n@*{T_Z2YSHKIzQi()r1Vc?Ik-{+lm7J>Ijkez+GhOHH-{ai z@-{~n`(5iu6pt>xtN+mRm*d%r6TRL<^?=3tEV#L`8t2)JerHebm_sa!U>e z>AX1-OpqvqF+aJ%*)YDO%2ETvpR}XcscRFv%z2Z{#_`MUR-8NN4^VEi9JlcVb9MUK ztKU5R%U}O(T`kY?gvEKUg7YEjD02;f#rrJ!tyAFB3E-Rd zqUVp#MC4!%(UvgLk39kw{&}i>Vq&Ntas|b<%CNB$w8?bxRpb!wpr5u_PV_PBNbufRj$Jj98_s(P}RkfFv;hcL_7N(nhOQ z_mRA^0<8?q;UhewI?FJ-OndA*Epk$AsAY_f{eQ=UHP>dd+gd+;61%i-=V*7tu55`R z{^NttIR11#I#vS?wuutAXSi@%Je%=a2efhqgG|*V<&}>l#|OIw?D|Pq}UV0(U5=l5ywq1(nTU;7AV#=hE6T)h*5AKH#-?3w#0%6As za3L~AWZA?Yfu%!?-PT4sLp1$8b;2R7c2ilxl-*Bp5S`<}2(S|P$}Y}tkPh3W}Q{wc>E3ce%D+h?1mtK15<~!f{4!WCXpM91Odp-%kg8=6w05kTQ z+y0d(-%46n|RG(yROX5t)Jz zx^e}rYNo9BS~>4Q#|=u`a6R<{!DFe!Szd#(>XtRi!dtim`Su^qZw1XO}%tO)|E z6{kLRaEm{Sdp-nP2RUt#&M}t?C30R6z^TLs7e2qnmRyynPA@+E!Rd7O6NdUby!t@S z;t+dtsDH_a%6!?th9BHOMjw!;oZNjkddX3pr4ekgq7Gkx@p5M5%7ux&pP?`meQ>F) zD@Giftcd==?EyZn94}}aTgr@0{6I}|JJdJ&O0+cm1S4l<^{*-Gg^$W>@$ZFyP6AwC zKk!v~-w_~t;`SW^%DLl%dd5av@)dWP8*hE@z0=?N8()_9tJ5F*k&mB#RKFtd$Mh=# z>?T~ne~7K}2XjY&cD^kBS@3gGU`_(C`1gr`)|LB2068ZT^n!;n_eML%tKV>lh!)c` zzfamHmCE!Vme{3Du`SD^Wa{LxkzM&@5T--sSW49VEVOveTo<}rgE_CWKWrrGQ|e|I zIods5T6LsHXs{QLhz4dhmn*6L-mj~j^qKAPbZ!A=$;S0r{333<6ZM7tw6FfjaYahF z@*n}SfADv|qOYCsAixKC!oDy(7_jr5oOFDLpUCv*1wSXxqKB6lkJnx|#poz=VuALv zU&V%a@YQzl!G{k$`KiCOFR=&DLpAHmHg-V}rg!ap6OJW=i~yXU+e}vl+Dgr-w_LKR zcWh(A{3NN-6esYus z4st-C_ZA$^u{I+Gr5M1Mv8(pjXV3h~qMEYUJ#vpdjIpR5FOe!DFs{W9NF)}kVlLWB zKa8h6$Cd<7{j{xI??Va;vL&Cg4W;(yBUj>YygCNCHd+)(&8J$q<3y%{%Z?XYB}iz{ zu)ldm;)s$QlT&45491j;}P)2dZ(gb_F}OXUFVtTn(apK3D{1vT>GAI+oC;_+_#0 zvfGsF&o*VFpz6DQ^qjr|5UDhZhY!#!{LBHT3XaQujtzR`G$DzCohV^y<(2^ci6Hy!0TqmMmbROQM$ zi)9u>$kWGKJnJSG9!$o9+qe4Pxtd$?bG!Y6JJRXv0S|=piGU5q`DgAHz;71bX=h?& zpGbUP{f*a8U;FB}PtQI7)akQ-^u^Pk{>`y0q8g>pq!HfTrqX*+_|9k(KqYF1ZByNe#s0w>hv77_Lpii&x%2FAix)$^1cmL zX#IO!RiLkLr!X#EofsHA_DP5L16Elv_`@yZeV(%K9`f59=j|~bvI0YVPO93%jl5kZAR$cRhtnD}?u|1b}|KONF1IOhUvCrg+xfN0}=D+*e8#=bX?+;4;MF82t&0Npo z9CMuvn}t3dxXWq2?-Y<6f1D^t3J#g$sZ=<(PcS2?*8~l6ZPFG_0#N6bJ7U^4gf(*x zXiJ@+o9MhqV6{0nJ;yDb3O+_fjd$MW+~{J4lPcrx)CM@0yme!=X$&r=-9By&&VC@G zPPXA)xAgXAyj$V0h_^9a!V_??Zc8jK@du|sipS%$xJqJzk?v(RRnj9CAldKZC*v7? za3E@P*kN<%+kd-V`V2|a5l6>u*McI3!|sSBo??Hn44$z-Xy=UGQH66;8ME74KVxb0 z@s2#PMcSJ2W`tMK?qoKQKmqug9=wvJ6&r)Zm1Xe{>mhSlwrvM>$|S~`lMGW?q~6aa zF0|cu!L?jl>qidp-UOEgaC}r;#y?h(uQ3{#>+OiZ0NU2N>4!5%kQF;+`}PLGmL>*E z&e}imX#Xb^)=_Zk-)%O&F)CmEAjRsh@rN$>*rH$iKY>phXb-95N7<5ykNGfl^ydjb z1*^}eXF{cOW}C1w{IfD0j*$l zaV-3E#Xk=N)H|s5Gd>gQWjop|o9(@aM#4#7tocCm+>YoRgI%KVzv&hpfE$P8X!weC zYn#Vfv_4@VGtf^w^U=?J^E=#0f~-`;t=1A*n*JXD+tVBUtFe7sR4!c|A^ z&=5M7+3|J*W3np|rgtQGY?xfX*mu&e%t@vNp^iyBFTw5izD~J>#4bJdyv8pJwwH7V z0CnCZ{9?h%g8*5;)m%20X~MV=KU!)KT$|d|7cy{dXUh$NZgOfqRkCT$r~{x!lj39@ zln`SuZ4Un&nC&F^FH>hRQh!z=9t|7DAlj(sNI=;LZsGP6Bw* zudAh$S!iGR>j8}IwNA=pJkfF2z_k`oJ_(>P$BpNR3gn(6oC#85G4u)}?kCBer+#Xb)jn0KN4}SfyPe0%<2wdxtPS2-FBk~|FK59V zeBDnDhTAdD4n+f2yk$tN%*5U9A_jrL6Nle`HF(XDy1bY{5igoO#iQo{3+7w;9V@l; z`2f&ZVh{V?7oF?vp7ohwV4iC-B}T@dW8iDQ{e~ZS$(4Lgdija`Dzj_lJNEey)iCkF zA{;J0Tsb25rCO@WJ}>45FN90ywhoR~f-eVcamyt0hhXbzqU7T*Jp+oAINENDrfVFB zY#yaE?hzZo9p_RVZbn3;5oSw6ipDr)>)5zMkf9q}=fRzCZQyumYXd>LQf&iWn5CyM zI(jv|8SP$1a<0$#*stM=bz+#P-T!-Ex_`%6V+?2fbz6J#rs9br`2a@F?8g z9&pr2DWCJS=JtpTzQ$SI;UhfRMjPGq?|OqjbUT;JGN_Cpq-&dqf&H{?Lk_m7?ZPA+ zF|Hh3Z8Ij}_f#1_%jeW%v-xRoqgZ(AO6D3bj!isJB~ER}-u-EO_RBVuc?Be6qG+cs zQOS?ooim)Zkc_{Mm+fMFOO845`UHplsM27YBLY_<3aVFa#a>^y1DIh~ix$bo7dppl zHE~R*wvS4A?)Rt3uk}j+51-4|#2CApyX3fs z$P+_aSGV!S09li4#$xg?dY+bD084FG0@=xyMZVra^*)zp0I=}S_y2{Pud}V#WZ$rG zRv#T>a^%j54}ZAhMIuMGCu0iO6)MxV&RJL8R*AMb@Z@tpsfWg2z542_^!0~#09M1i%Nu=bn4+=B>BhTJ6x{pVczUls*iQ zlK?FK*VOurAH4C^fBVH3JRdyi_)w{z0=&zQ*K788x~+{S6QG%c9Q!=8<$#Gsns}Xq zWBP$XK8b?i)_CH2{z^z5B0JCh1CqjRCKvf&ZExO`HmJ2jNo+?ekAF-WNzGy7W3lTK zj}JHq=s_9Sjt|kQ`lT?Pk8a7WR}^lX%tiFL8@gi-l>ag&7BDjo zn+n^=VLMMOSUQ=swo#c|p|gNz>~u1VvjcNGJ&UO5?&xj+P6l9mt-Ap3YH`KW{5>wh z_$oYi0EpDj29OL}&YO~7>&%c(1}Pk-tY?s1F{a=C)?24v{OezFFY@aFKlUeI_Jad` zj|*6lTKu!#RmCZUCp!obX0r5Hx<#xRF zH_@&6pm_KC-kZ1P-%>t)yaJgqP$gr`IK{^E&(*0*L$xXMbA>!skBCt70){f5N3?O% z56q#-m!B3I*W`%XHw*H}!uVi*uLiV$E`8ki*msd0C$x_E(J8>`B2Y=5$BhQH+c8Sb zIT9Fd|G%dbNB8eP)QhVS+CMbM*+<%}e2`+l@vJi!_HCXgd?kM-ok+ZfO}#a)Vn8I3d1W&iKl5j&Df`6J*KCI*0{IA|P^ z5%Up~QN+HK&@-k=dwi-I!)ABhvgHNE@OFRTXL%a_kxA@vx4wNTK2z3a`dqSLX^X~) z_?7cvmDK)D#BD@#L&nRL(;-XNrbL@VOPMt|CIuFYwfr%0oFECiDA)^~m+-Hq5|LkLP3GHLra}BY>0Ttyq>A zP=fS$&K$IXIVKhae7Jf{yXT6e2{T*F>NjJRaj2}h0sx4~ z@Jvp9R1RTqg(I_kOo5X+#;I9g7u0(Usz2O%o{j&s3|87pSZQ|y1IBxkKO^gx0Pa1@ zV!J&lgP5v7YG9KqtJ=9g#0P1GErO_JSoYfBS0(ff;3sVhDR=4* zum9p-{ENsA=LhQtqV(Y%05c34Oa|%dFZ_kS;FAD|HGre_0N&`A0H`zj7*z7>r=NcM z=G}MS^#JRa08ac8K(G7{Mh`8&fBMz8-}s&X?4>VoZC&$4rrP=5yMFg{_v$%GnB;jw z@C?$%IkQ=NwdSsmkh2l(BoqJ#7puskQdrUnW4g{m_5}%YOt3jL`NlKMrVQq+Vmm1n zx|4km9s!@7N40VX;PBlPIUR|N!4f)WPB{MvAHF>jC|$>{N##1QW$@lD)uq@!r!QB$ zdG)l2#mtBD>nHrd+8k`~PY{nt9RpP3ewEyXWAA`A9{0mgQVzd8j+cWi5g#5hbm^OT z9TR6ms`9~x<6`!{8O&qaR*U9oO8rK9-Y%0|NGK$<^7IuEU>(Ol)kg5uNbO0mMhPYPzSKPLoq7r-6u zw|-6lcLeyZ0PYmvZUyCoC+F1@0jl^!1)Y*NgEcVjFvj*W(N{-5w>NL2806a{(7BZ< zAg1wye~L)uOIrv^QYhZ+H0Q2{@RNV+v+ueng8wsjAZ-J^OVu0 z%v%Gc#NFei=PDW<#9D@;U;Et_+3u@85%NAqY#_?vQa*#0ZnHnUmh)h! zq)agn|DxL3oc5!s<&me)is(s@Vh^_SQrmJcx`C>SnLZ__t@JBJ*QTIy$LUNjo5-PH zTqZV|bzWQUdLs^3_(z5t+$vu^G%?wq!GKn1_Scw@*RFFkZHVK<&{)Ic{-7wsT@ROS zM;@M$DYG5UWV<+2ZL+MD=7Yb*J`S)QGk>Lp&dXo<2mxxw~ma@0?RuHFZdF5$t*rL3oexRqZt$YZ0(sa6B2Q6 zeim+*$pf+NI6GbbR8!eevDs{0b$c=f2gVGufoPEX{%`(i1A6^K4U!j?TDq)*{Kpb&Gof83b`@b$Y zaYEqcW_}J3>>4QALny~MdOTo)n;5r*>``gAAMzMxvM8Q|hn^fBu}cm{zpSp1u5Rw! z{p_1>^4*G4e+hsO1Ru!s;R%2l77eDxpB>=p>Puhx5_bWhxq0Q4S9r?59yWge^!n?s z-#X2J9!9qnLp9OSnv3>NomwHZ|LT85d?S z{)kU&FQ-5Xl&$|znKxEe#})*81$#rpTAZoO;$Lemf2an-E#&yEKL>LWbQ3eXk)JDe!c1TdCGH)Yv85E(f(e9zxk z^hLs0-k*N1kK9syI=!i15cuW4_peXC{P%y;zaH?T+!^qbFT3-6mw|aWIgyhAJ|V!B ze@+5ON6rbno*?j71gry-69zsZ;Mf!seEQ2in>M#E$%zkLMvtEF$f4cK)SEW>*k?4f zrO-LHxMP)iXJWMh7oHGa3*t+`|`oW3B`$Lsx8Eg^9L06+jqL_t&r zE;zWP_Ty0}N*Dq;xGJN6SAPsP)`L){X*u?=9a>88T2>lWe1b>g`uQLJCcJa(-pFMboIFpY*NTp zDl^_vKCm;#E+XlChJrq%k)g!L0*1R&FFS769GV_Mz%+MCSJz{_n{m#eviK*s62ENeFE_unU={g*Gi`8WSZJ?QO&ojyDPFyo^^*ZAiofENGEygNVs<3E1V&jB(Gc#-yU zXXtgm0>B*rVCF7>8@~Uq#RR!0&D#&|fA#6ByDxj9X~(;NrCZi@z&`erIA8*T$vpI; znYn0=%Bw@DNvA5MNV9b)oy=5RW~Vp13_Q^>4Yi%?Hf;M!3^t3JmUFZeoJk%KRoDh6 zo(a-&2w}G=UIoi3GVpMbS?UAHs-jlHmOIPA=|*rZ`eFiZ*p%BU3dx^*;=Zo*HpX13 zV=?Ep7AxGI93y^|%q>B0=_SsDfQA$xi``VCok}vIlA5Mr-5AR-Ap3e$dFLwoZaWbS z@1W%jKb{{$n#gHWtQ$+Y4m}2yrti$<*sF`YHF6qAH{?w~1z#0y--`i}Hr$4Pr3XAP z2Apvw=b?aJd~*lD{CuFludjvIeVrJ{E%>t4;{VQroD{&04>);he@-qiCz;VlD^;ed zSibS~@9Oo&>Hq%4S5IHiuLu0tPyLb8XFmVp#4#rTh>7{3eYJ~z_TStEkP`!U^}GPz zr68Q|5>U=p6MVOV%X9KVv3pMxCy74vJmTGM=8Y9o3#yXj8E-UI7lEjQ#}98yWdlX+sIM9}v>AJ+DNU@gNzBCWKBWyK zs+IGtZ5@jC5|B^fYs(i(-WwT zBhtpc+Ye&ezqh^qo0kKYdS3A_Nqit*cGGXMmvrK{?P^Q3YKBvIL063C(O&=c-vt2LX9U};W7 zM;j0XuQus(Wym3_@oN1}Kyc%YEEr<-{I?_N$FyzOEtc`{c+A|dgQ{BrcUSI{5|8VH zSEYWoYW&Qb#U=gf1PS#Y?h84##VzM>r%8#yRbP1MK2JC;FP9Wzde}R*T_Mae0G4B1 z$KUX5aN(GbdD79d%JT()_0A=?D?aO_nDH1fX422wzY40f%`J~!%@`{A)O#AwwR!40 zPrzUscwKZ3n%AUdENMS$0IxizX`9Nn9NA=&NhTsn@ZrJ3UMSbA7C07tEnTm-kBAG-1hk6ly4(l+s-rVgt-VrTM z&mPnVroI!)agaT@G)W0)tL)%6_#vp~k4aq(4t z7SLK?@f8402yj`KoMhmnz}B^dthnyI zd;j$1fAQMsD|&tOg{Sok0za%10WbK$f&OZMVu6d8xYNfcCbl~Q?%X{dAh_-bP+UGq zF?mi(a8iSl18qCAm=yk$kC{YIXRoTJdH1#G8QbDI!z!un7}w24ZTAVc&AuM?+(Xxa z-4(aybCr#veVw@hPfDFb;DgQahuHRX%rR^|XGaZgESJI22W|ZZUZ`cbBuBIom3V0p zRj7C-2#$rHdijSu$NfQxlK>N>bCt0oId20-ZlA~un0x}szEkT!9=9c&(u8aJsr&z; zfgD}>IQ}y`(vbx=PygD;o5;h0;J~@IwTpWDDdUP{_%3kK9NSy%IaDrnWQk*1v>|4E z+#zn^rW*tI%QmknR!)oBzUC4g9sF+yZnv49#aORs(iiQ=$hv=$BRTI?>WAcUrE;fEgskGb$;Ixsv8O2eJ!(@$j@<6ujAvcvBMQzviqx!_rd9eCn znA%oX_jVzekY`Gc#iOz#78{LEI_l`V5pGaRrp;w-2-IC3GcuB^Y8$z^@v(8Xz2uhL z0J{_ps7m=CUJS6&rekzzW7Qdh5$k|2eS@Z7sV^9Q#cGQH=XrZNfh(g*bu3N;xFe0mrgzJgR6Oy}p##x(EK{mtVftV*l#xx8J6I ztt*7r&p!L?sw2}a#eCY=Gsf=RQCW8z>$0cpwfIEF;^OMheeC5w`tiF@{~1lXE3Rzb zJav6~;r_?VQ0vW;T)afXku-17@oYTuUi)lc^pq&1;E5 z6(=lEw2IP><=@-%lQw53v$3c8T9k`sr3ulY!cV%)E32IPZbvz<__1d-#D@TKDUb7h zL=HaKBj?Pu@N^u_Px zBKLfT%%aC(%XQct2d0c(H9JGfiG624PTFNDvn@mN$ZKIURXh)EAI)xuvi%hfTV;bG zGfaQ}t~B2C&v(vzaK+Z+pmEipA@dkxqe8!%7G1ul#<-y~79N~x1IBS_p5TK;JSiba zKtTyO<@erw|Mah4{r2gf|Ks02efyi=_XFNO{z*NDW4P?o<^0||Ulo9p++}i|BzQ>f z_T(g!-%Rn1tzP8(UB*Ee3M64kndp$@6>Z9n896wJwiJBE0I`n+qc`h0e6u`?%ljVy z8>`0w8BbzJ+@OfP=#(R6+ZP~g(3AEylmIMg#d=Y$Zr39tJxaEM3S@2Vn?@)x-kdzt zVf*x#|L4E$Ip!ngLT?2EYy&p&W$|+Smc9*Kf+@IPcH$j~ymgg5Hzu!Y+H%psmtIo8 zm|F--6MJg$SUK%so;Ql4FyYuD8}A1KG`~GAVkL$lD`$O$rP3`nbB-DIGKdd?t-m7> z7|uD*b=0aqa`s_G4F9b}`_r0gd5~!mkq|~T#2GAlOW_UpmM$6?!cipn-6mf2!DIY1 z?idEU%g*hMGHB6pc}=D=nY=y<@N(&hf|uLnpT z?Xh*qywOpQ78VjUJg5Y>UJb3dwsB#MHgrm1X$8C8mWwD)=xdEn>N!~t{`h;RhfnJB zKbShIA-NQ8;v$gD;W6*r)r&i3iM?%zY}@uQSrPm$vqh;lUtKJ{y5jDHr<6aXTwkDe znLDi|=VIzfFCB9qH9qIEu*)E+)d@3wDOKevws~pz2&6x->M5K63sza5AHH$# z@BaMX(uLvsZ@lrw!);3_lb{x{>kV50}f2SQuxH3 z)3Xm>xVnB{!@%OfD+i`qCRPtV;&ReFlghhc>OSb(nWvy8B738!FdtY`^lp%eY7IN< zvG~_=MFcFVIkT1rZsb0IoDlFC1#!_LoDkifTFaTn)(p>nfr(xYjhu>J)Zy#Gz8|m^ znY#fkOS$I7@tuFLUNE8;2{_V?di+}76Zo|!KO;RS0FH;ay?2ij09kDA9GK91>swjjI$!v05aXVWf8k9>~l*Ri|{P|b26ay2YQZx7x)_62YTol zbHIEmaMK25w_xNDBTD}yKw@Yc-uS(@PhZo?0PYO<_Uqq2eN+z+eCF9F5*M-Q#hmei za2EV|8hoA#&)M^yAmD@mI8F)}KlX`9zT)y?fzOvK{^Zi-F?K}EUsDK1>lkK8`C zZT7bjx*iJVN86ZwQ%sUEhR;6x)aft(PrrD2_g#HBk}x=UGJY`ZKKF9i&$pR}TO3vs z3~A(>nwgqVBV6+sw1RP+pa^(RM}y9Fl@B)DsknURdnY`~8)Ws{p)FUAbCq|GJD)p8 z9|i|=+Yv9jFEEYw=;tzrfo*i*DkJ$`E;`=I8qCo}#K&9sp|4$rDsAkT?5K`2KAYBf z%{V(wjay=v_%@P9#S7QYx!^PY9Ba(0Ml9U~fL(3lHGLP{%q1awyb{pbOA^(&%c{MO z+qP?wtJP)SHW(D5;?~&2u@KTjV1U}r9cH`C%D}+bf63rKD^o|P zL>|{FPM;ulyiuA>MQTm%`&F3&fS9P@V53-aWJ-|df9fNvjy5+L2SLWWV`jBopo22w zTDKjy2ECvvtgIy zKW~1;?PCF;WiU=u2hUirzwp(@C!f4~y7|og(}Rz3x3U1Un(^I(wI^4AY5Q^3o65u?z_<0M5sOr#2$F`iY|=6Z=0G5#LzcaP6IN*P#q z!Rw^(5ljz6)sUklfj5%4EmXllksphAlziA`apxO=M#t9!d`f~`Ts{#1XUv!HJBs^X zJ@LuYdpA$GGw$Ab;`GE*cXj3Wowb;g*-A2>o61SuVJfe!F%rVP-h?I! zuBwud`)`a8TZWtkG;+q-W#ufwXYr5D@>yte;y_T%T9HuJE9cRuqJzwI4z_hK=p<(! zd+)vbr{B|03jW$Zd(C$TaOL;OCw2FTUXIH?wi5wf?B|XE-x;8vi1Ud8%M*9n5&y(% zzmCV@gxAIC<=M$D$He^@lgDm*oLGagkdGU|1$bnkJ~IbrgjIPITeRpHZ_y#pD{}Sw zc!>3?OyLn(4IiO;oG9EF*4rReWx*UazZVzK< z{6;mNoN2U$dwc^9ojs3fFu57iChoQ@+&ix*)PWA~>XtpE0@gjE+?KF>bN1 z?J)*>T!|uE$<-%`GoE(t`Uor7gQvdHwVlWkS#Y}#bBN#)(^%`b9za%>$hNv;mM4*g zQ8~ep5Vt&{+Mfj)^a_5U=B&!WF3v+0e$8+Ec%N$&8(76k!SQl?_70j@cb+uB#w#{h z9SgPudYL10C@h>tugqBT!Tb17A-Fxcu8ngC7Aa+>7H!kp)`(>W5AI$fEsin#=m8dR(!w zIc7j`Oo-htDxL;XoiuGf>(Ehk>{fMxvpf!J4TOGg9qpjUI@zvo+&f^kLDscz$@m!y zY%0fwyN2)b)67rkmyTZ6jmV#P-|_e}zMLi=yiZ&yx_$_wq#Z{~HXud4tlz|-w_siM zhk1lP@v7yN?o7y)eirswbo_qWm7 zCYrM?QAw>Iw-U)Ej>XjI!C|PAM^E4Uy`TR}`U=2(T}*yB&yqXi{2)|5JOQwcf)3zU zdJX`RD-9R}dBuYOUw!q}F7Pd5@h@Fp$S6DKYCm5Qm^xSg`L3{T0Jy&TS3h{;t^f2B zU;NKCU7qs9lx1evhg0$#hY_a?d9jt0CRcz#cgl6tVv z`hY*5VR=_&>8zMl)RINTx&8m7I~epGYfc0NgAV)IQ?Od;d|wD*I-)S=ac?Wfh;RZX z3ZMEwL?mO#;vchq3yAB)m~`O}I#CmOqH`|$Z{GRX>AR)(8H))LQb^ z@UYSrFn%sEo7%d>aKu#n(Vn9(_UMYkFJ8J>nqhV?Ty`EfP6~jbe=;;wGS-%B!yN#e z0K&ds4`9Jf%0fE}Y~SGl4le0aj2+S@VoPK3s$`%Gr?-D_PbUFhKmD^``G$T`;2obG ze_nS6BtGII&hYnZ0Q>};PXuVe=sN;@B4E2a0DMnas0>H_?)~QYZVA$#)@j2y`0rxw zR-b$$F>Y`DIr6B*W?9ljswh~OfrEUNcAg5suGCOB5xO%Bf{Bab zW77r4CGL{5T}qod0m>Zur@!(Wr?33_*X{2NU+(52KlCCf*$T9>34H9B35VTfgl%TP zV;K@O#7svI%+6=QcqXH9jWh z*c|xF_MF9cz{XGgg}ZG$Jf+lesITGV{5N%bnwSf&@NI30?eDv|7 zij_m>a%81Fj@uh%;~8oA>$Aqq$0yh|XR3QtZk~z5fyT=gUi`sF!^{zU8W=oV`=dkm zc3##G_)*&NCK|5FFXKKe)y2pD?ibXRMTCpZDXH<3U6&cq~x z23h!4Z_!5qxce$rxw~ilu5NSODCY$p8TrCi$wv(K7XoT^I7WTvRMm0@oT5TutfYsO>gwa%oSVH{T^=x>^_w z%#v6QWjLn_2QWU!7OsVh#FA^n+k$PUWP3J_LtFrhSxOEsd&-0NVCqB~_revaTs}C} z#%o=b9Ru46;$0Y*ZnSoNm8tqxCGitZ>hV7?SCIP!POs;0-kV;LPhY*&VL}HwbHqH` zA!($$YA?gtw3jP8+8T+w&ZKMzj(;pcp8tg}GOSallvF*nFpOe&;N(@^Wn1=s3AXl= zdye4$(aDhs8kyE@7~kx+3%m;eMk8_@1O47yRSO3d#CsAQGZ`KHutR~=Ohrf z@pH0(lR@@N`}87Sw{s5FU-{K?WH-2E-#ztK4>lXuf zz63u9st1B9j(1M)y#3Be&kJ#mj5=~K@9D*_4Dhl&ZBtu);$ZF+$bL&a85OpkQ_8LL zIM9jiRSHf)w>G0qyB?!IMgl-l0eh@w^56w+5eH+i-F955gK5mwM?STZ4R&FsNpAYW z@KIw`6395a<)ahsjBqN_!E(I9S?1<$wl;A8@gM)ZjzQdBxCm1y*f|@$ZpDOLLjECG zW1-ee17kw#&RV#f9r{H-{tpfW!KH1>82JQly?qYYaR<43&T;BsNL=h6dLLO)ZpM<~ zb^oJ|ziGY6s5eFnyt(8#;*Un#_L41Tw7 zyX^zDgV4tLiq3{$BfjKYaQ8n$WgMG%tr&?PnexR#oHe41f}E_VR4qg5HrPo-?XUW? z-aLdbz^NaxEV}rds$Dwn&8|f_RCYLyb=reiZ5Wu_6Y7o0ua3s-!# zytofi&gqj6)7AqFtR@Ph%Iv%Tm0$Ult5;rmWka~g`uHIa0@Q-xnqLCYBETmBq{Y@R zKHyK8uLAhz0N;9W@2k&TJ@q3XSn%9C>8B#O7mF#z%d2$hm`!H!R6~=4fI|a`Qd`H1 zj*5jwP-ViikD&wI3F;lkDm6o^avI~CVH5~++_;TTrWmhmistMNz^>Q;0LEXo)X)Z@ zT_(aaahvR5fY>X2oK{v|5rXgVkqB>r=#f6;oKxt%r6M!=LG$;f%mz+E#GegcVF{OH{m$Ht2;ty*R^b+;seq{707je zm;L+n7&pSGj^xenzH|D@_ukbn34HVP>Ce63pA-CH{jA{APwROB+K1gw=FojJit}10 z_3rR9f%0|d-d*SZSwa1>Kz~M%UlYhr337+f{Ca@%e3#Ably9aq@g(Oxq`lPKA!|dV z$eL41nfM@}Mk>t0_a1VXakv&{I>Vk zm_)O-gIx8?g7tMwuH@UoDDF+RX4^;?@7vhY$gv}y%z|SsVBLtTPu!7*ea9c#)n+jy z$}JWZEgRp2J;gI@nbRzIiju*MZ#}|JIq??R4hfT#c4UkPcy9*`w^R5UUt>rdrt_FS z%I;i-MXk{5eJ-swfajv436 z_ilGyhG}4K6Lrsd5h6F&mb+0Bu46&{5Q`Yxmb|IUc$g>7vvzt6_82>t;lc0p$+Um< zh3wkD19XGjehX%^1>PbJJi`&YQ++31OI?&#Ds6|2Ycr;MwdFdTJglj>S5>@q>>Ii@ z2*w~3>F$@$c<8K3FU7RZ(W#GI9sL;4N~hIs)zFb4n=*}#)T*_ytct_knclv~dL66r z%YTBB8<8w~2&se^`=sQpJE!eN7Xxz2P^xH_X`ivQ1%IxLC&_k(_^WO)raJ@#jc0cc zhT^KPp*4lu8>DTP7vh>WgSWA83oo7LgE4Us-ozf9T{v#*_j975LQ}Ub8~TboCjfjRKzAi`Kd^3<7Nc@~?o;&g zC%JX`T<1OzlH`3{4x76Vrk^ScGTTSVs?T2F02g0%&DU5-K>6-VpZO^j|IydJ_O+Y8 z@>l*!VIQdc!xI31@Zs?2>zM#2Js8j*{D1I+AJ|&Y1i13mJzWVT>FOQ}eqZ5J)pnYE zp7y`@;NGhrzx&jG>^((`eOwr_X;gobNO9cj;Y?GM=z?2S!^?V)g~m~w+gFX zMA;LJm9Op?V>Wg+B7w7ZWS!YYCR#@Xm{$IjB1X;<9fYl;rgI zNkHUDEQ8EeYS$%mkT<92@AC7C@-bIbIm>x{tpyi+LxK!HiD`Tim;NGuR385sN{~t5 zNwK8_?{Ktdw-?fSV=+1_D(9IfW>*O7`BVLt6ykpa6dqiQV z|J07yQa_}PkMJ|yf}P>Y+_DZEp_vZ`rysa0fCtvV!|nEPJk&v-oJID1^_CahcUaVG z0nTDvi|IQ$v(4h#Fa0P7-+AL%0_42-dJc>H>uc=AukW8Acl#9sb^pl^&lo`WJ753q z>9ucs_w>}?{#U10zW75r8SwJy)1QCQ^Yo$Kl(4xYUk|SIbAk`}NkE+pxTBK*@xRhI}>XI5|LF4-e5C&4~+c1tf0TNLSFN>@ReYdfxrDj{x(HB*ko(Rs={_9XiF*nQ0CekQvivyTnP z_&K>B)khdBtrL*0$Xc*vi%bIg{zr8O06N`>qBOQXl&8gJ2e8z_jDAR?8{4*TgnzIM ze)nViJC3b*&WS>JLK;l_pt+q6%=`aDL3{CoX$Yc7T?W#-+an&_RO)Qyac|qLIpj0z1kWI^H^n-+XKlH?}lJseaPd$dJ38(Z;vRhwO;Y;V=O)Rc_31)6OwY zuAu0<%I#BF_oqW*L4kJSP@FziNphs>&vj-UzhH@j6w%SI=fvMC`t_QxcC`D&ri(+BW!9UOuu9tolZR`?Dk)Wbigow`_E_fggE&sO(rQ z?WX+&XYkexdFNW~iivvKCcBgp!)o*9&vpqgUM8lD>*L#wfBRDI&%)dR@ScdCl9d03 zY;HMhy=_jQZEU*t7Iyk_@UGy1D1KJs~S z-TB`4zQ>Y<-!S~Zr4LU4TntGEa}(d_CjoCh``OQ4ed8P7@C?&{-sqPATo&#|i+{@8 z0pL3U_zD2G`1YzlT>T2b8xP)p?es(rTADDLL3*M%R}3|A@a<)dCmzQa(Mr~X13Wpb zkfS*g*v8HTq}&N`QaM3pH_m1Tz>2`FQ1qE-pexMFwkj&NkwV1TMP3tbm$ zD_f2Xjde02hXa1fEcaO0S#F(5jxc&0aV%la;;lT6gMZ<@w@+6ep)WbR$t_M=;IWuu z!DA=*fjL~n>^_q>{!&JZW>45$%FrVV-(r+#|L|6=4-S|prS*|izvpFbJeQt3<}3{N z@ecbD6)nPBc;ca)guVPs|5i{;{ld`rJa;-v#$k0-TgDb1%j|2|l-V3v$bwQ^qL5r? zrj3C^i+L8{T$CoUU^laERZ^AP=)w2|fbuNxgXPLUI{iqe=K?1Pu7{Jk!Ce5%5A(_? zSla8HAoTLBa@s>~G@stl*ADoKz?c8U@0>pRv1d+y`rrHE(`P^b(&@R6J?#@u;PoU> zacUudeLp!T0eI=oAm_RZ;0e82=I#LQ3b@OO1L62(QR1P@+=r8K?mkFY?EQQ`pEBO` zRa5cUF#X-{D!ZlAj~;}QHZQ^C#tY~_jli8)a*AB$(V*|NVpZ@H}qa#M*p`R|(jE!9n#;6So7s>l9xn5iI zP(40vJO)h&-Jg%+KokeBy~yM;hea~|H!e%$hkDT|ZS^gVUwv7q<7~VQM$e(TP7nG99 zQ(AQ}v89w+=Wn=WBe7-L$sIeeN#;ANrym?y2#j>m{%sL!+0h;O7Qd3RjF zvUM_NoejY*Ga*PvzrsI`ckv!F{3lk|Cm6sj^(`)Q6a$G8ac8E(GG7RJzdjWv96>i3rF;M>wz%g#OPXeu+Tb`pkjq6ai>vSiBG zw0-Se>K(WAN#>B>+l>cFzx;k_94Mnytjp@3_8$xljeOzM*DU_|oW--1?!0~X^x&!Y zGgUAe|MudIMQ2>`CFJhFw(=uc+E$O)+akHd?gz`HGYq|2?$3dm3(h$K;7{|(k?BIv z4HsON52+?CZ=#|PADI>?TK5%XqzRGyIEgs1c7Tj?tJBY8+xD1Ful?Guaq9*T0=(It;`mU5daYjtIO#b6y2$*H z@B4OOoon%bGbaIV=1u_1`GEgV-hA!VpLynoSobrz{qVo{@4lxK08h_Ru)BQ@2*guz zLiK@b%h6Ycp4q6m$j1loP%h+X$Nsh8DIh@XiJyH*SZZR?mg%grUfx7R&1sJdpgC1& z3jkq~l;%YjDO(@>*{L`P=)ZVyx-jdu!8n0t@gqA&+123K`DB0yp1irQUkkmjFIVX2 zP3S)zFs`2B>Z;nqOZGB3OOYkUBZkIPG*KaIUW$XU{fd+F6h(e6D{ta4%Zz9IZ1OE) zy2|bMNTp0fRIzgzXC|pf4>VHu$&B*EGh;STbgLc0x5wf)v@yiNIiDrkI2H_?==YWm zJU*HlB|xOq$j2>+1o(_&2^RtJCQ-pL_B2 zCv;Z;FYkz)fa2tWa5+Jt@|*zRcOp9dfLp}cWcj)n|Wc|5^C=wHWJTPS`M~}@OSER&sq`izZQ~A>4g#t!+DIuDUOf(K)snyHZna*@(nxtn4yZ$5xrAV|}l>(dt5Z z6PH7PvxPHZ9`mp*h+g@!s6T%$2$BfPjxWF zU<0*{JEbzVm9@d1*LHRu7&uGZ00Y)$$t79w?&d15@dJZzWF>9B7`K80oceU0?fuzH za{P>(yi^h4RR9a=`_AXF8QOFVl{!;CHs(e(V~;!1t*i71Yc@2-IuNPwEsjJ8IH`5V zDUq9Fl>;!oK2b)mExf8N9X0qZH^E@6aBL%W79JHZ@aC&>bmd*XrY|6B1c}Df6LU0e zH+|#Od{vJzp)cyX0ppt(VRK)pyi*+bAyn2lZL9hbLoC_aZrT^WwK{4GH;aERu-w(x z03N(}Pj@j+gfcVDfX$1{1#v0A*)uor;JBuJ4fxy4hCBvMr2G=^NOJjXMFnkO~j9`!SUW2*NQaBQ_=bbSWG6isM$jv0z8_7(&{OyH1M$ zz{s|qh)NXPkZ^VN#FIa%bs}p;J<`m#F-#=O^bfu8;R%3?A(%ZZ_d1N zoBI7LetzR=%`HJSnKB3CPTSa9oC8GzDKZBEyxHF7zTEG+zSpljLS-u&6{j4&+yUTb z>Yd$-X;pw&?+yHT$w3Q`2~UxfS2{0DqFh^it+QzYtJw)fd{EPt1Q#Fr=$-y(kT9VF zPcAuS@Bg+>5s^$!&)w0(*B(5t3chr9^TAVEBscZ>MH@a&RY1Gvpwu7 zBe5<3Tkn_=3w54gL5E*Tb1*q%78486OuwIz)iU0|k^E-qV&X(*?&-H!?Y@n`(zfnf zL{8zTEb)#eVXIQc`q2Q(z*zY-gEq5&rJhjTHrVzzGt=7PVe2*thZ%=`a$f}iCxc$C zXS`ARwtg1Px-H))0EFWXfb09cvaY*K^qqZQW!D?c9sMNE9iBCyHxXnHxl2H07Ti3C zz$cJItg232zF-rBBSQy94g) zp@jZ=g1#ca+`Om7KMVi9F26e9uLw96PFCoHE`iX;d{trkfVvw$`%T{viO(IT%wu7} z#RgMS0d%X%88d`c00Ml-?5_5xR|>9{h3q*x>Osa|#~NYhEtKVPsfLvc>p3JN&l(7u zC|h5_mKR5E&h)3pTMLRG{jtxTzVTb%hTJi_kEeefPvvnDVvolW?ebP1BOp$B+tf#y zVA4cnHQdl~o-q=l*tnipEe(D9(H<0Y@HERr%SZY!HrYns$c{+rQ>d*!=(m2w3VS@6 zL7OA`#@F#p9O&ci&^rbRkvE2vkJ_P=Y-^isAG5&**0#qrx1)Viegn@o=l-K|KdSAq zf_LWOZYjg;PiZfz>78_;j1LBZ<7j8FC~?=*(FVreX~x52KBA7l(clKN@b--ur%Hoa zb|WX=@KPFVEK+X_rcfW0ubi7cKE~Mo(m%^avel0&mnvShZG%y$?34ZE_O&@G&aR|2 zAbx3!iGd@x*~oxYPg!Y?2fX`WY;7vpG8uU+ZG8B)ZaFk$#X=Bj)1i&mco%djRG{1> z$I#}gI>JNQaWu3YX~tx5&yg)FPoD>ro<#WQWPKee$7_7CO}{v>R2>sc z9%Bk?4C1d;Zl!IIL>k`K#+LTGSigJ!gfnAq*fvgwo%?D|0^IqImVSZeJD<}<;yc_0 z@H0R2Gbde4-kdjxKivGo6953UGbz;ltPT!(uOY=ezf$zO#P)QO&E&DCA7W%sXz?&%q?IL7OR9 z`hLh~ifSjw>=$ILFj#>=>V_e-KP@D*bLnhezD9#kMXr3(4TJ)Z8{(M48YvORo%L`k zu}hL1e~PZOuE289(%fZ=6>Z^r|47;0d>4SZSb)VKUPG+U=chXY`s9h#!MynJ?bGWg zExgo#yjT#V|(xgd(?v|gIgv)BPG7!0+BI3 zSQ!pv3%=rl2Qk?AI{YYhRWNfw85q|o1-_}kXB-VR(ZOrkY~nNFl-~U-`*Z(^n=y<+ z1;%eB`gi8ew6A>%g!oCd*!v}A>GFwUHRwjCtyuhH>nlN&wdiKC%-aQvY%lngbCn&O z7yT-0YRs+oTI_35vEb*5d`>FlYXd$JAfucN;Htj-cnz+$bbs;OJ)OS)-FNliz}HS+ z`RA{le&|!ro&MCn^Ld>Rc;WQCzAnH?KiZ0)2YT4xwZ0i^xlPo&JV z1BeBkUfeD4fD-}wx&UpWeFWnLtIF*k36BnRZ$5g%{69-FYod*hCaDbo%B_P}ZK|>F zNJmFp#7LqawwdR;jZv4{$XnG2&a`U{Wytf8?_- zC6tNBiwsNTw{|<1%jYrJhc=aA3*%`U^j z(=THY8_1-sK?u&awT++JCkD?y@$K_!Z^uCt>n=FTi9Y4%si$9}Y5B;JlMXz!)t0Rs zn|eCp2Aw`g$<~VwE7)t-`0%nNt9NXA`tYf`FhLx4cH>QC)te4HW*QIgGpbuIsBzS* z3(z>r>Y{R5;R#DzYK_bACoa@EUXN2e>6pFi>%6j#>xzZApl_0WVu8Fuu%G`1c8 zer+mz@GtWCvgE@5V9xgcF^jLQ(mpsFrwhJacNT1#5VqORU0FRLw92+m-lDXD~I+f&!kJvad zqq`LKx#fwsa>s1@!F?hNQ{c1(1#!9mTPb^NygAG^Z&>z0p zoqRx2?!~*|k|@4Jq+IZcz}Shz)F*Sqv2E?6Bas`wl`YU_`J%(AgB^QIkR#%6cw7dI%6KYDuBT{X72|ni z)WMthP+By$R-mL(a*ByqJrcGfX=N-u=P*r+@v`*H8cKAN`iUEC>h*5A(WZ;MI;T=9z=PrTyDa8G! z0*k{w{xhGc$0w}mNn|e3X^%-AC)8Lvsj$l{Ze9<~mp=hA_AX2mnP-WB?Rc4xoE=1Q zA))09GjsJ42O5mzoCH|u3@7>H+K%`IkvW!y2^K+awjh%xnAruljx6Sufh?j0My;5wU2ByU<|{W z{hxB|D7d!Tg5+@KS|N+lo*EEwdOi%6{rYl@H+^+J!iZ?KW$}f_xZ2s_@GC=ima4CK ztKZ_^FfG!sRc_-e^EjYwfK?>7Mi^^}%dt^A(pg&&+bHdDTd0%BN4EuJRX02RWk0O8 z?i>z9o4wEK&rv51H`7j{EX3`auvXjPVw@Y)mS4uSsa!nML(r~LxqQW}_89hW*#B*u zaljF_wzrQN9~Aa7p3Xbd8bh{CW2(q>!-A~+Q~h4Qv;|Z9mSJeDM7fvC>2_?MQs4S( ztlF9F(!+jQy|wp`>mwsklGW4uC`~)-QZF6H~o_DTWhClmMW}mA6KIsC31=cG)s&7%^_4@9e zfAG|=|IIJ!E`a-g{?GsUn_v2+U!wOuFzLfP03JUS9^@~5=}RXD?TcUhB2W6i>4N}k zrk?`TXY6%Yf2f}WWbw}+^ZkDh_WT^6uj27Az?IwSOWR2i7GrdzT!(a45snDSlFi z+YKM3%Y$P_Pdy*DsPxnraANOmSw3qbz5UzM#w75y<L{%?=w*E z{BjkQUOV^*s_{@x{3&HiOpTc`5m+{rRj*w6Wvbn!oO)s*W)A3)I3^K$geOl+i!pHe zaf^9^@i0G@FNEQq6|E|m(oUQXjf#|28$n~RcLm$n(>`LeQ0hvI6z$9=iOaXR0~re{ zu^n;nN5$$1(_vM$=PZi3a*JR4Q=P;e0<=42$yE0D>LtX6#lOCdb9$gRLvGD~AP#b4 zeAhtkCg7_3UAltgesdh)~NF2XxjoAWAQQQ0< z#voD3rY^%jJz+y_I>+ok=HSQl@W;4La{o@=DopRq4aK%>OTXM?lkV1qwvi|J*jcAv>NbMMa+ zcR5Rk*kvhf48>tV002M$NkljFNP@&EJ7V zxOGhZTVcQP8Q{Q`tvFQ1+=2`F>NLp#5D}^Q&P=&9jUhg2M{T)rDU$FdhJ$hG)ZUhl zs3WVN_)P>Y+nFM&^xzncfSHR&d(ae5W6-y)=rST8F4DO_-%H!pKjFTOg@#TVy%wo%;|Eidi{z}mKlgVpxN zdKRx}6m0ub=1#k;K?lR=oJoEhLzy0lRUw`tGpL7c&|KMzo5&z)C^g)PZ z4VHcZfOxK7dg&!!<<}MdYuyEa%vb-lxWDEFrY~K&yZZmxd$V8bvg^9<+&NMN}M z;wFkkH?m|kq$G`L`8ZZ51GEq1K;yyHpMUNLUU=!&d;f|i%+(bK61Q(o@4Nqjb>SUyih|(t z^NNLyirJAhE%^`yFB|n8kru@NYqvja z9Jfm6;OY9r&o%byu6LGeKnX@(bz63`3LB)z$C=tBkTFdzi8lI!Q&OOqPtL8?wT>Fz z*wYJ^x_0rk$x%{vvPf)0bA>wcR+eiqnHcE2CeX7Sml1^gC(epHNR8j}iK+aXr)9P` z8s`yE{4Dtnp7zq=WW~L;)dZ8Bb|L`Ai$QD6m3HSKfv>t#>#9F6uKaTK-6sXO6QDZP z=)rLnUR`6TQP}6y8CS_s3E&e2-kvf#Z@qc%^!2a4cKW5y{od)zzxyruc;J%)H@Ynd zf4wWfvH5NUoy1a1`|E*YoVy0BBPRN6AG8T(;z}sqMyBa1>%40$V^=-q8B0k70VR=S z-4g_9xv`QP5Nr+15$L|EN1|$MEU+IfE@ak?j~XWS_Red3ey`#<1=#Zg@7zY|an#8} zonJZq_kZjE@OU2EsskMtN3hZ3Jagsk!oY%(9NIh5u3hUQ-mZ_ly4H4}#kuXiRniVR zt@dgW&LUvC;!eawPo|qipW)xFKK%B(PYv$nchj{*qYm8v_e43|m zPBI?cWPvM072~f(&DAT;u^fs8uO3@rjyTpRpb+6Odd%UOSNqr_vmcsA8OI04$zN5>t#QJ z#I&Sopj*USTg~z~>giD7KU~syEJ9H#V}v8$t{=L~zisLi%~po5Txc%a8#>K#NJR-g z+izvj5W^vF+Xe!z^(4X4sTI!3(kmbQ_0cg|d7@K3ypQjtnOC~TQ@F@xX}hwPVK6nu z$BH1By-&M+>gLrp7V)2`>c2MD4}V=cCmn;_)VX%HF#t03JWuS3mo+KYPX1{}*3;@rqmgb!GobCj+jy?Vqm#$n1K) z0^qj#XEi4Qb{Pl$ngqI_bba;G6Hi}#`n~V}NwyY$-&iLAo_YBE)ivi4^b=z~F4yeT zOwk;hX(l!ZDY?Oa>uXMRGP=%IsQ0q5@J#p2vtaS~p%!>yPP&#VXV$pwU)Mk-0ogT|_Qn!6*)540KmJtJF%i>@jDF^q#sFpt;(4!Z?IB9bNfT%dg(a$UD#r}dr zH$sFTEWZTst2zO2UzcBbQ|D?aS99NbixU7jxLX^0#>*Q&_Kcw@W_j!+tnTl)r$lq1 zc2I$>C8S#{$bou%(2YKR&>>KnxHFdO7dy3KwoOv`&=tFt2s}HUzKG+ab{TnZDZoXX zG#r3qtuEFqlWJqFo;haS+=fq&I|BF#NzXqKgIy<&G!ZQaFF6P5`1Vy5YHSfGhxoug zF~*UXj`=&^dgJulpa1&lU;n}v^%a3P^s_OyPR~5Y?QZeugL<_&@qi!C-#Os-2?5

    d=XnYrZNi-N& zm%8C4HpeyC%RbTVvLozs!p?!^a`-ck5+LJwTl?pq`(OY0>D6!R=S35}OaNy*E29^R zAp$i6c*JlvjEk)?gtfieZ+)5qfvcCtaVM61NaQ_+QrTsj_>+lYYtdL*qlnLBTzT^k zPs}}rGalgjDu-=nlCgg}xVCw8VTZ=PYB!U>v5VmFpZ!GCS&xZomJ;#aXfAQuxqUGX zDdrkK)-V1dmf6-A3m~k+Sh-_V!*S3qbw&0C%SC}~FiT?@LKQg9`rt=rz_!?N6+f09(kV3SUu`H- za#9vuy=8pWGw1+YZl0Nc5bUwIjc~UA!--(wX$V2doW|RfZl|^xu56!)5aY+%TNqCV zM?Pc5)kIO;#NBzabJE`XSW+UJI3kj8kSkVwI5u~!Vpl#?w38F&^ZBHFQ!l*G2ll)T zbm>;av!3KAa_a{rBlM$gP~`d#qCjQ6AOSbO0<@ z2M4Rf){^4XF(fLt{dvhkl$sk?9Q^Ab|2kg-;Nbss(o47h>-*F4%U1+A0l?v`-b>DW zF6SPvUDx+Te=gG1P`n*zI_WNXV-{$Qy=03sdU>y%>#H~a(SP%IbPRd-Cw}559&EoR zx4U}B+V7qKc>K^`>9&7fr%!+S(^o(L^FM#}jcJy*%#OX_4`VxDqtLLA8UdQPV zIWgeAWYp`WuL0<;UEPqI69Lz{13m3lrU zArpV+UuX{Yb0Pp%+EQBHQAzzfw_ZHGuI~vk7ThAuPcpvw=6ChIYFW$ypA8ji$7>%; zxJ^weabX;7QCjADNY?nf9}GEx366E5wm*E*@PAf=x?nAXo2F_+^=A%)ER}wMV8K!B zP_>Ock1U47IgWm{4OQgjDpBjvn`D>aF=0eid&zcgE5~=*T4HA|7DK8EiY1{@Tn7ep z{itp9GN_IKtUTQ?Fz~Pd*M0I52{z-r4~+eO!FlN|Fm-lKn}<`*yrFsm|lVR z%#;msJCc_*pX35L>7l0ZCd|VDxhsIL2>kl5d_~IB>Ag?gKHb(&SejqKfWe<%J_(?M z{dF=RCkK2oKv>tDG#I%Q52^}x+5SVnp<}O z5(T^T!{Zogx7V~U%8Fs+jWgR{#<{X4P#ea;VNGnSO+&HRj+(B5%H1CKPrvxjfA#d+ zzom5&SoCTSjScI=pwUfw<1^^umhBjTrBqHGS=LMXMS%;lcpHyJ#yNJtoVSvrrc~ed z zz-@KRI|!0bY}+oXX~0llW-Ez1=L_RJsbkS~4(g0!I*#4JgvaVWT5P zULMBcGYUsME6xS5o38UCz7S2=4##adsH}Bj5FY35OcjdZmu&RCiah86r()^3;5xEy zyWrh+4V@%sB*C)`Hkd#Ztz)0Z2p?h+fbgnnq07<5X<3{bx=06+5Tx!k^|_& z(`v28fh#_$eQCPILJS?B_}M+A-KZ|>BYMJ;562%A9*d9n_-$O(A>FZ9g%?FES?(Oz zP#SxBV3y?>{;{?)YNXXuBctrHNcLqObj!nqZ{5~`^q;tQy7%H81NNEzc#e8Ke8q70 z+;)6Au9(G$_BliWOW?zC4yQOov`yKX(H7t^jmg=*z{vnbwl2jIXZW z=|gURz^;sys-+TMLr}w_~lpZmugYO*C=0t!do3;hVrKFfZBVG$pKh*fNR>W#*yd{&n^iIv0$n1)^OOZ@7;*1Uj;bs0w_03X*(x`3`@#9yGLDGhEeyrjPB{Z=O5-!PV1}@Su}h zy0ZGj>8(3&_`rx;xB-Dg9}AN*7^|#yWyDjVV-p9?Mqk(x!1Ng0h^b;12?TQr$(kte@ne8AfG#7vBL^c8_G{`MdE!GW)Q@tf9v@WrRY39nx9#mNXx zPTccJ0S@~8(p>>QG2puah>H^iIT=7K@kuQ%24RY0)6jYJyke?Qy$`7|5uA-Rq7Aon zmEo*ysHbgLyId+_>?%G&$+ijqj0DWHxH*-zC)_2kqxy81h6weqj}K%y_^ z;GDQNT``B{qjuOIxUeyYmyc~M7*lkabwRM)^N0@4u(pmLdXJNLdGq&Nf zfM!aEx_xpG-17|Cn7Tq(AH}zx9IFSPbzBG7Vva_yiffOU5+g$vW@NU7h8TwAUG~Hu#``p;vkCR8d#}(qG zQiJv$w{;0Jd9WQNY^%(&QEdIoyeHK`q`JhMDcc!G*w^Rf+;8r!57WcK)^soUideDC z`Z_q$0@oN?7t^{N?NjeDEnfqeS?Q2y7rWPidZsP?!Am+}jqi?fnT1q7hjbhxrYT+X zs)l~^2y---IHbmE8Qn1|wQC+>7@z7Sp6ufqe=%s0#TJ|V9s0BmALp9HBAJ}5JXoi* zUc;SOIxgo7?IoZ3;o`#$UjfjaZnyMfWOqO6uQ-=>jAY}3^7u#C^9SL+$?<@SA0Pq!m{eIe&o|)v60NfEUUjy*h1UQ_91 z^zr4me9(dMQO<&jMxyhHXX3+z7Gq-~eP`jV*T44PUVr)5U;pcW{jcBCMP)u!{;?^1 zdE(u2F#`RNBJsn|e)h9h`u)ZWMCMY3dM3a_-QscL=Kys_fW`AufDd(Ipwq+CN)G|F z{=4_?eEx~6+xjU$4!U^|;2kE7usjOv0j;^yUm_T0QZlhnA=JVXu{#vWjAYTm{N2oj z2r+`ZNs%=SrYriK;?)n{m3S8b$s`i4q%XQ#HD3k z_*VN`LGYUd`c$ba-VfCkn#1g0)lk z@E;}SB;r0}LQWLtIdugb{KYO99F%6~8?Dy|xs{wdANoPXobc-fo^{tw#+AH19|FJt z@EE{b8{@{lF1$Yn1A7C4qXn_JOo#1O+(SVDmsYxibuMV^u$USN8sf8byX`q{0OC61 z9%n1J&99rLm(6apVZxtS4vg@Q1t4RleY79ShkM;prW4Uz{paWQIH>0e4*u`o=w#hJ z9ummI0?!{9cqZY6)JZXN+J8>aw`1$v9~_K>uT~M{V@lUd>jSa|Q+YWvsb+;do@${E4z+}3 z9o4bNhDYqHd7Vh8}k z%-JK%*lu)y&hr>>8LifWA!yju+1ubzQ&uel-XCHnq`|?gWx?n|CO>3&Y@f#NxG`qD zE4DEK4hJ<&^t{}b-t&Zb+a9h~-oBkrt*e0pfAN_435F7Bb%$rG;&V{tII!5KAVXi) z@Ps{fqdNe$sCBoQM0gg(iUDlLgElrtKRNFaB&J5MPX+xFz{4+m;S09VLjfP^YXJ}S8~`0#>Lyz* z$7Sj~)Lj6a2zbb^0dOKfcLA&u0ctnjG_iZiAEtgC z3{2hT*aB!H<3c>lc(I($*+KMxB&H-H)tl>XQ8AUmPfefYr|Z3rVN#$(HgelpJ_^ahl^PXbWE4|7F9}wjRZf1Bch(!Z%L+*G zW`bY3M`ZOeARJ0{FVQx$9f}d_v$Z zzaGFdF|tt5J~0$++SG_xs0|A* z79$c*+U_rT)@SyNH8NB9;80;sdEJk6wM!1j4r!?1Y+kJ6kLUzI=S5vG;@*xWhGU2X6~q2IXOCth;1TuUYi-H6Vx;3~SK zh1%LL)JKGwIq2rkF`QW) zwug@BD9wj@2rUg?^+nr6i(-+Ny)~FJQKub-!(02|ihTDna}=^E4AJ9qZ2rYv)@7|n z=2K-y%#EP+IScsa@?L-VrR6b<8+uVv!SQxQdbsqdU5M2BR3k2(0MLtH13>3F?>J?^g`2j^Yo6Ig z&+%-z6R$rm z<=qniZ@(s3$Furf?`>PX?|tv{2W34JkbY;veiwibIQj1X==rJu?bCN2y!Fb%nUb#x^kfc5mO&#+BQCSMt1F!FuL}1?tsx0urcZJ_{i`wtT<4 zxsS{*T}8)jJ|qp-Ua?u){|L>kc5B4ZBavLm&}RdTWI~u8mG?!e@eGom`D3GINZ78C zu3GII;rMC*d?ZD^mk->$W?N1&fy82CvwWQOJe1*R=)P`dvW+ zrjvDnLHtF2pNDfoqFd>8qAvb~W{ygv1LqvfbFzT11Kd-;KNZN;c;6+UEAXy$vS6JY z;9y^ToIvnT2&&JUoO6~xYV<_GHYc>Bd{qw){73)$uW+vH^dmp^q0^84>6cDF{K*dq z#6CnP9#r4w1clC)`=I~&-s$c={Bt*e4)}Efzz@dc)<4}Hz%79M)F85J?hfDt0z5i# z;kyEK6`b@rLEr!wDFiAV-?WeQVznUAXP`5}Ss%zP6(&sT(?CA;Qbg>o?Ur8PF;2z! zm^I`QPH)MruaF=eAkiPCbB&Sb??*rNG3RfrV3_+BDeA-Q@ht#0z?B;MhjaN*3~o;> zOTMwie279}zugXidd`S{`Pc$mW8y$S!??m){^O@wL*6F8CMArTePVQI%MyE*#N_x4 zPh7saIW03K)ye7mMrN9{z$G*uXz@-m< zmMa(x7L&1uom3N2X^q}(6Ta1F>rRwi|7Rq|AM1wLSMgY=mlds8He5lC2RpB;Vc&VM zS56g`j#cPfhl6fp$hBML#PCJJD<^}4+lR|-@!4ZBa%@*}+`9!j-=T-a<8F?Fvs1agsFT?qMY33N;(SW6?rL1f%kdUK&{JyfSSnoJ#BQF$4?7*AoTuO6I_x1Ad+c z#tDFX($ObIWd4Bf)rBYMz0N!Q|c&Brrxjl7n~2RzD!gM56D7PXQzg_k2^W$+CkRB%w9e(4+CsFv3WfX8jga)*Y#uoKFp!s zkg}>0SM1s*me`unIon7a$akK^o*eL#Fj<4Lb+D}npng(^xO@XPMv)C1jH5u%Qk^u8 z2L%5(r=V|J-C;On1DooQ+n8Ju6MDy?M(K#6cEFJrgJ#8J<-v7kHMt}sMK_N6^$t!3 za3Ig!0n{86^A!PZ$>*T?folA4%fJ3l_il2F{@K?8q~NOoT=~xx`WxYMHvtFiga9x6 zYzSZ&H?|1^A~v5HRO2^)<7=ni`ux{U&p!90z9R7a>Bs-d59=od^*uSgS#luH_y39I zYEC@dyUPiHo&>l#-MPM_y94wU0ev-q+uf;s(m-)g_bUQCt@&CTreo61fsiQV+JSb{ zGOHXX$*_)znODnZ28k$U&F!GBzcDhRdevj$M%t|7go870LkH^Umt%CEC-MOY_O&yo z*1?B$2f#DWKBZp*cwLy~HF(>RUr4K`XJp~67hVl)BsaF}HBv9nxk^Be*ro4^4=(1J zu@3D-6n?y6QCs^&NP&+^udJ)^AhXTVfN7@3I<>z_E@5XVr%Q6#(#Lm+8+*o$w*JF-m_Hok3 ziQUXYBhvP`Uz*#GxV7?p^^)`x?L%x8MHb zZ+__u|H*S7)r{g_o1xCW-MxP6;jOEuG{=sK=ABb#^wa<}t+3QVhv6%WHF=qND%rU) zZ_TMiX1U~<<^TW+;(4p4KI6yO)4kD%Lgjoz820f#_A(Yuo_U2qs4P#=Rwn%7| zZq)(VMdt;z15r&5j9|;&ZhkR_A8_((j#%1S9G1}$ecSFfnCkG4oehO09Ly@G4M3&# z3oFfzwTYCwY#AR7=h$%!bII#tJl3JqXZep&=Gu;3Y)8W!%U~tL*fvLm$pjn&fYFrI z6vis-gzESV&t?B|u!z!BV^=N?_)|33^v0DF0`fI&;^a0p4ydn%^+^H_@HyyLox1~a z5`dFZ*I;!-oo5E*L;@!i;6cV+1)MA(MdI;Q{)qqq?|rZ8Cj`Iq>YJxu*H;8y`uO`# zfAY_KIA0NX-&2YaE>2FsAzwVZKqnm69Rb=$ISvl`@9>KmItiftRPG+oodN3m1b|}k zNda+rCnV?Io(Sx06%Zw($8zSIdx_tgsEy)7Vv87U<3zEq3Q869VRbi)x>F6Dm{>2_ zIaIk>8Dtt^;t?VvF&h(Zj`E-Cmp=M|)3?9%8ZecEAT1115?_00hu3v+k%z~SmDjkI zaGTxZt~$?K4UG3S5*}=Ag|o{scNg361e;}|W?lKeJJl$&kCPR8V}_V<8pztV>JtU} z_!=o-gkxoU%a)ZJ3o#r(D3Q0f8_rk+b}W^v_s_&GvL0o7h}xF~A-NFKR#u!#&k6G+)v;J< zV7JFqp1^T0Hz7J(j}kQ{)F2*LJl-h43@4oxV~ykp4&=@`Ce^Om6wW0aKC$6sVh8YY zJRsJt0v2CJ*p#({=k`D3$@}Nr5F3_U%gfT-%_L z*IWG-IZSpfo$ADX+f<{n7o=d`Z#8+z~*JC+La|=*)pCn zn%F?5oO6y0?8F%k$=%>{mR>xdTrZujlsI<+VK?0W6iB6KdlSJ*Sdi0Ll&t}n?dzETHZYY z@HWHW3Eau?na_O22lqViPrnH8@P!v%xc>Urzm7Er|E$ahdI%sZ*v|m4LX&!)0dVR` z0Q8h!fBhTZ(M>F`YXv;RgyT5?cW>@-`0t6K1>2O$2-2xkz1cuz>xl=c8r}h9V;Xxr z%1k>7BaCOdS`44sY*>_t*?eg;kNsQ%5u=Bj%@Nd@h5FG;7k(K^cv&!%+?&TlSD0n$ zFo3*qb70Tr#Vyu&=Y5856Klu$y@P!D~7JpeKh)*Y9`pfro=I4x%{m zV&6k#4(V4tF-xH2=%jRBv=5#VNR5cSTqq~zgJ$VtEDmU-hsTVFHhhG^I3~ap@MGIX zIY78wZuO6N6CXDA2Ny*K9)t8uZoSCJiDHg1I`}4z&2EJ_F&Ya6w!72Huw8N*@n`Xj zGwoxL0@r+%*%;C$X>9dxX$N6)J2;pdwL7nuXBtbT#`HPJgqEL{^x9U3<4zwq>gxda z6%=#rnl~`&dpV%Lr#2@69_ZlzJ`e9xp95f|u#;485|mrnaIDX4qX2pBg}{cu^~59y)4=h&R>WE#8T0GYkN(Mzoqp|Cen%iO zIh@gI%#lVy;QZ}6+J_}Ejo$u_IEtAlfw|D9*h4|>Tf-t&n>zTx1ra94=cF5DKuZqT z<%n&(+e_oAwd1OZI>;M`b(;)ZZ*~J%^F~7RB5-Q}XKaeXb7-8&!23z(QZw24KlW=~ z*bW2XP`OD*O$P*5`qewO5g8cD#ZkL(5nEJXR~!2#>^O;t^-s|<|1&iwW@4R~3}Z1d zLu}pD7FTE3%q`l330{JU#c;=RV36ShthRDN6PPG+w}1vZ>y_xkl{Mzx*rHHDgfG=@ z;!FSDHod}%0hH2wE5VLe3wm_K<3<(K@Kfn;=|^S-i?KV#1fdyYCqV3#UnW)b&O7GL zTs%;RPX6NhaDZmU9Sp_13nu|VHlNl;hIg8-$^pwUZw>_G61g07Y(V~b^9W)Q8GP-hee`H8-mSgkm^ZBZ#1ak5lFsG1vskTXk))#QI;S4FacZCEnK|7& z!Fa5M<8$#tJv+!>0pJ9{cl0^LdWXpLbn#TxhZ{!FLO@eE*0$J|sAIHvildfF*AJR% zeAP+RM*CnNAV(cI@SOm<{hwR^^)&#W5b(kO1SpMjVkr?9Ux;I)Hg6Zl_FsF)#FoQg zWz#Geh?6nanR|R8pCs*DSN&ycJ#603-Q0ZS>N7v}{OOxozl~XY65XzJ7EaJSL z>;>aM#)su#B!hsBjW)Gg+7V$(J1-8hwitZSq^|)yd@}&q`W7eAaRvj(OjB?0IauetOTX)3 z9uAy+(m<2-{yn|f-qpcBSJl`ovzPP~q`}qpT z4-g~)$$ZvZZNF_QPfkSe(7@mL6+Jlcx%ZwvrDp|vN_PhE6#?Gx&B0e0^tvY>__^!n z1nBMn-7TYEGS&8yX9Td_^x=WNGl01CO8lI>;3S6*8Jw#k&=|2jd+U*GFKf<#K{0A? z7m;i$XSba8Io*Y@D@SWY&BJxp@6ivA)L7)d1azp;;$iNc>r#r0{^PUZh_C6PV*= z0fd)u9+MGdeCSZj^hnb-qg#0RwIajE2XA84KmP40{z8`J@{Jqt1SC9EG`nq>mqSRj;?ar6x+=@9Kjmf$wXqtr1_QqJPO;E z&mBC4;fVVflLMbtN4b&K^61C5@h6^WFGlZ?aX}EiBmef3#U9tj=5g8cK5(EM^I$p} zoAtyI8)L^Nn5?&s1NP0W@dnosP_5&~HL6mwKZTvD<8kD5Fcae1USyZm9rmCgGu2__ zE{5UeVi-Ru{KPkJXAUEWOE`Rb3e$neHSHApMqY!Fds|R2hih7aSxDQGELIMZ@;M^g zk`P?|_rbpQN4*2UHT}GD!~-@5;oS~9p3VccJ}058esiDUAA$3wjiHUHlelOgSgRAg zJ6e6U^SV<DM1>jnD0rcP>_4*|MI#V9%L-Z9t2l(3kyPtpR>WNQ!6VQhD=Cy7w zz4}l#dQB5gWzRe;HQO}9n6%6woU>8xWliYJM3jYkivSxzRj{)0q(HBa@VJp6FI|Cu zsDl@EDl0brkseXx?EslK6e-q5+^r(!p_8S(%beKY0JO6F;^<+gJNF&OG$&O24{*jo`CXPZ(0IjB&`AvaK7K1?^=#81*eO zM|f=uEsPiTJ@8*NL(fPrU$zzR)b?N{Rx0AOj+l|}#`3SDDIxcK3gBo~L8MB2IAt#-H zWISl3JnjKd)g^Y>${t&4CopHO`I)|wvMq3MsE1nQYQK=Y8QthgylxE8!L<&^Ie^yJ z0r;f=+WtAec{nI{1Kig^HuC#AQE)v!*Vj7(d_XTBaAph2TP5SdyV7^`3j)9R&wlIl zFZJTr1Ne%-kLiQ}`hG>g&mqw5bUZ-tS|=p^Fu+^-dH@IeJptga25>Tf69B36oB;ZX zo4);uo4L;V&DeU`o^^~^iw~XyiKuPHwQV$ef3;~)3T!`8j1-PacU$)dCxRm$R#MCGtQc{M zb0@-B2X8&*^c`Gaju9@$yJ1Hb-i*85)}P-arvsKUt{ck=(@thU3<})2IbQVv(=OII z46d@_2jiw~FvS**X{%`y(@IFGE$wl2#D@$Vpy5c;isoO zSSKJUXY;iIv<^Z`oVhcBwt}ZV(*ng<9Gvae2 z>p5#F%j(bUonRsi%7S5vS2|u7iw}9&if;T2ZpPslnWeK;qkuKMZpdzF)bMIWu^fyL z8~yoxLb-Ec!nwYx&&S{;>zxR6A1OE)&J|Y-9k;m|%Nf_~*AEuQwE~Si$0H%NorB{j zp|9Nj@7w-40l-}WeuKjsZRR9DpQN8w#xMWoa5M2<_{6j43i!zfJGYBmPd|OquL01nY}I`KUvmHaAA0R*jr+#kH@@)V6Yud1(N*KC`#!@ZXUr)oZ$a6+ zYnd3Z^yFc~Rhd0~gJ}&)FN&Q-Zo){{ay0R%t+i%0<;vv}c*ZZgI>^;Vm`Qzs;X|T2 zEqAR)!ma(dD!w}d9x~{wmncj*oXP_Kj10SH+s!!Ss{wFv){qYoBpuxQALthvhKmmu zKG4y@3~42`Ejp8i$Kf+_W1CUHgLoy2J~??Q=-G~DQ_(!L!6nqgWA5=?Ub}TC!w|Xw zVZ6$asBfDkS3~wjO5t@keDO;F=W^E7Wif+Y9Jpj6c|F z-aX)}0_s0}z?1fMEy`aL;Gmv^aPg@|e@nOJ)4r{PY-(Tm*THpV{Ru)2xH(v-mYF&I z^MUXv8Lr4@kTbkIY?MA<5%}`&e)IHy|NO6?e&|PE)SUqzK7HilAMpFB?^e()fqs60 zPDb3**@?S~J--mZ9RYJE0Cx)LD+2WSx&S8wdS?K41>~eacsx!D(C0Ts1m`PS`$>i?=Sb^emG96j1@tn4nG+KtbF;Fje!W?nbV5_UF6R1b#YW!qA zNV5BFN3vjd<IqyCzs6Gkkd$+jEuG5NqGC1{?j81B-kHte25b7idN( zHT-5}0S2uF(^uPkOK*sMnrF$6b#!=!PsKjdH2K6k5;;gjtP|eTxC4M+0l3nge-EC3 zcOtGY0(7ilNORWdCU1OW9WbVj2VQJe6k7w5O<{jM`0v5KYJcZnCjjQIfW(QNJj#Z? z%NA4fUoin0cm3=hqixx6%(IcjRi?;1HLde{vtG^X+fRM``RAYK0U%z=4YMEnITvF!fLxFSAv$W0@|tgE#;5O$mW_T!RH?QXAM1 z8$)am+>YrwUcqCqVYB85!Nk_p23^~`%|tV?IE=w%tgClE?Lg0K^PM;u-+lRrW~eX_V1~Wj0XyG%RlWqcka1OeOF%(cT1=@(D` z!{7R+r(gT!FQ2~k&F?yvd-wV2K<~Rwcje=)H{aCjEuMukukW7pOqA2>dcE<+o2NJ5 ze8aD|-U{x{owvk)N49sAlb$ueuMsFmpNR9xIL1z~bO4D;?X}9Mj|@m*4qyGf7z1uV z#j_SD^gSKGOy84aI#iU_M+XMYTp9m~k9=^}tEWV;a=81j-5Brk@H$%u>21`^yM<8V z1KaH+^N85ldX94R!i;X%i8gHsBe!xH#{&HL*>V81#$NzqkfE4T`^fMb6wBpL?e^V* zR4-$PAeM~Z$Za#q@#SDlDtQUxc+kNkvRK`yVTIRjS0X`&+<7u#mT~0uW9*EL+aVU{ z*#5ho#xh*kbP$J|YGF4X`x@iMySQjH;AOM%pf~a0HVi74+S6%FZnKbbWH!};6SS)^ zHfN>%)>4Aug~6tPHVjZ|v1=+|-^Qk~vcrHbN7-&Xtbg8k6O?V-$RPIf19KSlv3oc_AzhRB9~_&x(ZE9+rv z;QSPzKFD%H;7UL5V21f60NS1+`YFJNdJcd-oZs1}Oxs@h|Ms=7eEu&#qg(zxi8Z(M z`(k%)-MxD9N_Pe5h*q}*Fujb$P_0a1)%06BlLn)!cs3JeLxskd$9<5m5C58imU<4W zl{oOj!!uyz`>yJS=**{mBPp*)Aan_J+AM2nc?QTxEyxf{V-Px+d=TN5Y^zX9$4P)2 ziS+mn!69SgqYRD;u___lc~U!x_uSS&)BPtztphLFJ#nK4oN@JoW6O8fWrD?q8EFgFM;4gaDl6e!eObY{~vEN|BSAbRSaNxg&M@_yVz?&F% z1H7dJZobpSpi(#zpn#&$0R?# z>aU*?BrZQAK(bYHR{-(e-@hK9Em`sSAwA+`2g7@4w#gL|Zk+>_hq(2G4U&9Z3`!GO zAekf6F$e7hJ%EQS6j=_C{Uzl_cRakLlK{W_#jlpq@)d)7hi`XD!XIGNb3#kMXLvv)E@In5llXUYx?{9FL3}Z~Te( zOrM+_=S5!T9_Nj9=X6^j=Vcm2IC$5SP;E0Y7zZ1fJ~?G+!M> zl|$&5u>Mv%JYBc34~+@NpLwvE{>sIm%!zgTyQetGjsO5a07*naRPzS9%?rmR@Lprv z{rM?DIU^M!8&T0ggCb9E&8-ZLx$?2>Y45#-y^&c1F z9lMR^?u=L4T|Y21cWUfXjuw4m)9%ZRnnZgHby96TOaM|U72gEi|Q{FQd@I@T2t z*2xdi9&>PL_pIrk$3!nVX8o1lna=ol-{}F3{bFn~;6`sd!OrYswwA>pXv|A#VffHd z8WY26nQF`WJ}%4|4`v>k-P6VcsS1!CVNTvBl#6v<2;n?qko9ng;JGZA@!4c;;|Ns3 zs)pymF>gAI{_HDv{TjfHehTpZ^LK2U{NRNL4vW2*p`UpuF9LMc6?I^cY{mwp&(gM* z4NP3j5MpDmW?PL>ehq+6NJOR+0sbn$fuTjocx6nNTXV)TD3-j*QOyg{R{U10zQ$CC z9c4cNmm`%3t}FU%?v*z2k*Xi|>}V83C>AtH1hJ|LTbc z0DktfpY_?BZ+zn$S0DJm2e_htt*idr0dW1q6HoASfUI0rtZSVha4ntgj=j<6W_@9I zbl~`a{F|?T`}P0qg&+B>4r-s!+`78Dee3GU>u2=ybx&wc>rEs3Y{Acpc$kFHQ8FQA zz2-1f(Scgc=q0dh#IC&P#Ac()#&-4ap6(3LqxrZ`Su#GTv+1lY1vhKjOKXLmBT~U2qS0%X;>v5J&R|4)@rkU3?z5U%EypAmKcI#fZ!$`ieudzfjYawWYl98 zo9i|oLDdI}f+};3w<;d79s&BqUi6BeB&^On4pWvGAFZL9>JfPdqc8w*>G9!1KZRjJ zg@5L;|EMMB<*Vk}FnELJ+#_ZWbVZ%{n>TIA-OhYQ#tUD$;-2lpZ(x#z7|*;}QKz^m z{kOmQ#_6|y;?gN5Lp5&d7kR9Qq<#|L?CdR3GU}#UT)zo-+WcZ~+{@5~h3$XQ@+rRu5zk2!) zzxhhcwPGBb4OSG3+J1@=7l={Y#7?^O@ z*UotnUp>IVJV4D0FWz@w*fM;JqQDW5+juPPQ7@xz?=enhhn4&Cc~Bp%I3|FQu}q7G zTHW>zuM$VTiB_|=_@uO-Ui#4`ujbd<_%kCk#~7@vgaMZIwC9ifjKHpu95FqLs732N z-r8E%aT;Jbn^~EOIWm|k-COYx8uleSlcd8R%R>k3Y;K0;k>!}1=I!vsu%2n3M-1gI zdBlYUSgzOyjz9QVE`4>@4A%-k{oU0rH_y3#SG(Q)51lO+b6OzMSNQ0}Bw7?}&Kxw}0f2k(Pyf6BN*9Fh=`H|1^yP!!fqO?<@16ko9>e}O z{>I-x>)D}|cJ=bhFQ1-z>M3sFzxvXbzJ&Z*&jYy9mHunp0dS?2%S@$E^SaW(|Bd8V zdJe#qK15>Um#&`aBG~oSPk!)+fAZGD)3e_Ab+zpFt@oUszVnn$8td3wM*_@U+34Un z?`9!j$*fCZ(jDb^b3*3b*v$TOTrJ8&&5LyEsKa+Xq6lCBhT^oQjB5qT#@X$k1^@AW@nFLzS=J zJbU_s2Mn>|V2q!*t=pvE$Zgj$_9z>vMT4hF8;T{{I#R-yqB{TKLXPjjoby*V+|Vzc zq5H#DqFS*f)mS2LQF{x=(!<@Q(UxD3S{4IQNw<1({KMq1%+=UfAD=(qf;M+;t{jBR zyw046k1T`D94n@>BbOcf_!O}@M}_5aOQMLcgnxO$qbZqB3u?x0&2c94bUJT1`1C;r7oJ<#X7d*C_Pwv2;p;ju+d&3GCE4yEZ#>NX4Fu|#_AxOwZ%yQe?+{nt*v z^tmsde*5!Z)m3mkm*5GuA>Lrer+g)jIq>J;UoXDm;97SJ2-%zx=$ec|-W|K>MC z&w4YaUV^p<E>zK;;{{-4;(UW@igiFU@NQhJr{^$}exjITp=+}}Wq3+i1?yRTh= zjGSADE3wsH2>r7!1DgVW^4}ygrk649>_wOR@qPT%*X5XCQ607Q7VPu$$OrsoNq)gJ z*T-Sdy`3I><7gvcjBnP#kW%w2E1j)) z_9Oqx)35xiZ~XX=|M)$AO8&y#JJNmk1i<$nc2=)nT4`5b``Xt|b1TP^OMlHlJ~h7t zpzpi-;Ge!esMEfgga376fIhFE_`t_L`P9|TC;6~_eOpVNeS7w;_gy{o9RQl6n&x_C zwrR?A>M=QSNC6|2yZax1vKd7=7M$o5YaO_rbrTaYTwnwRC(L!zT>Xrgo8UvY`L^ z!}p$k@A?Dk@iS++P5Hrte1Dn)6CVs=$IIc4Q*|j$qr8!5DGZ8Zr!YXO0lU(IdPFv- zE6l=;@bR)JJ>KOl$+BzXLeZ{$J2Ct0!QWX>=AI90wVQg4#`s_T3mn~*(?!0Q(90ot z^vyV44te6215r%`^`Uie#I)Z@__fYT= zX}zWPyqCt)OSP|>lc!%X=|Q(ojA;Y$LALZgIpD9nXnupkjw|yF6bG|Dxuy=a2Tzfm z%?r+N<7Q$fukXHoM<)TkcKUap`(1xs;0c`wc;-3Ye9uobaI&Fy1i1FefSd$KY&kK& zoeaq#CkC)1m=y=U69z6kw;azd_kafH?MHEX9W-!TexC(C$^(`9bW<1?WchC7SHJQH zr~m68{2QW-A1U#>`ZDS^5RS}NKoK}peGH2pgmf6u5D#utmv?DKv4J6At8gpYd$Mn4t)Yxm_j#*gM4S&s- zNAxB_I(BJx=~&@!aUAWO4~6r%(68JoSM9t?fqY9VctAB6;FeP)7lxSZRL=c^W2nsC zoZ$8NNqI(a9+pi@N8L8f#=6PSpXF(S$1KJcthbMH846*>-a}+v=lHfxhIS33a2KJt zzc}FGe+TWMJw{&cs)%(j=N?VJR%>jrJX$y}XGaP|`CU7Y17|$4i@?haf5vf-EbW~; zlEZuLI@aMp-^gNtoIe7;2w{^s@)$g3nK*(ek~-cl3~;hL>UO?HF8Q8q|CmgSd-Psk zE9H6=a^v6IjRdYU+ru=Fa@y}$fw^dIB55}8D5`gTnKu^5l)vkO?VC=6*qxr|HX2vX zsoOlUboARi;~%wT*x{eA8Q#9FyJTX!g?LF>Wk$tR!WmjX`n8~}a_@WI>#0FGY+&@XD;@`JHndvNzF zFWzWEYtlW`&x7faUOG;di*5T zxrYV}2MFMj4`E`; zLpWVm4g{m|&w~K@3Um*c(DB>m$QVJ7B3K$t-yB+Or8@<4BOm^i&-BrQ4Q_%`wU=V- z8->F?2PLjpd0m{V7oGhK`0y(W0-JJfO49ys3TL_0rgdqk7tbDCf#{oik(YjiAw~{p zGrwY7AL+@9FqWyA`8J4-xw_M|NwivyeC?V;81TeQ4#ta zOOQq8!BNXVle#%2%S2Qe#HQB5>sI>%{&JwN=LIm?bpf3>YfgaaP9e=@9iVDLU-3); z$#3ZEJmfV$7pOKeen#*fKQXAU!SH?i$Zk&eb#jkq1#ks`A>zCJN1X`eeidT+4LvxJ zhX+3UzW1Jf=#w8h{n@|p@zZnffA6eY&3_&A^Spq2;)0J~1h~8XoFEV4WFL6^iU7|) z&~pNKUI4XX^{)^pR>#E%%s4m@4MDd@_Z45qoz+VGs|>b!GHScn%epI>XN|zcZHUD4 zsXz4ztN3LIb8LPNPT4FUa{ido?WE?}&z)n@Sz-|WMo^;x;J4eoYx_$KYanW4-K^80 zL*#j8-3W(UX>=%3k34=9(Rs*g`}f)q7C2?au68J}-2g^aDV+vAIE>Rbgtp4kxi^cU z<6VOF=F{iZdp&9lk)zkkIhUw)@o>eJ!CqgsQdhbOqv+HY9z=9K57clrH6m}K@FXqS zR!f%{r*=mSvUhXp#|Ba#dt@P-JX}pCgpe^Y+#wuuH)~*s;BZmHZE{eVDzXtZ6?d26 z4BCaktY-!kBsrcH;Jaw_#sVC@hjQs=yoU&8@-$BkhtoQd6tmW|dCwdRCE>`aD6NCU zuZrR@%=(=pAy@~7+&8u7BlargO)ruSdWh9J%R!ba77xlWT^OIO+u<;&;1^H_gKWj5 zj;U>DD=%W#u|8O^J9@F@Bs3&Tx5y(|@wpo;PP)z7zr^J3GWLaMU=QIwMmCY^(st(w z>9LI8@YzRI#4v8MQ-FA40@JPnUh9|O!B8V7pz0+$3gmEPOl?2?n2+sY5Ff)q1$>o9 z1h`FH99s}mFB)9w8_m~u_4(p9cLFEe@*JF*=g7}w&7}qdFlJ)2O6_(%WcaDgD3T#k zUR3#2epAIe`ob((3x|a1MfDZoY^A!M|8-Si-4D~nf-}%Z9-FhYx`SN#Wuetx9 z1Ad7!5n?B5gg`+6c5_fdur_dkk>c$CeC?Z&%RyyJQ=G`Rt`ULlACtqD;8x9CqUm*yGhq zN40W5E;5V9)?1&5f+XyxL>;>G;N%JB9!GI=LO^fRKCo9;cK{p*^fx*Iz{vm(o^R>) zKE{ym`EgKA|LzqB-g>j=fLj<&4(Q+IniFgAOU{e;SNizoZI&Ef{nmF+zx0d0qpt}3 z&gsJ+d;aue`Z>WL`q2-a-t(lkFU5ghAIR&(11BWz;RheS6Gw4y5`dEd^K*jnp9cqm zxh7T)zE_Od4QKokCriggBdd7k9Rd}_n;DQUCsIhGWu}Fe%FM-@EdRDX7RVh! zIZ9-Ta4g4=9fTn%zH+2$C!#=R2xBXJ{Hg0f#V{mZ4+3{TTKT9kkjU0?VtQv5&c%df zuxIU5^20hhiLR4zRq(LGd~PTo2Jv6ntsbz z;L4@r6S-Yjx2J*s^AT~Vwzu8r{jumQ#_$33y7O3txp|mGi_DqkGTtF4KS$(_k?vYk z9XRG(``8zcZVH1s>uYJZ^*3IN9)=>z8Ptwlu}=&TWL$Aq`;J9pB*H_tobC;&y-hA& zEV^w4xHFtZD8IYT6KacvX1EWB?yr*qVjDuQJGJ9m@grB+bBiQPd$xIiEFFs$?8Cx$ z5nl-$*Wi(jFRRyfdg#q-Um?i-x+Re>*?6u^T|UQTZWz>XWj43nH7LC39ea5UkZd1Q zn6RlGwEmocKxJ&)0H{8iT!@JtK1`_f{PEL?o0_@f9(xriE{kI*0Hr{co#A)PMv@c; zd1eq$cBxY6B1Iyg)~6l+0>C}_(u-dOkSq@eghVfhH=mA48VV<$JXYx%zOb8(x9J2} zBo`~!H0pqK&e1RLnVC4@(g}c1i^zA2Yi{6)VBgX5?g@bJGyGXk26bg!aq!PC0qExd zAL{Bq%7@QB`z-qPnmYjWu(`L;`}49+0zB+V0P!Nb`OP<8{rsPQ@`KqBnV8xF`6YlS zuJcoMYjVLN`nQ=inqTbPGv^OXrXw8Wkx8kRwgzojb6UgwAOu97y(}#H@GhCIGJ4nP z+3is{_tmM~njp_M078e3YWCpHL|lBF_n?^ z*JRsb{2=LgNt8ko7Sd>uR)HSA=ytsdBYf?VpA`*6eN-OXT1a{fLQ=(Ga)X&Qb5`0F z%m-Bl!*hmO@m@#+oE(!AhK)1r%*Djmyu*WR@U)umN>cimp)}IyrQg&L*4;D_U6#j= zfqiI!fBnyp$uxcDJ8_3T_2C&04f5~?7JIfbwCT^d$d6MPMM6 z2ip(y7>~PpkS7nnynioO{lResK7GkKNM9!aa`GSt{kbckZMH??rO&${2j=)^?Agv< z`Q2}xUisoTPygZ{|HkPPKk}ka27LJAA25~^q}W~QiJrbQK(>5SiUa<8oDjInuLU%}*bd6+x=oI7Ug>1- z)2Ej{`oYtezWDXURqqJAuEDyUI9P{SX{tAcebHAjCe0&guj2t2l(Fu1zI^U<|09hk$STqqKV{iq#(HW)=Ja6pM8*u;X&Wg7OegrjS29t7DVW{~OgKke42 zn>THj;?+qmY78GFt0`RFKf)2FNu>5d*8n}i(TC7J5mKUP?x>Cv+9k+5JMfrcH)U^+ z$d;2^U0b#MZ}zoueCpIK&B};#;?8_wOOevzF%WlrF>aC7+-p^`!**pJcjca#<7;h= ziO|8QDL-!F%=u6UGS$R!q*A}t2Te+oL!#JtCO=a*j%G8~m=en(Gg!V4FCHU_Yk6MB z7Ift8Z=AzzMsi&ROt-y6@F;h-CD^MY!NV?O9RqqRc70s3eEDnRh|O_p{PykPj9X6O zi*KR5-WpT9B{FdJ4O&GN?+1~qe~~+Y#M)XAKH|;90Nz+yL%Z^$qq211Ya5l82ikE? zXou90EM%KJ36-c-HkrFxc)m#9*zrLW^kFCmca@hv^&Q$N70Qf%Ru8Hca z@q%@2+Jb}smtK15>Xlbs@vci({~zi>fT!19d+ns>0AQxy#C{W-nHqYihVB61Bme|G z5%90S^VP3>_5(k}6v=GW<-Yq@`WnF1El&_{!#cVmh*Ej3s}CR!Sat`LjXnF0$k9O` z1ke~Gg8-hK6yOs&GGY0UugvsdJ*j8TLN^658=Rvujcl~_1A)(r4S$S62#isa4GwT^ zY@!9B=@>yV(9l0JoT<-%V~I_-CTOymsX>XEKb&IANq{%>@DO6o6+jLs;@7mCe4$}e z8Sw8Q!Ziw4=)PA8izzN(7)I-Hb1&m~Cii*~&Y;cNWncEhXjbW9_Ig&^vBSUG@Wo4Y ztp!Ul7vl;O@gMEI-!S6O&}D-u;UA?rN0@jDcf51Y7+n}o zmLnaim>qd{3{oFsa`a>Gxz}~zag+QkJVv!ng1bw!TNpcjl25wfG?kZ&0i6C^7I$~@{joL0KP78#oY+R zq}K!eG~m5!owVQp|IS_e_g8c9sS^UkzzKlcIxzr-K3{Y2*95TPWP!jNZO^7@d;Lk~)ew`xfQuX*cE*I=f=_vjCYHccDkz3gzsdzcG;^jA+KjV}=pC)<|cwSl>9HLJcs84HAH&6EN!m3l)qu zA{rcM!(#Fpfu+6(vP1g-B$D9$ac9Qg&1>aS1@+`-Tc@N2V<1)RfE?r5F#wa2I&sR%hLVLK zHEqh&`*>JhsCl~ZSYq_ZQL4cmhyHB; zI=2GK*HWrSTZQ;6o*LPx+=8pvOWlfX*&deWU555BL&=2)GUxLHpEtPon6ChE2Y^1z z_>KU{_4&e%;g&hM`Ys36D<D%A_Hg^GV@PB&Yg%_^A z{`Fi9;^1H9p}ylm%`CmZbtTdi6VZP7hys&(+mS%s8F{@Yd}+ zS5KYvO8}m;-k3eE0bp?L1S>A-kH2z)e7eoKF1c@LC_$ z?IIrWGrky;IQP=#vSoW^M}rBnrL;@bxQw)q<#Wz~b-pauDGIh8VJ*Da6$H%te0*0O&=(_2_KJ=&xjg zOOC@)8>!$(bmP;uC@A9~q$3(f>18Rs$BY2SQS$(>+Sb!Qj599|0kLGw4K)c$9XT?B zFXzlfODs)m(d~&!fRB+Nr2uN;1eFi#7nsn05PO!JXa?p)^Ve*igs6HWgbss7Mb&S=_4NuHA|_? zCu97u9(d+mo%B&`~b6h=#bM;6heh|^7v|e1e%sAAI zW55T6syqPf+nUjZ(CA&i$Oc>8bXT5(JJ!jB+#IL&9FeWVnjDVy#IHcTKEc(`#J~EL zPd)0K;Ks^==INP`_tGsNbFIEGz{QtwJci3Iq?~X8oO@RSeeYf*=ZHsoo>xwsOz|yF z|0{RNR}AB-E^QYJeSk=;YjJrWvdffn^t$Ol86 zEp8Mx(O9l=GCC>vO-~T(CQ`@YKxCRRGvA7@obV)%HDAGFI$?%I-JxDdZh8(nItDap zuXtqVwq)itU@*o4myU~MdQZOn8c)?%5r17amW)r-C>h=kpRvR=aoMMzlrn*sace6zA<=FYH(pXI~r>*wC{*M8;)U-=*Zi(h;B<(K{Q@;lW#(SG*?!1o_@ zeGXgG^y+h;`y4Bl=Kws=Nq`$2{Cn0s_uO-*S6_W~t#oL0@ZYZh*akb~DxPz?71#LJ z@7?>td#-Nuso1C9uI~8`0PQaHq56S7oY%m$W|sppgLf(3oY_x_Ovkl~6-g&E6HonP zg8~$p`KE0;d+I_MHNomv0PQnTgXA^E8EN7A;3n#Dj)H!js6KXLkuMb>?ks>_3l3v= z%t!WE$pc%W^RYX*fwhd&71~W$FeeT;X`ueoH~LM}357G9+~&k>(avx1&`=o2y`1-@ z?B0{6{$kFU%8K!_G5wALoQa*<(N7Hn#d7DK{s>)l5zAPtkj)cBxG(f$Txzd-eDc59 zB5>poBdun;u^Q zpm0#kb456));p=k%KH`R(cRqWWPr}J-EcKs`x*}9{Qy2aAAo~{ePKx**^wrBN~nM0{L=4y!>?cbXTRw?0(fxX2S47sWZ)*vra;CgF*pm!ylJFs8AQQtu_7zaY5*sQ5zrn7&2iC=t>eUGl_Ex1?qXUm{4{D- zx%&g|etGhDNW^G$#?slGajP@2BX$_m-v|Fpj_)n!hT>YbrMFG7do4`1e+dC$pciA5 z^)oW-R#XxW2BWdFjoD1#lX{s4lkenWUd3#-<_F=09@>^-eKpVyXM6-$QI)fGxd9B0 zy1Xk#>DRi@ocH!Id344db@PTPzPk)2&bmCtaPnncxq!y8qG`OAS05C;L8|45t;mp9 z+w~mVBi6}OKGwL|UH03FD1HX%PQ1vb+y9aVJKct!TEg-riY(XMv_AHUozxZSnKVqe2VQ98x#^Ky=_`NRmcGF?cSWaxiV3~83JXDK&A^$)2-sR`AclwjCHkIbHX(e#6z0N z%ox@@uwsDeU)L@=-rpt;HEf@LF<5N;&Xl5KGU!{b$0LzQNr<~;T-bS?_1gMjLzt2X- zi!mH-I_l0y$FF?gX3+~8w1iU| zZf#38fvVmBfa%JPhy3{t0M+q&UL%7)g@*U~Tschl^y10SVsL!K$OVAAcXfcfdVe>2 zYMgdTEUQdl_(7Tf$z8ko%43pF-i&KWE^85A4$#ECTpA*wI8a>{roa5V{*V)w4v=-d z2rdM~=vV-3K{US6VFlw}?00f>EVWsA54!Spr(SEx{TbV(OEl9xD#G1Hr1QZzIh8XV z>4!IClw66Ge#ffwN8cnXhUCk3*SX(_E^@uZ8a9|cmbObn9+$G}QYV(=-m#MG>?BD0 z4Syuz(kJ@F%sDA1`LrMDZX@=CoOtKcd~^?aRsdfW5azBf0QmU;x;wxp;?nyeew_U4 zmK!kqb}%&;6#T$K4I3BN;P!Sw=TtmP!8VyKBiN0VH^K*s;D16-KElOaa|{?x+S&w+9@I?kAH#-cXiJkQs- zgm7#<=@=u@hMZO@%Mu)o9XE6C{U3xWhKH&?ESfp8EMt}9M)R^k{HW>moL<&r0$r4J z&oAJNseL&k3sxqXti-6c=W6F~tRutGP$duKGw+>eM?Nytj(K9wc*;8$5C%B|E-2Eam9B|_Vq47 zoO*xbivoENVE)F9-hT}EKqCC!YEy5H(K;kaXvyNRS(5Zou*n#+b!nb-%x_F|`HG*0 zTAEuge&!b>{TE;T>Q}G6`OR;7oPzqh**?1f@I#DycA_=cw)m4j`IEJ3bn@SIaGH~U zbbif40Qo6E(cEytU!8e)^ZM%b2jBX_N1n$5h;C@nmjZ4-;>KNlI>$RuuhK3_`O-2q zGK&f#7MB!}s^5TkKZKqQG$Wto>Ah=|018yC!e{J=Zkd(*$J%64NaOON%YR?R7|_ZyScODHPQn>Q5FMZ!woO zxz{eb40vPi@H;L6nlY`kFYAfahSF(Xd_u08tNR{nhsMcrMwd_XIdNtvxg&r%@+b1D za|b~05Xe^r@@oRxe{{0$yJ_Zb0PX_lFA?N<8(DYoc`P^)p9H@D+B^D+!0$NapZkR` z`YQrI{^geyLoX&MZhk?)7bG~Tf2a!-b5{VL`s?_~3;(`5fIeRpK&NL6kdH55i0?)+ z-xVNl>_6Nor2i@tk6IiNN9Y(CRpy$nD{v3hM(^mJ(q2Yx1Rx6MlI`@&m$e)lK;Wt3FFlLA+4p1e zuDNm?JC^J~GeLYdFUZP*M#|aQQoo*#t3syQ{NY zanVxOB{fIa3ZOY&7@w>v>lz3eX|Q>^IDy8VI#|{9H>y}ApRy}~XwQrA~&2KdZRyjZrQvCUY}I?9=C2Eg$d;eLgO zO)?p_hS>dbEvm6wRU6y!W~1zQW}HeYz?f~&h>#0bJG(8m_3S?e3b3&*x+SYk^S}!- z&!?KR?lHusaJL7CZteHQ575V^8lu|>+O&N+w2pm;EZF;c5Ag0CeX6PN*_)_H>4r*G z0;_83j?Yo^PTm2#&M}QOJu3>LLp>~1_Mr4~Qtwax{q_0d>Hpjbz?njy4S>zr1%tAM z%Dw(Qpp&&2P~+9OJL86w@l_9jCp~y?9lOa%2D+5-*Qv$l)t%?Q{L)J=-FpB1_jSr+ zqAjY8^FwO#sr9q+*Nng{mZwhC=Rf~>tkLbSlYR!!tb7e%bnC%?2>R(iUjyKm09Z64 z;3(yt{^1>+`ujb&SCco|H@#+9WwhaGna+|m7zt>44+Kud1p){hk@{-7aDen7 zc4U#Oh=45aafWn(gD{gtlh<~_M)4@N@Zjsg>HfX@ zJYe;7?*l#9Q_owu_x=a2X@Btk`*|V1_km)(=dWR1KP0{fr-zD@SRRVg{^hq91Uq8H zqv7)iI$p=E3joTEvHFa@w(#O7biuYold<-tv8~EHCJbNqTi24a_AqH_4D>z6o#@ug zA~t?QG?tDP3pEyBarg+?q5!Jm7_3a+Tl$sl1`TqPHJ1b`Yjota(M2{o>rdC)7 zhO+3@&)moMFf75;GQc$EM>}(Wp5wUKoZzv1v{M{|HrB{!*=YYk9_JQ+#bb}8b=r(UaIoy{_=_$!@phT- zo@a54P0PW)^M?zaeQF%S6RY};ZN{pM3x^Nq$qCV7s$11Po?wwY4~{VzH0yAW88J2) ztpQzBvFUXVMaW$I@dF7FkaIh z*9I|l;}WI!S!_$MwnGA1oZH$gu8bx&c8kiGApuw0)^#AAv22Df&DdDiSl}#dlgX6pTbvhqS-M>8wxE_K72cp9GL2WMNw z!QVZ<_zD1VafjnW!FV7bK>9-aLk=~6KuMk%9=8ciuNifFb0`Fej>IYMBcPp%7!j+Y z6?t{)H%I%q^W2x-eDh6{ed8P77=pjM>e(FtKg8HGaod6N=9O1o;U@r3{2btGuf4XW zT2FY?WNUZPyGC8%v7D~~;6h&kV6}3=#r^pefE#^kb@Q9=eD~FVpkD%DM`PjM=-%81 zSNE>&Ug<%AT2vUYVyL}{=(E&NPK^!(aUOD8g0MC$G;PFHfH~t&dg7LX|6^j9b_sK` zYe=A%Pt3ytnaTv>W_#wXUL6DK%KJE4+S2M9T!FqsvB~}cv!YJ(J=5^ z$+$@tx=oX&#kCPk9?iYTXF9z8Xj?%&ShuwC{A7G0!l!T>_p(JcIx`hxPN~!vV&X^} zPOvK<1T82`sWI8Os!lFXw{^ZS4@dirsL86R@=T# zHo5oL885t$UlVhjo3BJ6VUe9zNvG08v1ew3*|GdW~(jbDjgQ zezVppx5tFJjkToY;Jon4e+G1HJGahL@_mHi;*|~Q!WF@eizph#WLgtX`f;iDMeOCH z29p|_vX~v`mRhIeG>Cbk|2;t2(1#&adcbK zqJdlEMom$BmC6>6F#K2Fs6wre)frFisQq7d*r?roX!%m3qa}5G0HzZIglZ*L-sAHg z;nsWlg&;>WD+Rf^a435pD2~zTdU6=%wlka$58jer50OMb2&u?{7}BrQ@3Z(70H5>| z0e_+M6@V*!1;FP{{yKnkU=&wk!B_sSud#=F;&CkXCs}OjH8ohr=UTZMH#(}}OU!^$ zjO*X<=5zZa{wYAcm$=e%0D5zEwKe_F>Sq@Keu$xFLF#JF6<2J&{`Ie)e&ttw#a3VX z(wDCC>D2X!hXL|afKqfaFWV=54S)*)*xu+40DU5LeZ@lfy@zkStIyzg=H?6D3H3W$ z*LNQ14ETlYSze&o?d+J%+*_Li!m;R3c^CG6bR2jfngh$6_>U`#fW zi2LTmF9C1?fHCHiJ<2-Cu}2ObNQofLel-C}55BDp+BTTRl33!?>bP3Sjw)WWeEsyWQT@UrQ>b&3toOS5Y53l8Fp;K z6Q+y_@zJLj=4|WDDmyR#iez{lu8hL6v~~>_v3Qz<2=`#<^rRk~Ei#&pA3H91jaBs8 z&eG>sNN#yPB+^9yd_3mDfUXeeua&-%l-vJr>CJ&}%NG~V3AmQLUkSLQPY>9ycs4+u z?4Pe0aMBH5Yfi>lYg}jWnwvViu;P&ZJOAeUr$7JGH%|ZhqjyeU`I*oAV!#)F;$`9a zih$zd;sPh>I;r;wy-xJ~lYx8C;E5P19mtwUz1;tMTugVoktx= zhM2O(ej1AJ3008Z4x2Hy@P#V;6Wd;hS8tAGuv|z@I~VRVb{um9sMno?Fq5-6&c^QC zpW{-Fj)QrC#yQ7N$K5z>!kb|LYrJafr;be}(MffN$$T94=qa%hE5vlBOk_*!I2>Y@HB59&n8zelKKAAW{fQh}j;ynO%HcTc+ zydD$hSW-!fwJ58BCb5~p5XRHit8R`KM@1+pmwiditeE{iusKK$G;`2U#(3fip+T!j zqx*wnMNs^3n-?4^^wU7?J~EZukwmhi0H;E{xnr;ZTQ9#u02P6QqR zDOa~||M+MB{r}`s-~M0z@jcx=uAv%d1$@Xgzeo72{PiQi)f!&}_~l>z<*Qd-dF4va z0J!?pr#^M1I{~irX+N{bXJ~!V-(^=i`M;$%kdTq5I}v#x26<;I0ex?&<8JJcpI^x(q|ML@AjD#1shDBzJ55C3CF z^nqP9CkL=;_xC^gjRpx90vwfba0oy4uit+0^!n8&?3*|Lz6kU1{^?qu==sh5zNgC0 zAy6}Jn~oUK;g7r$KR5}0Kq+PnpN?Agc-V@Gm(mo~M(WX(h~8!^yTb~#ddlN0mLd8< zu{X!Sk}vHG=BP!#ZnKr7wyh64BnL-hJg?~`mtfOFitjMc-b$00diM+Jk_TD%Xtl&= zG*9OHw7ik+anY_XSlw=HJDW;(ZPW%G?&yg-E|IQw{*+9$)%fMAOWg zS4aPOL*V_$ZS8&3I??9@*>4u~2bo*z>F4|M!lM(gw%{qLwGUgTlNH78`4nf$YOFuN zJh1S4uf2WxgWvgc-x&bz`H$T_-F;3EPbC)K5Qv{Tw=e1ze=ZF8#aA4NFEZNf@2UCp zfZP&4_T1`kTYnWIUmbXG|9&n2sOGsY|Kgwj=IOOp|I*=he_Ct5;ctWA*jbOcg;W%r^vwi6vn^P@{qUf+y}HG zu2JQx9S%;`SfJzuX9D1YJQwfp-o1T#PIt{+|IC}g7$%0mL8sVIP1T;8cnM$gH&Q;v z_dZu1nsN*-=LQoKGV9rJ%Bs(;Z}EV_=k(H7tgraG^}MbmyF$lj+j?A&G=|ptvsl3j?ff2v%wj$HB;LO!5E%~`?579h!*}g-k${tKT^#5| z08ZGm!&-(8yni}xT$85v`vze7jrP|^r$77S@11_<|N7I@tAF;F#(es-A9s$#!$0C% zuQ~D0#eiHC@UsQxp?;dYBde*@|`A7e=pLKvg zPnK%}&b$%3hgJPFQd?GqK&!vy=>4<=8H9|8!D+57GJO0M#e9xyBY28k*9bwa_6mMW z#59*qB`l})3TSdTEDP9%1Po>BnnswdhXBY3555spFYbf`Y5zHax>DK$c}zn z%#iJ7i#&a5TJ4R6^SF@NNU|+gBibL+VkFMt z;%enUw|`H%PV8jn&G7Ab<%F|2qkCffJ#GzBwTKpGxEH||r&a3PuYap3*1D_a zES?SfwB{9$8MmR%P#m}hjgyslfxE8@b2QT3{=eV-U;nG$eEH>npnp?1$3j zGRd>@!;iq#*S_|(8+`@9%jqj$`N~Om0$eT~&P~zZdj9$6AM3$XxA`eRo&~@!0q8CO zZvTI*+eo<}K$~9%xO(H!2jBYa-RI298{_LMeN}+7aZoBb1%?+$UFuYp6`1vwm8d1Q zziFo3(w$!r8R^ynm8#L%4lrKy{@lFw=VdD>tNbWEXnN&0ET4HJ86;W!oy|5O5Zb~E?f=G#C-%q|XvI`7wchK$N(attB42Z| z8&BI~+gxODmbMpNTHOwFRF-?0BmGdQT0en&8uw zY{u|HdloaggQrYSAE)NJ6UVGMk#x-WZ&s&)l%SE>Ikm-Nv zu|eB8q903IDc*O-4$0ZPsgK?z)H9qqu^zwRA3xT2@byLkZ@2Wld~Tu7R|DitdOo#B z_K4>OsLoIIA?GIr^Xvd_^UrevbW1PXz>p}ou z6Znn){adFW*Yg5?{_p=i|Fj^3VOwGn=Og`+0GzjP>%07VV}s6L4e*6P9tO%QUrAtC zoTrWtdGMd^0+##yF)PG1K0Iph3vdu7RL~|uQuI@e~2ZBd|yX3r!Ic!t6aIp zhpE9&Y2O@@HHV-l&K)bD*ZtzP(I99u7Q-fz@)clPNgEyws5mN+gXgwjWEZ7#SNm0q zWTA-xJIiQ$v?Z|gj4}3yZLv$@*lIr%k|j=Ak6$A~X3)})x6X@)2KysgN3~)<(@Y-a zm>R6@Yh*qTAL00QnQ8ht_F_xCdkj!F%gQe?(MxM5_z}-ID)zu|OwvIG>_zD??J)+$ zb|RIn{S+ie_(EoscIchC?bhKLY&j?A=0{k@v#FoG4S-TzdhR1~YSwk0WPFLWjpXKy zGR++rJ0#6-l2z3_!_jqQ+ES?Y_&GeZ>@fI z0pLd%S}hizH0v$^E&_1-{^jI#61`+~@_(gY1GwRd)qCNDUwyDV1j5+wU0?sj&)sEF zjYf?}x32wDfE?9|w?k&g)G+8m1`Jt%OK+D9Or3=@g3W7&gzstChU zW_O}TlL%5Pe0BB4nm=~l>C6h;DB}{3C0*l0;Y$f>(55&v{P9Mg_xH4uj@kh5rjrgG zeK`O-0&SebB*J%;!5U{mm>s3xgTHW-d4L&14sx6X>_2h<-a9EC2o6US+FOScgp9{h zt{j3L_!ful7oQ2^0u1?1outCvIom_QqYKH}M!f<;JL-%fn3WS6Vi=s|;_-JvjY1u} zhU!6GexfZ6^&+DM&ZX9PfU^#(M>z4vAXb%4jI0CaIGBtI9;Y?9<`FmX(VX{sa}|G+ zYveOtXTHJ}H}M)iKuBA5Tx8X*S|_8PiwXpziDgBN+>(xEm4md+$U0Zeo1+P`%4^z~ z&wVv!<;_(wfjfT;d)H*vrMiMJ0&J1_?izif5B9O{r11p+-c(D^$@C-Ly_E0e>sq{W zf5=I{nl&#(k~wSyz;f78{sIu%^nGFC_SjW=!z!}TvQ990U%h@qsv+sEV&T%%}HaR}aR;2L_ zv0mfE`;G+YGXGI5Ja8$&b^j0j!~mB{{Y+<^xfg$Sn*Pd5oHlo0=t8#i>YnkAuk}WB za^P4_>@Cje=q6Y9XPu~BymMa3PEHMFAEU;&u<;gOS@D)IRuhP8@GZlEgm8FOYnTM( zs|mH&&UICVXY>b$BGNzZX&z|Z{4oYSX7hmXcpUr74*yYpj=0;iA7D&u>qm1j_8 zj>RFH{vv8*5hMpZWPFiccy&g*EdCdv!y{J4*gD=PSei|3TML-AzhNZMP(gW_}k6hN6DPV!E>My1)>fXPx%6%pGjwZTv<|j=_%)Rq;Fhn9uR|kTplE<*&T_ zErQR{7(RJeuFd3Pd&id?z^~$tHkWx9(6vB+95wxzdK+}dK%)GejER*4(_b`?qjPBd z9{5lUkw^C|Zz-0iHe{dXvEDk?KF*+RUM9w2M5RFQwvyt6*o>0-;zuIZ@ywKd(LuK-rjT zCvq$jG|a9GXe)E00@cVHZo@IB6!M(6T5&SsL5)#E-yq`C`e?l@p|Lq%jwj6{1 zcT%2R0QegWyKdX)+;)AOKJ%H++~`4oX8ZWZKdyZzzXYI@|C`C>|ZcdoBK%6DDl#RrWZS=Ne$B1INLnQHAT$6B5P_`Zkf zD8W?)?BLcPi{vsV{APs?T6^a}li~w+T*aj{MiIdlTTTUH01Jf8v)OwE}-j>Fee&yw@b>)m-Wd}oA$cw{+`;E8Yt@fB1 z6-J;8cR7F-lkqwCov}U)>Wbw+F)M^EYDSm*(eMcf`w(w5<6kHFIzi4!oKF5FXI^#A zt&5pD(but!+9&@yfzJuP?hKHe3j{g&7tXr5AkYf|yb&Qs^+~ep#ry8~Nenlqciw#e z^e_L%-*yf^`LmzXg9E>$UlI5$0n3g%5Qr@gHsm3N#F3N#)EF{ayvff+0Nx1YX9Hh< z?akA_{+GY&7(Cb=qcwmsp7=U+s}`1V+e^kV{+1o~ATPl(MDF?Ad=SE#PZ0Erow%|F zB&=QK7yJL2(+sG`dL}rbS8loqa%2I_wqv7iW7_r1q4SZg=TpJ)M%1wmZEkVH3Z%mC z0yU8&7J9(!V-h!h=Rux}38;=S!rm0{IY?PKE_|Vho|-W|_|+agViyAj64Qelz$HFb z-gX>jC$nsyGZPgr?&xq5N4TanAsD$ZGrkC`N0$*bbokORrAaSfr+J8pb-KXHgA9vdCQ%z-TbQFy%U0)r{>HLF8% z$7Nq&Xk^=qZ^frZ>p+dn$RJT`-k*V>9K7yiz^uszKK?PMPFA(|fA@t!tbhEU){)Q1 ztr~pV;r3Q?+mGnDxNGDFoaT&|^F-tci2JkD)-Z|ZX;jiLJo>@!vDo8oi!bLfdk?W- zi0xC#8nX#tT$p0P%@fAyF9!7p4sE)6jbS{&o}tGG$!j7vZ7?q33^R+O_3l;cCJpFIQMM;L4^ zh+8}iP`CZt>Ww$v$j4GzhI$a-Eq$lsN+a*fNuTgL4dkr zmW6t{`r{AYdhb8_>`(mzeY@nY{9N6-bNl9_S1+8NyVlnNz<4cZsbE0i1m3GOT_kRK z!F%CrK}+QI7tJ8Y3`Z>T0c0JsvPGmlm4AHa-?!S#RkrMiiiaJMqlAxi3J%w*2$K>n z8uL0TwJyqqEn4pApOno(i1HShwt8>wh`3s5x$x9POFobEA`$cyWn!N1-2L?FoyYu! zH@5)mAt(A}hI{wko!ICxcC$sqy_`f#I;8L}x1z`Qo8mE*!~#-GybFAIyg zHRqf9XKq@MwND#PY|Skgx??9ii+k*-4S1qM?_oflV7oy7)L5)QdUk+L&bg>yJK>Gpc_D{7l?SuU%4BUhxVPST|MW-y@2jWZ z*TVz9_u5-0o)z%iNACCmfZ%wu&^J1q4~eUHBSUJKZVMO$ZWo^>o?Zq3Pf zfSj6k2W#Z!aodDpojw%AXR1-7T5uZWlRkKiVuy+OXR8KjAr~ zN6yit9}7@H9<8yLAagkT|3c=N1)h>QZZwu`d7fj>;)`M2n~7#vGoK^G$25PCmxU~F z1avEEy|8X1z9rM#F^9osgqDtm6{C0jPhs8j+9~$7so=>!c%NWGfP8fRw0^~~;RiEI z!10@G+uuwwedjl%YoDFG*+-XtTVdt4*O>&uiys;)%{x8oDvBQ&j;+^$2{3D83EOyJz0b z>`(`KV8BC^JqR_HltR&;jgNF?Z~6z;R5Fpo%8cvM4{_AtwMc;Oo4!cT!^rh(Ww&2? zbh`dRzCH_XFK3)pC@|mQtG@LO6g`67XxGuENFT^1upB9;Rr=ieO5gG4`~G^}=)3<{ zJOh9S0rEgV9s<}00s46XoThDgs`u0~18LvWHg1m*x%*R}2WwMoJhsv;u4vM|ee1=? z|LVW|&vpLy@K=BJS8smlmwu^MH$uYUFFg%@79(s%u@ z-hKDoTb%q$*Qfm>*WIQMEkmx8O}_WRYUISfzXWiluM+6%X!<39PwAHcPPabIl~;WX zc6ImeNAgPmk90b$C8GauX`>^Bml&OWr3R4I1e8|mLZg-9sU^fpHHv3 z)rQmT)^kd}F6(h3D|O4XU9qWd>Rf5S(;T2A&kYFbC(?heWKv)HxcUXx%ET^ zS1%s;R;D4r4vyFEe)9DF$1i%=_^t4}&)q#exOwmNNDmg{4LxPOx$e-O)sDnCW3`z- z^J>URUrfg+UwoScyiW;34Kyd-+K+X3>8}U)#9#fMkaITy1-m zg73fn_URw~XTN%S{V(2{c&k?&GcM%rw)-UM5HpTyGKa<>CN$t|Oo3o4?m}Qt@K#4= zt_^+`gXLq_AQ~G3)Arbpm(9mCoyVEDZiwnoxHDv`d;!7}&=^Jst}jHkWAtgdbEXDT z4H!yrv4~~mL#LS0<|4?jN*4BD*Y+v-E!}GD(e3^N=zO*&CcItNMiWHnrqOQjVD?B0 zubh7KNZn(3dCv89MNPT1uRhvt6G3eb<}lQMWrByFn{(f8lJHuq>2$69+?uk~MS zY7c;$16P}DaAt>Yu5kjnfEn{S5Ds3lHI}2thSF|pM2pLaY^qo7X8VPx&ofuzx1ht+ zVb_LQ@i-$Xc5&&Bd?s_p#JG%$0j^M|kvS2kaGf7JTEuFg#5v_D&JlG#HU^k%_POmC z9X>KYhaIsJ#OA|faU66#g@5@{BdEwhwWNLQ|CKk7Fvc|`_A>;Ht$83`cv||;`zM~+ z!-r&dK5=!r{(Embjpe6-!CYf_Xj3XvZ5gnU6_b@8_z&6^8-2;NzI*}TuDs7L0qEra z>J}FP@*qGS2FQg1{iK@eTma~W@o*6j0j0FfDm;7t?|~C$i{BQ@bQGEj=uBB1wiNmU ztINAD|JZ-?>c9GL-_SYaW8G1n6Ayzw+|9GE0Q`vKt;L~p)T^skUU}s-7X-@C>27_} zGXSj9R{;3wC>{XFM6();VQKJP5aZr?bp40VUp@CTyuH;s(yIrz?y;;mqWUMU46-po zuP84%7HkAXuoz8!wwR5Re6MQ(et0UH8X~yZa#N)Gbmg8T(7J3g`pEfP1BMq{%hWP~ z&hUFnW+-A{K5cSvk|j!pV^KpK=Yhq4z zTa5CMcq_}uMHa^D>2;nt81^ov<`qlEFvW4GNo0rY>1`~Efsc0VmsElyNAMt=kFWMb z7xZRh?+3TXY1AG^v%rNAkK*xv_zH~cofV7bN4v%L?qpocLd`4Nb0&|eG)Svic51Be zcuxLh#*UIWG#?rV`o%Z|hdw+G%o|I;^o5#ZN(cg=~oWOQNmt)sBQCJVEV`)+v%DBxGk%1TZmRyUNyF@|icUFSYGqY-(Ds%?r;UgY~eC&+)YTk;u7-JNB}| z5X=QGF(uP;Wg~z;MwN8DkRLL^>Tl&DJLh`1hwZHF2~TVXKX!PCmyW@%Hy3WejJ@0H z`jCdHm3S%Up8T+<)MwX1<>(sf;VUts z!?N)tBJk+j3o6KwdF+pT&U9l5F?N%#X)G}7}&5Bar8s$G2j@Z_a2K|w&k-Q`dw#2!Qp)`6znnRxwGo01uR*w|{i z>{E_CZafq;V+zQCjFmAP4{=|XGoMllzRv?WAMe2+Fu-Z7 z4Poc-X+MN-#udo)kvD;2jC8_B+^|3^G4G*?igDF(K!c7D0Q%aEz=3e|R|a4F8V>^e zgWvsKeVvd9mlfR)uROZ|@HZRl8=d@n(!TPQ^-BOZpZe6NZuGT)(~B>@=w|@v6Qmn1 z0&w!ra{yGX<~aa(<>~*d41NhfKR0!K^WNj@zqrxQZm9T!_v;%yEb#WMDKD%pq|^$4 z^-3IGZSI`mtjPu?3l9Tf(v2!SUc-`uf>M67_oyc`-=l^hHoTRV)UM+myJ-b7Z*u(p zd-?PL$v`&0wT$K4-x;%WT$eeoA)`-dcXA6nz( zlsj)?OB}RRoF}z=iQfU9>sDN2=6uG;;~*Pfa6+cPk=(K4{e+8cIzaIEn}_hRPx8P% zK7HVqJ#O>Mse0HxC;nUnc=+(qTm;~W{#+2avpqXN7Zm1V0Nl5^xS)8rNQf<2@s@#D zbM#7DzyCYm@z(=h)ZG9t>+1oZ{@jZmt9u_jIQ{vby>a@^pM75s7kp1Y0eJ2GnlWK6 z*?+i00K%qCO}@Ik;bV}GZ#YDu8aqm=DlE~aEc7>wCpLEEHO4{=sWUoky~f6miDpwd zNJSlke#in3)6um++$vZ?dlLsFCBP zdV7?g@w{sLmJc86MtKa4@b*7M(&so4V4{eJ=Do+&F-cUxHLe7vJSV1V_xZDz8JnGh zb|Ywe@s2KhXpa(`^sS#n4=m$z#02u-4XQacU&gOP1pd%tdoY_x-5uMteylqpjK^iW zjZepBXT_(-P{fgE&Q_az99QGPNBm?PPv(XT^cc`?o?s~qS#yZJglb^&L@^Zx(qKgK znCs}`6Ob@i6s>r|BT1T%Ub#y?D!kvCp2u3t#cj@C??>{xhWCai`8n!Q%p^b%*x?$ zUjlb$y%Z>2RGxT1r_7zW!@d!}z3iq+93^RY9-|sLODrpk8_dmyn=scUr#Y27j`ImkI z7Tp1G`sO#knUgPgKjiZ40>FY=1c$h5xme?{4TN}73?>XLR+@x)|MFp1~JcL4BJA&Ayb0p8+P zAxEODsl* zE>_-ZGn6r!t!>qAZS0KMfsZz^ALi%!L+*t&-9{R0x2dhep$a4ICMpM^N_FR~b>Oj& z-QdP8h`G*9Ir@#!t=snp<^RsAChH)!K|xRk;{3Xv7r9pju*>oI`ck z0;f;iwnfo#5=L3MtIsFsS9;i~*PwnU=D*!Go7;tjVaRVPWI;i+Ug9B3#IY_9HeV#W(Z|NkT*B|}ftN!%@{9Io@JU!G4 zKm9rYW9RYPQYNpK%oGEll9Z2n#)TaDoez09%Qta`K?em?@8F5(%-mrNvcw z@`OE@`mqlTD6^(wGa})aC&xLAgKcbC$FkXSS#dxex=Z&*-}}`<9r)T!ZBAn|=J_+5 zeZkh!1%p#b)N$@JM%_Qa`ob!h7GcLEHWP(MS1=#j$G6uG_}Z#Qg}v9v{Qb9gDRwsw zuwdChLe&x%k-+a(@db&HTpF7}@a#Al?!1`J+sneE$4Sd_NG^2rn&YkWlEvlzelGq_=Mc}snL8GQ z*^b??8&6}fiFV?!+$x90dqnvBJRkk-Q z<=J-xN6TGrilmceK>)l-=f$V}ib?MsbX(!{X%imwig`A>fGlec+xoYrDh3;SU;_%P&I z`5{L@^Q865<=qpv|DVn8=Rf~>`sgaZ(d3@=Gl0NPd<~#wKKXZ-hXHaifUg1k(Fbq; zA*)=gM`ygE($4qb&I9)89OA0(HD5sff(R5KMEBvjjn4OrEr= zwNw$QkBER&5t#dGx7bddza>A#9r7gt1&v-(^s|fRgRWs zKuuyva~}zlI74Hewwb4fQqcz&|)aS@IO?{TaDLtgsnKtAdBODEqC z^x{PP!GnjV`wy=5wW=2Jh=13Vv`9;lCu{s@Kc36`-46{9m_oNpEmJuj7Xen6T9Q*6OyiljIR@wjM`(V?J;(0TbJR;wp@&t z1{*zNuDWvz8>M|uiS*Q&=0Qjh)9A*?RTP6CuEa+tkhNWO_9WBPj%k4fG7ewTPdpB2 z%K^^NC8p(5fx|k?8|xgr;XuDHqLD>@*uoJsnif3OvwYW)YCN}FOs%|MIJP3BQNL`d z;X{@J(u`_^uYS*C3{UvR^o*l?)ir|DN6bfyVLyD;jv7pJTQN(1w97uRKVcJWQLV#` zF1c0ywAib|hSFH4moY;QoAM~98<83sO{^j)a=bDI%h}f6*UL5@3o0_!MaCo)HUY5H zfQv}my4rkOdi0&A4J6xQaC`bjyB+T|v!*tl420R)cpSt_%nndn$8Tdg$b)lJn~t4r zpx!X$7>~BK{Rpz}jS*ZEZ#afIfuoFl0&*KXQfo%P)(PFCOdw4mJ_S))bJ=Yas477c(oi%vETNn_!ZrGj`t5jk^`_V$QG$j>J~0 zK^9XaBj#GImITeQ&{fNq^R|FiVv3g;k0Ct9#)Qj{b5=t9z2tA>?Khtvp70$dS>n-HNQaefQ_zdh0E-$>svQdH7pyKDz+$BMh+S zN$cW#3H|QUOIi^6Q8)@rvP;afZm|qV|Cu}H2~`UD*)X3kBklF zH{bd0tK6SzAR9dz`}*qIpI#Zja+w9#HPdMJuqv~SO|-z~$PwMPik;N>)ag2Uxz<(& z8<7dP|0YCOB^F0NhXZJNsd$H$E(;863)wCVj<`;i9Xl#^1)uOk-(YA92)F@Tf*`)d2*fKL8>VStMQx;Vf^fCsv;>RN3svSRz-zPLEC=fZ$&Y5N2pKYFc; z5xQXDix7$!-4Uz5!pfGN^$k;)!I76}L*VGw1ULa&!tEw~CCSDw2Jhrv51TLuj z54+$F=EJVIVi;&?QuB_%jPt5v9pBFJSE_E#fvlnw12O!aS>v0;lqi;^wn_u4>n_+jo`!8+2a5yGjm<4Aq2+rZ$q_e-Uv?cU+7ztop@LDl>-K=%_Cix@jk#eV zD!~dVYYA-p%C3&V4vn)ndBoSiX?ypIy|z z_KL}6>kS-zs_r(It9L}xjl&P{vq zU_voznnNKdwkkCnweK$W9RU55Unl(j-ajY*Tns?&ivcp{)Jqo`;83r5x|XQECjCP| z%SM143frx{0>(7OfwiOBq@$v;|MX3Db>~a!`62PY_=~@ITmBZ+pgxo;=Vu>^tAG2Q zXyM#^;~U>#qP!aPHGrFMed}8{U-`;cZocq^FPuK}na`ZweDlqlx8HvIq+bO%=?;Lb znk{vG1>lCCo}+Ac0)V^uz4zXD_rc?vSLHzG#V%Km^%VdwCNB>(HeDONDYfKs!DeNS zj=*O@Q~64(1YV=v8#cWT9zxln{7`c^!FOs0RP~Bv8WUe`|KZvi<~7VKY08;m8frubdjXTi(RIuI z)Edvu1ncv-k%Y0CqHio-OHxOY?H)mW;1DfLU4O{RO`GzxJPyCn1FHXX{)2Dl#cy%c zj$_t%e3p$~qObj7S)G$j2UaIEMkA#%BWrtP%{l%z;MU~UbjlgVaZ19v5Lp;A-x+&^ z@lqd$*WyJAL@(Cvj-$=XdB%OPW1=bnxiM`*8J~`;7~9v8gm7;9%DjgGi)6v@?PVc+!z50V&`irM18s$;`#i$|2Im>MWK{j##6VB}=#4^3>ai0YW6|;0+tz3-ZPVI*WF%oDfeX8Gd+pL6-#gYehv8Y&jp006AQ)`?n^ma} zQ8S25qs%BICSwVfG6Y>R5h?=zp|9tFYSJ}lY=x#0PJQx^c*v#OU}^6T!FQ}6T{_vX z_B0`?Ozn)ljhf1G=9~uuV*M?+;8=#pr+95)tGHH~<}R{sgB(~1iF01&nYaya4waEV zCJ8ss|W+ky1Wow|8Dzp>o+9@x-1w#IHJ z@$TTG&*YjIjB8f;+hgf9aX9t zvl*vFfY3!XKIWD4ZBFoeAt28JpwCa2=j0#T*l?ba_!Yf4mK$?x9PBvKwH~btg+6XP zw}Cn;yAY{etTl>WbTAHd)!1og|Ku0`C@i|@;k=`t1oT}105Nu&fz@{75Ky9Q|6CmwraH8u_!EMua})(mRMtS$S)N<&k@&#|Vd; zez}T;r|lJ=oxxFdX|gE14)BEvJP32B1%KljKq$;-D{pKiS@IX;Y<`1VCezrXS-PR* z53Hl<8gZ;aE$pPyJTT3EE=56uNftwnPOrvnyJbsHM*crM;D_f-?i`yl1_3>hJK{Ak z@T&-G5gX?gagS53?H8Qp*xZ>N-)^sCpliwbbe2B=ow7Xr9Dz;^}YVnDt=z}K+g%iRUsS-?dAzJh=cz6y|^22AdR zJl9?`WX==mUS_PEljPJLA9ur*oKdIGoOwuQGDfOi{^7xMx^W;w>iNf@MwW-q&4yTC z16{s{8S_H1JM^KBPN$wWo-M#2+ayOLh?9d;J5w1SdknUaxX6&2f1Un zPkXfnI}nwe?KgW)8Bz@U(vEj)=f?g&EU^@R zVsTpXH{B;=wkNFcc=(B=u`RlYXRN?u!MMQho*PIL!@)>j$^gUTEpv-dWhzWFhP9rt zm~O{+)pG%~9F`jkk))olv>hW&<^X?=CouqZv8i)6ughIhGZ<ADitlu zkvl#KEeA@2SL0K&m_vs!rTGMesg0|4e~nW)1;Gxa{iupd0!X~bu`_1o%^Kv`QP6iz zr@wTlk+lq0rW%g?v${Y#ODr`D34WHu4d3~OQoIBS+XZA9?7FVCOKjz5QHMG_GT1Q= zxj6~pKD8Q*8|#8Q0Iu{)0PLM8@-OdOR&Z@x1|*XuD!H(hiEE7qI0+?EVG}R((x2Lf ze5x=1efg9Bc@SVP2%z&F0Oi7dizQue$x|rb{tSKB*@6(4V_K3B5iInh6U@;WWg@sn zZ5#klIw|5a+0XveFUS`^7mxO^HNl6od3FKdZ!pet5rAI;u(j?2=;ZCwJxgFYm?f}Q zk|&)vnG}BlrB9mPzqx)@2e{4cH)GqGM}V#b6}ZyY!77VgH~aLxdmdzSLay#UOK;Fn$;l*A5W zg3P%f>uXfav9-m*Ktl;U0@`N^`XB^uSdL=`@Qf3T@nCBpTjJ)m>D4oDYBi;UtK(+% z$lM0#*I?B48xh%XS3qym=i=Rdn?5J&IdRvCy>9jAYXUqIfM)}6M}WUFpqhT35fFX8 zCLlaIT`))=T~GdX0pJl|Kgb&oF4`o;tXYNba1pN1oycs~VA8+H`wXYfBI6jSqnY}c z&x%{ zwC7Xby9^8ZwlTk2$|bSaLW=q%u$hl)Yl~`?H8(3d`DkeiKYJ-tq>Zyu>f)=T?{+DN zuKJywcIU}FB||?HzebR4aN4(MHqr_@mNi#`KfCw z_YY54c^rYG+u{sk1*wtIa^zL1Uq;6!kk@etl7=uTDAg*Fn*$s~t8!Jlxr@2tO)R0T zT`njPL)_GU1!ALF1B1a9aY}R^QhexdEPrRO-o0~R4zNw^gN?^fO4W2LKj2#ni~-2> zn)l*v7lwGpfb&T|0PJ;=?H4VnKEk&m>L*34a8_@?V64{El~ z>##A%1X$7tyJ|Xm@n0_!tD4$SZPb;)&DHIXzW8N*Xw1*WU+J7urXPOk`O=5)`QL7j zol>&6(Q^Qp_{;M6g%@5xhR%9^3XnEm1EAJ304(3yH?LlQpgRD#Jfzj6H=24os$T-o z&rNt0u~=s{c6G^^Vj@&7>>OTZ)d=8)7r@|r;Fo4k#&)H_oB2Qlr5j<^j&F1U;5lD(fP*5{6vhoZl4RmP~w^2ohc(tu;Ct-~53VbfJ#aWW;mpu)^LbyKEi0DASOjUF=!DB7L} z=~oW40oZ2bwDnqk=<45^A6&!=%cDTV3&UlM8sSmS#>rgL*+2DWzG8^|Q**1`L4VfD zes%62Cy^ge#{_JkYkYu6=5hDtuwe{xwLcj5{idWB0{9NU?v&ESQ%=xxAvJdhaAyEt z5BPvP0XXT`3H`l$x;tQdkl_38-}gyB7YFzDm$JF`I0S6m;F%YsrCEbmBXq(DKEq2(MFy3bgYiW$L`EH?5f6{; zFE(fR#nE+at>dtYwME05aXG$|kCZV{m46+%_K!M&jLQ|(rGAYqKJ{AoZJk%aw=RuVvw&?<6%dyd9HQXU~4N&S~#>drMWuYIi8@nU|-%u`_j=|vBNJcSj z+k1?X?X@e`LD-*6?L9IwKU0-j*knzHhU z7}vXdG+hT)%viwFI2>u^Q#%a1GQ)Tw0%ACvxDUZ#ts+L@y04;MeVZ#UkAJ!CE!=E3 zU2L7XHgKj*P5-hW;pI52ET*+BJ&dR;g{rw!7JYlsGG;q24*}E#@B8{d?ma)V>~aE} zk3(@(v@)*_e{!Hp%uIKKoiG^`fA+kABU5ud{QlXyw8P_)g?x>hf16blta>6TZcC6;1B z%rFSZP66K-Ws%Pv1SWut`|oj3^>z;c06+jqL_t)}Mhly3YWS4`$}p;e$+VF1GGy9# zkt{J`gCRDEBe$6(+GVZN*YaJwK(&+d{eQcap4xW^(8zz+y~Q7jVB(4cwf}+Dp8CS$ zdr{a|K2=2ERCC*aa00KAm>loO+V;tbWJMcEGMmhu*+g?l&id0~Ov*=1>=~`J*Ek+D z88zD_S5ybbFi4;2#SuOt4|Xut9RAPZ14!9~G&@#_6}_aqrg)BLtQ%8Q2d12?BRdc< z@lBM=aAK~rk&m=4&9TOba7NRbZbKw~Pj@+&ZpJ}!?3$-Jz(Sz9X7;y8G0=+&{;4CN zlNb3~JJ=N|PV8u_)!d6sYPZ&_j1)t2Ut$c~kSEn!%UiiV175p{gvZ0QImH)#Y;Bs9+$ z2x(G1a@@Hbn=!jop4{!69iC~`gQb&85!9I4eCDnBA9;rX%)w=gi4~TV>W$Uy2%W=o4+=9B$2h*wW7>~>VHlvJAXk5qB(lOrgjd735@n$(-o=(2Imau7-;9 z%y=*+#CMEIe0xn#7!C66oJ9h;$c8dvII5Hn;EG`La4!{1o8Vzy9?l|1cZR zE&%+9qwR%pVWY1AoWA|-Z=dFu08ac807bt9;0FQfmjG^fNwhDP_ATpI0eE zTXTAYHjR(p+*h03mzRDD@b+Etpqs;FsLV;T+(Ah21IltEJvKvQG`;GhD|3;pWxGuY z(!|AKRU9IL$L+;P-!N-vE_QQm%ZIVFUJN!0I(}%EJ8gV5?r7BaSPhafTa&hei$Ge+yS7P3j)3sQm#1^ z6VYU|H3&>)6rR@!Ju*5iSx;d4F9Q$^G8a{DlRG5Jds>!vje*6&uvoYc-t#pv*)|}{ z4?nch15o(YT=vl4?NHznoKoC7#AE$S{E= zm-s#ZY|M-#2#Hl*A;mF@0x5w?d`v{Y1;yLu;H9|g-A75`g_NnBv z7(_Ce97KuPaZ3kR1G>Z@pJLvjWi&e<7_WB0Q#*IN7(?WCb^)v$9WTQ%+;GH8e8^}| z{25;h7r0{{sJ0#~Y%^{Kx{b3bz}jvtOt}!DU+V>31H8a3`7)w0c>ATF0za=FgTXlt zf^R^b7vU_Uo`P**mAM9E*kI{O#>-`l0?~FSp*?*!J${in6zhg71mR>0zd%6ZD|xeR z8S1m}md?uTv&dG=EAFiI;_Yubcxb5A6N&$c7wYQ~VS8(Vii+nZN>hGWTPCqCAYV$P#2a|EFD`MK$k*VrptJnM+K%7LyYuY&(+AOxFY(VikE0g%m zt&e=|#TQ@nIXD*p4vpBexE+j({Y;71?NJ_PWIdF7V?RD1_N^}H-&qf*)WB>;X3 zaQ`{L-+lY_cl4I_T_N>PaJ}n%aO;6gvo>b=*|!&`T6z-JqEfi=9T)n+VRGA^IG{Z@K9nD~voZaKJpo9iqRn<98dV2MJowviu)M0_27p^0r} z=`C|NDod@ck^=9s+W0z77!esShY1#83u7kb9ZW6{(0F zCqDE?Av}p0=Ego=thYRjvmGueu&?LX$TQAKjtZC5?xoQ+r;Q@ zIPuRK@B59cii}YsVD3C77BI8KO?0!bj6CsKNLCw3@{FGrDkFhBvW{rXE$LM$@>CwpwGm^9>M~ zia40-bY{+z0WxP$|BEa7m?U^`&S{Qq;Ts0W2|C#NihbqD+p#E~@Xf%e+HD$bVhhU( zQQhk6Z`>{pa}A+A*q_iPnZVFlKbx4;Fxnn#Y=S5Y+1)`N@l-I`VT()haLo1-r^z9L z=%E(D;=ot1juI7m2rY+rBScs^(KSwFDn+_$KZ;=ZEE8AO8{nd2=w3ka0ilZb%f>T) ze$f7(@G|e%0{8sVaoK%F!x$mWF;*?bOU&3d_F65j(T7vpvs{XXpfM0fUbYzseD>q* z0a$Sh2gdLrXy3;?^!Of~xlMy0^9wo25Ux|LlLl;Y0jiHj(N=5OS%P05c)hGVG5Rm5q z9R9{manZt-R@&o*j>?*QwMhdv@rA#>KvMoc_TFvR*5tU-n`^CI2NsK`YMq5P2tzj_ z+YJc3>>Iy?^a_4BK7arNzV#i^R-;WdOkEIdwMmI=6;-SQ_i=fAW5meJIrpYuh^!JU zRIc^^85uERL_}u(bFF!1Ofx8VQ&McyHf_eDZS-3ObT{$-{%flL{>MN5@%>-?#b5l3 z+!uecv;9)~|2hMF2p}7m&B0dz>T4Vx^|Jm~dX}F>y!-IO4@-5Y&jHYVCI2JIs{k(g z8~}aTl-~;AZFjs4;Erz-!10q;FMjm(yC;9-UeZd?lT+#Gs)y3IuXdLOoEp zoyQI*#axiZ3G3R&4Lpo~uY$1LN$15rz28F(&~sp;cWh+h*_NC*^T+G`XL%a{A(;u* zh;IV8yMOL~m|w~%^EQ0u&}p^FS$tt82S*;nwxh@hu3+keetRjK$(Oun+ZGPrATfz* z#UL+S=N_dRdat-giDuo54^L}286}<_W!TlZ4)v{LIgOvka&(?v*F7)rwQg|U2kIS1 zr^LDC6K?-$B!WPLdu{KS3twOc?SAqzBrLvu8M_rfL;fA0PCpocZffzE ze`I9iw)F88w;*Z$Fj0q34y`qBEeIyFG`U$-jrhcg4|T1)gaP5NLj^CpoAZ_AesmaI zU^tDN)5+&r4!?SXSvc9b&2v)^oZ4fT!hbNx7esOncv7%->s^Cm2GtC&E3I$ifCWJi zjum|*?A1m#@62Is*WP7x;y0OBw_}AhK9M^^WYzk%+`8&_+b_FllB*Dwi%brU;uxB@ z?j=yQ*+aF)LwsJ0-eSh9x`1X8m~dBUXielCTb6$gx3uYc!rg^8Uy z_#XlIEhghQaSrDMFIRIhL2X%QuNf+{w;#tQ=(=R1ua2R;b{%-rW*Ra8KYnI)teAT4 zzUdg^+~G=uUjIpP@;|^?Z|z0L!4S+wCg`$ngW??5zrrO)0bIlcnKV|&5j^)m<8@v4 za-DsvadE(N{g7#|YXhA6%5&<$uejJIzcY8aQxbpF zGb}S=9I!_{^S@x_5T$PrsDDCCzY$WXxlWO_ug=Eh-PqCgTrOv*f3msr|5AT1-}&&} z1U69CDZ#lM^`wp%4|SrV_9Qmiu7%=fnU-<+FCS&cKmLB@VDJ3TR{`GX>wzzNyY%IS z?kdc)|4x#iIz+~gU%|)FQ5LbxGhfo5HLPTA1qkG>VEQ%NK?YdSydjYIXIP_+xIEt9 ze;tP3{oUWa*CE?s#Qh6sUp@fvTbSe@{_uyaejmX>_VMw@AG1T3o(}=ko&Va2Y?)U8 z@IU|`V5N5Vt5+|7^0m8%KhtjZrg?s+R{&^l@F;*j_Zo~ETUk3s4DQ)Gu&MWMwBFZ~ z6uDvXCe6-9XQeyS;aqiOE3DM%@t!z!)7S}x+kO)3z{S8|DFjC~<6J9yY&EANEJJeZ zKk^jnih&8oq;esn&xZ#x3-Zz(dH$#IBQbF3aFbwJH)g=T`SRn-oj%iqIpGF{2LK-Q zL4bF6p9S9}$DP=1=bVotKt$zs+AAkUBLvzJYl56{Gdy);qi%{n>%^Hx zesqm4veXdWRgJa>PHK1j~p)|@imqiEjkrN)Om>o;t#bIE|sc}_j)VjwT_=Jvr2PBorL=$&NZR3@IG zoN$_Pyoi;#0A!s`o@3x+-3GE^-T-HPyDs)^y$p!=Yg*GZVQ`>5j+@V~)nfv*gM^28=sDDQby#JitZpa&X4~`%_OBDWx~G!xC~ zrV8?~RId6DHLr)(t9-~`(Ko9(3BQHerk*@}kqsxc=Ne@;>8UuoL2lP6~-o;|5 z9D*`*Tth_M%p2g~R$qVDEe3js&NgE*;Af>KOva~%e28(ZgFS*lznaA5xeFdMmdSPT zB{dlAr(6#<%jL8FT+4}7d;0K`Z(A9C9Xd{|C#FGL<5_R#d96LUlZWcN;+TNVKeo&n z_^o#m8duXycTe`af>sv0N5j|KlEbn|oZZZ~oSHuX=T8Ju@cyw7U#XqD0|gU&%{Dl} zF7cjQ_=4k%c>22HIt^^+GV>9Ty>l%~fe+n~*C#zQxqXWXy)3L1=7FHUzW#3$j;GHx zjep{iPV!ltH#I3Jg%3qZP)TRsZ7+`MXz@x6QvkI^C;2)yP?YqI-Cp`e^t?D1;m$U` znYj`LK#rb6)YBM)U3Dk$#18O)Pj1a(@^^l-AH|zEjWE4pUuSb`zaFm$t8XiTY4(3#SIqKhh=(~53@x8^E1Kbf`qFZ@7GM@(Sbt)V2H}AC< z=-7j3J&Y`mFJ9#%o@4mTApG$eV{PjBp;0TC_`;WFZsw|E=8V6QI{Zxl&-rxjaO^%{ zYfS(Iq45-pf6mp)>^`c+Ry(`d|IEXIA2|%4$745+yWGB`&l96Bgwxlm^Nj#`jj-bK z_5)ra0FS;+Z8eQ28>Fk|SkavGY|Sw@MVKdP!YG#=#$ibsp?U&pN}jxWe)-B*zT)RH zzw@2%T=Y2r+cD&y`}xZU0RH(?{MvUn_L~6i@8=8ZS>_yk3xK}~fN*>Zz&r@R5Dbkw z^^d#_;AhXD=7RvWYq|J1@=XA_ir7l)g1|9b%UjGFjqR=mNKJr2Xlo*QBWkN*n;SZ* z!$WV$Js=D6(klRX2n_+{3Afa%b$4}5wj-QF6T#@9hEX8xe_vmESOpdM_n3C4j~ zVt{}6TpMu>qn60LB7lwUvHEWEjKlfW$9bk-IXD;1@xwi@0APCZ2i5s0)^64$Zz(Ye z?GnNoBzkgdp4ei)BD?a#4!dhIbGT-GJh;M$oXGZpe{zo3wq-nLg+Dox`9?TLpEka! zq?Yh*k3*85U0wXdkxYK6A-OUs;MPpAC~b$>y=k2EnBaM>kr)kAl5|W|#HMwg7@7n1 zxUFP{I`a>e0L6r4I|&>32>|ql=KNA~YlnE1GWjni6KlkJj?Ju+jVTaYBgPl-aH6n{6KhNBj>?)_HK$dJ>j=kH=xgvfvRo`VTjrFY zuVGKcihB}}gAVTO)B73A)@6Qf6ZpqMgT}DGu+~PIbBIg7V#6B-tKuGyg*lu&zw+^- zxF1w8;|gn;*S;3?wd-Gm!L4Y{C!@siYBiw4~ z@xmcosToYoM_#K2>9!n}UHc|-_Io&U8N3OwiO3LgCzgNHgY?o0Lp%;3^qkz=2fU7H zmEtRuZ04SQ5-fTgG`kQ9<24@+x~@~|;9TYdB+>3kJcfaxchflgNh55_5c4`?(?J|V ziaTqoOujhIc+0n0LJI8A11`6X00vWj^e3kB;hTAjp9%1x6_e0X5IgZR$1XB+LOgS4 z{*Nq8<f+|j&So6XYWp^L*IL&T8Fpg27WFP3PvxiK&XFJA$0rToz^S#m2zvYMDG5ke-Sk+tk3je0dLR?+UN&%!DcH}{ z%^w2W@ER%tXh=D4>&D^z$N4%y@%b$P{tN(We7z;RZLuUi^prLc+!xhZ!fMFTgF#ol zM7LW#e~4(Eor1C?vBl>NID@xueW+^*p4F2mApm7FY6M5 z1Tt4tj^{jtIh*i}eX3oz`J}aroM+vGODyMf<*0$Y+NcC8tU4EF0h6m<5IJ0zd;2bS)aVKmq}u#0#0fSAIS zjIb~6ozfXlauA$1cB0DW{09@(jcZO3g9R|F>p^L4P3dh?2 z3k)0w9M$YQgX%_ajQz5=x<7z9{+aXOa7~_;_Nle8R%h*!SJ=UH9#$N4?s>>wm6DjW z;qXvS^a+#e&6pJG`S9MJSml7T*QP0j4_~rd*Nl0B;OtlkZ)n(7ZI&mWiG>S!hK0Tj zTx>Q^l5k~in6vzlSK>^*;|EiGj|?QD+qHm7TYMVU1Kru2)1e4|;~WNy zuL#1KT)4BJJN&!~psxV%6)8RUAH2u7=Yo6pz)S$09}Jjr@-#5`xGZ_H5pVNvp6$n1 zL!>sBj~8jHz5D93bq6sT2*23&L!)eWxTKPLbg00KH^^t;P#~2=W_~?i}g!rx%fR5&V2Az{w{t#;fANcZGZ4*Ab8Ka@OcfuPmQfJ6D z4;s@szRn@G*bN*eVl`TF$vASeLsxFl)uX#cHuun<*hE=j6V*x>!ozfz5oG1Yi+3Yt zKa{t9v%9)(WZZTWn|nu&F8upkpWwoQE)O908U){*nsYPXT;(`5p6l6T?2R*@%KKTR z#K5QPQ7(^rU7(!AcmDC6G=1AahS+=9O@l!)d~-YFRBm67sReHH$&S2kb1ctThFljy z0)~qoJtt%})-&TMEK6@*VAvJcV;m6H0EHT^%_ZW(*>~1LM57-9>zT1hM!vB~GjZXK zQkEr8yy5K{OPdDnXlMAYPm%_-vEAEiPA1Lx5P$Ha&nUT4+hUTyj4>{!Ygb;@H7bco zcQwD`W8_iC5z_O~Sf{?a%-2MsBaD8EH8+DgxYx`#tU27|Zbl}w}XS!+b3czWLSzqp?y(>DRs4Xg8t^We4$vJU5H zfkEuH@v3KpXf=WreFXdCr=NamJMtW_^cH~g zZ2;$20eS;GeSGy3oc%I>-8X&q@HBV1Wpz-D$8O`kFDjqc7Lw{r_PhnNJCBS3v1hhs zInl#bqab$In9l@Y(g&Se8ouAYo zIEl~Uav()TE7$a~udo7SKP()M^#Rb8+&ZcdL

    2ZXS;qUGtp$%1dt^^)%-p$5RLA8ZQ|%zVT7F>a`4?ZSDXAa0gfXqKh_o19XCe zb8H^uB!hDYUU|&rp=T}}#~d>^;2_pP_eOFlSFH;`#GQ#Lr~wYOT2|bseJ-Xd``-AN zA;nDW)Ykgy6RztyaZK@HOODCr%r_Y}%Vu)jry5~qjcm1i_>mAzJ=)BZHH>CHZZpB& z`P1Cas9O58>v>=K$b(p{XVx^eLev`D0|dic;_?=Nw^lj43_s}`B)$GAr%g#NHIXKc zqY99|@$EAwEVQABWOyyRcNPA>KCb}q9sa)mUwvNoKMw-xqJH$|KxqW1>o}6fBo0Ir5y6{ z0rmN}brqmJ-vI%tM7BQd$)?By?|g%+Wli2n;8o&*5$*{%5|yBQ&{WM z;h9aIK(^|{bLHC1f=iFm2K5tTT^OUcx-y;sapn4;hrl4XB9j_=LZtB_gn^;Qj)@J7 z47#$18uRL)VnRDNSQGC32R#4~u-^yFC!Id=HvuR^=^e++@T(1${6*1WK-gqUO*dZu1af3w{tX&reRJQ39me}$2&p1vOW0>S14^I?UHDnXcSRM8m z8Nwi_d8xjJ`Us>F5qR5`u%I-QsW!6-x5-n<&O&yCbL;{=I`%!__02wt) z;kyoAA5l4cocGxd<2SCY36Nuu22EHpgO_9Bh69LW3Lksw z!sm96bPqs{I|nj{&r?%vqqWssGGJ?~f8vD6aThAOm9rd^R~dGXzWJf8y!kTs83(bw zD{X5v?wLCY%{}!h7wKu%k6fFz=wz&p-m>QD)NS6>&~bRjsY(K>c}}ET`-xZ+U_%qd z*anRIs>MV3_LT!vy5cs=sZ9lsHwid+dT$_+%fAbTL__Q+2?i$?j`%w$`89ZZ9M0w%q!52Yq=zSsF{AX3=D|p| zT_Nj$a?;uC$v5f1uxm}+FunO4#PwVSxqX{oG%Gx?4bnh3p2x{>2Z92zkQ!^{79(4hx+_Vr2te-;2A{MQcy1Q$QAwdA!0t!JL#BPuWN20O{D z9!>7>tlNBGYEzf)&EyWhKD;^in@R;{4)C;ZJpb<^)Ek-gd2xEO_|@F+qmTwR?(;r< z`2fIgFvENcfIhkLqHh9t{J{@?aN%XQcK^vId8YYSzxvhE^Fe?GtH0}80Q6OW z)_?r!*-w4vH@i~rY|*D%_8u^f^`2h4hTY5Vi6&R=0$RyVZIkSs)+=HW7NA~$+;E^{ zfBP=BANclUk}L2A=@{SL5+0=L4Su;L^&tV-uC;iFTinHROq(dbjCQA5r0r!-6b-xcuAs^Uy#u%D#V+N1~QXqnRJ~QEy#ikg$Gt?g1ui9)}B$W3g@%%hw<8R5J4x=A6HaMMDt zZ6{{g#)pt1c0FTD?&N`yveG-T+i=*Ocbq+U;C(c&!|BMyyv0dx9$cIN6wKcY@f+WR z&G{8?z4L`6rn7Gya3Xu$_(>mlQlD}6g0CA)U7_!KGLXlV!rj>^vXGn7v z1Sc{v&bD&G#ZqmK`7Xhb;ViKZA>@YZL^mNE}2RkVlM} ztJ*v+gluGMN#wKr>({6g+rH7Y##*{2f~=OfW+j?`PUFrm>xT`Ww!L;!n+(`}%$^N< z%ht&Hi8XV)_$1gePRO*x%seGh{Gn=n2I9TeD4L=0z3!a-KC39(vFMzpne9V5Es zui?0F91tr9s}9%QrdBDLlg=}}VOPmEsnm5%o7&CW2{I??5Ar(jN_NE@eBx%V;j>*f z*DmAYYZ3M%`}|bx(VEEA=L#lHadP8#wal@z$Q;PRC~KKL%>vcO$kqsp6zFOPX-rIB z+tv&c-sBn|{GdaxU$=!fsg&5uiof%*ap9Le6h0SGTYHS#76;dmM3xOqYcamL3sHT& zUH90p*+CZF{-_567akiqW=&v8md;yZ^EvBC{2dW4e+vK~0{F|fF8BT>0Pd@vc?cis zBlga%oM;Ne!E0y7E*Q{SSmJdWG;nX|+>G`yO9stN!rAG#{UkN~JV2>0%I&;?@ z9Z@%jF&|xW-U@-azwdSOBLJ3Vr;wz&!Duf}^z8pvo`0mw?)BmBPn`TWzVVG$=M&1O z%jYS7`2fIgHoJG<{qA?!iQb>z{`R-8_UTYR>Jj3}p<+Gm-ExSvA7nc_gFLkMKM;r^=RBa+=t3_o~Zqag~eC=g?O3Wc)Zs z?LQLZ!u@y~eM&%`Jql@bSDI0+*f!#lW1M}(7;~I_d%#$rYczNMA=WI=cM1T_gAG)L z2~-{^h&&hQxa0=^1AP@>S|0i5S(tl2D%YDytotI4cIJ;b@jZXglWO@v#w+sFrKZTK|Gw_83oKl2T8Bb7*Ka=*Y38FW#e>m!=X=d$I&ob{;!Ga2?}!w!Jr7 zOEh>Pb4x=_PNf9e4V=jcP$`sTa|=K`Jn0B zlRC5LoVMXeXAvfvQ?hR+odG}Fgp2&^4KnEVpf zwWB<)4VM}B?b)?5$UtLZPH7mDOQ6w0L(JB-#*TwlKV6qy3NX{1HJi8CAYMCP@yXg+ zc3p{AJ@Y`zeo7C=RU@!fI+5cpZD3npo=vg2u6Rdn9qucJC^e3LKn{;QjKsXsNy6loY&1@A8xWg%`$oL33qSq431|@oNq+sY z(U_BYS77brCnmS(woHvz^MZ-FaVN9{&y!uQxeW#99|I&s%e9l80aKcB(w8NenG@pZ z$2P*w+=oN{8fT5;&$-O)8^_og#Fng3RYH&KesZeqTHpGb^=8SuO|C~iAi_*vR^+ou zKZ&mz$J|IZE4SBMbe^O7NX6fbd_}JAwtlMnFXK94jD*f(&!<#_3C$ij2gi=CIZe1s zF#ivsTd3`R@s-j?Y)0{ewQl{Ke&!?rXgBmG@r#{_p=j){7nhp!-7Gmk$8^X4B0F zH^ATpJe}-vfdBm;|J#3L^K1L^7r@7h zhi8wE^KiK|`~`{2>^%*9S!k$hN+M_ct;Nbkg%!p42IRNk+YTdq#_T^*>}ItP=-~pt zAirM)7=2!@53NIlCP5*+X$=onrViVKCJl~lR5d&bi9#7TtYp$ySi#RPVdNV+COs4N zK>;Yfs`-D1S5{!r9CHJAfB(eaE|6N`bq0bbv-O9>Y|&w3y3QPC`r{{qZJ}~Jih}FP zXJWvI-u(bNwzCJ55AsdhDq)mYkOFBUY?F@GIOwR?HQRzw*1;jiFUHQzY!NF@xm@sf z9w1m83eTD>8{u?Z#W%Ql1&@y%)sNX@$0Li@aO92Jxs47#@=BX|aDB5HC3cP)6j~2> zPRtrO{6Q<+;p^P7$`|)t>y8U%Rw%B-a^9OLp=UjYuU%2}J>m}{jkuW)#zNI8#L-F4 z*WeL80P^Cdhacw8aGmyCMlK$9*Rn9ps6B|xg*hCjw>OCi7m{NcU3>;XjX_u9CWlrdqttM;#a4#KiaoW-Ht@3GUk^+vCvyhI>!;h)#wnJV$kF$Vf0;p~RR=!) z`)rAzJ^-YO#%sdKf7e?3>b36i4EF>|=fWl#b@&WQQesAEeg+A+;~BY$Lq2*rXW!r$oi>FkLPV`h^*^a0dkb1PNPFl?QV371dTxaRyVL<*1#CoDO|Ma z?Ki#)&A5kyI<=7|Ci8nxiD68O(V%&hi*b%*%HV2jJ9~8YA^bWx zlV|4(r?t*Skb{d_JH!_Fm!G-fi=Gz#jzY2Z^&Hf|T%zP$8`v-;ZXg4cDOtxK-rcrt z&@oj_?;{M`FL6(8T}~e4d^PUQfhpp6skg~KeE6>EPoE|LCc)LI*zB5#V&lk#Ias)( zQg-0V>2>g+fFB6ZeTI30P)aX#_W(>ZQ|UxHu4_Wr zc${LxXvsZX_`9*d_C0hMfXnve)ziy2e)V^km%8)M0|1}Cc;HFj{m6t#zPQtqFD}%- z`bc~gV7E>CRrGuiAmiHT{U89nn#X!8fbBnh@%)$E6TQ>>|GmNVkJR(~mv`^n>3cY} zk@7~BQ28>`22<}>3+OSZTzApU9dlvvBTVfI>Kn{`ape0ANCu3s{@?-Mh?~p?yp)-! zczn$_(N127G}4*@9mBJ6u~T zNlq(y+wfGIVoX6UD4Q~ajstL9F9yD}i4CmKWp8}*$|_!mJI2&u<;3hdS?>V*l$uw_ z(;yBJkigL<<#CwcvS;4`l!LCBx+Sd{VOm^pYt+2$I#%aB_Mt3}JLt}N@j$WHnz~z) zgFy)&y$<#Qxzf77_;Ah4O?xnLAxGoOYtNj_5~^_B)H5c79m|uK-PqV*h}|?xzkLr& zz=9|v&s))uq&76pSL405m3l4L_1@E+~8O9`-y#kWXt-Vb1XZTRhT#=8Gd~F}w zcL=5~lTVnd0KkNChhZ@B)>*&dUz$R2v)yizUGk<_HQN&&k%eW2i4z1is22K_gX;4S z04W_KIvfH8oKd7&tak3^RB{eMlGD7e_7HkE`m8kqa`Z9EItnv-ljQmbM!qz==wvQy zVhd&z&MEb@n(V7^gvU%n7{47uHpj@!#w%9%JXVa&rW{yn;!X{diM!;My>P8>j@2e7 zp8SP7xu@2iLr)xhf&yJ^7|J*KPi|<7bM9CAU4vhRN`O_MBCsi?gWpjlyC2Tv;At~1 zn>d`rW!(AUGqU&~Kwbe5E}Mt16{w$Jow>$yDsUP)cy-umnVWDLBtvyUoM-$wxbI9& zJkUI!0ibULSnvP$hyP&%7p&dn(Y$0x6J2lP!hK*S5zpQ#1UCw3qV&Usj!_&W=_yk^ z81Z|*{E@PF^7!gb_c`vKTt4_8|J@&b@ZtaT*L+Ld>_NZ9dRRX9?#ovI{4=MR)zY*7 zUgd*=@g3g;K>OCWzO{F#HEVlxo2+jF;HCc@)9(JykN*DSr>|c9#6WGH$Cr9%%l-35 zE^>CR17p-&Tv{uQ5z|Q< z!`y7Gj3W4kL4Sp~GoKp?^tB;%jD$QlCH~8$5xaIEMrGZI?nuP}jEv|x91epkdS+fY|;4tRpaZpvk69KO_q0snq|3N|TL9tlZY z#~5Dh@Yp*P2Vnf+fNa^fm>>k!u{*1qpAAsZj^6fBQeQb%Z(B~bTT~$Obv(#Im@xnh z(oJ1XeR2ynKK9y9IPPYO@K))OU3HS*vO2(i*1mZ9UEgRYwS_5(^iHvH;nZ(lei|e7 z`yVDb8*379vv!QBr!`Gp*aKC6<{hp5OK4ulegkju)BC!V93T3f6_AdccSlvKmbISF z_o#uw?JqF7$lh4!>jw(Dpt0->5;L}296l=z+-Oo%@16%Cr7m}Dd(D%*tQg#aw7&B# zeYh6Lx!1h4r3gp$?wf!hiFt;UMh_16+U@O(KGDg&Sqwv(14iu7IKu0&8?eQBV#y1PPR4o=pE?>2*=@_(0AAdMP!ICdOb-T~^|F_d zF|zfXBkYo8qm9}EGSoE7BcLM+vF_*kH)sMRgE)}^>ohbgAM0n-yy|D{l+h>aMD@E+oY{m|WfWdCAqGH3Ed1&NipE$7_Hm775Pdi(W_VmrT ztm)VFAtah|w2vbE+Y?DxgKA4%4m>Q5J@dWzR%S(BTcQou&TX_^yIH4Vi|e!Y)zjBj z9nr`ut$$CZZW*bmbLJW0)yMoQCbuv2_n$l&4kOGsg!Z3pU~J|9t0d=LpL&>nCNDN{ z`t?y%W~sjPXCtqQ^OTC=?`HTBkfBBbx`N%iNDTbTDxO@Ta%U1yW zGbdRqg=e?IoxTe2^7nuL_x{Sir%&~X{c0b6_#xfp{rBHz^XvNb1@x#71H9;S03LIbtV<0pxsT&%l_3t9kW9fB6=l13*3mWr}oz_vGO%@#`P(dwrtlOQLLki{qRr zj}4V^&P}7iG+^vt(ij&~U3(*@ruvPWbENppy*wtKmP34#D@5bi7_(oKqp>@e#XW-a zm}Hp4jw?@UMq4KU7{>z7jWGsVl@b@m22SHBDfQs1wOw`_P@bA_o+`=s^Uo^2zFx*- z&l6m)yBcOE{^`>E-NZV_hAC%yn1GT-#{7Y_!KcnQ&+=xDu8bRa6K@#`54mHFI5C^Y z@>l})xUx6N6+PtYD*`k|s;hhs9@!12p3Q)#+c1hJR|}Xav)LN-002M$Nkl}t>{!E(945lV(^(PhY#J}sn#cg0*MTKJ=BoIvf7i}XVa{C3;S9z<*$6#3 zlHbxD@hmo2iBO(8k6Wu)Ai{1;ay9>vJ7VTH;8K?s4!=5NxIx{v(EtKuko+VWTsg5S?h6ix4E3~ zM8m|sFl3!}HM?$Zi?UQ3d}ea`EFuX-pKCD}<5;^gr&ndXx7}RKtyNo(l=#eD+OC(e zv;(JBY`g{F-M{~u!DTA{c-Y2?+rIGPywo!v87Bw08E>5DOqyjMbMpySc;C@y-FruW zJ_PWU-U6Wi-+kwwrz*WC!8a$Fz1}kA;t@4#%6ciPby=zN@0sIH5?NOgOItNyKW^Uc z_11(BKKsA@!GF*1-qAx8Z)vAK(Fc=1Tpr$i=klHJeCP80?|;8EUugg30|39_ba%t> z2oB!{AUcjV%O8LIarJyvpk?m-t5wgl|Hkq_zUk%TsGPDXu|MAxNk(} zvavfiI#7X#|Im3Z*Q7 z7l{zUqFqQ0q9M(!$u(dhjcct9LQKyMz9;d>3-35H71++E5H7)aZo^rRbA;ol1>{M! zWG5mcSa(wc0K~=_HJGb5c6Y+KMkg4QX=LoYq3t{%H`mN(vdVR1qrlRIM7;zDl9%(b zp}>uUSgk38qA^CU7rJGGSBT^zt;eX!0y@n+$|Vm#4A$MonrGopJxZc(oneYoExuV# zVHAfHD4m+?)xDB=Gs8M{e!;>?i!S5SZrL$Xd->xPKV)96>|R~hsyyhC(-R}rm#a1y zEX%O(Y@$nB4D*;=@Y_Bx*95lq>Q9~Lhe>l=%mh9%ttb7~cmDknZCT;l3h(+?f4xs<{(X^%$s1@PBTUTOJkJ~g?CKr< zEz{K0B%3S}y?0mf%v<2bANIxA*$=(~o!2-?@y@$x4h0;M@5bO>9$rpu9} zCvSc{bHp?sKDjPiV``!d?H9#ik7Ta}+Yng+=}_zEx+NjBj*qeNkQG0-E%Cd;VOJw2 zdiup-OXBVM1!Uk@ukEgR_GEKj^I+HHP#eJOy+b6QgzXtf+uGVvWIht7DY_a|*ymV2 zZU1G^~^?Kp4iTw!c*wzwLhr(Nw@ZCYVLjY~j=6Q|_r9d`W};L)qzOYT3i z>gz!m+PdH);&TeiQMk3%~?2AAb2mhkh(lP1X3RVe!0cyy}U`_H`1$ z)gE1;*a304vP-qnLC|4u_sW;I;Onvdnj4TI z!aqOp%La_v8T@# z&_G01C6w6_J0yRY%|6P#-@!#W2q`p1m88@$AcB>ayuYPEXRDIgJT|OTyf(w6A09J= zxem7L)QIStFEyvZI(0{}_|PVo<{PK*#SgHxF$J$WR}IuN20!~>a)m<5#r3lzL?;J<2a0COq-rE zq6oiaa(3Q@_-+RS9Zq6o?$q1H9e?geb8zSXIPQ2|CVF+llf2edm`iL0m44(|3i+aw zlCa4P;kCwnG@(HHvBvkG|NQdDpZw>`TX)YMUp~B}LwEk~p4`3AbN?@NuZyn%)B^(F z_~8$KXyy{WaXxGOE%#qO0Pven=-qr10Ncjx_$C0xk6-)R*VY2-6#y3w-U4uZ3jlUw z`XGSb25|R(ee$6m0KlR<={)_a4fgV$trM&rdO?88Eoko1Ylt7s_n#Tl%7C7O`Fip z-B4vV{`5W|12%dWy9TlG3V@3rgkySh+~4Oj00M2UkfpA(ccBWx)MxrPhTt>Xhcb1A zBlTFGygJ>^TizYR13&cwjjS6suN@2^hr1!D9n-YPFhc_$TfR6H z*LXs@c5KK;RBNP9-l<`^DO9-ab|ss_Ihl}D($H}njd;|);|4tG3~%PmL>SD0*ATyv zck&ayX8NY$6qu_cmw!?`fGe(as5=kI=m0|KLaJ-d8HY!*@@W0;m8g+x5=^9%tQ0X> zyB^Pnl^Aw2hlaz^4D4fdHE{{=c5i5F21=d$G}n!G2?G^azlqZr8J#+0j@@3@U@Hcu z%Jj~q^o*UCgqsGW$Bk+DQV%uVX3*P&`VnI{@EOj=pm(84JJ6OiOiJ6=&XzIIAZ2PPy3ZWOnAyNn+;#L}owPNPyD zdpyAM+4pb;OZ2069ju$Mwv8{G`Fo24O;&JJFPp&S2%oGCz@pV$+5i50zZt;B&(wzqwPs$_^c6vp$Oox zA93`PwM|{f=Bf`dO}4q58}ZzdkwvM{I&ZjjoT$W!*D1r0oOTbY`pWcf6ymV;Ix=>V zd!AfpoJh>l$s59)&)QFYW#;PFw&8xGeQb$-%}YU-b4EPSg*gYA@dfTzy>wm|cf4}EH-vV%X^+L3~8lVpnNQ8nrFV0oNMTM}(E7$65 z&B=3fHSWA#E?;^1(d7?6`|Hc^JpC~R=@b9oQU*`%p6OYCJ^QaW1Ux942WNiw*4tk{ zXe{R1y48L@<1Zfo_|4|ETL+fx9tnT@w|{&2yTALp#jFK=)aL*gi+o}wpL@x+z7627 ze)+TiM?2N~Rew13Cg)d|XAjTs{8fN>an&yGxq-7rG}*nrT)5TEy?i3i#$SHTfY50& z%|M)L)+#*F8W1H`ereTv5QXe6N2A>XkH_xob6#-h7&{Ss$Xh?8W1Z~q_!)kBQgIJ9 z2MTo7tA}mpB)tsW2)uvst1=wWkK*Y<%_|2e&meQe-$eEcmuWMe0#*#?KiM{E;8R#` z=!TD~icz0Bt4QR=LmOGSx$g9N#X|UeCUpdzz=tjKL~LSAd4X$?+!6uf$`POsL2vaA z5q5~|BTVORCJ)nf+b-fvj`jg1+lqbSt{F0NYC26bhlh1c?d5A;^!@?sH7PzsE0+?} zpS5cUr&QOCvAM6+=ZN>X(vkz^v#<37pMGLYhjnMRtVTI?VC1hsJi}9O=L~}r9ovy~ z)H{OxOfNZAfj1g1gWTj7JXzZ=9KwPt>FNpLk?M=)DKVBE4a}Xi}Em=@Yoo2@1aMBB~cOq&02$*CxFGt#WMY{BZgZ&{E1_=EmEY3ry>gCqggeO z@66qaLk4^5tZ9DOE3dg1+Q0GQg=@*n#jMy0xQQ{9C&`JKNXMK&hffmy zJ=;!wahsVi5a=jBan~5+pqFlks%;QuAe$w7{~W%q>t+nN^GUz<>#*2Hnq_tX=07^{ ztZ!+%Pm0ICH6b%qIj;2%Hze5chu8kdlg|n?<6Uof@x+e?M`NG3SaYu4x!Ez!uFFwD zpbK)G9 zN7yDIjpTQAr~jMJ|Mv24Kl`i8AN=aST;6&0$>r60*HlYjX5+2i9+-@RP^fKA3DaL?X)c6skk8a9uK6rQWY zzdB7ezAnFuK z0^ZuO9&Lv8aj!VZL?itoPey*Apybx;biXjga-lOTX?zpFN0;{~-D{N(0NghQ%ynA( zcwVyzAu|Xj)UwxT=9~#S$BMrEn@H)+F-jAPPJLlAC(hVh33dm@s&;}k%vwpgYAJq5 z#8`jlX)f^Pk_@NE2-8~E8QUgrjDQC2Jj;RQM)rJ&$2gh00*o!+#x8|?PtsvaT=JVAnInSP{F6BfzwyOmn)x9SO4|>f{jP)_L&o-~jA-8r=0b`z&*FIu%U6 z^{I4h3fP){o&Sk1OZHPe&_)J(=4t$_YkYGKx?be6_2EW$-I7OcW$@qgimxNvAxzi4 zp08sLu;LM~_-}??gL4`B^0uE%D-t}_WH5dWH)HcPXzb(QBvu?~^tZ?Ob7MHb@Dpdn zz(ER)8?8NRa?AQMU|2_dvI^MqH_4Ek3>zjvd5N5xRq;(gWZ8LDsM@?;GxK1LPUE`f z=SJ`R;7}gUsQBX4yO#b1tiAcqICTn3AR0My*cn|N#}-l?#)Msi=`@J1Yo9fdJ^vao zj=i_-%Wc9poa=HPc9@)yk0u|dA(GZH|AH8l6egwvOHKacv}2(7r(4~PTJxjP$k`P) zQ&K0UfUcq)wR<2WT$K@+i@zsYTf7f{>3+q_yHHOjkf51Ve zX7jujTTHH(%u_G8v^PbO4h~E-iM>5z=r!b`RBIjddu=yoP=*d?=Pw>6hetr}{Bzv@ z<9i7$nsPcFkAtn>)olaW5b(%*BBygQlhJgw?~LWHLDo$mUjDBS1N2t`@+yG&1^|B* zAToFU{TTtm@v6BJ%HwwJu{931{0+){=mql+d&McY3M6p8bE$9skECch4W6NXK1n`0|{rye|L84}Q>$8oJ}pz5ntR z0KefB^YVXf6uuJhk#7Rv6CJ<(?QdWBDnNZO;N=&;_{FP_KKh7P01&BrZ}s{dfQybh zUiuF}J)1xuMEAt~)5jP6DnMU3FE08jKwCiV4Qyxhv!l6muiE_8sebj`CIB73+3{Aa zbm!Sh;`M^?on+tQXbbt4keh)tU*I?4&vc00pB3W-5Pi53kH~XyQOf9N{MB1uqi=Mj z8~spBtc=1}c46iF{^O@MIw$dS1IGse-s{r>u|vP62PFJm1gIKcG8}Hmo`{=%%)k~F z2RNpgo4Ac3J#L=iBqQ#kZ8+RZWCBR8cyMf9*kE>?gV6Sv5|~hDJjO>`czif$C;reS zq>QKCGI_+2d|GSg$h~t+5W5&B9~^J94-CYx_tJ;+mf3kr*+}*^ zb54nQ){|QCOC8DCXxAmFL99&8@S~1NtmNe!4LVLl1Sk8-J>&QW+StL4P95IPO+9#U zt>MaFHV{~e)zqyfJ^h?5EL-C&1t|{nmgAeXj8EC@H#C*Yeb!`%lOmZi$I*VAAYF;0 zfT=$o8dUG{r=N_})owm{tR_mwLJ@k$^jlh_bBA0# zPRLG(lM~O_K05i0j^t-ca+J>X);T6-Cs<-B?zo$y z^Ml^h&1-zYhHjr{7DhiYSFAYTM{ACb+1Pv&!dTORnsu~~wazmq#wTO&<;F@*t)+VA zuDKS|dJ@02VST;9=e%WV^!ni$T_S|{jJCOpOJ2=xn7rP|jd0G{>-lfi<{O^vEj{b} zh8FFcZA8U#z2BrUSA4QH&itikju&S3*~AVPz8uN0b79@eQ+6P35&*67Xa{>e!w&EG zTYv4?JwcwKKkejBDE)8DTLAP;0QVohdz73t_HGrhbwb6_2Y|`ftb{;tuJRopKY{in;fFaPoKZy*2D<#!){eEHVpCzr22{)67%|5SL@thWundh+(; z%X{77=UM-UcP`JKy!ZI@;oZwqz5kzQ|Mf}$Jxrhn2)M2ti-}mxZzZ2~xH2rn=OBFf z3V`2mQn}+V3Kq{_1*i{nxaflbAAkJgAH(eZj&OVvz$<+Qz`Z^U@R82}V8Q3B0Q*e< zuk;`QAN~Kxg8(1Dc>bfWKRo=Iw%FY(eT@CHyQlh)Ty`->Z(K7Zj`Z0)&I%TE>ez6# zfolsI+(=xIf)6$u(nbt}0l{cqOF317^35Ko(IpJAk#tfX&QK~tP(fxOw%$+%9;=Ou zGX7Tq`~V-m+=$q&+X6oHk4L!3i5sWoM>>Or`GcpQ>bn<7jl#Ksd%V2$z%9}IsuCfFx1@*R#Dnr!xOby0a?hUYtqM6u4OJ0l+(#X$z+}w?|!Ir=D z6Aza)_r+NW7r(3#V3b20F=zCrAKH$`=Aq;r2fi55rEOg)R=oy*4|RN@AUBlRJ7rop z1m_;#=4ITd3Tb^O2e#CYRLeN(l4$PUKOkkY4v6QP9P>=SRnSO4=7B8yMr8x@d}_{! z$k?iTtslUNft#efejYH6VE^&irj1>DN5)+K%`6z~#pqVSc@4Ge$~-h!*JlTeH0wu> z=NfwM%GT_54Cg-T%wh9xMi_T2L+2(ebG&O9nhkd?tb=~m`b?ezzcIp@(Cd*`i271l zU7BV3#5rs7ENBn8F)zws2FV4J)Y}sKFb%dI@)mIAG4**)SVS7#$p^-36FvLMdmHSu z@$4|UkPuD2&CP490FF02-Y0`|-Htuifqlj90MnaHvU>0g;qWta@ED7d0bSNIGCs>> z`)eojOAC+XA@o=Z2rwVlzje}kDVQq&>S=k!kHxD~_j_UxPPIUPqC#P%>1tGOQ+xSL zxN8DHo}(eEe|d?8Zg32SGOd^3>V$Fh+Hyv<91t8T;V3U+`YPiCr5*%jZlO zLryzRMwCaMv#09ge6sF!?Y}VH5ADm7Ihav%ca52eb$Lj)IG6LafO}KH(qZoC40b80 z;r01|fO&vt@1Zy`t1Ev79vdos)-CH8;}Obf&C1RiimU4*o}pVg-?Db>po1@ebs3XM z@H8ZX?S@z&3Q=BjA$98*#-OwFdPV#bQtf z1nw*=AI0DWM*h1lbk+woc@2$vXRed~g=XPt>Zs`|eN6b#PC1%w8%*QgV(oemGd^2G zOcLU)M#zclYfQQFO<9k>y1Tsf^u5cAcR!VRW6U|^loggJSVHThjE{tov-c9V)8Q04 z5HVaCP5^?TgpFt5d7r;;ed+Tp0Dcuf^?vEUY_pf%(p!Ju*1?_lC-=`E-+uf=&(}ZG zNAz*0KKoWgqL)nWdf&c`k_oDw+_B}}h3?otxxCVy4n52N_~KE|{_ExbJnN6FR|All zGSGbyxbQXi<(s?(K%WzL(S1lCsK2Q8pa0wo{L5eJJLjdFZvwdRRe*dG0Ivd=2LX5`0GNIi;NwS+Pk;JHclzo;@4!cG zD!l?gSGo6KE(zm(QbhJGT}<9$GOct5>(s90Ty4gR8wa)gk;@2x$$9)ipGl~bX?PF- zxbAAx+fz36PGsG1hp)`5ml~IyQF1oTD3QyzLW~YaZuIn)8eLe#RnF3ZPtyP%HLG;W zA5@g7@0)u6j=q}HxZKF;5zdDv#(~X^K}d!Qy0lZVVjd;kFmR7y_!1hZlvd41td7 zfKHyS89UDTRV@Fx$oiRVPRx&N6Ty6z%Pkmu>rO#^#d|&HV~{@a0jN2}%zOWFBopn3 z7!As$d99IQ>d71chb&<&mHWtWKgjBjsDm?ck!_wHOPg&0&-7*xzvd0PEaRzR zYRY)a+kcSD6HDjfx-S=6K+}&*?x`jI8=bmr?rD7E6Xhu%%r>5Tv^6Id^OjlyoB*gq z$l79e-O{E013&OH_Nd&wj*Qj%uBTMVNxg`U<-Ouao;x2n!k>N8GVD)6<)7rP>bzne zB4S&AoKRSQSjsmxUl+KHzWdqZal^D3l!<*0qAA>eK;-B-mkyY(e?dJ*by;jem}>%z zz1Qjt%|VE>nXi+L4J!3lYXJAO)Hw>_a{Dr*r&9yLefXCr#g~+LsWTdU;r*0+UX zCq52yN-b6gHEG3OoO<*etviEJs*5+m63OqH6kBq%&0thqCj&*MuCoUx-MY;lj=0Ac z-f+NARl|EVN72P^&VrLBdEV}G)GJSL`T^tljf>;t6h8kAljHtd28$X&uJVTO*Eg!5 zy@q)$&(vyQot$gJ;h%hGPRlqvt3Gh!55BGbjH|6Z0F*#$zqaI98@TH2Q_|5}XD0IQ z{!I;C!8cTmo7x$9>Y91=gJ$M~CA_}=<<9mnik(tbg9n1 zv^ zuM;Y#3K%)O!2=qdjUF6a!YIubj!^eO)jDnmAWx%cnQLG92!-aXtueB%c{_yLoUFpl`eoxXek;I}l_-~H}) z`&EEKJZNdx)R>7ZSa|XD0Vd!{JK)ut}BW`+dz_$(P zrSrRh8c6;7m(P6X%P$;KAl?G-p!f0cL4ckWmQBAVhLZqlrWn}+Pk;>Qz)xctye@UX zesI87SGzSg{2Qzs)!B(;P^jUkgU%|Q$lY;KV7O_`tGykE=Y%%Yud_#=O+y{T^wx77 zkr8(a44frk*VtTx*~mei=~xEA+Skq>hqiNT`;W#lIJt~M;G}|)&F0NRZeIVvx-Lg; zO^HtqrGuPtns;Z$;wt9s!G%}*(($ZV*gcPMg?r_T^G!<>DFx2ny#~~t%!)agH=a7Y zE+RX*K)01IGqBI`4QkIvy{g|ep>Y}s$_@j;4n#w_Rw83!Xy3TATCus$>4ZDuY?Q>0(2W^_KWr<#kUX(T85)Cdfhd@}z z80=bGaV;D+T6yae?LIS6CR2yM$8kc=Gf|MuwNg(*Ri+OaiZLknEEI7}rIk8OB7~eklnte1; zCq|*0D;l{@?upxMQ%}9XsL7Yix2u2Pb{(MeQ|UuTa}smqBNZ7ke&UI-Q_MZ|CFomf3EH0YQ zqxX2~MF!V;W)d=9_~ABJa`fI{ER1VPH0U-VvICC*A1+|epes0P{*l#MaW8RUku{$l z&;D4HiO=x1dG4ijD4cIwb1(v96PX@+8!B_uNtr4~-U9Ga$2y75(A%)@zbg4Hx#|8D&&uo0Mb=V`@_XdYg3@-D8o$z54jS_S08!I(3&%Kj{&gpx z2LPnhJ%`JSSEEZms6~JX)1pup8 zkZ1pIo8AIon_davp05K`yWRhHFJ8R3{ME-l{n3AT|Mz6%-vmLl%YOCn^zxp*PC_Gg zp&i-8iO4Rt#l5tQXpS}KXs*uYxx&n47XAst)#5+g^zzp}7K|uE#_$b6j0GYb|I2jD zV{E?NL!m|($5qyjK=yKQ2y|f7=f^I2cc$vAV6k|f5hI_0|4N2zyybybV%k!vYHWxP#R}u7~0rQ3bpaifOC8-Il78?2Mme4NnD_jnmK)V=voyIAIrj8j6T(EUAMw@X*Y!_MsGNy! z0*$7Q@{i1(aKm4^b!T|gz{n--sB`=qa{z&ME~;$IHI5KgfzOSJ(n*B`*W%ohXL;10 za@Ps-T8|T(V&p^2ZCD%|=8SH{&w@BKAg@oNp`qMj`SZ9aCBlj&F8yzWzvfVn>qlzWG5oONC5l!#rMN$22P_|Z9Cf~r||qKUEU=K7$b1ME1f=w@TBuo*K4spUKq z>71F2IWLy=M{sP)X@xrT7=3($CFW*AQY_(`Sy08M_jO6G2d?<$M8?ReY4EqJI%4=pWLG3Jd_cR`q4vQK=WVvO);EBIHg#vN_MTOeNoP5 za4L4yvgkK$=3)%DONu(RsKyozp$)t1o!^-j8C+xljE*(45>o%dHS6w)8P5sPP>W~@ z6R9{2*E&gNcDT=KNxb~;c==d&qNTBmP6-!GqUy{)_h6Pi^BgbbDMM$zJ}WMcad!+v zBEGF>_4ORRK75Zm{dbplcx65x#CQKfTIJh_qPXZ@8(bh4w9QNO;m&>enC_7k?gbFY_5i`#in zL~g?iIz_-{Y?U;g0V=~B}Z)!JF?Efa~{B@6R`ZJ8nR5qZD>0hkd%r`c}C)Pq*T<~$V*m=Np@avK%E$`XBz_$FHh;cO-$WAHn`gGYxJ zEbWw?dwuA|=^O%`7}DcZ+_IrM@+~p_H0LL0^5)uei?Wa;CZE(6=OA^~ulIq_RNMJF zb4=LUN-MPEr1qv1-eOu3zHJl1zS6ClXCI*&bl1rq1RIiJ5VAR?Z-n%jlX9K$8@hPg zILUBp0}~GNo94o!UwGA#f6h|J&^2Wd&t6)Z#b(mP*mZO*fcqc9lkjl$+G%X|VqhFh z>p!N?^Vs*80)xZ3PrvqwoVqtm&DcaFHS?>U+KSu0hGfsV!o=wWcWs*|kk;awIZX|n zi)9}^?1T?4In{)^c{vti>Kna<;kW~%mGRy^5wZ8$YwsNq z=iGbFJ@?+u;j)LMx-hzLJ!4auaoR{wTSChy1_auX0>JPv?wTm$Id4u}@cPW$WZi{7 zM4K+_liao}F*LUH8UiS38dsIn<`7>YbDVWJ)QL z?|ug525FrHnX}q%p4yf>HDkjGOMRZ+<$2~h{NZGq9LhBLI!5x{d9|H5GZtoH95Lth z7z>#)70ok>`yAG;ctNMEv4C3-_#BBhbdc2v7$7?)G#v$NY=SYU*bxhV$Wq5QTaOjG zsG~UB8){qoo;Ynk8%%g~OUtnd8z0+6a3ClSm_UphiG77(c#J&ams#_hK{3K>B93bg zrHX7F%Z@N}s1ece^6n+?bgS0u@F&0cmf$l8s_b<(N z=yjg+)X7&0PwFrw)_IX1HK19 zRLmN6AO0nPk3asHQ_%?@B-<*{S!*>8o;pYI`cFlzVeF@;5?gF^cPXYc+SGs;z z3SVw|_T<^+!yBEf8mUFal2to>YOmq7-!IKthLTi!Z=IQ^I`~D!l`O+J__!sXk$C6L z3t|vPVWsBLjzn9mB9A(;FEt4Ew4*2&%u=|tW^;B+i8(p94A#+kc!@-R-i?LP!J{Ys zf;$59&_=EL{k#2ze_Y)}_DCPYxOt{4i@5QV8KEQtsblDx%~3Ee@gb(!C&Y}IaK=hu z!UJ4;AlRWI)>nY1P1<03lDP2ZH_MLA#E}(mZ*|BKZTv-Kl5wK8V(fhR8mBZ^I7j8> zCp7Y-47N`u&`vbbvmLDEb)`<$cYJwXZMibTP?A^J8oIQM2M$;zA?`k7kVGsS7)EP8 z+pT$srWoqgc5Y!n<}$g&O4v0H@}c%syaHYIMPQ756H|SQT}{V@_i2wu_v1T~aDp~) ze5ftcj0bV-;`Y*suJaM|V5M&=65lIG!npFWZSq}lV`V>k{fubFh8~bTU-WH1^HJaS z*qA$4fK?hzu@)vg>)h7{(Z=92#d4Bme)Z>^@Sy_6<2r3*lyL2QPv+=j4-)%w*l-hM z-;vg3Vwg@UZR2Zo7sZ;Oj)&}hym9P`jeL;7K^qF|Xsn1L8yuR=OH)?ZP^02+M7pWc z`fx|@ximoFJp{JxCY~2i6?Yvk%ec#JzV@p?5j(9vFmhn%4}5d82OD`WEHm0Du!ej=cWL%L~wG6Hhvp zG?$Le_AkD%Pku87SUE16uiU{xYwSQ4Zv25Du9&9{OC+=?0yB={t33X9Ji!4y5)pdM zompg$VdGjxX;fFSW4B$>BSu=tag)A<-o$gH*4tHB9EW{xtBj7b+azN{p6H7y!1)W) z<1cy`)otZNd_M;@wB)_<9O_$oUtwPIx;XRi90bOvDHv? zpXtR%^x;b#JlpHisFBu_?Pju^3UiRf6Hwc(%O{M$e)(duwvkJq!PiT?31+-b?Dip0 z>GoI&KrlQ8+qUzCuttUe(qmpj<@Mf}J0FNrK%TaAeY_byw+*Rt5Lw5LC7apqW7!@j zd1&mm?B=M|q&TV-8u61t>dq_i_#yyb1o+wemlsbz6-*;__!y>;4)2V#dR>h<(SJur zU;S|2g?pNLho5)%d9%-DPUxqXlWlc6w~B0X(|8!G*s#?Le%B9m3%)M^i230Yoy+L< z{|EX7g9lG(`{W;II)9f}*G?q2=Bv*~0(6q@6Mg256Mg(>x*daZCI*jD^A}D-#$5+I z(Wt<#!lr@CO5=#HU+Z@O@I7++C^<-{MdRx(4AtB6uQ>vo{C6kSB;N5;fGT&t{oB8N z(aAq;PrZH#;4<(2ThDg@@Zd`Tr+6*3Q`x7tU;Zge1s~i2@LZp55hZ&OkG11@4b!(f z1@M|>B(*5KDnnlo8Nkolt1P{+mCH5hP`J$Hy=@0!boF2`=p%i5v5%4>f3<*fiUe&A zVbpehuHAJM$T-QuGsi2}Y7-rO3*bYcg8MYH{ovuRMkh}iV-9eSA3gDfgCHfxNDt@? zE?MhEEKWO69eOk_SeM6wvGt3W!BCxMv<m_bt$)P zU4*Oi5+1hYYddwfD|T=*9&qCiOG?^qx?SIq>}}(IWeo}fQ+cTCW33fr@*kWK6PT{5 zO0#u{N44TDuYua^evqp_`O!ynQjNb7b?lU%#Hf~eOewW170l0Q~#O(M+OB;@%S$Rzk4`XpN_~r;hoI^W;Hgf3AmHZG2fb@vOMPO`%yAX-^Eu$3L}A*qG2t z0PY*-4t+f+i>CV)ej?0#IvT^4J@Ll+m2GXeB3za`j&UghWMQW*i$yA_`mqcSzG64` zVRGu1Vf41c7o_+-3GTJQI*cR7#3@tBYP-H2-+_m7=@x2}!^s1TiTNT z$usdZm)azn8M_gh`y2?#J;$SOX003FJ(Ie?*bn2Ki;xDFLD2Rss$4a;)xn6VI4tUb zxf6HROrMK+g`mwigd^zL;)5c)jyhfEJh7Vy-hU%8>M?)D#SfFwN7YeqLqoR`B zzTh@M@~NpD*YI18Yzh|_SDEJGs}BJ9S^Z=Q4tri7fB8aRs`n{(0nC^kc`7)9bd0=v z|E|86@0%}gFTeis%gb--cKv_j?%C!0di=J&asN9vUtYecFXns7C+K;5T<_X*^8Qlw zEwvJ&zE%IldgurK^h@bq@_2G{d9GUpp6TuEXR2v`q4WG_j~`yXc=F)x3)lM2|Htp> z@$Thw9{QE9FCOV9`uxyO_UUK)p6LR?^T+zhKK+#63;&egBl*?0`Rf7#55CF&g)SEO zr~EXiT-3>hgBhzCO9o#$PWAQglYGXA5lPKWIX-{WxIK9A%{gD>OXPVoSy0a)=&!xJ zy#wG44e^hD^dn~NPAB{i_$fe@&LZ=^md3REQ-I*O0C0uT7XaSzYXExpANhk{+&=s0 zySinC!-oE~tLT>kv?F+>cn^&)f$h^v?vU#Q7(?T;ZD{7uMykAxA)uC~7a*>)V>>aQ zMYEjMLlsvEVfwK^cU>xPy|oVP%HKIuD@tO*XvLMjW0g3yVg;f5n>CjKonaU31W& zsI%6X4I{P+-E?^uk+ME}OFk|dKmF13I-PjqZ~HAzXdqsap&35phpuZXAe`uNn2yy_ zqeA9+UDEc6Q(FEDq#l3PVWWQ4fZf(&=(=tI!88JTXyT(|f(%5o^sd|VtEVnoZxv*5M5{@mG6#tfuufUQz1*Jl?=jY}(SV@!HJB5Fk3n${8nOi`BO;@4PVW z5)}RTcYf~5X7J`iP2WDYeJrIs3*9(QjhSOQK*BUvFK6?Y2j7m!2H2L)VbW1qvUKBN z#%DwV#oE|2cE>2`aHWp_9mTY+Fk-F`$yt}HfTPP}+OOnYE@3j9Y1GtQ>YRO^jwoyY zpZ*ZUL^Aslo!w7du{2~h*_UDzQP;RFk1@L1|4k}9^;ss?Qw|@6t<93CIt5oL?eN*g z1{pCkkdyR1wzY;kytIUzTpe$Hp;9qrn%<7P9D~pw0Q;2e0q=ro-(UMbF&I0DA<4Lv z5lr_zyRywnP@=sSVnaS_j3~g^n(gfIZC_Yj5~>k zL&RO<9JiNx8yjBgZp1!&~;o8+^xTYa?HS02Le^!%?Razt&yHryS@q zUmKiA;8~ViIj!4a^89In=uA1*tY6gT11_!x+N&L zkNtmm;yt;X`S?zruEQ~3xs`7?O*Jy_ry7^Keq~KBuCRq7X#6w&aVweIv!9%UGQQ4P z^g01!f|Xo2rVAfFoU@>d68Ah**#GmoSGdKOSpwqMle0)T`RBW~Zg0Q5+~^m}dBY5z z$C5qK3++eh@~%D)ouB6oI@KHsNx`Mv9p(yfL({UKX^vT~J=TM-tmd!uX8@2BFHbfJk*Jf;IX1lTr+@OC z`Qhixr8w&1Ec0B9q>~V1wkb7M?`TGMkR@MM3_i3y!1RxnTKy4=kboE_L``GNZa93QD$1rbPJtgkAjt^t%WMbOcgm0-|!<$%lzKm(d zBsuO}(4a0K^@{OoZJe5-XUv%YgF}HQoBv8x8AI_q+) zXxR-q{s`#|d7$@2t8f1SAq#;U7JBW}zX1oPa*(uVJnSDCc-suH_SGGAhsr#_%QvP# zUECLu^^&-$PH`e)|Fs3qt!b@NhT2$0V3~PYo3hN^7F@ zvBdF6p{`|9uVc{gMrUQfC#fayL0J#slk}==Ek=_cYd~G=CP$A&V*?6{0L8hUzGFl0 z5(L{V@4mdp6JO~2$1Hdz%qg7n5R3l7@@SbEvuyi__QWAM^@(hAks~t7eILe3c=EN~ zI>VEk!ZbOA^4QkPAyRXDzm_+@YiVLB(=pA4Ii_R2u54>G*`8|z*0ujzAMiOgZo}Qg zZ8IK*+v}x(;#9AY5}=G?aOU`x<8Uv@ag}`GgM1#Q_i5h98q0*4ZgqGpn=EY{KH}Oh z2uk@je{((-Q-+lM}%LgBP zOZB%dAKbmT{5`#s|2um8J^kF?Z{B@*`E|Xc|G@+O{GQ&;=jXY32jB1LbJEU3=iq)v zUu|7K(7DXKo3D56ztrQo-@SiudG_SN<+)Cap7D_E3w;T|=enZs1@G|7=9wN}O#gH7 zJe$WC4|SKcxSy;4T<7;(qxe#}z0isMi-!;IRNwiXd@dR&Yrer>7Y~#vXZ&-4LA8g= zqnt7H_*i^zs8C}V7%L(})@tMisLg2-uCS?WPX4(Apd#qL_VV@)fHyP5On4`5wZH%U z@8A9Or$5C*b(dfL>R0IRo<4ng_xb0ayRFavb1{ntIAj#_=z9Pz|NN8x>rel|)9*y2 zt89D$$Mc6@>Xw;ay%N~V7c*8D8w=uBO^iADMQ36J@#hvN?qd?v=tH2+3QZCn&2unC zs}`3Lc=b#hsJ8XN3dg-yI&IW@LvIyq&#;%GY>Lqs`fAW-w+$b|M`5obCO-Gi4xT+z z#{=Ww=Nbhz90*9pkM0)V7*9$xr6wPOhs=AN$2Ena2+q zSd-IH87`AWVkh=jZkfbS0odtLw{Fu(oG5%{3b{D~WmY}!gQM>;Z~PNWWtgur{^}C> zh#W@SmX~jg<5L|OJ1_f>vOW@hFk`kmQW6^W&Owd(3t!~1Ly~;ih98M~6IXri41)Jl zlablP%9h&T8648IqrnH`o}Md^ulO1tW{6F&u`K(RiG%;Hf#rD+38R5q7^dj)&+_#_ zsG>nhY&LwRJ%FQHTpoBS;L=~^Y42VfsgDR!*_oShm>`UnaE4~Zz?f!S(Sbh#nP#}Q zoUqKdMQ&ME2NMH|*I|*H7w-UsFE0EI1ZRyfI2#DO=4YT}z1~e9c6;f;Lp zvV?E)jE7vV{eLi_4n}H~!BbDH-j9!*oS*%R1Pp;V7}-#!-Tgl@ZAXnyVsi*n8*^{7 zM#?~JN&wZl_GLJjD~b)b8ePV@A;K}G+=|_@_NCs(ogtL2PyV(hUq_TMc5)IoE}15u zV?9f0U)scndxL}73K}V>kDP4du`V~TfPneA!m+8X+T*9#tploZ(79I^)RdxMIi`un zu3ZZ)qS}DX!k;?;SKFEId{Qj61^b>tFfE2-=EWN~?Ll>i$ueT8Jv zggdB-Qyuw)&t`BeZYdm(gyyCi+z7H3!=ddogj!+Hh{juZ>W{{~HkibM!aY~&spd~6 zbXp|vOG?Kd#luGrFYi2g_wwF*A6(vh{{yw(xjcREL)U$ChWH+Q@qxZ$&rW=z4=-|J z@+)%sJS56-{gCUmHTN4Dt2TE2+`dFQF^`=H@AGiN?wl6}tUaXWWBc^E?N=Y(ztdOt z!LGMXMW$1IeYqg$Rpd_sS&URjAK%uYoZ1ivwC zrvQ-?4rXTOeXv2(y6GFqBfAO{;F~UQF95uu5!LcyR+)B+Cr&5-XaDXS-}uJeC!c(B zPU_jd@KFF=45-aT9|ho70sKn<|M0i|Ev+3bTv_nsd8;dI{FFuZWbHjw#tqaD83q2eP8E9|&FS zbOIRBs!XOxq^3Dt*AKO2x8~h`Zs3VdKoe7g=Usj2Il(WffZ1d3F7NB~p9=tJ{Us-A z=eh>Dg{pa(PeP4!m~d!!%^7cM+YlAA29PR3BgIWp2b{JezG-oRQv$WciA~(M%Zj!CWm25*0x+ zUg?g=9ZXjYYG3!)O50eswoOKF?Bpn;bJmcOUsfKm*vaq&Pe-lEqq5WcsKzwCu7ToB zX+NVUZwXJAw21|IP=k>yaY~^bljDQ2;8kcBzuR~w%E@<}6=#EU5tLAgE{wTjAKqxr zHvYqv+II=8IUe69_ac{0xb*@Vn-I4$_4Ot>Axo6XZn#Uk#$9~g=j$8Ri7U~r0m=$&RNGRXRs=nGptk0fn1OH z2=CcfrQ!T^BjIIS9o|9T=Iu-<5Y<1_k^SJi^8Xt8s*@9#w!h^FpR7c(Rw!{D_m1+fO z$&r6;Hg$03x8b3Qs*K|g&>s8Uvhmt@{Ks!{kLvz7+|S)f6Xf`C4jxQIGnb*7ZP(~qG#4HgV&cO&aMz|1@jA`vwnbFchBio(L!tcx0wGq*ktn{DG(LgO}T ziuoy#T25xN5l?4>XlOSc`)5ND?wxmXlK(^}`|s;S|EW&+IoW@xHy$U9RKmjk;x^|X z`+IlPR~YCNyvK*v)|MgXAvyZuxFdk^4o19cpEj$lxXlZG>?NAl?${xWjHMcH~PlA@9mmn(Oz!3e0_a5dmjH_Q_W+E&ehJ{^&)&UUeoMDb-Q3;Y-aUWvTrQu^LX&S6 ztc!OH2}b6?N(rEGO2$&vvW}fJUid)D6^(iaA2Rmzy3~mySL6gq2rOl4_DmWOlZ?dWZ!=I$>pzZzF}FO zzbBgPOD_{MVD z7R+X8eKb;!&>~!(3ZXSjomWxcwq;{EZIkj0Mq5Zj#u> zx@_E+4dYiGb+zPS`4(E0&=cQU;~*zzUXM$poA)dTX()tg6#ea_B#91G3jTgt* z{;9XW;W*={=X&Kyu58(tY-t&o%G@T7W+kFiS1W4EI}Ajq_8OPb$A7TlOk~(vr`Vfg zxj~$=_R+_hhOBLiQ_zQQ+Tj2P1b<}>p049Cz!csjHk#vY;O!FkX?M04OI>tMN70-c z^Qxu4=VnoX@&4a<2OBOr6DO70q+>GGZaQ~b^i!uwPwHK4qZgGTSUfQlr+_wB{^i7W zC<}}8P@+2NX?G>!0G_q~n;^0{w}4HG=ZP2?e~PxwclrqB(D{sGuMvM%b%LA<>$QFk z8S>^6TV^*t4O`f8w)#h&s3;!5(DgW$V@cwrU5xSVul$Z&3>Y6C2l(rAf;eIU?yh6N zPrs)F-|7>i?Xw?N)-gHPN# z&8s%VVHtjo5*PSPEF7D*O@WogFH+~F8f?o9S0p05%FX^Wr&#c4O!wzF`3G@@8%I2? zAirNaZZPk%kvrDiGER^))>G?t1}BtlH$O>}_xNN$DTCYIN380M&bENmsQi>UQ*rXq zNyj*upY2!Toro48t{o4JDRoBIx#;a3FlSL0?#>S?efmM@9K?4o$TvG|HJ%g6ET8_;aMzOY<{5eE!Nm(6x4I4AV=lLR zzZRzhJTD;gKA__|M=aVt`L~XYV#jcFU!mGTAv(TMPNmc1Hnw7`$g=S`-h zrY$bN8GN?71K`5r@2b4L0PqGzTC0Xx=1PyR1nBb|clvF|m--%n2l}l4`YwRJ`#;|U z(3PUAaQaP3mH8<^%k}R64L=14uO4^5dimm`Czprcdk9dA=Y_6p>B^ecQpgk()@=y|czcm9!cLf;pz*pL9#w{AbV+-Q&RI7r4-&WHLX zfSa2yAd^B?^)I~bBuC^;6Ywzs$JkhVv_~!zyS^fXNM-CYw&cYaC&o;NFhdKrFXm$F zt+_)@3~=&KtTjXorxnK34-Cc;Dtg8pgB#`b50l_R^-MP|OimUVkKur^amH&I39`ZeMVMjCsZZ49}nG=j4B#^mFn*I$Y`t@-Gkdn)u}-Jy#Mh zVd?po3lyv}e+eJ8lHmdX|6YAyEhmndYhoa2bdIHa0e!@YS?a3-PYO)(!l3XmY2D_p zPyNeQcK~n~zzz52-%6{u4tX8F1}`zlwO>Z#3lbtpQ=T1w1FN&t;0P0y{ff)ByyLH? zzX)(exI&jBx6x#zU`XNQAAed`$d+;SZ@PYa0pLxKs3uK!06fq|fQv2w^iBZ0bTTvV z@#~)fxF9Q| zYl(8G%=?}Ve0UkXaO{=rL;@;lZD?baet4YH$Y@_K@85l{EqI2QgB?Ew$j1O4_)4dL zlK~5JnK^9_9}EsA9C#)Mq|zT_J@)n_tqM3W(+)pkOIA%>)Wyy{=4xO1=I^8FVQZdo zMGlE&*WsE#?6GaaV=W|#@)JrlX~6`-eukf3attQA)2ibV{oWS2^&axnqTK@)w*ONx(I>`m>!)$W2OUHP&H)${XiV9ZQIDg2=XefI)Vk?Usa@=X%E72?r|fARW#=1x{gwa88_GJ zg3H(niHa@(Vc)-iZU(?7?g=8dy`*T7{5T{uiE)^f|6^_kCd z5H`Lu2Z^G`P3MG~B3o?CuWoK*Rl|8x>(OG@&Th-c@G75@O$?YfuI#T;5cJa1o^c~) z{dpXZ{RPU5f*am6Zn)YG?hHC@ww+sJ1q5q(DKlv9RYzyDskP#c5wR|!0XpnyJC8*W z>>3LUrORBZo_WZebxvxWnyvG2VCu;ku`+(ESb%IvtVbLXTgGgM9^@W->#qo~josD! zm@sy5IA7O<)_IBNS|?yal4RoEu}vgrJ`o*T?2c~ZTK+nAU=jnZ=8ON*ckH8Y9w#~N z;gDT(0^f0<-FTco3&0`L3)iYwzT#Y3GYm5AZW~F)C$XUG8lsKPaUma;>K!9bc9^aK zm_CLS(?(_kPRu$tC#sPmZ>-&+F%p;f9Y=9@BJ9pg?a269E3Ef2zj~P|wHEo;jOIw!C4;Nq%qJ zf5L72>Oa(P-j^~BG0BK`^9h6b^`B4Tr!QIG(f5fyC(pv>^>1DSV|R;_8UL7+o3b@G7aR5OH#x-LGX14QUi&(f8CzLek!h<;vO03f2 zO*=m0&%6D3=U*rPYG3#`fG!B=LV(&_001LS{KL>dL(`XtjupQVv!$IFEK`8hL*|oy zE&{ydy9aO}>Evuvt}8MaN?N8R;tk`QAOHBrCZF|D9d5q1^7aD28ys3Djw?7kC?9?F zk!x+PCR4ZnTmG(Y$LX&D%)9@{jpg0{eg^=;pMUxJpMLM1r)ahRaFdJv9{QS@_mO)p zSf^gKT7#@|-SwiqH!D#(qzNga9UgrO)j;SCA2{@oBNI=)+d_+7M*x@TcN-pDC&B>* ziADIa|M=7EyGPjEUz12WN>x0@Q!z48+x(g-B8n8BYt} zQXsNs`Uv1bKYook{UTSq*oCja<;e1$7#MfvhdHLL)#+F??xeM2D1O?T-cyRN$weULBg1xyHXd7`%uE zlfLbj6ZIB0WRCA7l^9N7q&Jg|RQ-&L+i+UH<;EL{o5@`~9tV{7+J?em9YH`TANoVQ zf@m;PFF*8ow8+TEBAZG+KJ9oLm7Q>ccZ1Fl9sR_E8(mlxM^re%$=FbzZMx@TQ6GG{ zR*c}p+rHyP2ATdn-q?~OzNd}|hbodc6mZyZQ3JUjYI|P*h>cN|LC@iri34x!>kpuda!6zh2{!1U5(W7hip!@s}U79Y+#G z=iFv2H^K^SrU=-18~5(7`~_=#OvPC$kFUg-I2zf+Eu%(NirT;z|FZORO_A|bKG#xZ z{DKMViA#HLZD3e|LqNxJjb~3UbDt=Z-!lQZj{yLZ!2ksVy40j#B_tK+bff&DJC+Kn#Z3 zDmI*5bCR#y{W;m^LV!;E`|iKxd)S0PuzfxF`Rwp=Dxu zaOsJ2)t5T?r}j?)_AY?)V*v9JfIHm<@baV2Kl$k2e){YD0sya~WX+DpPi<&zvApgt z8&>5y3QFI0SN9lXhxGbnEq6zfc!1`y2a%*i1V69Q{5b?E*ipihfTm3~u~j=X_C?ze z=*Xp5nsH%X?_Z`8Kst6e3O6?7w_7FPU!%+JM)XAVKpnn>^O0%}1){ugywWi)_Szzc z^Zl2)tKx|c4qxb!rhps_AL}y#WXP`p+;TiwgCqlrFtTfFR}(@yUNJRWhpVz zqw;94`n9pQF~H~TdQTW z42HY3&I1a3?*g3tf0%&NPvCo|b44gy___-B7Zx z?=|c7PYmPR!7RShpS=lJpmh3Q(70CrTE32D9hcV7;kSL&q28p9%{VrK>$yZ)`M@jg zvtE(xwpFu{6az}@^s;sE_>(>UX&MWg+TO%hw)J_?t?`JhP0T(KS#KAS0#Lc18xCzd z0Z#y|y zi8M-2!yM0cL<>NTz?@C-^wF*e1M49}E=6@}(?m?^T5+2`jaAYM zW`v73I=YTeYP&rc5{7Vgn7VU7jw=$!Mox)m#TvpDjW0}!zq!K&$6B*JJ`h@c64!J~ zME~)lNB*|`r%&J4m+*b)+x7kK{@k_?HZw#}OtnsLecQgI>N6&OfYUl?pObm?z9=yA zeS*))K5uYQZyRijv9EhN_&n_PrMqJF+WWyL@8xs<8b_&99ID0yLBh^3sA~~p;*zm$ z4-l%;54w|=PGc}$V2{52fYb#96Y#9a$$;MV*W=~g3!SQP5tMf2rBm+&RO6Qg~WrXtKfRen7bO(gKe{jE@kl>)YY_=(w?c;hjva zWFMKth4W|U$|aQ@!{pu6irt?5Mr+F1rKV7SJ>x&Q3oY9$5&Wq|k?z$X`fQKPSbK6s$-0O0JOf1}7F5RWyYnE}0}_1_ zKCRM@uH(L4PHyDioMNWDj8bom;iEXt1naeissE%Ko(?A*o(~(MuYClWpM(FJZeqsl|WJdXkS=Jq$jOpd_?z>NQ zoBsPc!GG7^yzg({_ig<8e72oWl;5qU4yZ<`z_euUmC;#03|MJV5JAOUQmn{53-kxm-`2&7GkgqA6wWuW5 z)W^9%qQbyN6OU3uA!mBIqn1jx(JxU>{dEn33lktT?$4h6&o+2B#_ z%pd*eM=Xo0^3$LG)cx;%_q%r=fBZ4+JAMh^(@#Hjn?8-BwC{TE0=WF|zxu_e&o6gB z)8XQKES{GyZ!gauKfk>9;EBGkN(;6prh7MIkt!b1sP=kQbA1(n-OegDfE@>@-KwRU zJv&F$6`sEwE2r1^g&sK`_1#j$;wMdC!0IN&B6Z}GCC^a;Jp zNpQ!m_M|bEHU^9D;_?vyQp6VN-Q~Bw`0L9jH}5-j4y-rxD*)uJJ$Ft_7#m_yA*eV> zSKAEsG!nFB9?lbN3#jCWBbytY3APMq-IhvXx)#7T3sMr}vYr{8%R<*K%5h*r1QB9M$7vXBwWBg?Xdz!P)pj zP9JWUILR<05U!=W0+Kx{JBsE3K7892RO3Ez1YU-7>;SqzMZXhqJ(sb_t@T=)ktwQH z88P(&QbQ6?YV0S~vCjIR1x{E4ik#T_+Yz9i{5oc{$c$6F{7}(BPN|*slZT<&ocnx|f}`5DCp^R| z&~(}z145@o97d>;A1&M+0USr1zyfy5ZR^z?oT&^WW|fW!ooRzfy0d=h>p^jxQJNlE zb!n$}?sr%Fzx`knTywh5(K*j^)XsQ~4bD{B4_|UxIZAKe0eWP{{naR?(|7=@49RQp zqYUKqMmzK4^<0vXnN|bnSQr2Ge8%;`sQ{W=rF%3$Q^FbVo6j+1!U8+DlJ|zoCJR)~ zrbzF8`BWnqO!K?;fszLm{AnT@v#18sIp&13Yb49`zJdBufcI_k!|z2(OkIz5JL?*Z zc&2t5hgVO$&<$r zJ8gObJk~es`y2LkqEEekR_~!swHk-8oxfXtR&V-w2VXk=Al2(ypPZxDYteN=k9(a& z_H+4Q&x-)*^A10L#E%{uIH#sb2TTf>=-Uq_y)`%3c?e7Zogdf3H#~>1&8u1+yEJD; zx>JNa<30Y1xhF>pC%O49VH@)Ke@+VW5rEwO&*%R&3Y_3u=Xc<>+s&RKXL_!X`y)bs zj^FGA!vJ|0=3=T`aVyuASMh6Z>hZ6^D2`QZ*jG!A6z8j0&sdP74MukIR}OrQTVRWYR=HbS z&s+S9&grOfEW?;yb(=SEjcbYW)TrJzbFNr9F9So_JUuP1k=GM7@g?q4 zI(`vB0!DvcFXS__Wf92WmK0P(H$DY}<2W|2qAe`gS)nuD75J5w{9^-I(ta(Ac zA`MgB5@$xHxkR(`Y9Bk=De*a;B_`I*R1|fiB@a#-#N7Fqy6AXH9PzYmi@Ar7r+`W<>TXj|rXaJ>M4T~GLNMqAb5FfVJ|421d~+wj-3@n8haIVWkg~_jxsOf)y9YTXZ@hA+1_HEdXk@kA{cjSj z$vO1!^MibM+ufahIf1rXxBvA0|Ng)He||D=66@sO)DB=VTJ*JT-d+HBLqj{02HTyk z=!SluSnlZCBVKwGx#TtryAy`N5sm zxlm*=rh4Kq8?pohn=zrix5Z3Fm7gHg+_8?rGDGm>5@$)2ckt(2-FgQ$xJJMWY2*xy zKZDNDt4;h$G`WJ&gO?%SdZsUE)DV-Z56;3re*9DyT0V;pMwF3zU4aDEp`IZdApjM- z=1DAt{F|kR5Z_A{%<@Sh_@5YX<(U|{`_tZB!W?m<&X{kWc!3rMm4-B3B8n9XqE+9R z$}QF=dJrc*IfB7XnEFBFVzRNSgv{W9sdaQ=S6e)*9n}#*Y#7V1H#R~bhH_0~;lh|O z)lL^@XX4niIM8{537tItxPpd`#I$US~_7U#%a68S&hi56DUg8;nmjuR2OVEuFbtV zj`nk`kux9L_n;vz?ht~qYtFRxW#LNB`X+PgZSX2KYfa3~MSAjNET>%QC*Qu zhOjs@n=xD&b+jeuf^@9YH!gASsjGvLS5Z6pYkY?rH6wL6876{`Uw}PM4-yf@@z+(2 z$G&UVrsDEzzL`WaJb<8gtt|{m4@9 zwr{&fr`MD{fp`0qS(ne}Z~LC)r^dH06v*$!AWc8@ z_J7?ieR-&#RQKt(&KPuOz*`==|-RXW>Mx7B7i(juk(+rR_1pUjHD8 z)tzn$Tz3wr8$ABFfThRF=b!!KxkDWNOYQ*pz2E!28-0%)PX12H+Y111ZkU-gFAx@m zCi9NlIV7`u+}!=m-~7#ekDY8|&o2S&uK?)e|H4IpPj0{b`S%{bd!s8zUVAU}*%tp2 z09S{#gyh!6wJ?f(4w1=+PYR9N4hH7qyC-mAiHVBU9Ux26p9Lvx#?T@RI{g`Gfnats@X; zBZ;l@32ma2e(3F9MU5;v1_uMi(%#(AB+Y1$pa)~5N+n5Jk+S`DKv@2{2n8u zM|?I40LCL2=cbK4X=b>pX2fmYjoQ5H~L_h(x^UNYh9LG=>W)3)I4?#$Fe2eUi86iOk%)f&f4g~5$ zlTipkR+-vSton?R#5~^AHk%+>d&DUzd)56C>^+_FLB`Tyt!b;iRWZW8`bQ5c$ArB%x>+5l;&XG0-#}u21ZaC62b~a}o5k+#OaljAV8XrX{zdNr3 ze#Gtkd7hcS6V-Ne1>->)MaHYB|Nr$>4hk^+BZpEs_SNXTVSQYUhj|4|m|52=rr|&PZBM--cW{YtO(5ny&`5<})+5F1 zlzRL|NFR>TFP&s|F<-#@v>d}GWl$E^GP zJ|cOu(o(>*obAYFjE=FHVX>ceERi0+?U%1}OFwbBG4muF$0i+ftcgdmrbp2F!acFM z_FHd<4)OwNo7Ii<#*Pj!bXt7!2prY5F(FMTA1-KBQj}`c$!`ivW8X0t3Jma#)G>9N@N@4 z=oMf3IauH;qb8{udZh}0@rZG*bxtjNLT5}?J`s4VVXq&& zB)do^9D9f)zAYeFU0^{zo-MxGoIYdZ?H)la<7N9s62{DrAmiNgs&=vU>%7z{?^v&# zaatRw(T7r78Zp@N8K2k{OYgKz|1gih+ep`VkGICqxiD0|LBpIpW)2*rG!1rQG;}u2 z_mt7DpUM}-%ttWe*Ul3!Q<_-n7XPtkNY3L&xr472@Ew2WZ^iRU4&{)$JSb3Ia$B+aGcJ8mXz?QpIcAUM&puHrRM-GsFJRG3~eeIbqhE^t{Ehi ztyilATWAa*M5qgCnC3F7Mn%NbbAm6#1L>H=EO>8)^C27ZiO;qA+t0+ZFdEQ0Vm^`Ac z1HTX_xqHRDl5LJ+DiMQo!LYiML^z3^>rzWL=2T03MG?Tj79rUCGAr*BH5VD2#}j)y z9lmZJYwLJs71>6sNPbvz`wlCPYnrD9*5HKknk8D>%ounuL=1k#LF3r}@p~3I%{rHG zY!X#D0V7cy`n%evi9_1Ge)IzPplMI@|&6yeR9tO zz2Cv-gq=U1xJ$-s7-6p7(U-0l11ukmaf7Wr&tDP^K2gw*U;53%Q5hQ`unL{yGoWH9*@uKfZ)qi!MB=87BmFd+J6N=O+M=`ou-dbTY?* zX12E;)9}(j%ee5mlF$G1CRaWNaC!M+PX2lKKN!9fK;tj-uy~B{7sr;0L}fhqOo}HR ze?(8&PQFrm%)HYw ztr6m!#Z13@pJ~FCCOSFMt6v~Gp;lBX+9$YRMxUKSDgkj2Zg1JC*fAn<2CSwPUu?jK@FXY)ZO{(f0eXqj%cc1B(0Q4&j zI&gE)f2<1t+y%f+9VCAQ?$+^E|ogi~kZY@pi3CwgfC7-Y!Vw0zCa#DT5z5t2DWKkOke zE*Nt11KGj_X8APjl(z6|lpxhZ3=)SgegIBE=@R|oshAp!W1_YT*O8+Nt6|_(I+h+U z>El1T0fZCNiEY&YoQG;`>8lv(IF#XxeL~xq#zX{dZx_L3Mvu6Cg;*#|RF!)sCC;^N zE)l?$H4;ANP%`HN)uAH*$nr0Zo1qcD;|C1$vv}={z%VGVPAA5W$H7^R-1`!=L)d*QUoag%yq?Tl*QtnTiet|`eel6jKhl@& z@ooElS6^Skw{F{iC%5fm-`ohNC;65$hJ8TIiG2HWQh%PD)0neBE?Ek;`!+-z3 z!rS-1?>hi!Qm{-I?tcB7w-*53@E9LE&)tuI{Nt0IiS^?f-}r_O4jeFE>N7=8?>_(h za~-IBfXV{fR@?#5?*h2{Z+`JFe)b>z<_~_U6YUSZ18RYN`A`e&!8_WIF|B#lrWbcs z_*M{u!CswsvaS{hQ6khW;xIiglYO=yIuNw7;`Kt@QTToKT3T1`;^8{!VTg{sM{IJl zWubC3+Tbg}fSce&=7`jPD02O_rj3@~y@0t`z!wE_Z9r8v6AW=-`R$j#)Gqu0jE6@IkI1E&Y?XcAk*X&FR;8$ zAEvDi}uV9V;PvS8&!m%47p2VX257W z_Xa3g>|^i?bsEy3JZtPE;)3A074FC8~U`Ke9r!@i{{@cdN z1s%DnhDxo4xBmV{xUB3bjAw(f9-CvhMt9B^PS$a0Vl!KLOa;?$V1VD56HI1B2B5KU ze{nVcozsfTz9Ak?d)b>F6SgE!Cw2&fBVck4dul>LuB}~2npBLf%$Ac6iv9c-aG675 z)7WcUy4EPb?>;ToBpOQQjQBb-;g3zwYA<|jZ0b$91Q_s)_-H#DC&Aek>^i_rJ*|!% z-L~!OI;gsz*8?&3TzD*--vkLd1HS4UPmX+;C%>yPAqwxYnYn>Gg7`|_@KaJ-<~XOX z7aF|I>za2y=YYppmkwM|)zyz|nF{XGLoc4w!Y^fVtL;Vx;-yxM#OfRldR1;8%>@XcX2w;*JO zJ$UW-d6Q3W7z4pWyX!b(@FoJO2$p}>veUoDL4}2*lYZ_nP+PI+I*DX=w}1Zp&;Qv! zgp@LG4ByR{#`DIpAJKmO+qV}0-tZW+h*emHT_hYG9&)<}pXI;Rk%)(W2JlXI09-iv z2hY3z)bk4f=ZQc1Ri0m7{`}$P=0lb(C#ScMSlqbMg9;WGR;3y~x@sdGYg8+emZ4gX z6E23k7z=_Ofo<;H1t12l_mPs;weN$o12gHgdfc<8SRPX7@$D)>Ede}|PnbDiAd!s^ zBG$Q!xr&&j=EfZ`HrA7@Ss;>taC0I}6g&c@ro$x)?BJn~b?~(L7{F%+_|Tv+X56@i z?7@wGAt0s#s^tMi01{DT3u9IMtGR5er!G%y9Trj*?2J%LZB3i&kp+_K z4-}=Wv|~xD?cmNB+YYMsgICU6(T;tXqd~GgEe^(PVAt{9i(R$cRux#D@%0!CXP98#aJMArzNZ9|pW{B-3M9Vdgz;M>IBiK*zRRZL-k1zK z`Jk8>W$rPZu`+l0p*F{1i){3JTm|wNFNNoV-dY15Oa~IIVsylkcTGTTZo%x$2}Fh9Bv=mO2wyGT|1oPp{Yu|s5Guz4 z0Qv*#{2;NAvC94rTh)WAIo7gsc{g zul?3L3J8RfJyAzr_F9M6TZybSknzg?aOUdx1wzJO%h|R}s@f+BNe2%0oa3wZ_$;sE zX$OLncjRC)xe>%BBaNr-e4g)s1)N}#u_0vNJgN=jxjivKt@zCyYMNt} zJl3W>C+2K-ABtUk)pm0cK=##ZTY8y`Gv;Dy-@cld10DbXKmbWZK~&K*H)k8$g%w@r zSJ4c+(NZM7zJ|avv9df}W}Iy2H47QSgGZv|7jS%GVVJqhYr<^UBjL#FKwWh6j4^9- z5kU6|`wjq|qWi=gx&5lLB|hU%kqGOvj3{y81rR-c5+FETP_S#(jv9Q<|5n_r70w_0 zxqqETDYEB({=fYPAOEBO?9ZX&oRBwuf2xlG{PLH-bO^ctPzON1_VV@uz}GOu-BEN^ z=kk|-`Ik4`=FcR5_q*S{=w|?#XbQLgv!r}JN}or+2cW+IK+RnMDi64T@X77-kKVm` z=kI%^>Pplz{Stt$TEn6>7aDE%GEz(Hofn990mf_DyPicoa!YQrYh#Wm5a!HU&FqY< zZuT3gIVxy*TaGL3p1EcaS?Q9vw$RB}`rYXx-0}d}Kao+u^I*5kejD2da=<{c7seM6 z1RG=ZH9lMrv^|7GiH+LSOQFt(4?ne2QihKwgeSVv{29Ll05K(w($;p#mn4*D>>e2V$4}wqoZ4_)@!KJoMCCk*F9HXdc5|M%RjqNkhX--$zPf$w z2Rq8Ez9YZCJ#nY*zWl5Djf;8)z%)L_N|cNlKvpJ&HO*Es3nGnX)`G?jOk~*>Rr#r< zUHMFbxoO8ve5{N46@WXw{Le4^{ZoK?x$Iv65R{W8o=aIniqQKCu}j1z;U#{pjoI(x zg0;dGpqO)uk2$uH1VKgNrM(P$0K5e@Wa#)SU7dC#v6DDIUD|5j|2~TE1vf({E8I{ep zjpa3-Cp}7S>D33VXd`X(JEx5{i8rwTQ+#uxzw(ijSsoc@{A%uuAp(N%STtM6Eu5I> zdsxzNC%zYw=Ec*Eb=Oxm?}zqZm&6JFz-5LWza$73iB za&CvXOp|4zF19&!UoCx%!WT^EkG*UXnH+0lW_Prqq|7r^A&`Y&8Kz8SH)&U6R6ra z$p7GL2l!yH+4S9(`hYkO^=nP-ysy?|qR}pXT_z4VuvyOmPJV2NMgQBB4h}1v^)1=; zm`+R>@&Hen9o8o_h&Hj+*%Uh>bx-{ABU|EbSuOc0b#fD8 z=x6o#BEI)@3;z@Sq~60vIt{^0rM~HMVoqM9hMc;ufp}BK=l>G=gr1XkpTrBJnqwn< ze`Eh(IKkg1{yDb$HGp{ivC+fNieqF1s29OR=m)V-{M_75L^IFV^R?!FFke-bFT=Sx z8qZhReU-d^|G(^;)!&BQ92yI)3y%cjJY(S)JnmW_&Hnh#{v8u0JM2Wa2}V3>aQ~jC_UkEmCFN&NY?pi z{pnK#5pmMbYf080HObuGCT;E_c=_VbZ-4qf{fGbZAN{BQ%Vc-Mo54T(+0UkXxy+Zw z6M#>(Cab0Yx*BgU0DKK2%WWL`89=_(Q7hqc^U+5i;f40ycfRwTyTAIYzqd8meFj98Jg zXFC}7V)fk)EI^No&wl4C-5gT+4%qfRAaiL#+#Njqcz;}<= z#zGXoJ)Tj~hNmcdHULR&w)Twkx=kUUi;Mynn&PN^9SlT~%A%CEmG@W!q z>zL4y_lk7v76axoV2q};HFVb5mwi@S^vN9An#V#^#|MHkN!FMuQoUqjdlkF&Lm}kp zCu@C-Tq*h)hn1WCjBw>U{WWMfIWRP_v$yN`?0aZ(*Mj#R@74T!!=jNMgnP*)On$Pdfro;9~aI4$bOvI%E7 zMmRp2Qn|%;9iwAMnsv;U(j44rysZ(I|HvJg^F}>+*uEPnx85Lc5?lLIH-LoWc%(_3 z^}S+_hHd=r8kx()Sv@kxGJZUs3p4rKkLJU-ZjFIGNbk62u7qp2shefvK$?OJir1fx z`Suhe`BCG@*P}UoY=X`_(WlsS{L=>>lf$sMk^@xnel=qmN%&w$EaI>OHfK3Kbj6^L zJZow9ork(zV}@N(W(8oquo?@G(P3BnZF)Txcsz?kmjGVpYUQi|<(*j@3xhW^(jY3E zoL!~eJR6q>i}4(jYy0uzD)vhJ9NUuFS z#EaF7b9^1S8E1Wn_8269mHXldwdKb;U;UWvoI+daAp1?W;ITk5Tw;xigzT$$SDOOi$nebJFkgDxGLWE*Wi3xMbrKezkp30FEW=JNoj8 z9y0hKtG|dE6w_pT$4TcXypFslGPcuLUFvJw?oXxb__aR)xa<9YEB=*Q$5hy^e(%e# zNJqJ`$Nul+$Ytit^NZ&{30Kn&Lr;i;cED} z5a6)Av8Rp=3a?S_Eb)myaN*on6s#>ha;~FDo;L4FfAU}aRNqx`_weCE zehQv&{Sg2z0{q|yKe+tHZ~O*#h;z>9?*RC_`Y6EL3joZ-n=M|8fAmLx#CPIxE_%@& z0GGK4aM8)Xz3Jqit3B3Rpbd8b@Ld4&JphQkP^P|lq${QW2i{O+BbN9-|&iJE883Vxt_$V7N=mpMUcvtP5jvy-#9bM8E5h6v!u*f)ex#c7&$ z16nf3Yc$)ByTdW8+bOh1*9v45%STz9x{Rt1{(@A@$vGDT5D-7c@fm@KMpAzX;27l# z0ln+T*T|pffbotVpI;vP35RcWee_rd2WHDe1H{eWQal(63X2KMJ>>kgSZ|bMBc_Vw z2;`dsk#7kE#)zAC^g}k@4*tfQy84VBMvXGAo#H`RZR>_v9_Il*NlX;!uM_;407E8^ zeNasV7?#43Vxt_7P!4WZQJfkp&BA2?43;qpc1Fuy>L)hIEC!2Z+4adfs8}|t>KrNr z+dRoMxH^oJ#18h9tIxiqolf$ry+kr8C9}UVYYd}W(rd>OQv`}FPIo9w1c+6*kO2g*N*8Piiz=v#qK7L?iaQkneCgW zYP(&zCF)=l#>_{hUH@mD*qyMr7`qAH%x#--=@$;Q0;o;>fNr*lJ+WlW$4D5@Ke6ip z&Si43XKjqm&ag1Ztgp%PHu#YzigX&Y>#oJJ*a>Lme{amNUU4$sj&Ig6q1!ipkM%v6 z>nL|Lk``Lobelo zsvch}?^=l6tYL6*nz&g1rWf%sKgb*>GU6Q_pTXzz%kMqaZTs)*wtc;m&n^6XW?zK- z4;}faXp?v2Y3h&Hm59Yj+b8z4-RB%iC-|IHsh<=4p78V9ukF_1@oU0zi2VO$?_GLr z%ku25ea?MG+#3-Ykx^9{c3}sWEM%4FP!e*}JsPy@8vqSH1cmqp2)+VB$dbEAG;nn+ zBvA2^491l%5>&2?$jplO``&X7<2S~C%r*DEH=>MG5rss|bM~5Z{vYH2m~*YY=UQv8 zZ7lWiB<(n25>5Poy=vM=+4EKX#!sKJ%YgG;Wm0I7>eG1{y|_DGQqLfz92kiaYGb?9 zhki-h?GEG`-}cXKgnH2Qd77UA)L0cO-YKsInEJAxTuFM{SCRQS8xQ zI-0oFu(tQ)w7Ly$RdCO{f^-b44!f%qwMy{)D_SY{1C^5jz$y)I2s6Erj%c4cW5@`+(l;BW% zAxuq2+hU(tntWTTe%G{W=g{?mYc%^~;3NL=WvUon9lKzV#1>t~*abPY>EQ-BO($&2 zIsW)$x$2Hc@)N#ols~wLIYcRU78qwTv%6|YT$tmZNB?4u*KE{5+RA`=K0t16?UR@n ze7Z%jPaDCa6U(UKSTH6w(`CbPEgqoAiAqhm#1*N$?3WUdXlDyrYkmU-z+gBh?f|l3 zBjTMKB1Mwc9WneI)`i-cFDP{!mybeQG-Jmd+lL1YTh4c)FwHz16MJkUig0A(+p+C_ z9^uBC@eE?nW2^p|k8PD~u{Zm_saP1yab!l#@^!8LkBTZdMLc??U|}!Cw3art85v}2 zsr9aXv>R8=S33C^lzo1oI`O-y&7lKDW#fA=>bmlQtl8eUXO*Bt&{Ad$_2{`SZsNCHeqh3@p7HbUSLfNYZ@@1tbLs!g<`EF?D0DgI&5Zmq*tiYWs z%l={{g{BXPZ3qC`wAVORzcuz2wr0)vmUz*}T?vm2pzhi~d??V-e5@<@JZ+y_^`B64 zMPIk^pWU{f0Ws`;+kO}IX3Hji?2G*_*t5XrBmj&4#K5t-boAU74cC40z<8Vt!0+m` zZA$E!#AZ8g!k&`(&|dP>96E3N_)6@Ow#yzU=QtgQ@Z;kyOH7e@(a-8)CvvHGePVmD zyv)uy4LnL?YAm9Jaj{LVa*UN17hGZxZCvRzYx+Wt7MiO+D)nX8v&@*;b!>R(wA%z7 z9p_4`a_#`&9%26i0KWoor^WxB7W=AmB7lXzXuAEM`-ZKnR*Ef>>BI>%Xw)R)^ z(ceS13Zl24+wZ=OE<@WU&9zJ#-xJS0%% zjynLT>F_W>Ch~j@pmgfnZ*Fhj(|OjPaUkTUEx&p6?CR

    }2KDa_fZwHK->5qx3B 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%0D|id(6-3{psn+JMZ6o{P+)VK7RMN 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 Ef>B7T^#A|> literal 0 HcmV?d00001 diff --git a/resources/icons/rasterized.xcassets/Contents.json b/resources/icons/rasterized.xcassets/Contents.json deleted file mode 100644 index da4a164c..00000000 --- a/resources/icons/rasterized.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/resources/icons/rasterized.xcassets/app-icon.appiconset/Contents.json b/resources/icons/rasterized.xcassets/app-icon.appiconset/Contents.json deleted file mode 100644 index 09056c40..00000000 --- a/resources/icons/rasterized.xcassets/app-icon.appiconset/Contents.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "images" : [ - { - "idiom" : "mac", - "size" : "16x16", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "16x16", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "32x32", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "32x32", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "128x128", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "128x128", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "256x256", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "256x256", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "512x512", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "icon_512x512@2x.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/resources/icons/rasterized.xcassets/app-icon.appiconset/icon_512x512@2x.png b/resources/icons/rasterized.xcassets/app-icon.appiconset/icon_512x512@2x.png deleted file mode 100644 index fbec5b4dfd6b69e7663a12ca7f6d1d682544d001..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 677724 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

      M`h$xj>OHM?HOg9!GOWM1fR6zO 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

      BxDG{Wr_05brm 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 diff --git a/resources/icons/rasterized.xcassets/menubar-icon.imageset/Contents.json b/resources/icons/rasterized.xcassets/menubar-icon.imageset/Contents.json deleted file mode 100644 index 426059c5..00000000 --- a/resources/icons/rasterized.xcassets/menubar-icon.imageset/Contents.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "images" : [ - { - "idiom" : "mac", - "scale" : "1x" - }, - { - "idiom" : "mac", - "filename" : "icon_16x16@2x.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/resources/icons/rasterized.xcassets/menubar-icon.imageset/icon_16x16@2x.png b/resources/icons/rasterized.xcassets/menubar-icon.imageset/icon_16x16@2x.png deleted file mode 100644 index 4088de4041e83b1166754881c5eed70d96bb8d0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 656 zcmV;B0&o3^P)0KhebaA%3EXi|K`ND@R~%;GAH*fiouFIxvoLWIpsCSw+hMTLZ@+`uogj~sBZwH2e24KDs|#ikJm(f}2$xxh)8 z1$zROi}g8iJl0{wq|rDRW0uQh+1}6R^F7*@N+rg{UhMr=t7XS&8;QBE%u}n?W;nUV z$LW~jyq5}vg3)L+RNRJM4PwgLNgQd22TKS5GX@d{aQ&4%ye2Lo1cn^_2O+$mDa2&f z4f4%pZ0-_Q;GCD3XfWtg8xR}=xb;sWLV$8mqCz^Ij)E{0==T|d>a7|8N zA-F(sv6zZ3!cUTk;<~P@aBFPOa9u8J5oe-Fv)QbM{j2FD z{Te_-9=RbUBB~1xL0X6jU4?i`IQX;%=7*0sh4{KD6)X}Ju?Q*|rzB)1%z?GiSHGCg q<_H{MaPBK3`C)oMnnMHbQ~v{I)5G%Vdf_qv0000 Date: Tue, 10 Mar 2020 10:20:56 +0900 Subject: [PATCH 95/98] feat: add preference to start at login (closes #159) --- alt-tab-macos.xcodeproj/project.pbxproj | 8 +-- src/api-wrappers/HelperExtensions.swift | 39 ++++++++++++ src/logic/Preferences.swift | 2 + src/ui/App.swift | 1 + .../preferences-window/LabelAndControl.swift | 19 +++--- .../PreferencesWindow.swift | 5 +- .../preferences-window/tabs/GeneralTab.swift | 60 +++++++++++++++++++ .../tabs/ShortcutsTab.swift | 34 ----------- 8 files changed, 115 insertions(+), 53 deletions(-) create mode 100644 src/ui/preferences-window/tabs/GeneralTab.swift delete mode 100644 src/ui/preferences-window/tabs/ShortcutsTab.swift diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index 4861c5cb..a64ca210 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -13,7 +13,7 @@ D04BA084CD1236EC78D90A01 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BACCBE5F97BE9B6CA645B /* Localizable.strings */; }; D04BA100BD0F47828EB649FF /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAAEC2847830A3991F8D1 /* InfoPlist.strings */; }; D04BA14D93726795A6937832 /* LabelAndControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA2526DC6726E0F7ACF7C /* LabelAndControl.swift */; }; - D04BA15A1B0C4871EA7CB899 /* ShortcutsTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACE22DC907F03D193075 /* ShortcutsTab.swift */; }; + D04BA15A1B0C4871EA7CB899 /* GeneralTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BACE22DC907F03D193075 /* GeneralTab.swift */; }; D04BA1B133D53572D7B312C2 /* CollectionViewItemFontIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA1DF8CAB2FAB7FE9244B /* CollectionViewItemFontIcon.swift */; }; D04BA1CEC6B9C8945FEC8740 /* CollectionViewItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA258B56193958D60978A /* CollectionViewItemView.swift */; }; D04BA26A691D56031FCCF00C /* Sysctl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA8DB8AA7E5570DAC568A /* Sysctl.swift */; }; @@ -148,7 +148,7 @@ D04BACABD048E62EBE4576CC /* DebugProfile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DebugProfile.swift; sourceTree = ""; }; D04BACB97A5895839BCB14BD /* es */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = es; path = InfoPlist.strings; sourceTree = ""; }; D04BACD976030676FD0761D5 /* Windows.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Windows.swift; sourceTree = ""; }; - D04BACE22DC907F03D193075 /* ShortcutsTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShortcutsTab.swift; sourceTree = ""; }; + D04BACE22DC907F03D193075 /* GeneralTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneralTab.swift; sourceTree = ""; }; D04BACEE8D430B8CAAD8C4CD /* BoldLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BoldLabel.swift; sourceTree = ""; }; D04BAD1297730B191E96E7FE /* CollectionViewItemTitle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemTitle.swift; sourceTree = ""; }; D04BAD241A6928F45355B315 /* es */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = es; path = Localizable.strings; sourceTree = ""; }; @@ -310,7 +310,7 @@ children = ( D04BA64F1F344007EA13BA05 /* AppearanceTab.swift */, D04BA4A26987F67DD94C827F /* AboutTab.swift */, - D04BACE22DC907F03D193075 /* ShortcutsTab.swift */, + D04BACE22DC907F03D193075 /* GeneralTab.swift */, D04BAD60C97E609A759E721E /* UpdatesTab.swift */, ); path = tabs; @@ -685,7 +685,7 @@ D04BADBCF20CD72057E7CF09 /* TabViewItem.swift in Sources */, D04BA7BE7F3DD24D58ACE942 /* AppearanceTab.swift in Sources */, D04BAD1BE9DC22C48C53D195 /* AboutTab.swift in Sources */, - D04BA15A1B0C4871EA7CB899 /* ShortcutsTab.swift in Sources */, + D04BA15A1B0C4871EA7CB899 /* GeneralTab.swift in Sources */, D04BA8092885B40CE3527370 /* UpdatesTab.swift in Sources */, D04BAD451966B43720120D2E /* Menubar.swift in Sources */, D04BA2E64C59D96F6EB27D9D /* FeedbackWindow.swift in Sources */, diff --git a/src/api-wrappers/HelperExtensions.swift b/src/api-wrappers/HelperExtensions.swift index 2a1eb5e1..b12001df 100644 --- a/src/api-wrappers/HelperExtensions.swift +++ b/src/api-wrappers/HelperExtensions.swift @@ -122,3 +122,42 @@ extension Array { group.wait() } } + +// allow using a closure for NSControl action, instead of selector +class SelectorWrapper { + let selector: Selector + let closure: (T) -> Void + + init(withClosure closure: @escaping (T) -> Void) { + self.selector = #selector(callClosure) + self.closure = closure + } + + @objc + private func callClosure(sender: AnyObject) { + closure(sender as! T) + } +} + +fileprivate var handle: Int = 0 + +typealias ActionClosure = (NSControl) -> Void + +extension NSControl { + var onAction: ActionClosure? { + get { + return nil + } + set { + if let newValue = newValue { + let selectorWrapper = SelectorWrapper(withClosure: newValue) + objc_setAssociatedObject(self, &handle, selectorWrapper, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + action = selectorWrapper.selector + target = selectorWrapper + } else { + action = nil + target = nil + } + } + } +} diff --git a/src/logic/Preferences.swift b/src/logic/Preferences.swift index ce15129a..48729e83 100644 --- a/src/logic/Preferences.swift +++ b/src/logic/Preferences.swift @@ -18,6 +18,7 @@ class Preferences { "theme": MacroPreferences.themeList.keys.first!, "showOnScreen": MacroPreferences.showOnScreenList.keys.first!, "hideSpaceNumberLabels": false, + "startAtLogin": true, ] // constant values @@ -39,6 +40,7 @@ class Preferences { static var tabKeyCode: UInt16 { UInt16(defaults.integer(forKey: "tabKeyCode")) } static var windowDisplayDelay: DispatchTimeInterval { DispatchTimeInterval.milliseconds(defaults.integer(forKey: "windowDisplayDelay")) } static var hideSpaceNumberLabels: Bool { defaults.bool(forKey: "hideSpaceNumberLabels") } + static var startAtLogin: Bool { defaults.bool(forKey: "startAtLogin") } // macro values static var theme: Theme { MacroPreferences.themeList[defaults.string(forKey: "theme")!]! } diff --git a/src/ui/App.swift b/src/ui/App.swift index 27962b1a..5ef32d6c 100644 --- a/src/ui/App.swift +++ b/src/ui/App.swift @@ -9,6 +9,7 @@ class App: NSApplication, NSApplicationDelegate { static let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as! String static let licence = Bundle.main.object(forInfoDictionaryKey: "NSHumanReadableCopyright") as! String static let repository = "https://github.com/lwouis/alt-tab-macos" + static let url = URL(fileURLWithPath: Bundle.main.bundlePath) as CFURL var statusItem: NSStatusItem? var thumbnailsPanel: ThumbnailsPanel? var preferencesWindow: PreferencesWindow? diff --git a/src/ui/preferences-window/LabelAndControl.swift b/src/ui/preferences-window/LabelAndControl.swift index ed71bb54..1884870a 100644 --- a/src/ui/preferences-window/LabelAndControl.swift +++ b/src/ui/preferences-window/LabelAndControl.swift @@ -1,8 +1,6 @@ import Cocoa class LabelAndControl: NSObject { - static var callbackTarget: PreferencesWindow! - static func makeLabelWithInput(_ labelText: String, _ rawName: String, _ width: CGFloat, _ suffixText: String? = nil, _ suffixUrl: String? = nil, _ validator: ((String) -> Bool)? = nil) -> [NSView] { let input = TextField(Preferences.getAsString(rawName)!) input.validationHandler = validator @@ -13,10 +11,10 @@ class LabelAndControl: NSObject { return [views[0], NSStackView(views: [views[1], makeSuffix(rawName, suffixText!, suffixUrl)])] } - static func makeLabelWithCheckbox(_ labelText: String, _ rawName: String) -> [NSView] { + static func makeLabelWithCheckbox(_ labelText: String, _ rawName: String, extraAction: ActionClosure? = nil) -> [NSView] { let checkbox = NSButton(checkboxWithTitle: "", target: nil, action: nil) setControlValue(checkbox, Preferences.getAsString(rawName)!) - return makeLabelWithProvidedControl(labelText, rawName, checkbox) + return makeLabelWithProvidedControl(labelText, rawName, checkbox, extraAction: extraAction) } static func makeLabelWithDropdown(_ labelText: String, _ rawName: String, _ values: [String], _ suffixText: String? = nil) -> [NSView] { @@ -40,19 +38,16 @@ class LabelAndControl: NSObject { return makeLabelWithProvidedControl(labelText, rawName, slider, suffixText) } - static func makeLabelWithProvidedControl(_ labelText: String?, _ rawName: String, _ control: NSControl, _ suffixText: String? = nil, _ suffixUrl: String? = nil) -> [NSView] { + static func makeLabelWithProvidedControl(_ labelText: String?, _ rawName: String, _ control: NSControl, _ suffixText: String? = nil, _ suffixUrl: String? = nil, extraAction: ActionClosure? = nil) -> [NSView] { let label = makeLabel(labelText, rawName) control.identifier = NSUserInterfaceItemIdentifier(rawName) - control.target = self - control.action = #selector(controlWasChanged) + control.onAction = { + PreferencesWindow.controlWasChanged($0) + extraAction?($0) + } return [label, control, suffixText != nil ? makeSuffix(rawName, suffixText!, suffixUrl) : NSView()] } - @objc - static func controlWasChanged(senderControl: NSControl) { - callbackTarget.controlWasChanged(senderControl) - } - private static func makeLabel(_ labelText: String?, _ rawName: String) -> NSTextField { let label = NSTextField(wrappingLabelWithString: labelText != nil ? labelText! + ": " : "") label.fit() diff --git a/src/ui/preferences-window/PreferencesWindow.swift b/src/ui/preferences-window/PreferencesWindow.swift index fdab18b2..10292090 100644 --- a/src/ui/preferences-window/PreferencesWindow.swift +++ b/src/ui/preferences-window/PreferencesWindow.swift @@ -5,7 +5,6 @@ class PreferencesWindow: NSWindow { override init(contentRect: NSRect, styleMask style: StyleMask, backing backingStoreType: BackingStoreType, defer flag: Bool) { super.init(contentRect: .zero, styleMask: style, backing: backingStoreType, defer: flag) - LabelAndControl.callbackTarget = self setupWindow() setupTabViews() } @@ -15,7 +14,7 @@ class PreferencesWindow: NSWindow { makeKeyAndOrderFront(nil) } - func controlWasChanged(_ senderControl: NSControl) { + @objc static func controlWasChanged(_ senderControl: NSControl) { let newValue = LabelAndControl.getControlValue(senderControl) LabelAndControl.updateControlExtras(senderControl, newValue) Preferences.set(senderControl.identifier!.rawValue, newValue) @@ -31,7 +30,7 @@ class PreferencesWindow: NSWindow { private func setupTabViews() { contentViewController = tabViewController tabViewController.tabStyle = .toolbar - tabViewController.addTabViewItem(ShortcutsTab.make()) + tabViewController.addTabViewItem(GeneralTab.make()) tabViewController.addTabViewItem(AppearanceTab.make()) tabViewController.addTabViewItem(UpdatesTab.make()) tabViewController.addTabViewItem(AboutTab.make()) diff --git a/src/ui/preferences-window/tabs/GeneralTab.swift b/src/ui/preferences-window/tabs/GeneralTab.swift new file mode 100644 index 00000000..155b24c2 --- /dev/null +++ b/src/ui/preferences-window/tabs/GeneralTab.swift @@ -0,0 +1,60 @@ +import Cocoa + +class GeneralTab { + private static let rowHeight = CGFloat(22) // height of the "Tab key" input + + static func make() -> NSTabViewItem { + return TabViewItem.make(NSLocalizedString("General", comment: ""), NSImage.preferencesGeneralName, makeView()) + } + + private static func makeView() -> NSGridView { + // TODO: make the validators be a part of each Preference + let tabKeyCodeValidator: ((String) -> Bool) = { + guard let int = Int($0) else { + return false + } + // non-special keys (mac & pc keyboards): https://eastmanreference.com/complete-list-of-applescript-key-codes + var whitelistedKeycodes: [Int] = Array(0...53) + whitelistedKeycodes.append(contentsOf: [65, 67, 69, 75, 76, 78, ]) + whitelistedKeycodes.append(contentsOf: Array(81...89)) + whitelistedKeycodes.append(contentsOf: [91, 92, 115, 116, 117, 119, 121]) + whitelistedKeycodes.append(contentsOf: Array(123...126)) + return whitelistedKeycodes.contains(int) + } + + let startAtLogin = LabelAndControl.makeLabelWithCheckbox(NSLocalizedString("Start at login", comment: ""), "startAtLogin", extraAction: startAtLoginCallback) + let view = GridView.make([ + startAtLogin, + LabelAndControl.makeLabelWithDropdown(NSLocalizedString("Alt key", comment: ""), "metaKey", MacroPreferences.metaKeyList.values.map { $0.label }), + LabelAndControl.makeLabelWithInput(NSLocalizedString("Tab key", comment: ""), "tabKeyCode", 33, NSLocalizedString("KeyCodes Reference", comment: ""), "https://eastmanreference.com/complete-list-of-applescript-key-codes", tabKeyCodeValidator), + ]) + view.column(at: 0).xPlacement = .trailing + view.rowAlignment = .lastBaseline + view.setRowsHeight(rowHeight) + view.fit() + setLoginItemIfCheckboxIsOn(startAtLogin[1] as! NSButton) + return view + } + + private static func setLoginItemIfCheckboxIsOn(_ startAtLoginCheckbox: NSButton) { + if startAtLoginCheckbox.state == .on { + startAtLoginCallback(startAtLoginCheckbox) + } + } + + // adding/removing login item depending on the checkbox state + @available(OSX, deprecated: 10.11) + @objc static func startAtLoginCallback(_ sender: NSControl) { + let loginItems = LSSharedFileListCreate(nil, kLSSharedFileListSessionLoginItems.takeRetainedValue(), nil).takeRetainedValue() + let loginItemsSnapshot = LSSharedFileListCopySnapshot(loginItems, nil).takeRetainedValue() as! [LSSharedFileListItem] + if (sender as! NSButton).state == .on { + LSSharedFileListInsertItemURL(loginItems, kLSSharedFileListItemBeforeFirst.takeRetainedValue(), nil, nil, App.url, nil, nil) + } else { + loginItemsSnapshot.forEach { + if CFEqual(LSSharedFileListItemCopyResolvedURL($0, 0, nil).takeRetainedValue(), App.url) { + LSSharedFileListItemRemove(loginItems, $0) + } + } + } + } +} diff --git a/src/ui/preferences-window/tabs/ShortcutsTab.swift b/src/ui/preferences-window/tabs/ShortcutsTab.swift deleted file mode 100644 index 2a016322..00000000 --- a/src/ui/preferences-window/tabs/ShortcutsTab.swift +++ /dev/null @@ -1,34 +0,0 @@ -import Cocoa - -class ShortcutsTab { - private static let rowHeight = CGFloat(22) // height of the "Tab key" input - - static func make() -> NSTabViewItem { - return TabViewItem.make(NSLocalizedString("Shortcuts", comment: ""), NSImage.preferencesGeneralName, makeView()) - } - - private static func makeView() -> NSGridView { // TODO: make the validators be a part of each Preference - let tabKeyCodeValidator: ((String) -> Bool) = { - guard let int = Int($0) else { - return false - } - // non-special keys (mac & pc keyboards): https://eastmanreference.com/complete-list-of-applescript-key-codes - var whitelistedKeycodes: [Int] = Array(0...53) - whitelistedKeycodes.append(contentsOf: [65, 67, 69, 75, 76, 78, ]) - whitelistedKeycodes.append(contentsOf: Array(81...89)) - whitelistedKeycodes.append(contentsOf: [91, 92, 115, 116, 117, 119, 121]) - whitelistedKeycodes.append(contentsOf: Array(123...126)) - return whitelistedKeycodes.contains(int) - } - - let view = GridView.make([ - LabelAndControl.makeLabelWithDropdown(NSLocalizedString("Alt key", comment: ""), "metaKey", MacroPreferences.metaKeyList.values.map { $0.label }), - LabelAndControl.makeLabelWithInput(NSLocalizedString("Tab key", comment: ""), "tabKeyCode", 33, NSLocalizedString("KeyCodes Reference", comment: ""), "https://eastmanreference.com/complete-list-of-applescript-key-codes", tabKeyCodeValidator), - ]) - view.column(at: 0).xPlacement = .trailing - view.rowAlignment = .lastBaseline - view.setRowsHeight(rowHeight) - view.fit() - return view - } -} From 49a6d7055239d8f25f185cac9390ed586cdad5b5 Mon Sep 17 00:00:00 2001 From: Louis Pontoise Date: Tue, 10 Mar 2020 10:21:21 +0900 Subject: [PATCH 96/98] fix: ignore build folder --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 16c960ca..cb0edd4c 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,6 @@ IDEWorkspaceChecks.plist /node_modules/ /DerivedData/ /Pods/ +/build/ .DS_Store From 2ebe0be833d2af1ffd6874ca3cbeb9fef13215df Mon Sep 17 00:00:00 2001 From: Louis Pontoise Date: Tue, 10 Mar 2020 12:27:35 +0900 Subject: [PATCH 97/98] fix: sharper images on non-retina displays --- src/api-wrappers/HelperExtensions.swift | 12 ++++++++++++ src/ui/FeedbackWindow.swift | 4 ++-- src/ui/preferences-window/tabs/AboutTab.swift | 4 ++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/api-wrappers/HelperExtensions.swift b/src/api-wrappers/HelperExtensions.swift index b12001df..3254c1c6 100644 --- a/src/api-wrappers/HelperExtensions.swift +++ b/src/api-wrappers/HelperExtensions.swift @@ -161,3 +161,15 @@ extension NSControl { } } } + +extension NSImage { + // copy and resize an image using high quality interpolation + func resizedCopy(_ width: CGFloat, _ height: CGFloat) -> NSImage { + let img = NSImage(size: CGSize(width: width, height: height)) + img.lockFocus() + NSGraphicsContext.current?.imageInterpolation = .high + draw(in: NSMakeRect(0, 0, width, height), from: NSMakeRect(0, 0, size.width, size.height), operation: .copy, fraction: 1) + img.unlockFocus() + return img + } +} diff --git a/src/ui/FeedbackWindow.swift b/src/ui/FeedbackWindow.swift index a8667b08..5b7eca84 100644 --- a/src/ui/FeedbackWindow.swift +++ b/src/ui/FeedbackWindow.swift @@ -26,8 +26,8 @@ class FeedbackWindow: NSWindow { } private func setupView() { - let appIcon = NSImageView(image: App.shared.applicationIconImage) - appIcon.fit(80, 80) + let appIcon = NSImageView(image: NSImage(named: "app-icon")!.resizedCopy(80, 80)) + appIcon.imageScaling = .scaleNone let appText = NSStackView(views: [ BoldLabel(NSLocalizedString("Share improvement ideas, or report bugs", comment: "")), HyperlinkLabel(NSLocalizedString("View existing discussions", comment: ""), App.repository + "/issues"), diff --git a/src/ui/preferences-window/tabs/AboutTab.swift b/src/ui/preferences-window/tabs/AboutTab.swift index c716ff0e..98d53faa 100644 --- a/src/ui/preferences-window/tabs/AboutTab.swift +++ b/src/ui/preferences-window/tabs/AboutTab.swift @@ -6,8 +6,8 @@ class AboutTab: NSObject { } static func makeView() -> NSGridView { - let appIcon = NSImageView(image: App.shared.applicationIconImage) - appIcon.fit(150, 150) + let appIcon = NSImageView(image: NSImage(named: "app-icon")!.resizedCopy(150, 150)) + appIcon.imageScaling = .scaleNone let appText = NSStackView(views: [ BoldLabel(App.name), NSTextField(wrappingLabelWithString: NSLocalizedString("Version", comment: "") + " " + App.version), From ed27d2f74b1c74e9dc0ced4033c352a9111c4be8 Mon Sep 17 00:00:00 2001 From: Louis Pontoise Date: Tue, 10 Mar 2020 13:42:23 +0900 Subject: [PATCH 98/98] fix: remove unnecessary/wrong layout code --- src/api-wrappers/HelperExtensions.swift | 9 --------- src/ui/preferences-window/tabs/AppearanceTab.swift | 1 - src/ui/preferences-window/tabs/GeneralTab.swift | 1 - 3 files changed, 11 deletions(-) diff --git a/src/api-wrappers/HelperExtensions.swift b/src/api-wrappers/HelperExtensions.swift index 3254c1c6..4f34087d 100644 --- a/src/api-wrappers/HelperExtensions.swift +++ b/src/api-wrappers/HelperExtensions.swift @@ -99,15 +99,6 @@ extension NSView { } } -extension NSGridView { - // set height for all rows - func setRowsHeight(_ height: CGFloat) { - for i in 0.. Void) { diff --git a/src/ui/preferences-window/tabs/AppearanceTab.swift b/src/ui/preferences-window/tabs/AppearanceTab.swift index 69596095..262ab210 100644 --- a/src/ui/preferences-window/tabs/AppearanceTab.swift +++ b/src/ui/preferences-window/tabs/AppearanceTab.swift @@ -22,7 +22,6 @@ class AppearanceTab { ]) view.column(at: 0).xPlacement = .trailing view.rowAlignment = .lastBaseline - view.setRowsHeight(rowHeight) view.fit() return view } diff --git a/src/ui/preferences-window/tabs/GeneralTab.swift b/src/ui/preferences-window/tabs/GeneralTab.swift index 155b24c2..5a58e96c 100644 --- a/src/ui/preferences-window/tabs/GeneralTab.swift +++ b/src/ui/preferences-window/tabs/GeneralTab.swift @@ -30,7 +30,6 @@ class GeneralTab { ]) view.column(at: 0).xPlacement = .trailing view.rowAlignment = .lastBaseline - view.setRowsHeight(rowHeight) view.fit() setLoginItemIfCheckboxIsOn(startAtLogin[1] as! NSButton) return view

    BxDG{Wr_05brm z{wcs3j6=@lzhm#;f^EI7^e}9Uwf4bL!PKsHe)$B?b z6LI*n&I-jC$|9akL4T<`DQo6s%y2Y_k@>!5kJ$@IDI&Q69Sw7{cAouZhjZaREiRcH zX6zOfzucxJ!(mm96OS5fF?Q%wZ@^cD`sBKs27m4QaesUI@BOKNj{ax=?jNCtAHGZ} zP!=kNkHD&tI|?`?nYS5{pn2%Cp|P2NH!u_yE!Sn5<-b_l(wPY$6CEE^4y`bn7)BRo ztvy*W1clHEW`dOqF!*&$N3-Z?@&pIcBtMo#6;>xo0B)MwEFMCd31XzR#29et*=ShW zuzqtue$n%w^qg>HOV(x_Da$67PoIGNajA2QLJacn{J|*y63{Ye7!jfioE>!ZYu^C@ z1-|7uwv(UfSgM}38GJ8yNa(eb0LK0uKiG9tm!;>p3e4^k;3P-!=JY)*(173Cl&OD# zfUg3$N^wjLB)vFskdG|}zq1|_%JAVh8egJ)rK}$%YAkWAu&s0$W!UlirmGaP)Z`T= z#_!BU{>x`1YA2w|Z5&aVpEFVm13FXjVE;L*ohto_Pf$ma>eJqd1!ZOjC=o8<>S_-3 zkn$j^64&>I4TPj{FeTF*x`ZgpiuD~f)_Gst!SwM@Hb7#s#R6!7a;W=LuwDhn>7Q?V z@Gph~&(DoMQuHiW`RCN1CoQxFm&~QNDMdDzXc^?2yk4M#tzS!2Z|Bla0R~JmQLYoWr zlf$S|D5|jkoZDy*7{_(+?fAZ3{`8mLd+$9wRql?y?wU;i;V8h)X?hZXbIBu*JmTEM zu|B5n1JFL(Mu2(*VE^4t0ce4Ddkx^t)9bIg^M3d{qnjlAa}!+9T%@{hOA@Jb?;xQ} z)!8%0fFVt%34?6xqVabLo@Iu2x;A{;?OWg5me~&!!K;Py6zxyZu*`Qx_hMbXH zjwn_WK+h60MCe#zFw8nW^Vkwa04v5^fr)<)Sg=kS0?-~&m)v1WrrU6m%3bJ~R9rzm zsE&|O^#tabe})`|B)X)&k_ichveQ*f8odJ2fng7%z74d5aNvb3WMK}H!4Bf9455yo6LbjmL{6? zvFVIj&g;6U*OdZc1^su?|D4+7N#o8uA?1?@9cfQ6L8%qowCINt%oXE+5osjum&ETh zVv_AYmv%%lgeXfy@v7OZbqMYx&;c?nyKPZYgHP01sA~{*hCfWEntd}bY|5P>uAqk_ z055$^_09eW@OY>rr$0yW@`X~unyP(hUqDwE*e%G%aYZ~*m1JLN*&dDy1M?*L_xs|= zi4}6XiR;_o^U%u-je0U~VgDs{KEqh=U*v;g-PU411)!C`eweYoV#!|AHPyy|1Uj>o zw$m60C>>G$jTHhr0vZnjPz3f?ZY=+2X~zJzP1(0p1`x-N^=pwtZ`Bz&!?Vxs%z#CKKP&? z1^B=N574!1*X$$!fxi~?_j|S%z#;gT_6op1xc<>ArlI@MF)bM0pTdjwz$jhV`kEY& z5wW%Z2C&JQsIqYlKSF0?X8p&MnT#-7h&+Qe=Fuft2s0SIq|5FRd5{{*y)=yRQwLSu zsZ{jO%>u4KbcZoM5B;+rc)RXzpF71sR}65$$aTo2lXD|YS8n|zfWE1l&7uW%F!BZG zOoQs!n}J0|J2{}m*sPUuP~R0R@df1zgCGv5Xek>4cWn5R=^@UIUUF!FM7F=rJ@;euD}U=-^iTf$7rbw8UZSx% zFbwt=A#lF3aZiv)P2^M>GS!HKYX%F(Kl6&+x3bWW1+of*;b~4r@Ck*iV6p=)Om56G z*>l;LDdBXVYLLU66CacZa|&)tT`M~$B8akX!@uHK!??Or1+a(w(-hoRov;jkxyoYw zUFlhznp9Qm7Wofnhe27_<(r8+lJ91E&sKDJ!bm1@jxl9Qtr?A~{;c1ZV=6T3KuZ|e zcf)gmOVpu$l1JO%^RrKXn)nmyz$E|C&9J#TB&Lf}LD1p(eu%c|iz@brSC)PV=oT$6 zGz_h<Z7K5M3^}7%)<#Lh{W~!?bj7~>HZn_MgL<5HYpb=E5 zuA%@h*F}bxP-$G-DROS(TP#4tJ+os$5pC$oL-ec1OR8xCn+^nuQ zlK421V?Zz?pwQA6iz-4%a&YFqzlv~vc&bMMZf(MJD}7NYR|5`-Zm=M2QC+()M5^C& zIrCEn^K5K(UreZ(#m8O8b$@d2GY>uV5Z}0QW2dw}G8%WrbvL~N&{qMplK|}gbI(23 zP6D9EAAej9S)FzgKtJj3@W@XBXjfbQPs&oZ{2$wICjoQ?-y-$){>}MDH}}`b19#4f zP%OHZaFYp~C7V%ZjUc7J3*#V=Drbj*ZP$#Q>6-Sjb4l(BR$R2r-jZ{*pedL5Z$#<1 zf|qT#f3t34+EV&Vzr(cI{)EIX$1RDl)2i)tfxY6e|10__Bi;Jl^l&N`kdMxito=rpL zXUQNdXU`>W(&Q)}3wny|Bxi-tIXR|P0E3CPSrXH%zr!GolYvlIwIo;wX+)`Y0ZWvF zevmD#xO8eI_|bGe*(V1sAxpt~?If6={^Dl|bqi9dUOAx5&o^*x5vS~gA{_(Q?D)f2 zBHu=f{(NPV?D>w5xo1K#Lh+Z+kB5+-DV3E%@2Z&`a*)PG>6mB3NmXCA zN1?@v+~AG!&~*}iqLYRlCIB*gtc@Wr7~Zqrv6g?Vy-M(5^{^dqUklIn-vK3*`zrtK z@n-t~T-gP0J8#8b^ex`5^BxzPmn&~mR`n6i_;30-`e4>w|EH4x^cmtOIMfWh%Cr~| z18ndj$42CirV55|X&L-DcWp#ilZ!&?kI2bAFTDT$`@7d)f1O@>=_O{)8@1nQ*IjiA zK)c#00J@7~I}WhlYlHZ~2Osn@?I=LIY!v`AXX{8ra3r9#lK>9R!xc8q;UImt_Sa+k zdm>)~hTx1@bvN2FgoMm6%CUg8ANyw;0Fu6%FD%s&49Bk>e2$vim$-#og-y%KQ|g?i z{cFPQT6-+*A772JEESR9(Ey$|?cZ>*a@w!aVJMBm_eZuH22xjU?Q^%QGsjWi$_6B~ z3&ws-#9`~Ls_U;5+p@FSN&@ms$&_%%bHU*$+y z@ZuDpu}simK*+1t01EFEhYCH^P1{b-$hai)vlt$NZAO{(3@Lk1<-ErMUnC5)O*6j6 zmxcF|!-DN48LTcnR>?f%MqaAh28j%Xv*K6f0-f?YV~v5m#;07)Tj(jN!|1h- zI4ao7U=v8Ob?tz@_p=Np?{OsuXbn&U%(c_BmG_X z+~Vq2k^l0PKsS0_UKD}v*vh(1PMqubPR{n)GTIHaANi#lB9nigk>_YtQV(ILKms)p zrR5m=XBSl)b(cNLxL155uf=KHbD}ivC4GZxmb8DACs8~&{25!NV|7ifgg!9btvz_= zLWLs{xF?Y{*)M2g64-vbJtRnU=wG5eQL?kB9treL?bPeA@pJ_$!+-Qb#;c8p|D!`0 z;}l5;a%cAuqo8qI~B&-&skcJpAy( zztRM^x-<7JqIa~u{rgVg zI2qzR_6Qgtq@p`hpi0NfbW8gb7t*%5+pan^D~J1tBCeTu$D0To1^7*2EJDGfqDD6& zx3{`vc}ErOCn&wT7-2SrIGcBU9{=KfB3v?wBaWrkZ61MYF3SP$bU{-qBkDn)#8|W? z{|`U>Df(aiZ~r*`TmQ~~9gK0!-iKUf8Ii;%IcPTzi&GonU9vldY)Bbza4i3fAPs3L zl$JhPeS3y9&~XtMpO|IH8zv#nhzkb&k@4oGvlPMpx-I(*{0t}k*J%cW4Y;5?0-bvO z82iGpN1W{h7U5e}>v2UVD=!foa5F`}v;4yt13u(@#L<@W5Ne35DPW1PP#On&PRc(? zXHi}$vD6wxZdTu;C%ngr7L)uVj{1A!e=pDStiCakX4rrY?|q3o_~7Kh#7dQ z=wuVqgdYo?zfL0~3QLS1t_HG%Bo0j^Su$DAyfPXI z+GF4DRwtOU#Ec~B)>i@S-@yqFA)}>(XXL>KfYWyDH$gmvGB-x@I7TDBq26V}V*oYy z-|RF1lN*Z09B)c6WFMbr{7^`se@VQUv>~rJBjkXCO*+~Gk&GtG# z+XLY6Cs)r;UvWV{Fx8Fy6;+tKmWvx3_OYJyN70-NjX^%s;7r(sA<8@B8$y(HIw+n{ zwxQ_jKRM5$e_gJh@wUZKHmdC;k&?)=*3ejQmI=wveae7f&DYhs?b;g(yrYh_-{x1{a;`H zCHmUe|A{aV9NcR?8~y^pI`#ojz*jZOLhcB;1lMuWz|dtxaH%V0NMv>t9X979cHAS# zQJSVeQ4-B?Hoy^K%0`fR4vG=R`mpl*T6H{7l7a4BASDL zf0iKdviXw2C(~o#k-5**uYjIR@;_*0dcM+Ua9o3Snf#A`_OX5%z$l@XEhDj3Z9r4!H!l27 zx4)`($ryxO@LB_S4d)jKWMbqDuOeSkA)wNG*6`6U0xEMLBx}on+!S!dIEOq{y2O8u zlj_x&=Z}(E4{`d}&i>t?pO|O0R{|^{(2pvt8$_D?1muO|LF)?g z0cepa0FdnO0r}m3ld+P(WWJB(kA3dT@4ovkeeZkUTQk-jbe+&$bX5oAx#ymv*Is)~ zo_z92dGpOT`*^pb0NX}@AAkIDuY%RvUt9X$HUZQV0eS+Utpa%O^!lq$91;br2Iov} zw4?19`HE_bL`kEz8Go^(|Bg6hLk1<3VXUQ!3YJ3a(?iVTRLg2Um^}atLG!*gVohPK+HDuYj$g&!g*=b^E1pb48+FlU<)bIZy z{e{2yZ_vZ(NU$YS1autBKiy;{Be0S|B>+RxK%GH5a5lRnrBB1g%opcipMWQEcG|s; z1uhxIa6Xez_;>I;)hkO&Ia%HDsUAWiZjfn$J9ykxP&LBhR8X3YR^7-FWiy=u@6j)# zgE|TSN{)GAg_Jz#nwOWnTWKe?4@me}TmDt~!eF%}{5WffcV~IcXEh*#)=$v2@%Ta4dflv3ehTRJ0_ZNiKoG%7sV^l9!)ecZDM1P z@_CH#XWd+VD8wUXFNtE6lJywnOo!SKTDe4D%5tIX=l59$z$uF|2729e)QXO=#GWT! zMB=67t8K5$z*~G|6^^S70oZ_6MJ3~S3sD{@LbW0(C>Ae_YC95bjt__c2SHsHiAvq_ zdh>GJ4R@ielNS{4J=t5Y;O08~oUjKvgiT0e0rnemm?ZXJ5ON9=HWs(xlQpF2V+ zlLVgeFi7F}J_X!JK%<$&pXjoGZpQ-J27sCb@VA-Uy?wF|Fg#4ve|MsUjsb(Gq!A7m zDC97hk@Dp-7RZ zgC4oZi}%`nxG3Y_vB{oxD!PrIgfE?f9s_gny|=(NrxfH7h220o*JC}~{hbPxnc!X0 z*___{_nZb5oOQF2%WV@t>$xv++QusYJD!}Fs4YkCCMS7eSm~2pDKOMK_E((^6_@c{ zA2rAS(#f9w?f?EiPk-gF{;7lfUM4G0`2lC1y&ubF;8-&_Ur{-KQdmrx402vs5WUHQ zPYfSU4y@I)urGLL{4 zKHUQ>ha*!QN}e2W0Uox*s{o$lw1|L165p;uFXHtLnfPd-YeA0t>acbaz~S$wUwE1{ z-yZduK^vm{duvOuCOH+E$^?lr&suLxmFBWA|JZ6knDsPv$j}4GB5LlUkEpa@x(Qcd z$Wn*LxFZf0u-h|nd6W<(Q8)zPkOE&eyOX-r=3KO_%!Hlep>1){$mAyZ6Dq%0zCJe} zz=ItTpoJx`6a~pNGFa&%8BemA@e!yx`9mD#{5gD@{}O=_;EWfCtWD)$d_nwuOhd*2 zmr#p3UQEEm(LlXLg%=ifWD4ku{j$Co>oAVvart*1O$=bjrh-tjz?BUVd_4}`kW$Q!o+NOV}yX(?k0YJr6q&^8fm-PanJ6-v>#&q+nTMP7i(oY>= zbPUvKa8aU#xSfYp_8&$CD}jg9r9Gtd;g<}fH@4acA9(MKMj z|LMQ`N9a%d$$!?{rPK%cZ>~WQD1M&>B6DWA$SN33&N*~<=d=#g_mkgChWU zaeCmZQ%UML(hUDJsw=r>S|)qk*oAy}Kuj@GQ(*3GFOmu1oiYTITmnnOAA`rWaSdH6 z$DTpI=*oBz&a!Mlggc=22|VKgDe@SMHDN#Qi!3DUHVy;U31@dv5F(IZ3tkqU6U%Nf zmgQXPz=4|N2g>2Ndm;dWrlasscIpUZL{?6Bxx0zy_`ZQp^0yps8E8kvA1Vj z`o~^S1-Z=?ZwnJ}Otef&S|8CWB_2e6GM#PrYB~FKUClu+Pwvu!I}^)=9iwE&YbDAm z7;lR~r9VK9WmTDY;(Mc?+qD(ot_CIjUiz)P;8RYZX>g|Wt_90jNWqI3`a(G>_M5qOxb4SPC(hHrtEbOe|ypm0aYM(ptRbpwqHkk4PcONb7Raq zw;i<582RE0ZY~sXb!3;gRi_&iiaP<(qJN9uW8~!sp9slPVdvk~6`QbwK5u`uI$Juq zqPDtfMN0YHv*X9v-uAC%#DU`?Xx_QfZh?Q>?C;snJwbo%Z~YSei+||nXBfbdnVsWM zKF+QZUG3PLvz`&4b4*YWeVUH!+BnUpy*>VT*2u_7PXUT?dg+Au?L_#ol z6KA)kRVpcQu}FqoctPC+&nk%+bE7{AAICf$!*PTf-Ox?kdJ5mCLsUTA=-gxpS``wMy8%BY^dAEoeDz@ z)U951Vnyjdsc)Hhhtm_Y#jEr-LvLD>A*dzfE0ERH7bVj;$AqC95IfXh47g&l73DDn z@JX-1S1u|cOvDl0Mb7tO2MF_-YqnG|wE7Vsx^l~eQKHz4BL<^vwrSEM5@nN}K)p!> zL#166?z3UWzf^wnF>{j>4;SJeK24%!D9g1-R8fYw~YYb-BGgb*0_IW=}&q{ zs{SZC3uKd-Cfyt>0fZ7W*&YBgg8uRDzwQCh@7qZLxVnbP8BwHsCvPtlNZ8S7>_Gmq ztqM%tr{l3*y2DqBo>Y>e)N>u!1lpbb_Z^%q}!k=jWB&p-dXYvw1O zctYNP|9vlh?b--5aTP$j-&O)xnf9lr0rc;;NZue5wS(l{+Fc7L#G7%JyL>fe519__qID_=ke+k|G8Z z_e}uzq{p_gJ(~qGXYKk41N7*v>jCe0)q+m;C&@W=1ZY;EH8YH5k14x+lX2YUHkQB9 zY05BW=Z_b4t5c|s)+$*6-!Hn5QpaYEY+NaoTlI*B#6HJg%BB)ib+lQ%GLLz{3CppJ zD&E~l1pM6Z{{sEW%fCd=Jo|WG{wrFrLO^ER*=Fa0PpeNNXdoqIjDc#BjKzXCVEjZX zUBXc2vQ(Tz{BANJpguT^o|IP&3MCkvbf>w5D=_At4T>?fv12!drvWomoV zRSfu?5D7+zWQ6|1pphUD(v}>4t0Y!VV5S7>qUQ8qpXjI)=7GmWI)!T8bz3p^0FU11 z$}3E>zDxWYI#DtVozTAh z-hc9^AtqS`_YC|5w4QLua#*YfG18S*_5$dDc=>luarjYXVnRM2;G%&c3nv1fg$=I*ho$yI!T-k=#rV= zLIq=^L{iTv3(9bb-xWrmb*Ee>!y~0FBbH2kSTlyV2V8*~s6t81$V(Lzy2clt7QK_p zhpx-;ODdmcQO7`#8F>CdeeJ!!2`iPpIrVUCJj7NP*0hkX(j(WgLa|4TcC36 zTDAi!GKMnyH~JcK-w2SetaP2dDidknWP1%ukZmFyZ5OmG1Lh~R&rJ%j){d?i@I3%* z`G5Ov`v7PiCo%hu{pRzq`ZfxDCZ^eWW&-f_wxn^GNep(M$GYlT;;BFOKmXj%{_M}T z`@5rKeFt23(<=a?Oe)|0_P6^z-Nd0?(oONdif- z1cmkv>gNcw$-VFsrIve#3O64Z*on3HiHLj~hZxxE^=W1q6b zja?sHobjIJWpzLQ24k!+5 zb|Km;IxYePU=if$sz=_rmwXQ`;P9IA6o-=U#6$+Fu< zEn(Feaf6{q!4l{nQX4Ca2dA&JC=BwLqtbk*k*QMJQ~$8?|s z0VA_Fl#m*rvfpR$J6J0%HDS_Ui_fBOGjIUAb89HC6ksEZ3fNH?MsGE_6#-8g^B^eT z;@V|K&zoEGXQq1|Gpom?LQVinZir_*#x2(NtytD}YpKJw3;bMO(O&KMkP!4-|KY~&*)M+i_19nDfBy5I-~DI>z#Ve6f%?|BzSUO(eD$keZMS^H+erZJ^TQ86 z?0nNs0=WPF`}iuXyW?$|vI!^sQjTHi@03X=jawxX#e7xhd-}jl|(Kfm|@aqQ=QURlDH=vma zhEb2K%FpgohEZy_=^lPtLBCQwv%3b*!10)jZ?MEDbJWGPb7sSdk^)ciBNI5KO+xgOb@sB{r|l`N`L0h{Q{+>;Q+5W!{}IMl^*v};*4|73@e$3`mk|%a0a*>Qxw+E9HK_B*eArJ7x zIwYfw8F?R9GQ6SZqYgKvpu)=JfFDXSWf~CC?SkKBKnDR2YIT$`vTu+O#rguD6DQQ5 zQ?g8?CDkGe95TOF9$e$hL`!{?i>&ng% zWJ!<85@c^v6O8Q+gTsduEq6zQaJ1)bH zhu$x^xsy*NI0zTvMW^ z;v`u|XMWO8vSDc7CisWih<+AWaD#qc5?Zd_uhMtUw!q}BOHBa zTzAzmfQPH?1JFLJ9cDWT;QaiYTM__H0%%;hyLt0wQqOt{K(DVS0q}=%_WjP7?cM42 zznseX$r94Sdw6{VN82~+^RVHCw%W3&Q(HZ{+%nBJ|90k1GYO= zwe6Npgt)#)4hV;n(KkY*(L0A95Pzasr>fK)SJI_J;RK+A^4QI5#P>-Ap`t4QoGRNy z;{Lk?8ky!RyOfuEy82H?1%~3}MT?^zgYq1~^992{wUQw!cr6SuA1NKPmI@bF3Tb^t zd;(XleJm}XltS^toIHdqKv1~Up|VW$$;rNdKKtAg^cVi(zez8A>2t~H!9d-EnhU6l zJZt;5m~#_>9~Y-9Xf}Q_B@Zim*EDgHKA(9+C_GF~_k64*W}2qphx2T7)CtZDsOQxS zHL)SdKv#*#G^tMMv2RRkiOaMwb*0}S_~%4x&=V50GUq^`-bMH(T0=jpRWTLMA-h~K zjJD7@v2my?Y*7ADugv$zakDlBg0bo-3zpS8bJB_zbfEM+<5KzHSb6=FbqR;P1~UG| zWQ3gOO?M7Ra1JJ5LYZv1{>&Gjrr&-2UE(7kTfm5pEQ5Z-5gl|U4{ld_@OD??5R+4y z6Btn*mSZc7N9Et;8{4(MLbp0zoY})x3-B?RIb(cOo|xx**ci=RWPL~L@hxUCi7+vn zM?7q+`62>+y4-mcp_qVRR5Ol(AiOU3MPq~9r9PmaQJ>w`wC`Q!CEBRhGGH&y93~BX zjE9|cQpG<4d~X!xY-RtG_zO+8?${LyX#JRvB^t|fM}h&~)Isj6;zmR@$&mPtED$88 z15c%LU6fyV14 zSX+4@JJuM-_{5GDOxZRA6@4XwaT=vsd)y(8tibNR2VNk1ySdooJL$TsRse{4{V%@w zqN|b5fBy6RSz7_nP6B9r^WcLI`e?RQ0QcQ@U$5TY|8GYDQb@LQO-lm2^6>|+5P>tM zuK{$X+l?f^WDWI-xTZ-_Z1(5>G7;)FzX#>gx_T*2Hq+S2aI8mYZwlD)0ZGvjAckte z`V%G>4uc8nkqYc^wluR(MKM6N7P^lFB99q=RnWE~V3++NdSJUn_vkxBb`)SQ*Ny_T z%>V(HaE!7mfrGHkm;%HywL^(YvlEl=$83pAC6=tPymH-(Y8C7S>7L=rBV1d+Sz{em zLT8W4GyGj=OrRZF8PV~)FZ1u?IF|c2p7{Ac@J0G7|KXpeFMauQ?zp1CvUeg!`{JJ% z;38JF&xAjNaC%l-Ax4CeiK|nS1c{+J_Iox8X>3g5Qy?GrqC3guD&7-*7hkhe#$h9Y z1`=Lpe0QZ)n4lWNrE!F1zR<1|*pN%(FBDg;gLT)JOur?2+2Ckr4UpvDc!QzEP~wVV zmW5;T&jho?3=W>RQeg=mx4Jm9AM$1`)LskT%Zq8E6$X3O2K=&b;$?w9@L4q+AR~xR zg~obBsCLYb`%|BNjB-!nJuzjLC7Lw?7d*LuxZ+}iM*uRR3BwfpOQ9b2Z-FH~O^!F* zwfGG6w8JGZDrmBNSclAJKAimk1|0pj>K+E&fVyny45QdsKa6(8dH5~OVE5_ zScZuZz%0uI%C7q=W?u*s2)Uk6$drgoV{C0R;Bed6fP+Y2CgK@WBqVg~T;-Y?a^B_w zvw-kq2AKoDqQi@RI2z zSxQJsLAC}gQF2YY$$?n4?oPZAW`XkzZ2c~TF^zXh#Ru?~qpYB^Ri$Xo#V{C@uH@&B z;t-ey`~;2=Is`H)mfJbxN3C_7lQa}u{bz*jm22tLNNXNj-nX;8+6AcMZ!;ML@9V6 z!sM%W4aDP=04w$xW!9QaM5_=i9&pU=dvKnTB6^P_h(w%4mYo&Oq^Zv+hbtP82zE=3 zx0FN@Y)8VC3r?26!6r+)A{hpNS<>%39;pes{k2-%!ez_@!PQqzAM3=x_?q}MiTv&4 zpUO!;g}MywC|Ngq4dBYyK-pfk>3UP&!9{sv_3^M5BY)^b=&#kccX>ghyAZU$zM@x8 zl-gjKKaJ)8efNKR6@X!104eQ(Qb;R4k1;q;Pw^pHf`Dx=^dkS{v=k<;zQoBhhs4V6 z_19mA2JgJdSuV88d&Q%})5@4Vwf-;M&jcI}#6zka>nYp(#N7xdR>qPRJ4 zDzpMe4nTjdlq6>D4Ml-$A&1qb`kx=!!Ibw1FesWLO729lZPBG;wgaPJj>KdAD8TU= zz$Rk_z`pGPu;YclmZX_Nl~n_(-zFm`iB42n%kd=x&bb^de&cdNn#yo06Yb;u0UwT) z!Ne)R5vq_NhXrd&3Ib}-?}-3-mRl`2RHq4oY73BhvPb*1^6h>9Kl5k*<-^}E41>q8 z#GS&?v00iFJT8oddzG?qE-Ju=khe`sBaNJqSQi{)cWg^Qmq8G!iHhtJ1K^kH zNva>fMFOc_NL$D*5TVYpKL{KgZpne3(+>YcCVJJ&X(lo`UKV6z9-t|3%k_*Fg%_X! z2AETOrguOXjJ~+!QVNWw19IaRUsB4~;EIcrj_u;=k9?&<&WG#X%|^@#N#_|3ooqE~ zu#RnV(eu$0PdW{s+r5wp4*ODY&U7LA!WW;>c7Xo@Z7KEf9+fg2o%!zygHVxaQ5!|3 zC&h8LKu18|l7I}M{su`|1$qb{>uuN79X2>en?U|19bo!m^L}SNm2JH705RqE5-ac| zPx)~%B5}M@S+eMr~xy`mjVQ`gV#6X_1@d+6Y>ycqe zwg_odzsriDsK^c_j;_~IGm7yK9Hzpz6yy$G z*t~3CCEHH|AeUev6Ewxex+A0!fldre(X#hl`M2V~2raa}_T>-T4-NFizK>G??EQac zT?s&;#Lagcd~c9tN=ykGwEynF0zdhF0mZMtAKsJ^i`y*aL-+p6zx267+{lLsWws;c z@3iZ#+XV11h+>2Fo$q|7eaLgqJx6c6@rD&c$x8>J>plRzj2{2zgWg^NXn)tv&t7%G z-h|Kjra7+8a@vb{nm%m`*o15+S@1&v0db>-X9HQjbF`A;3`DIXi z*a&+gRVS%aXW;0&p6-Ka;G&8&1S>Dk+U0JN!{f$Zqt8cM0>G4$?sU38*@a``bV=$A zXqYd+wA{_VX9*txY%JLnT3x6>@m{oYd`3UD1IBuWkJDEVd~l$Px*SG>7Fb1p;7=vv zCY0|9jHliASwNX*W3b%V<$u@zp8JU>`;!0v_P_cyGKewQtAQW}r5P6qMos-Yz0x8h8S zyK<@3`YHzES--E~t0v_CO_t~o9WqF^lj%yy1k+E~twr^W;+Y>a_vPjyIAiBi zl!L?>sLQ3|4zekEOucvGb5s}5eb`?jAWOp8%a#ihAzpZL!becR+K8)e5lDl`nlQTI@SQ5_*`bE@JMrhbCP|j z6_7xjZAbDUK~4&s1rb`?>jE+b76S94%~^k9Vh=vZ_|GO}5UM2` zY2Q`>;HSO<;E9*gVNS5XNGkscBsLPB3tfWn%Q1nM;|k#3=f3>qLri$`^{;<@Z%54E zY1dtq0BBc>lyxIO`s!D|+DG!W*Iw&`_rw!Vc)153e6Sb4|Ni^iv(BOS-g|E^uloSl zYXD^5+i3td==6>70yetI*VIyo+EpoL6Ti1Qx>=wr71adB*$@SCoUbt)8+@6EO>T!| zi@uv+D*$4ynkG*tCvLM6SlKlUOk3j{pwxtaXAYZ?FZuUf!Q-TXDl9lDXmo|lG z8%vxHit1#4Lc3iU<$6`+O{LF^9CJXm)XUk=p|94CV-1dy?G;Ix@SNQb9$*`Ul>!$W zdWy1euR=sbgmLuL))511#yy;$1-=~Ct0oW-9}E0j`7i$$Ki8N1f9YpGN0WDAftCWB zgJ3A9xLG;88%{{Bk+b|W4%Sz4q6n9K!uV5NmVQyY3ph%@26td0xnT%E2RRK z>O3d3Pyh?Dwb&sq}HdTcMJ}@ z$AAawWOJU;HrGZm(D#4`)QXi)$pW^z(4=HjQPISNflEiyxgfXpXAK+fp@0&;J}zaP zGXMl)B}+gfnMC{z86ok;LrCPTlrY7mfb^^d1^ zR39~{Ht5UsiOud?@UJTXd^LcTA#Kz83!SAD7_kfn_={v1%9RSWq*0pea3EUw(Rt|7 zr=D#eue|aK{b&WiopFgO(9S(Czx;A~b_hhAqpw`K(m$EGvVYqPpnYz-3Lsr?onC*% z>{a96Q@TlV(gN0<4Cj$X7dqR8y^wJwz@qDus_** zM%EmL$p|6N=@T-ia>M}@IobwZTr%C}pd`f}-iY?MdQMcAGuyvmfUw`V2mTseG}Dp; zyNr*Zb4l4iV&E^xClu`>4&n-XG-Asd%~5SD0RELf_BHxzfAg2;AP*P-gWk?Gi^j1*S#^5yxJ0cKq$DSh6OE__k=e`4(u}xGPS6n} zsP{O*3hhFIC7g*cb}0xZmES4>szqv$JHZx(7qHj+AQcOTFQ|yk*a&iJRiOP;hs!G( zoEAEkrgLBp-p~RYq2m`9XFgNcc^mqrBfX5)v`vEXb25`r*fldUh+V4 zr~$IIPNPM+1^-vrM?AWBRtgZsU1P2FCR~Uy1%3Nf;kJz#EcIY$$5WonB9|~=` z44W-m=vzdHsc_bU9x3_Cf#>+ip&pU;pa4AJX9`&t<8cZWG+ix$fR`ak?9XKQt9~`4 z<3Ye;1fvXlLDI{K6yoA%)t^9<0F1Jz%1pnE41cf+{=^A`@{hQy zo!Wg8`IifB!1%!}KS7C>8X*5`Hb0kPuvx`#0RovmNw(&w{736KIaHt505;nqljW66 zJHJze(+qX$SYtqpum?^@;4eKVJ)jqtFAHm$u9Ui90yreKnLL(;lCF@I8$$b!cYPAB z)7Mu6&@|M74f4=>7MHM(@m8>ve9DU?;NjXd77&VA|JeC|yar%xZiKHwjN2JMqI8@S z+4rHUiUL5tOCna{WdFw&X$iN{m`V)Tk$dm$`vAQ9>Z@dv%6HmzH?9D11^?Brel z?o`j!%ZilE==E(i=Og`8kqIayi4QSDVXjHmAFk~reu}Od=s`AzmbT_8%hx896x6t9 z#>t!~a;47-o2aa9U4B*0b~$3m0cf&XS{2!+O;h+5l%D6^798@>Ns*b6a zGng!hDD=U^M%a*1HfCD5I27cL$%;Q#v!KYa^XK?(ZEY*(u6maolAz`=#!hMv;=w7H zu~aU%HToO0$xaR?#_$uz9q$`nfd&}a)VCDe><^5zm8-nSvnwTVU-DhY1s$ZMjivmi zECWavd~TI1P2>47z6jXrg`733^oz=mUr0$CQ%qFw1#MVRpH_Lee#$lHfP~BE5eP*R zFCQyMDbNpnW%>hgGoEkve(H;#)lFn!%uuJ2EP6Frk;H`tAyep4*9~*i(H77AM3de? z9gPV~wK*VfURKIV5P$=}x_(x;k0}7AcxJMWrooE~>VYkEtd|4JClX^sbCO?;YzpR+ zF46KB7*|`wpw~H*cxI_dom9TfcH09;Gdl*05k&uZ5@UU4i6=C|8TbUpQE8EtjD3;| zjW4;J#G|zi7@!T%czjOdLvtrXNsbEtf0O`5~N={yN`iCt^ycG0(zNpu4{}h(d;8}+?A>TR(!$A z60AB@k6b4vOo)yG@lHdJH~8e)4?g%{2aViu*IkzYSX|EWPd@pi|8B1UT)upH6gXsy zZrr%hxu%@}pql_vSpm@N{oN~Xy zrx*uM9-A%J9qZ%GJsJC24ofxp)8GU!-jYzF8yM)oN0pyImUi^!ZS2TI%itO?NiEq=g!lrF18pA`HVf8F$rawX7jy`2nxd?C8tHECnSK1jYVgwUHzSZ z-qEw4dxC!DZ~YSek$?4TeHU*kX4U(UZ0sC1=tRKT5$m|%X)8=By|rpM*OVP{4CYn= zu&j*HVpOa6io-?AflSF7znMM~j^lp7h5ceMhxOt+wgoa#qmTo#CC9;ao`*}*zqF66nES(F2LQ~(Jj-}Gt!)0wW%eCCmbEQg%A z3&_!tVOv*>1bC5HMq5FYF*Z5of@jqkfFY&EhPUZ`Mja{T^7j}owGmY1pH?|DTClL& z9mFYtphgI7#RP}U+!uX=u0mM?c^i6qA!{7;i1E$*Fc01uo`9W!5M~R>|DY7W%+O{O zoDvmKCv?@t@*iv|%ZIZBFDe&p!^w6PIW_x_vM$<>1#ir=-@+^TU+JAisoT)NN}9VI z@=p$H+?TNbB;bDpB^hXda_dc6IbH&ibjLI@RaU@S3j9a ze%P_G5nwwBUebE(hv47$0BA=6LNkfm+erYw`SE*K z&t<#XA2#_p2*s_F8xZ{G>Kb7AO$(Gd+XiPB=nZTz@|3h>+&=_b5}Zw_BGfgq`q3g- zKtZJn!Z73jmB9FLrOl1GM0??Jx`(wR6794of3pbayQja(l;# zIGqWN^z_+hLcs?dK(%wCF|tQ?pBGe1HEnGDPAO_+uvUuSmz=O%W??mm=)w#nC}qQW zD9(x_r@$wglmv+3$24(U{>64Ll(ub}_~oDd9R210@K4hVU;doZ0u`<~SyN+#BWN?b zR1*S<8wQR7yc`Y@8Wbay_@}S>C`K&>Vz+ZspaCR?1ICR4-i z<$yNL^4hl=aCzG@;cfUFcMLhx0LxXJ37Fn-h3fFdjX4IXB!nwaP*PW3orw|iC$ZP) z@RuhRS;3eQ;Fx%6(XuSQ566!u*-A;cQV+*I>9-?&WiTa;*)n;vZT=8qL$*6dt z{BxH7&~sVGlJ-dnR-qMkIT0Q0IX*;G1!v%e)CzhGQm>@2G|W{lV0=OT@sdv<|3@!} zd1@5Ak@Coxc5ccnLa`Pw&K%*f*-0eh5`K{*a0ef)E?(TIfigKP0|-u)!&_s-A=RE+ z6qSo%aFb@;jQN34pWtTH%Mcu3n9!J2k{}s6@Ca$2yfPu8GOXoblF%1u+jeA z9jO4)n3P-dOlpziJNqq#c*7n^^$AlMMoM<2(^6LxNInvf?N~sHBtULHVv!shNs*VR zpcKXjvbMpA-+%o4;z`_GAqcz5zN|I`1%V{g3i2EX*uOLZ#sj=1i|1VA6Y`p(94 z&pqeg-+S-9K9ITsK<>Z){`Sc?Z{DQEMu6UCI|ZP9UYG3^cN`9acgnXc7|JR~y;;$B z_t8%lwK_Qr$|8=8zPb91r`|=nHQ=IHa|cBR(>^G-9BMHIx8G5k(WbFNV0A?Tg9&MwBpj*Yiq8}=r7~fd%Mx>m z8VMhoe55oERtE1`GGml4FrYJIMpf~%wk^BA3VKuQwNPUo%qv1tfh7XRH`>AiZG75F zjX(OYeU1KuU;fkd%;%n<^Ib!1dz|D&?F0x9B+8yR;LBP zY(*J z=ZDX;)3by9J*DS<^2hq~oo1pfNtgqD3Xr|+xQ%7eCSfwo>f*DUbPLW7o;5O+RaK)= z;)Oh}k{HBgY#BZZJDbCt2uT8dM)_BXVN2M}HW*6i$P)oi0nGT^zGL!m(ybD(+V7R# z@}!Rv9&-&+@FTa|*(QPbgZ&2}>UY$6HpUbDNI$u~N~zcEPUQRU5QVMTfejCS#aV2l zLDm_L2Q)t=Vvc~7e2mq#B%xWWHGPjJM>xv)zs?hCn}`+`AF9LMPom{(U8Dy?TggsB zKapr*&=E5AV7h#={}g(|bVf~U(9~LnyLtdUd9e*Yc=yiEYnop=U*dMw?LXp|6$cCx z;%nvfvmfgh@Uu72wK&<#zlbgUKkLbX@w(AQs{~K7|Fl?Pr_FD!G7XF1hyLdE&?K2X zH(eiXgc`EfcV@5hfBzT$YtKCX_~W~;eB~>AC+-7qHzokoXUm?dododYlTY@v)FY2P zvTop_Kuuwz=y;)*Fogqcm^;qsbU67E&}=IytLhV%gIflixTj4<}j=OBlS{Xt+;ad1{>gkK_8AIm$p`TBX1@ionQt0 zORz-s{sosTWT*Ciq$15E27L(a)IfpZi944hv~tjU?QP8dm;-C_*z|l4_|MMzjDLF# zuf39Y>-1Lt{^`db=xx|uHK7Nh^>m{Ih*l!>5B&8uGt8!s(|9Q3CSH@UONOKM8+L82 z0Fn(aXjB==&xCR%%0{X3jq0*hg2?q8z>7M^Y!Dc%sSU=yrb}ix?JFV;cvshhjfM#b zhViMNR}@X!Xq*PP^_xaZyxQ_z6vxDK^msvZis@@Lh8g1iPjFy-0i$rqE{2gB1e zMPWL@F{23wyB||yw1m~wQj z4|m`A#y4gG`XRsW+7$rb`qsDlIJS)dpMU;&`uyiV-=FD5fb_u!AN0=$9(W+>m76zj z_D_8kKy)7fZl9V2pm)x%zbYJFQ9B8szn?y~!;j_|I1EHyX7kzqSRxu16h+xYk|h|- zD{QfLs0mkh;*UFA)d9nANz7PV(RYa0^9T|K7@P|SD@7FHgQU;HKYI=;co0vcfQ#he z`=i@6r^_be+|c&A1KUP`pn9`?7mC#eAj*_yoXE`!gTgYyAPzGsKlkC(QBHJIC5rbM zf=DU!sr3vVqX{Ye=0sbtpYd|g0C(#mc}}?YtlzK~v@PK4T@KN4#z^%YO*^&wJp1)`R`iL*U<5 z<=wh@NC33YTeoyy9vMfA)*e;43DO9XiitO!H6+HF5q7gJ?E06iT_m&p!$rpd%avjA z&xq4=z(=0kK>C|99`~3F493dY@y(p$@MH~^F1P3U2_nS2u5$5ZR4)J3C8{;-pIP9x`GT=rt&Vg^} z_uwri97$i9RbXPGX^bNoSmCFnyBs#~l`?fDbf@8OPunA%Afp?HHg7U+D^64mjkn)! z>IQtcX8`;O+DFMNpQc6=zgUp3eTcp9ANv5rpC*Hmhmwxvtd9(zA;0XRW6S!1H?sT} zJFg?g#ZSzBy72a?%P-i9@lWJ?{E%HIba!52%Qaqp`DN2uee~K!fVLNa9tGIT-*?}A zbmPX2_6k6EI@;A<18CR5>FDKbQ^0pmPv786gRT1e=?8D-Y=6r8ohb_tza%qV@_6TF zyy&+>L^YPh0IR88$Q(FO+KoB&rr~-KcYL;CMOCc33Ury#AN`O39ZFZh<-p3`BSVevd)1U6zql>4`%b3hv}&UyjZpip)LA`ASKd zGOy3@T{DV6n|D-|Tm&G20p52<&c+;^fE1I+z&eZy!eh&_vA>`-(JB}QjHK`!36;1a z86m50v^4#%z!L_-jFq&7mIQd=%g@qZ_)Gs5J^SnvZostX0w*V&R2+vS-`6WQ?CJ_l{G~aN(0AH zs=BY=Vq8 zK*v4S-+;HiSGpM<=JakO$vakiop*hI)@J{EBA~4T7zuz6-oM)E(2u^ND*cjW*XT(y zB`kc#66~1iU89HTX(~Key3+cge=BW+uS+|iQ;oi;x2$1LE`k0OXdZ1&k}sz8ou>Y2 zx@IRh*F_PE0*LDcSD{%1fSh<$s?8zLjYa-ZJ8+r&0xl0ZM{ z^a9XDK(G18RMkV37LuPGk$+kRC>1YS^d&UQ>4g_08YSd|2=!i+om4<7ll8AZLmBHl zG~*mdir1pWpEq=2Z(%9detTRH|6?zMkl6F@#c zRBL+x=xPAA%>XIv2cd3?$w6`uqWu>1?^tK<{kTBW*@Zh?H% z&i|L5dFY{s_OHJBD%UZ)6Rx{*6F`C88jlPkV;%kWgj>Lk%TOMC6(c?0En&v@Z1;`%@vB= z{o<_2DIaVg3cN(8+ZKTARHtk-j5jz5JBn8Z8tHs9K>ePzmC!v0g>iYiNj4MdCjoFA z2k3z_JL*P8TKT<^1I~&%ssdeQqH%TvNm4m<;N8K1Hfv1cnPm_BqTe*joV=~*1M(0$ zemN@~^r0v#>tHrt5`TabL*Mqf-!r}R3x9zA$}j&9=$S+CPlfqymc9nJ=BS!Mi*}`y z&Cbv2dzA+-LzIk1^6=1$?SvwiJv1^wVotvdhG|x);BI(C66m<`NP!&~)5KS<6V^C; z-wsozj-;ogN{Q6bX6GYwyqN$GfYI(x%I-GCaVno=NEU5HpjZyg-*oa&CZ9PzR%S{=$j$!+sj4qXLR6Jq~ zFnAZ;@=0v7K3&4!zMmgv^UueuJ}%`qyW0N74FApk*%I(K4}a~m9nX8ceZPMF@cVjy z-pc>_-}~O+PmqVMDNNS{X_NDdJjP_UK)~8YAn1V;J9(7ngTk&t7%85glbAjy<*{0T zfS$q1m`p-vyxJP8I{|LnvE2b>kCqgZ2e@X=+T4$Ulhc z+J-GIOV35s zw&Y;!_^-jg3Yu*iG8A9n%dV8i^_X0vkLcck`!)em(6X=Do!Zr;RG|$;L~9KC3MM%Au7Yg2K*3#R1GpKewsS#(g6c4z>VZ1V-8o zER{rrB)WJY%w^_y0Sk^r{tdYJ;8QVLl*=uzd5rDG^wLXV${cLQY78fxwuwnCyN}%A zOZtz(X!V4Ep^oC3>AEhTWuovZ5x6$92d6;fzxU{(hS{VyoD~N0ha6|RGbvM z7c_RxA>`?df0RkM(JUnq!~?vW-dO0uz*WBsd{RyXc+lEs^YuBr-!Edb{PBt3MSu4s zLVF!RUkhk~zr7mpYrpymG4P$!1CaK_qQcOBb5Jbvp+Eo#^aPz&_2R%K#Fn&Waee{L zWRP*nbrke$&yKLqBwL_cYnd*Oc^$CYJf3U|BZKgYUuKx|&5)A}qLfdn2IdEn|K%)k zxiFz~{FzXkyo}$gxN`#0N7elnyGzlo;<$z&`iQ=1mSYZ^6SLCQp-B)03|f~#4}fv# z8$w-~!%(IfR^8za|eA)FqZiV@COhanJH!eF(I7nfIl9vsD25_jX{<6iUz)iMJ&4bm3%gci_yx zG?I0KiB*3tgqC*Hu>fD+{om=U0I&)mfElZAFO>fyYCs0Jz)<3-j7|O=u0&TIn{k-C zH`ejq?Vmo_qf_SR_T!H>ttxa&5wmA$TYE1Sw zl-$m~6Q#cp#8^6ODxCYVAlk0t-~N4|odlr$nWNZV18DbJ0D68d#dv0uWAL(TIeQYy zxZlwrr_KUKy99BhKwshX2>3fbJH?<|;WL&T5x}9QMJU1M_)PaD84p=Fgp}F~r?_6V z4gb!t#8UTPXxF2UUZ(%$|K^X=KlS^+IMsJU1>V!-xN!y}2gzm~k2`$&IEt3WB{?jy zT+lyLW61H8@n69x>oPfHi)T?p=JBss8Dg@Q|9RB`)H?<@6=%rCQ$h|2_&$;X>@=&% zjy3MN*CUMPjtR*cCnD57GcQ?*oy!ntIx4)cx+Z**OuLwA#hKu!&91#xc*p%2hpNM6 zqC-z;f{{SyEaM{i6UUmuWpg)2+Yi2$V^HMwI1&#@Zu?MeeqUC9T2{6>z_ZxNXYaf~LF zr^7-Q16yo}Q(bIaya13o>wh9n`WtyE1;cziiHdM!z!hZ0$pa8UyB0P#+f0-Hyfk>~ z2X!2UZmw6dK^MxuOd?eKWAvOruV$Dc>A%y@c*s7eqW+9MV~2ui5fLd!sGq1BGysZb zT69=8VvusQFYFcZ6Y(ODchD0;RFk-9OVGQ^t%sw+r6Uln^j%W@1ln{TON7p<@Yhyg zY@qBM2+zrhdM|#1{a*tJ5ES_@PmP+vE1AMlYP!5{AqQASQoHyhuacbQpEPl*CuM!K zr!k|>#Qr{S=<}Fn3tegUKJX~*GbYT*hDHJG1;`jz6r1tIcKIKl+*bhT9ss%#Ag2xb zB|4>x>?`;&Ia$b=%TfMyhkv*tnS*SJ+%axF_%HqWXHWkx|D)f0`Q?{^UU$ZIwpg8yDlR{-?;wg*7FFz6?cjceQKEBEs~KhF+Wbbt7^PVQ z2BoUyeTkKBBp`xjVkioG_um5`3g=?11_)zfuK}Fv=jMiST$lGZbZ-(N%W$5YoDeS8 zL4i!l3;SOPZJH5a{A~@XDpMyTk^_?T6f=wk-dvdlP+1|M^(U&jt-U1r0Z=SZ@w(&D%B6~dlq0>F8N{7kfekpE>*iT<>L zBnrB71TsWW|7h|f?yP(8@jBA`WQufuzUZLZ~aF@78)8`sL4)?WEGEaD62~s+4rfu zjd9Qp$m`<|ngjHcNYOn$*6cLC-KwETpc3#x*p;J~z!ya9STTwK*8&EAQtC3`jj+KF zFUV-5YTvTfkGV6VPoP%aer+ft2qW@!|Ajt6*1P@$$H_o}u}XL&oMqfmCso)@KC9(Q z_L#&I7FD0wmF-hM4lQ9A@YuazWJdn9I#OU<^eGbznV*RGNWGcg4M!Zml*zULbORA(`@g_Vvb}Ws&-#5=1Ft67JP_X0k-h(C_h!R}oS2nGiEs+70iMX_uEPv{HylnCtmPl6!dHtF*~ zKQ`yXfZqc42=I0DJ`oT0tB5FMiaD{u zK!;7jw$TPCouJQH zB+Hy^JgOK0M4meg3AZ?ej_X*|mki^^1rEa*b!HV9q*MjBJ*yimqGe;Jf7FtA3b3-* z&7TqcW6H=UM&21`9f6+`yX~^a1(DXYMayJueTzIP^MA7WntjIZhKF1JaGS z^O#DAZM2Q@Pf^g|Yf~T+N~XJ_iV`yX1zgb{v|D#mr6V*qCnMRNoD@ZJ~=pM z{nJu^T>8&=ET91?xzRilR3~VdkHGAB>6YgzB)rl+z{|?-oP8#KxP@T9@f*L$+bU6zo*E1ShKE(Z02?- z;@v=Q$gIL-s{$T5zt-F8j^yEYn=RU(>@?tp_882NJ8VQNr{BSs=+H}{GK6s=SHemj zY>%?B5m!V_3C7T?MS}uV+Q$}iP#WbD3ngPhwF@drpTIFYqP|>7LVvdB!oTrv|3Uf_ zfAXL2D=?PM5dtbziBkp;firr9!k(O~(Cxvch{S3pE#c&!4Bg9ArvA=BU?J}60*49Y z*cx5buUHbHeIiTv)BU<7U&CYyKm(<~Gb~1*J2UX+)G6`I2|AB!S^tmZa zez+4$XrMXqLT%$1FQoA_`9D$?S6j@<0Gc3P-SM%JIk6i!#kdhgQmT$4ayTZD5?nHH zPeH!k-!$oJv*}*ef6q(zah86QEzj;R-{Ti=(*k$g#Oc_|0+VNh*G>v(*L&}NO#l1; z^?ySD`LF*D*~V;+qd9KKj*@kZi~)2@%tlRd!j`cG=btmJmwW&soD#Buf{)o$pG(o& zv;_wpj(M$MEo<8qXV1VujSYnNfs*-R+5*`x(1md6Ne<9#UZgBL0#BpgM zs(RFQUn&(ko1q63_bP`IDn`=3BmqA6fsk!%=g{zewXcZxjW^$t6u?7fswC%^{YEb0<_H>lq<*I#~*)ObxZ%$ zlK_N@K0P}-lmGO?H~(K>`OK#eeB8aO?&P(T0Pf@axoiLs##KU{2&e|oG}X!hG^P$L zfHuC~2HS7rfh+QU*dXgsfrJ*wm%f<9r(lRfkanoNI0U;pRvZqJEgc~H1d6|t_A;D(TmSuJ$UOD-E;pLU8hUFnbes5;ZW*Ku5`nJ4hj-}H#0O1Pb{&V z0)DFXl#uLtN}qvCp{pIjR|$tm7=wE-R1Rl0UJilLhY1Y99LyL0DAlcjZFTmd?J>hP zR$37KbN}M+qksKR{6QBOcESUF>^Bg_9XX>K26SM|Jg9^61Wm(-U)hPRPuFFs7!Rb$ zM6{K&FU!V}z{$0%WkhPgE6^8#BZMUc3~S*DGQQ$ejtGqB;>wAo;C*~1wS2*I(dzV# z%Xcc&na0%BR5%|1Xz4pzzj*W!kJOnrk!di@J`0Xb#%+yDouMkYq&f*IfJ;I*0L?{V zmm~}jFl+fuH{a{uDF@j&bKi=z_v%SMdjfkq9^kiU)<&My9|3)8Tk`6GVJ_kzK*vqd z5R?nOf8)j(z4^Nz(%<>D@6mtupZo*5e*M;1nP6lg9kXqv&yi0!(^SXS?U)zi%yWV| z!vXgtv$;1&MhT7&lqoV6ZIXML2w%XiWwa-9xY>W3Ud;h27giI{FIE0+Oy*|<<)BwWDZ(zVHw|8{{@rVv@endQIOCJc}Oi z2?0au^Y}e;8+3{~Y5`l;PS_v8{wYz2W!+7{5;OevI~SdQn~xD>2Kx^<1eGMlg(%Tw zwiStU-~oqKV6+k5YdrThf=U7@-Ji>=3wZJkATCtv#DgAaDkJ@*{{!+-b> zk0xS%7_Ynf6#)C%{`tyRzCz#m&Ue~ZdGg68{W!n}AAGP6ylw=T_5#5A_8Ne$2H?N` z-uJ%$uYKnELl8TdcANxo>kxN;idyhJ-gn8@Mv<&CR#tgrlYR|?c-CwNOmQh$_Z8f+ zzP7?7v6Rfzitgi+4H+pIC_AG~eJ-K+ETfqWryIL)FxsEL+r{IxfE^kb%+_gJyhUA8 zm#tV+376>>UFQ>OE^TuH`zru@O9G5j2r&q+af<57^xM7@2}PDQ&9Tk#2D#=TMgz4} z1`?x-cdH{s;7k+;tR^BL9&q^3{;%*B(CqnnHi7U8lqXl(UpwaSv(J2*e(_)bXLMw8 za4}>u1GX7VG>H{lU++^9)QC!PUBtR^;^l|weNKqXCwqAby?|>gR3c- zM2jTNQgNa)Lf!`h?}d<2=1mx@IwJL+q)%Ct&&drh!7&aS;!~Ezlf-vX-E2$iJ9fA{ zU&J?uO1tl;AU~GvZx-Z>9DQHkm+c!23g0k+Tj&*o4e6`IvY@@)_~@e>bmfB^^!A%q z=%Wv>(?=g%qc?u{BYOWZ>wkLdjBedJ^}wG9aaVYmW2UOuq!n+PUJjX7xuMX-QpUsW zf>7`W(WI~O{JjW`j)r>&!gORnmP1e8$R1%JQy#@}x3!Tqx6oS9s`W4T?kJ z*EG*%jy)g$mhGBSe}-r1+5)%RxWHi=Tkk9eA#+|%rU;ZF%E7ZkCO8IC$dD7LLfIco zy(;@4yr@_6s{{J5&pKgnkC3@C81<=+p*SlP@h^C58P0fM1s6|cGGo0O{Leg)1R#F8 zof;qgo%k!eK~MLCXy!ZZAc;SGuX@2uAs124yN6_WM_jPcm{iB*{^#R2YtV1N(}v8P z?LQUStvViPN=tuG%KfpD+ig@W2DM62MLY=;syNDgfIIP!j=t@J~hF zxR>au&ddi(barwp#dG!DtDW&$`&7?EOdFZuu`dgyyx?uuK%-p_1vECj;-Lublame! z8z(9|Im_D`@{L3ZjEb1!Azi7m*6lrrfV!k9iEr5K58uw!khQkX?G*wOWEu|oW9QfC zokLQ^9NpHBElVGN;))65N+*xu1sffila*pr+vybQ3(!4OsMaOy1B20g-w?NqcycTy zQQNaa!7^c{?EdOHo(zyg2OInFcf`wEKbBZ&!GHUE=@)*EKJ(*`LO_uFHiH_J866}8 zDKsls=2RaY%rxU7nLbnh3!==%s~QG?7Xmzln-gIq%d?4SY7M@_xcA~lXQFBRQ?g*i zJLrHd5*`?IE$vc@BvugDi&I^L8D-aLG1bflJN}i_E8?8_Fw-RDZ(<@@A;Jz=ZsL-5~b z`mK%j(N`OswZHRm6d)c8c)oet5*;mMJ7gJuqy9;wm&)a_=VA!LzHs8jDo(YZnQsXa zcfluE%QwP;1Z3x#BYn-{4?q{ZKDqcu@`K@FySM9;9O$3S!AaRD9D07&ztx`#BwU*GOE39~ki@&UhoG!`u&^$&c zD!W}m3z`u_P{%}r{~jdh&i{S$zc%v^-*>)qO`JMz!;Stx!UuKm&@?2%6FfX36OI=brOthv1*|86ARu zYDWQHzka2_dY10lUnKFx=3mph~R*t%=pqM`k23QaK0`r~JR83x22Z$EpAVV(^zLU5? zz4m<9U!WP;`JHyi9MH7q=M*ah$f2_&fGWSke~)eBbcIGaJ4)(ge{v{yE5oHULMIKK z4Rg4}wTSl0S&z8cNdZ{y!|#@$_UI)GV=L>K{p!ym9=V^T7I*k9X#x6pC{=GioUV~P z(Y+ORE%@Kj{-EL8k&D0Y=YDFO$$jAYe$32n7#d5!2!#>O=F*^q#V#1kgge!2T zOk*I9xCNEeqthjM*K&kLq`WrOCMrQ_hCRwBm?j+K9=28a#{R8F2+_Nc#}-$|QjYNm zfpckN7|%!DqzVk8@f^oVA5RV>mt+oQJbF1i7HNVN^&wGqNh&|7Ix0Z~^J128_9HV* z>KG`WVPa=EKPBN&ctHIhvf$auY%ul~=!|9a;sLI0m`73q{qu9bzgo5*%k@W{X(k_+ z?c+Q7`2N1aY4!ZK;iYBRaUi;N^Ng+>g8FybY<`>BKLq{1^S$>EN%S+iasAY(ZF>>8 zTpa$f;J$q}yV`I#J0tHaj!VV$qy0_;=i`^#^?s%5 zxQQFJ9E1IilDI-i(C)i_i#9^1^8fGTzpBdtEP-pFA3{MLPE{hIj`hUl#B4swIy(=j zJW5HdPC7K}n1!(pcu=Pc75R_gA2C_avkJ`#?XXSZlZE{A0@h>)`n^m=NpM7&N#hy+ zu&uP@cp$Q9Cste>U7103RC6LHnGzU8EgJETW`0Y4Ruglqpw#zr(Oe36gx*b4KiEzR?W?58rlA|Lm84=4XE9@Bj91|MsrM zly}NTfOmZYpk9aBe|q}qr~3>)>;*u&0)S{?9&r;uO$PMS0B*?H8^kB$(SgZM`3BLL zO2)PQN%P0vfOffi&td#2jGabD;}PebqWu%YyxzGc%sCbm3}vJf?1Q~`iWMAz8#`YB z1={a1gJvpN4U$Mwa(#AQ^yPXGLbb3G~XlTZ!v6-1|x6|3|Lx>T2E zowPWbyz)R)$CL7`rPoo~)|vDO{A0;I2I;NR`F2hiv@dtp-=wdcLfu$b2230A8C>|M zbTT~CYY6!K@Nx4nYya+BZOQ&2*nj<N+26)o%g6JKG{Dv6RLU^r^$z5*O|JA=p1V z*Hr+AL`O>=oSnrP*V`5_+KgXiv7B%+#hQlN86ok`N+yp417OvRM7a}}V@dXW@Ff?1 z59J?$!Akx|e-|bJWCnj?^;!T(#0GQH7TjOq+XO?E=+N}5w;@?yW?dxiHzXLVd`Zz) zRrfF@9XW29tm=1_OA@q>=B-q1XwO0?TAQSfN>)iLd*VPHVWxz^baDA~K9J}WpSzxO zNIV4sG#USP+$6&ptL_L&W&Moy52Sd4S3viA28OtJC1G=rdZLXu2aQ6G(VUoA=oA=; zYR&rp=yEU>iY-KhGj4Os0p~zFk1F~vQtwUvjAG7+Yq32{Gw!Izw4B?Lo1s&HVW?ig z-9`Qjh&Ycj>C)2l&;bG0Xit~^H{X6|n*i!+06Aw5{9UKRpo&b8uY7IpJN*Ov0(Bi9 zpZTXskG?`cB7vZdvMadzFF*6vTW{?ScBv%*&gc%gezXEWk8SwsSHH^bC_sG$pgnR9 zXh#9I(*Qp8sZYt_d1oCw1`x_}TLo}P0(4vP=K0N6e|&fUuvdo?XLO6Ule5F*^qA}B z$N+Hc&L^NaRJMu3xg8IZ&TO}IHeDp53x$YDCjWk?DwH)&ge^1~`~uY1dJ~PisehsI z9)AcJyKwbvADgdZ`MwZZ3l#gi``bC$OmTy-Eh6lD1dzTCp!hgKhstdQfVFS$s*a-o z8T>3YIN*evvX3U~EV^O`%H+aJW)+&8O_7vHs29#g<<$telgM&n-9+|<(>v;7S!@&g z4+okkX8#B7ZN|UR_0l~jJpu4zpLw_^zgpnG+wVKw?b^5Bt$w>Fw5A`>V-6sNV($US z>=MozDgPV^K+U1B_LIO+&=UnDSbZH7*E=yOI?v7 z%XX|hQ|>n~7H=VpeRasIV`%itj-f0aiuHYj868%H65$WjO27lWgbS<^WkAnX2R7Ww zd{2N+u+h+F3(AIncFwae z*%xr36HOz~YqR+6-TbTl^J<^jZ$bXe!%V-?-^Md^E|VRLYds8ni7+{$|C1##+OxKF z^;{DGZT7$I0dU$@1GE(nTO>S`Uh3WBtX6d7>=0U6*S$pfb+)9l3a=_$>HS#X z%aC{LKF<`+@=xfLQnmkd#O4?*1Y^bC2o?O$SY~|{&$Eq2iDLM56cnN(E0W+j15mXgg1RpG z6BMzcVb+tir3}2NzolcsJV7f7nrxv$mw-JtC9xylqd*GG=EIEdk_W}x(>^)s5LYhM ziUq+H#jP!O!wq+el?N+-5~a|&4q$bDHc((QZpRPtK{!M$wkAsH2GjoPj<(BNR(&e( z0h7R(Q?$RJ!^F^1v7@9HC<#&fVH*J2J^+Up+7km~Bf$QOFGJ` zKK=C5Es$>;0m>tfJR%=_@Ik-dk^@w=)8Vh22GHxCoSba0eEh*Hzvq!h`t7j~z+vWM zf0!xdy(OAKUIjD~7#U^q9YI{*qAhlWj0lNo;ie z1Gr+_;?=p{D_1g*6o%85{L-h?u1f#ZhbDs zA?5X?_Q?s35ca7RN&^WvAZO+5xEXtckI40fNU`Uc*Ckn5*FuC2c+^~v_{<3f2Zz5n zpk*u!eoghqJqfg!vGw9GQqW`SS2vZzfEa^fy}6!EC-P17+ARyxOd{ZTbJE!GHUHdU}}sKRxsB{kbMckZmS8W6I98 z5MeOu#TH4$0s(XxZ zyi6=41LArFtQVEmrrH->A+xhB6M&y3X*#VNx?>J(3er=@?8e*OALtWxr!4d>FK`H| zW3nPA&Y}*dXVy^WZ3gmlYJrJpmE1s>@IC{iIHst3quzW;scnH)^|!Ew(O?}o8O1ou zD#)*OEQQ$B=D6>K3qzGh ztkc8nl}?b!@U>6gKcSnKZ$_gci39?8EW|(I>R%Z6l!3OXGF0jxo6;XP0qmy$=&Jxd z_#dkSh8S*>|BG#Q2-x^vac6zMzk?_qBVjB<=F2#pc?=s7=hz{7Y?gFqE$;9C(qW=_ z|LUu+@=GthWG9vX&|i0T0zj2bU)RxA0N7E0ufP6!|7`zg@NbutzqScr4}#jPe+&F! zKLGl>SKfN##m9c4?O->Yn#14C-3|H_KM?IrQ-R`6Z0A0SnPb+cZe;v^R$d^K&g$?K zOrimRVZvx1chu=lF8(m>5Vk;RDbTIAM$>*p2E%ywCK*aiK^y}8tq1$|*Y59RtORg1 z%md7J62OOaZ&wb@N!;Ii2{rqNB%H<*%;t245X2RmyRh?W<6dJ&=T|)M(lPO z-8$okePsY-QLiuw;2`dJVn7>GG#nz3s?ZhL8MxpQ{4{>f!tFGOfM27- z?Mf>EwCxc%D}36%jSJEicj6~-!tFJMcDuiy|KSMq-+pT>*KdLTM<0w6Z#K0to4(i0 z$k}4E_*>W7#;1{RkR(@rTq~0=-8cS<)eqwMS@NU5^WRqi9KN5QkI%Le;0#wuDDN!z z69>0rgX)Jk=~AMS=#w=MIROYV`6$1#;IdC3|6CGHQ{piI&p=_oKqe<8Xv)2l&7Hbc z6Pn91;-#HdVz{2Bq&w5f0HTGC7AObuJjwsSANqSe;}6%=IRW0A)PT4? za~!$OuyP(-7`xzHXp1N9G$Dpb2-oxGE0H)J5%@0CgA^mH?YUS;@l7Z(a_C~K%1a;9 z%JrrH@Z0SBC{O4LIH%;qMZju$viWGcD?6YoC3$l-YUmN@A>?x)N+dfd>)zzQ5x@=l zjC5wd-?I(>TJW!{07PF2;BjKW0Mv*X=*e!Im`%*;YR{J@x zm{f{tl0Zo_kT#9VrcQ^j=xsIV0=8p3HqD~SP#`;41TMN2@DD(fY*5A;Fd6Od4U8qB zd*=S0XR9{$^kZ+6Lw}OFpa{TY@-cmMNC1#JqUMm*+4QP-?9oC;EiR*hxZ&{DCHim^ z3w?!>W*DOa1c5?d8HCyv(bCDqCF%9KT!0`3n#0*Y?}2~QgSN82Z~k{O-v4iZw+;z_ zzyF(W&`*EiDPMZqHsm@xyVMh7XNTZ_uPXssB4Dq{fcCf9s)0_e*f9p-FT?}7aV12+ zF4_D~=`A8kS$4pmLvDg5NT0=(UNK-yG!-G4YtrDQ+=tKZyXa ztH1(rI-c0dPKDt(joWzTuSzJKlST?Um z;=$2)(q^3{2j^*1J$-I7)3#I}cif-qZ21_yO>ilH1k;|_lb}B-*fArPlL2iu|LyO$ zW&1b#PW$ceqYrNMnSP_K@8XYSNV+FhYT-)DzVRo;iiV~;IxbX#dV^8nKi|d%Y_`!~ zyUuYH1H9jFv;2KCz@7vcV{v}ok%puQ$jqd2+4(I6V=g$num?gS*_K56MgFZK7ag_a zv7%SN`S(OKj%OBsazhkglEldQ(SPV8SVA1dmjR@JO|Sx`PF5G00I@mbox2>netIwnXDPhg2a{wM50 zg+F7(xs9pL;44Xn%Bp7lF?djMD?xi@s2FKUy1?bX7cyT{Au+uK<-IW?*Uu@DXcfU; z^i{I&?p@586Z-^xRz5<~Z43Kf=o-5L<|g3R;FLbI-)zCy^`yN z{&}|d{GWK@2|hn~7w^6I9$mhCnXX>F>gC%efrlhO``iw}P7CDw>ULWRaB^}YhuKlS zDd*q6m-bI}A!A(PG79PEg@x)h%B2$GW&gOTXQaqPwKh??>5{fzlE zeM8%%Da=h$q(&?-C|oFL4q>&7+VoBx*Iq`%Hx3%Gnlb~!RAkL^v|}^Cp)?H62ew-V z0@-X>TdGb6#}*SRm^rob>0ar) z1_TRTJwLPlDb9=D^`-whTd%YJedd3E2+QKT@kR?@Ais-8FAv^Lt>tIgD5*3ovM;ePo^X<90qieh%orSDA>oKAdLgS zu2IueUpb=mOH^n4qIso*4-z;UAorNO2#k5@fPRvs2J-*0GJ_uEl#H@7^)vqD_@_jk zJ0ayhWj?ny%n!gMhw~5iu}GphEf%tfPO!~LThM-H@0|Dd&IhmKb3Zl@mh)rKZ!%I> z3T(IuAnfknE?WhV#!?~?FdUjF-!|cE@8SRMKYG6}*>6GrTZftbkMUSNbCwiGB|q8f zc>!JRi3aPJNOQKq8@Bpj+d@%p+gae$>u6cA#E8Ot`2So#BPkMidwEO*=q%Q@Nz7_( zvpiOg3lEUhwldf_aGIAqZw_uY9!KT>nA{Y*MwI2>cBJ>fpp+GXc7%`T88~LDyaE^c z$U=`2>8eBavA0%s85Fk}N&dOEi``|tn-UXn&yt`%R$4$EAaV^LNIQ-~h#({h33#0f zE+d(c`G7eeZ!CE!7pKnLJg@cJ_|b5;g%L3joW;8;T=l)rl$oRcrd{Jw-gTTm^b zdnsTyTmwf+s;By%PCLh2^*zsgDgeAC@{)gt=CtZDg?p?3IH%pa_k_M8;69UGEuZk9 ziju^*2~H{?)VI5g{vA59)c|%3pluE~UJ2MryV{@GG{hNfT($qn*CeEuZYcruv*6!w zislRN9R9oK^Z%7+&VKd({C!lK=Fy`7Ndq3uTB-l4TTJ$zLIG`YbOnRt zQ&sJfjFmc6No>XR6KPW;y#-n^6pd*sQ{dx1o|R1%1XEaepU4l&5EU18#iqtW74>Lh zRP<&4`ZvCVQbwbH_hV1zwP^>%(=fFu#M^*XvQbemn(j@9ff(HOG)k7ZWI+nPo z5LD(E5mh@wwc*mO_;Ho4Zx(=6I#{{(=g0G1B>$iyDo758YeMW33khY-M`J|**aL4( z2yhWPMtqln1z3!IS^`Gon1)B~lW?)%H*mn2@VVcpFB2_1smGaRO#WGUn|JI9;%b!= z{$#dM@#EF#uWTi1>{>)j^Npc%jm9vZy8Jt{Hh+=8uuJt6`_VI6K5|T;&$#rzw zP?fJ%8w$8G>LBaC{l8^Qm-sDiA`k#y(DE?0yOI2E%lv!r-)8=|_Bw#B29UA*U+j~W z(woUmnZOBE(yw&XFZf#m_I5xvwB(G3T!7YicHgI;``N3fr+??`U;q04(Dsk^0Jsw_ z5OR6(#TV(@-~M+0(T)Oq{q@&}o~9z>`de23_`SpIzgPmGeQ!bgRXP1W@%=++5BE>o z`SkiyJH%|{QkRrY$w0$%HyGgDxp$m(nra(n^Z9zlLudQ@$pIdg=c)|G+;pYcB?pHp zLGvf-rIlmeXZ3l!-@n_njs3<9Os4uVc&5NAS8EuNYYG z>Co~c7g&-Me>uPm8Qh?ID3Mv~A61Cvh{*JDMO7JZd$Acpls+azDny=7#6_+P1r>J?0i?)OrZ*`9PNMvj5;_= z0gI$(Qtq#@l;yn<<4Owr+ddafx1VYfp#5#<=jq*kpV1ddzdexe?Zy&%vkBzCtz6L8 z-p#*q$TQ?cx#BgfxdSP8DdO zZ5>VuJmbqq0Pn_Ze+&3o-}&#!0Z$BQ^13Gh_CyQ6CfomjV$xBv;MviTQfx7i;7@4j z|8MtSexZd{ue|aK<;2qu@Aac&0KfT7{>C@H(SqVO-M+69 z=t&&r>CbQq@G?Cva?(>-sWW=nY%$QT^BRsR(r3D|@j!<_geK<)TfsmU@1@lNwKvYo z+-hJebA=`BMH&b#cGy3VX;T+dP;s2MGkuTH3E?TY`Ll%quFq)Y^<4;?)!#h$zjf;n z^dEx%n>TOt&z=BifBG6g?7APD{viw=Fn56yZ~#MpwW|gCzx$8h@5}UCfd94~tJini zH+t)Fugoy}PCcl0UK*YGcMHIsBnpEaA87oDOXw|t-!z~chY1M0)}RiL#7YMu@;bP> z0bg&}Hd|e_IX?F8zwbRT05(t^Po!zALWps;RRdnphunC5!7oymhUU6F@x>^=-A?`! zo5|uf1}a$YhypkJN_153qb#!PkXeUS_%Z|qCa|3$|Ix7T!)5fCC>Agxj!ZKkNV23y zs=l%3%E!Bu?6Ybs-G%{e=pLRlUh!W_E0i#`HmX(`cQT$-%7V zo(k=ZZiu^7!GMmF9bzq8%aM~d9w2j=z&cMmGRc-^h64Lv+Uqhv#YTcWu>Yf=2x*e~ z;G13D({}ls9P6WF5D%Gvj~Q?+%qmBI;QbJ3KIh_X3RsiVU0K;;Hn)J{oOCRd< zYzjE~bDc@ctGBW1vx+?9rq9Ma<;bJ8TPNcv!1l*!=JJR4`cVSlo8R185}-}jzx2{e zE{^v3_~Vb$JMX-c?zMmJyYD`^apOk+ZpQ#>5}+5-)d2GMZoK!(&tLuw_f;*r6!gZ) zReE6e(1CN#va)AR8{`ODn_yO#L=V`Jp$YfLRJCCa{4mpWYlKpB>+-^5&4LXedFWacL`~T_x{Wbarue?Kl@W1gTdg$T%bR#g<**td_Dc{feoySH;fyrh9FN{k~lP z!|OfR|L}wBDG3*H7(fa|5O43ydyp+dJ6W*2AwS~&0{XiL?W&X8Vqrp zd#21?B4<%{?&-)no}(@!gMD4esUw$ur(lV)L(jD8rL-&we3gGA2zwcxdI7ze;HdXd z@2rtGde-ZG^Rl6cI#eK+w3_-3O!6OB% z-uAH2*#Z$ERXYS6_#zBWTgG0r1?KDz*i)4^AL%L5nh_Z;Wl+=ns|ct$(Sqvtaicqv zmgEe%=b32fc|3FYt(rSkzk|N?uim$R+EIW6?C{i6Pw^XXywShINdWyi1pobh`)k2}`=Q4GiY*mw*I$3@ zd*A=X$G>p(q@7kbJVrj-osKo{?fA2{+@(kw8VhoOy7W1GL#{a6Y(nTw{f#eu)@YbN zjaOM;0kt>7Ai+$O-(gaPhcfL7k;9}%*Ww!#Hr&jSYa0Qc7vt4}$Ns!E*WPE-rKBdo z4CdH^j)qH93p<6ORe4md(T9BRP*R(n1Q37m?z^nGfH+7?$1;j;?CO14wW&Drtmo%< zk0uSexQEZM{j~UlFv~eRdN@wAMovzy&UEd_Rxga>{p>XhQXUXdXZ{eFzy0P_`iuXI z|0g~F<2kiCq0M@+% z+I^hyiZPU#UMZm0`^NDmEJG%g*Xo#Z{xF9e903L=opMi09$5$c=F%~`Vl?w@JPSj5 ztSlwIz!uCoMf4W_8%5w_&mu7-mC@V@vNlbE=X>@0C%!3%sw2k-Pd9xj-cfD`KXMukE-e>D~tcin| z0TXXS-_sY)fxNYEdk9eYR-5j=n%=A51j-Gax^0o5z-9L~!;gPnU;7;!_ffiM&SwRj zlFL%DOVbGirh}LRexj5x8Td1Zbxz<+bO4=+*GeZX<=^EGE?}_4eMn}>eHm!BZ_WPd zE@*4Wtb~v#`3OW+;{c;TT)#*V-RQK!>xlRdRAI@#1^jeg{>1;nqu{Asw|Q(dMus3- zI{<7$R!(M%1JZVyXuYXQbfDi88<_bTZXz?aWRC;ixsCf z8@k`~n9;K{%$oseLBVb)SPR74_wW9{zfa%&_3zWe58qFpefAOhy+8LXJ^aZ1Bj{@nqcpI-;Wan2O}kE$eh5KovDtCKbM#xLb^vi zK5EEG7Mgw$bmMg_(L~VeMXLe=L`m?juB|x#Cbh$;1-v;R$$|L-^H3GMNCeOt{<+=i zPN3ehp)I(jHo;M%c&!CIG=$h|aQSTi+WY%w=ZD$<)3ct)ZApMO`+s(NOE&==v)~cf zU+)3`J8xa>%l2STf3OU{{nz>+q8!YV zeuw0M&HhIlktnd4He042!G9zyQgGfrb*I>#=upNw*HsdmNLF+9s%dZI9GuK3Co3g- zfumXm)cX>t=`_)9q@Q>a$%VN+OFp-Ud0!B1kLMX!cNSOrpJFvpMr*;}$BanA?e_ZI z_MYIP0WA1!*ADDTwnGu6Bn1O&!zourf!gFOe-7T_XYtBWhVn51Ci zin+WiZ1hQ!jWWDB(LVD&V2-m+ocl{(K;0)_6>;bV*mX<-yc5onzVC-_dbZ69PxX zGT+if%1oQN%`5{pIoCRecm4ZH39}lP}0*s{1EIX0pG1?30GY6DhFD&Ra=_<)< z9;&aB{QtxM`=@^5(I=jG;>{LM-U-)Tp8%-WSHJpIIV1x3^Pm5`y!z^^cDply9t9}( z-+w=~(*W+h_ufA8Z7+a!?s;PbTmhg*0m{ecr?1?Q`|3<4Sm zin0>&h`au`znx?1`WlclCt!2L9^Bvb*;_k$>ry)kP$_2$ss`(36thyAucaenN*s{O zv-^1%W@QL;O{z1r6T(RfqbxL6%@!<#8=)(`M(SQEyZ}ddK7ryi){p3$QLHFHv((CmV0WFwk+gK120sC}}VEfzo zYXke95ZLWwb%4Jn(D3V@N~0;L&7X;elodQfeNIfAuVVo&8o8sE`GV`>;2%7mQ5ZY{ zFs>vMXT_6z-&Qb0>ymIH%EmUFs82!z?CXg2wYrLTs40h#X6=+Zh1FC-^EU#=R^`h- zEx{;$#NYXO?EJs!D*^wXzxz7}e*WDIt+27MmP6ZtBD4TESE zvMy)3YRLj~lRY9zGxVZ$EwPY;eo7}27;L^NAgp58)Slp;0aiB5O0;8e7@pR*2ma@_ z!4w6)rpLCLjE(Wgv4YtTo`M9KJYib@mbev<8SY8$4@b1~6uS+h41(JY)a2cy3dm-W zCNA~q$nRqb+w@!X`%!Tkr3G*`{?EE$ByT685z5PP`Cr)Li|zwNo{!@8y_=Tyci(?7-`XoiUh z;h7m^B?v&`3a86_3I6>%g}y7pKm-Y4vz;ly2ELcqn(k5XDCY#T=_0GzVPQatjsNs> zRlu7NN6r$Q=CF-wyp&6avD!GDz)Ar=baV9k)XW9;znXudmHAJDW2-vtC{=#vgbMj{ zT_+v|jrBHhCSBGRL82A-A}~J4ah+!|*gvDOng03sO`DdHXs81QNE=;HK_(ak7{vH3 z^tb}A%8&t{mH!X?qV4W~^7sDS&GYlW|CO(Nh5z>7{@Xb@^h0?4C;>oy9{^`_T?Npu zb`n5a`uXiYqZ>c@9ZZ@&8JmLM439-Y$7 zzVblEihLSJoDgA@$Ee#W+3&(sVg^&Ba+{3VJ83daUmt@v;zS+(FJ+qH3&h`)!r^;u$j1)yFR zIg@U1L9gUM-^okESX%~J8_QaB-6t0fI&1D!XEi&7@6X8*gLF|+BRfg}7T|1-cR%89 zHv*%!u%*9?zZ9EK+(ATyPBDyqEn6HA9V~AmSal9g4R0wXyI?*+ymF&?f+N$w0h;QLQ9yh!kT%1P z37GlH;lWT((Psn}FczqfoCiV-?Y;i<^N~PoOa1L=%Qt@KJ^JOp{GI;3KEjG)KPFj5 zKNh@uFd%jFI!?iN`_GQbv+o$NTTtKI-ZrN*ZlWic6cAWdAhB9tyjrk%d%lboXpFD; z5Jmq+K72QyfQkmIJsY^iVYJy{iu&^_QPWV&S(7@wTr&J844DNXa#0q7P>bYM>+N2rYb zlqU+aP)3&}^kKkF1#YO~D)0xFf5gN5kNUihmz8Z<@7NnfTn7-?K&HaOw1UI>U}&T2 z(@YPPxB9#{!Lk&W0lMi|3K@m6{Wb%hC17`}=`LhEpWu=Fe9#8up9-FgG$NY$uarp$ z%5=AVDRb`XWx+)KvF^@(YaR`@A!-D0nll5PGd!Y9Rn!ZIUuZb z_ubEnPnISW62anoLVcmbX1nCJOg!J){=4VWvn>)k#EAT@Z++{S=>5=KKS}`T)iwfb ziGa3w!*Be?Z}erKdJ;e%z!v;J_~3)?d|kVC&8qh2whw?_ZTWwH4d4)@@Vng^vn=C`yLs2p`G1h@+5%kQx!B!oU|oe56Ml3!On`_ z>rVCScf%>sG7Kpd#SE}Rbx$BK4}9e#eZaG#P;#8J2ySW*i@@`krLQqmIB(%7dB&D9 z41K1b#>{@BX*-X5f3l-nr)Ry5Gl1{>kbv2@R|0wfKhA6zbMcxWIUltA&0qiiVHWlK z^zbA1^<=;oUU-ro(pLm_%Kq#}0v={yVMTx^1lp?tm&SepmI&DC-(FV)*k9{&=S~{P z5jqt-XLyfgd{+U>vAV~y_~6b5?~#QVRe(Sla2O~7r;2r;T{lQ^1`-o29GnC^O$;~V zvBGP?e6+&7cs(_cB$M}WUMOjc0%|MVg5Tl*xs!!mrHUa7d0a)40pnQ9-};T;rT^&v z_?<)I_cS>RwhE>vv9`Q~--7P0f5n#hTM%vm`v~6c7(QE$-}^luJaN8>AF*di#`ZqG zy_(aI*d*`79|;4%+uIi3hroCASMqLYe**GE0%^a!&$e`QM|~41*BQQaHgLz}kOeB9 zG$xP@lBImCE^kui``+r31;=0qNFKUmSc>B(OC2psPj|vW+p<}=Nq^_U2n>p2kx0Z?jR&Eai%)=m2@rTS#MWSdLP@NgriLD{UGv> zv93Un7QP3xM2tgiuVfA{L!um1c4Pl$}^m$uuz+&a0z_tX7N z6j{(VfiX$?5}4GDFI(7PrVNaDm0|${*AoVZdH5z=y-PKdp3ol}6& zS!r}`8~5qvnmjh~>l@9f@#ydQZ?1ivvO851gAUU7PZSc(7Y<+^xOJ26z5kr9Q@qdF z-X|Xlm53(CB9Fi0v_vo)5OgGm1D+kRtSq9BNCM0nbg8Ts-@QDAl5XXPCx8?q~Zl3lw+B?#%_e%;#OSo)$G$8jC7{iz~4j*=H0CcXjXgi{} z(*xSyXP5 z-+%vO`sM$_ul4u(Tm3EVoIhH(rR~1sep6kWo>xzlcEjIvgTB`Pxt_^v_l3xl3PS~M zJl3sJt|H-AgWe#X z%CX|Q1Bo#`?xl@}4ku`Rk%fNA@{e*=ubRa0avb`Q`A8B2`pLRRCcT$BNKziZDxAn) znKqJIji8nMQ>6q(oPb8dM%Z_3KLWly1Dq@Y0GyH|l4m8Ih75I)6=)(R&_u@Asyw34 zR`ufu`YGdT{H=poZ9!g5p*;%aga*pL0R40bB$j3n5S?rTKKEj!@W0DB&_`^v`uP3MKmL$@_we^?|Bvs{k3aiJPX>JUnMXYE7(shW1RUBuI~%J5PRD5h zr?_8$o*)pf2b}0i5dCXOf!4q76VOkdFlS>y+}S8pFNSEc`k9hcohp?{7s%mwaFUnW z6UvbHxCr#SOmR4xi;l~!HSChCsv*NO-%4?)B8yJ$BrA-XF9$GyI^eSe&b)*YB*uTG z85~;RPIMcA;)y)1jsMgC?pNvKD>r?Xy~75Z>Wu(=I3y$~-1`9F7=^%Xdq=}q<(0|MiTfdWB)#%m%A`mP*e zFXXLc9yNbYq8!6B54NN*Euain zGQC1T7<7qqCI+osWD7bYv(Hp)iR+PcFT=(K#(F>FMG(M{j$?*B%JYKu7s)>a%n7av zr`0P1BeRy^5-`QHdE{)>%CLb&x9IaxP0F!v00#%2LXz%VFz5I)&4KiSp;lu>48ggN zg~SG$%vm2-JOzfd;z5;BAIIgjQ+14}47im8OuyQU=LXFSrH_uo@uuI#xk;8#7kP z?%q9wfIlge-*_kTL$fB-vJREnJ{4Q#ATh0UjoFsb@_7HB-~@pF3P3*+u#Lk=2w3^i zVod5}`$W^l6(f7se<5cBgRx4Wm)nGcUtM;Gw2Z0Kfy{pY%;EX2ognw}%P-qP=_8Ey z|NrYp34n1`5$1LZK)v87Ksf~e{j+TZ*!Bs~dbkN-KNaBY?5uOjtxevzm*^>TL~fnj zIMjH^49qZl;aHpWhckwXs90vtE`oCE!W0UgLH8Pphev&@J+}FE%-u)es||vYGer=4 zh=S;g(6QxIW(Ouk&>Gr?vuc|GYTP*fBxY^Iun^H?fI%(v*mjNH;RkxDO*?DBA0H8L zCl(SjVN^ALe3xb2*~nP%Z>=U!s)A1C_yTw#upgS<;jPYPo>ek9@zZ+DcTF+3RmOHk ztLTd#m|5+c1fHGu4Hx%kyD>w*ADjA}w_sfZ?zXUFx0jya?TLT}dJn!g*tm)MJJuh5 zc%#22aQWeT>G%EoPtencgusIj-=}*8?0TO)0nm;YJUjDE0rzPoz&@WMpeG5WR|NWg z0h%0Aqe%+ekegkhUHuLhqpWZmlUipvB2wysN-$cdnFP-F@S0YWFwXMOlpt8OF*&3L zBLcp{NWyVhaahJZWVb9pNp(iO?1Ve~d<6a<;0nJIWrOLrU->@$)^~rWzq(?}Ceuv4 ze~+2?couSUt`3(k(^u~|?ZB^pw!ev=*`l%``udp7RN1TrLH%~41^#1K`^{NulXI=B zsBMyIXngB*r&%|ZPp%K@6}AdqH8Ll3PE5LP9Lx{;l?y0E4_6s*8OgkgWvWCb*b3|u zez(Inea{*oxU1S3CAZ7JoBx>Q1O0${9}{i?n`C#P%418W5=Fg&r$epx`2v(_B2U1M z&93C1(Q5JWaj6!|+bqFt@)4-=YFOVqyeeZH zGA$tkT;LU8%o^y~ICtZUD-(*Y)WHetBoW^E5!+s&S$Q7rGvaF#4&J8yW{N?RD8gx# ztJA?dsj`l;ZQms{h~F@iW^m|JmQ7JK*|J z0$^PBE=aOL&pr1Xz4qE`?W;WY*kkhEd+&7?c;JBtn)B9^0Bs{cO#<{+rS%xV_I=-u z0c-(CO9Fg+e){UYyZ!81=!ERc=4+IZNwylpajanTSwUhXMxgK5L+c^4(rig4G0Ne;r zr(;p>{`N1sf#r#|cV#ORZRkb`8$iXBb%ouJuh0Ej8ZFC=kHz|i;B4W>8}Gh# zmwx-VzEL6ib02@4KKYrCY@biGBygE&P~I&Y2lg2OoA3>r1L8>nyR=^bZXU?GL_iL{ zRG^>HPBaFeBN3x;Vtzl_7VFY{Pn~o#`28VH9i?7pu<*mBea8?SB6!g_hTjlS2slxZ zBPF$!o`?jQrRZv=@+cpm4?9n1x`#vn@+OvHj*jy58Q#-+dJB~&iT=eu{^pj*J=C@K zb%*`!Y1tTX#i{p%YxsMjtOx&od>(}$KmK+c)M?aB_B4rrvtU}ewK_fPK@2~AwQzo$b;{ZZHeze!6}^x72>26Pz9Ui55jZB@1egB(G?u?-Gy8 zzRb<5;>gDIvu{H=gRCwJEx9gh{{-y1>spLVFxfW_;|^tG0i#^&|+l7@Fq zNFS4bvHCCxfci6$$(}IO=6&z-pS6q-*bRz(hyjl@&xrEOgfND}2wyM5KJ!A;-wfZi zVI1{FPFB_xC&Jj}9C0@CGo+1E;KwQGZ7v&UR;AFx;xNR3Zj|qalSH3`Xe#5}{|S#c z(ZytzLFfRdi9DnH4}m=&k$-JhvH4*&nrQou<>Un%w-9B zNsQGbtk3-I`v9~(0Sp_3}8tV=EQ-JU)zfXVsvs>)< zQipBWoBe}y-A@3tYiffu_{V}}Bfxjwc_-ZKGXU_?I<^?44kOAf+TVOsPKt7^`vBaf z+ie&18f}$-SK~15DO}Tc-H@Om@!RPCVYk+e0}uN)-9-+ ztWefh4>F|9h*@C-(OaTH!CdB$b#nMSm+2jiBNwqr}PdbiXK$UWUn{ZTcL9g;e1K0~m{@;%VkN``o(czL%LzY9tA*ulZ9FO4& zH17R&T>c|0e;WDM7--Om{Yz#u39utoXhI3p4{5};`yeeCg3)*aKI=uS4n|#ZOaa?;(PO_kPXX+Hb3lSYNKQ8`= zKk!i%Q#O5z!MV{#JV|Nv5~r)RmF2&d6T?U85YPy6OUD&L5OPXl+Ia_(Eau1MIyQ3m?quegdFhDN7^z_x$s97J$J0q1=@#SEwHeSpWJm z051Cg^o;=N)x+JFo<6;1PTX2{wp`pI2&hFuJ*i3?d09YVsqpHOfv((Hv?{678)}ZA zJ#VueY&t-Bt*I*A=8yXnQmvjS*#-9BrZ2&n3t4X?)Fi8`bxWBZzWvpiJ>1Tc@1tOC z$&Wz)h@T8#Xt#jvvGqMuzIsM|-3V~Gd>MfJDegw3{pZY>W+mtf_;?ejU)*_+&~Oa; zxc=crf2LTc7QQ`O?iB=B;ci^|nOH3ez-{zV*1mH%)kMIuTW#Hc4f^+o`n}EosLKP| zZu}=FeFlKe6xaf&ngr+@K~^5=r#Dm{=`-<5F!k=+cj+6yf3yBQ{*mkSAN-|f=$U69 zr5g`lYosXcm!w0T70`nE8r&B-w37tN=V{%y!1fI&dj*{AY_EVibENW3mnTgEaP+5g zpJ881B;)(Ipnnq&;PYvXsw@I9;6C^JUc(4u7bwy|4QtR}La~k+2BwGDKijjI%$Vs3 zZL#G zZdik#j`*|SU7=eYK7B^!*E-Bv2eD80wTenLtyRQHZ9W|A|~050{Mq%jON+AARg&AETFE zda3qanf_l+0w|8)_3PK=-FM%$cXj%IsYXu%=)u4B{I}kF{%O$0k`$ibCxWJLE*8 z9%`TLM?rOX`bi!X_Vrsmd&=GM4MD&Ci5d2?)BJ;SzNO!`f_IpF2EcCE@qKW9j~X5* zf<{9e9~(80V@5??6Lfpp+xXoAt6;E#D?w~d0-44$$41M5voW<4{hA(4#RMlBBrH~U zzT5s}hq|1j1n_N2zEqxW)9F39FF}7v2GoH6WDEZLZvM4jdUBxd)3C06lfd?F-7BDe z-?d~=fq^>*Nn0EH+AHtU@BF=QRxHcu0YCTWpR5}PuB6krw>r1PM41s#;M(_D0WA^W z%LPvQ41paa0(5zRB?HO~gPvRv=3sDrvy590_@a5c^8!1m$I!6;{l ztzal4seP-P<5bjG0?Xo^d&?Q(;|QSaq$EU#*BwKL-<6%$OQbqf9Z;Yh5$RDUrA(Rr zf4(J-_WO4HWexnx=)bsb#-sbp;r815NWb>kY7VG6V%pZ)Pt9nu)kif@MF=|lbd>h` z3}FZbthyOrcKP>>kAcT&ybOk@+cNJ(o#eczZCD_R@M#@cDds?*{l$?UNtg9T@(df5 zD*?UkH8@Sx9_c6~gA*8mO30)qIT^<^NQNIU;&eMA%`tF>QDQn~g|wuL4PwJ6 zTNHx=zO*a>lpYQY_;TV{K8^!4L_#hLItuEe_?+6G%YR@K>=gE!I;}a^(;ho5bTpg+ zX6-l)PSkd5J*`a%a)2`kjCY|P)Hi`1#>mI<%E3PaEs%1vy&14V?)K0CpA^i2-!S_S zlODM-m4D!Sf02w9t(uu%=RTW`(K6*h67nDtnIAYc_SF~!#!6@uYz8z`X5bzZ(WtIR z{iX7cGoi>x1iy(0laQ$E8t?Ue0E&5-vNosB;kVLPcwXTEthd z?oR4S09)+1{K~KV%2Dz8AYAto0R8GQIREl5|FY=O4O<85zk^!lnYG)3HSMib70^}3OwzFhk{-KDqrYEuryDPK-oKxw!T9m_NarB3b;HC4(< z>!BhbFxt_uP^t|)3L>KmDrZXX#kZo7jX`|ZPV|1Rz&2W&M0Fi;(DLoc+DGg6hjx@? z-P=Krb6na8ei=C}-!J+;0Ly;ak^yam^{`)S;J@FV)quP7(c*guEd9H*O$Y3rbo6T* zwT~N^-}vee>6_c%^@py|&wcjEnh?10$hE#H8n^ud4sCt^z6bTX7eL(?V3S+iFQ6VL zxLewc0XMRK=ru8)_!o-fLg_s-ywUWI6$9NQ{KBW+By6DEF8N#3=>gDf4Pu!sIeEX)&0BCAkEV<}T zf02hn)1st%12` z3?ju*A9j6-Fia8{S|-bsO_{DXV+pj-x)7&(u@r+{^5gmhs&uh>-m+L3TIZBbFb_D9;gv+r@hT6pymj*MGMy!)28%MM; zaUMtf!pJ{IoG=9;@WtZ3_F@buIr3EIHRJ<9=Sdwc=2TvS9}##R?gxP&kbj0c209PK zchX~B;-S8DoC)yPF(E;EC@mBJ6J!5a1J;g@_8gJ_QArO85QZeLEm+06IQGeu4*iSR ztXCQRK0#UJK$jut*LPC6*d96Fjd*q&{VtBsuMf&l{|mtJz@J_8?C!gt-!X90*#|K~$Z2#ECK0BdqftivSm z2T>j<4WPUa|DSwll9cFKAN8`_6E9^$tD19=-N`d=zx{SyvD{ArxW5G8gMLY0dSCwe z{O3PkW&zaO&p-cs+2D^$5dZ3{uMV8E1^;yA$`vk40LsXJxmQjApePpdwYOh+_pYor zua=Vl`VP|PC%5UrD{GtTFF|jypXW|yXzOj!e0fpq zb=7kZs5l8Mz#ukAM$rUl2CjYAR@9koMz{t0tG*?x1^;y*dF{clE&=FO>prCn&=9qq zjMuI-%Dv*medNyDH36W(634Jp7&+N}hbP76l!JzG;oopc$vKeB;oQ0d>@$+xPX*c)&Lb zT-sg%+X(-zF9E1!OVHhu0Efjl6kL~fEM(=~eI5Pn^RVB3>kj>^fBMJtum0J0 z>gfTWEHeW>^JMeI`so4XokLFsEPZBxo)S<#Pi-~;94WZ;Jq=*vKurdy?vdgOr#5rvT> zT=#F#CYe1xO9b8_@aaLnkMBk8p-wLg&nvEg^8`i$eFt?9_Clt0VmvcI3)E(%ez_BApdlU{A1!m zhBh+Ecml@^zG$-&+zp6cA=+D^oJg^L>y2j{HP~J5Eil5AlYVj!h{Np|%(C0In2bvD({Y07YUTiqCj5S+$v7St`(&_6bbVnO8rgk}|WK~;#bo;+bQUHpG zI4dwwRvN{}H{D?6r5^F^%jR{YzwHMgdJLdO5VfAU2a@&au?zK*CO*1c#Ff^aBUEdJ z_sD41rV8-#&_n<0|I;IH|AW7In?B&z{RBY2+BEo<1lWTAI&%N1PkoBM{`Ie;*y4BP z#6_0?lo+LpfDjW<;|?(hMM@w(g2tr~L2_3`dpXj`~h=+ZuiLd&<;iYiBIzAy#=CHP81sZ%>fgEw%H)@j5GwEpzxf%S|-@mGp{WP&}iRi zP)6R%G<;sx9(cFUvMFF2jX&7&fpxup4ajk$z;fJQOA2rg{%x5-A5~a8dhx@F2JfZKE= zte5c`qaKQQ5l!`%0N&*CWiJIxnTF9;GNc0!MV#9eHtvCBB)yFvb=>{?I*cjNbngPHZvHVtKIfD+0A&iXsZy}nn~Q*@ehQUHTs!${kjhtKHKj&M)hg1{NPJ?5jtvs`&VAJlTjf&JZ?e)j}5@wHF>)t}xH06!WV|6pDB6990* zdW|v*K(<7HvNdD58#ivqJMX+xc6p?76kxfh8v&L*00=s}F9oRAZQ1`&_@r`58LU6& zJKf=I@e+xPjtNZn2-Lx2(_YLr>L_eNNB&s#D(gMHq($*&{HkA3b01{~bWIF&V_W}S z`}8VOiJ-n~K~SVte`_(&7F|&{?(Hg{H4sxHzxs~<^{*?>tdLd5t7MjU9=mg^?E@fW zN1c=r-DRWou^d43SA9f}oIVt_ywKcw50n6fhD|WdoMbctv)}moI2Dvb)m}ydEa>!e zXh)zfFCU?aMoQ4Q_RqDSSHAY+37K0~cj;67b$z6+c`m{Ca%dY1>a2h^OQ78=!S=fA zO9#qs{pBoZs2gH~!!zeRKPJ=#i`R^Z)Tjw?x1rb>qOg zG@zd#P+;2kBL(*`BVc#p8wlc&f_R*uA0@c6*$*x7uhWbFD!$} z8gxEvBfd-Qj~rvPqjt;hV^A+sU#N4PWG-v(p`PR5K%t|h_ml<+A2|x%_;Z3QI&+r1 z+4}AyPkyN3w6-JtY^1Q>3}GdBJrbNOLk<9WKco8wdsY>a2Hi-=Z%(%JP?lZFHjc^I16K+u=`X5Jkse+0QWSZ(Pa-uY$eM-0+4ASz>-QcyT^_X zF%cx4?R5<#d7_Jk3*?xcP6pychXuN5Ete%aw7yH^Kf}^+(_5HKQG$e$hI0nNzAO9` zajW{KCohImB$UL^Y)(2UEWkPa9qhpL4pZ{WU5CcDJwa)=RL@rbU&1>cT(@!~sahhj zZj@b4uz4rys)1NY4>Tvrf=FQOY!T2-$l9y%^5_8c9sa5B{@*`a;JAe`#mg2s+!q4}!W$P*}GRBmp5{?BV@P}VnJS?H1d;~QU#4v*FLa-iCRiE7&0j*>b@1q{iu zbjJsVhEz|h(NQJ0a0?BrRGW6g?Ng83&}lY8x;c#@W?s%|884NJU?` zi+=eO%?GwmHPZM_5!q5sw*1StmXB1ewD7J5{{_!-RAW8Q+nltZwOsiFyb_=vF&T^t z9lvq_I4e8eJ3fk(Tb`Gh!A=vOgTov8qjQ-(!S@L0HQ-}`kl5Mi<^QtgOg9r0OBhHW zUG3|uYgW3gO>58k_x?;)v5nViM%*?CY;EXn=!{BPG1$J}y>mf-{Nii$`~T+q^x6;K zsT;gK{^9GSvqf}mcUjY2kAFM(XFCu6P)``BpKF^!*LH$$a8;NrK$HOv?T04g9QZAN zw;p639B-y*uyGViosWB6j2_U3pT(|7&N6WC_= zj-e2Fa;?e3O>NWP{;z-6ctWNx63ris_0J#B(fhH*OXT0YS_Z*3q%_co%u zNBPgX0Q4^V)2Jt0{udr?lFCoE%>f20hqeK!;Frtim~3>$@KHMkJ1|ZFAU15cr4Hd4GDa7uD7+sPr;Qkgenyz;bwff9N}GNCtTS+uWX-J`}Z=_`m{c;W7xdVz3u-I-VZWFsqd+) z_$cpQ)<##_cg@Oe-#7o^<@101>%YAX4Da7~-?(vOdH3CSmj@nrVCmEQH8w7Z02PyZuLS;E0$>{)T==uspLqPa zv+Ms!k(N4Ac)Ftp*GG7{*tMb47M<3d9&w1}>s4h8Zuqn~)Ue%jh<@$n8FZM42meC- z>^<_GHrqUamJrb6SF{nD1S0h_1v#ioncOk!d#{iO`z^3n2V1&hDSDqg@UNd8o|Y77 zibu!mrHlseg}!$7bRB^%%2+pXyL*1OjpD5`cOYr1^8k8ODEMpq_t+(|8=$87m4kmA z0mb^f40<6Bd#o`&$#0=gFo!9A&pwbkA3l<*4KVrCEP*N2?YK1Q!S`W>K)fdd^!MSQ zK{jvq4=v$ii2?GFfquVzI`65Yr|`b<<6HFYEg4W|2E6v_JM_>)SLoVP4nDzACqx3Az@5NE!O@_Ri;rDLaZ~Rv0^Ys?tU9Zu>XfYyAAIl%{q6tf@6eq) zcl)$hhsODv@7=yNo0D`3jMhsDZw{I!Bq$lweRj|tq4hDRaUX$&}@Pz=P)WnUB@(*1fA?TlsP$ZoUeZ_6d zZWK?K1m}n~4G`<=S3KOI_M{c6LJY^qvk6 zU$g=}nrX*H#`a>@92)?lIp6em>I)J@)XQiv--G)a=(i*QmCe0tBH*mwE5ZM+zEhI` znQzd+RsK(K^|}2#$Uk-VQu$zN>%+B3>%VjhzSH{ZE5Gr7`Tsuj&_ny*_>JE<(2P+& z0N4ElK)kqTYWUNi{xtuifAo*|_19nL=bwL`-hA^-Ws$P;e;HB6;NSkv&d$n+zs?A# zGXP4tk_dQUcY5*jH$MDA-;9ixP57=ZH|XsAY>T_st|uzT^+c%}+8*d99cd0}*Lq@n zsby>p68pVw@@tNvy1OM`)!web|Dhae!ELXA7J@U#jRyKINAAtbR2la7$c;>!V#V(9 z2yBzdEif#>U7Y~bpOxhSH6`v+Q%E>nJd)tD! z(BbfH=5SGlpN?O12OsMQR=VGdHCRbCG6tJ~j^glasz>{`On)rHsr1ZQp5ZJ3r;HJq zvdwFWSKKU(#Jj%-@6r#GLYeMUj4=g?2q(8NM(&jWC43!bTA zzI%61KYrz1`r5y{S!V~7k>9hk9i47}mS7M_1k_;vV6y@a`$OZcdcV(5fFyvPxmyjs z8g21(4tSeGpJ)(x*%d~Y;uE?z*G}qFSy27b8kyGSJjfovaO4XukzP91_@DaXz_oDo zfMs~b_BiGRz@d^p>*MeL=D*sKLvOblGzoB|L;ii_pFpauVjkt+zvtic_I!%&5g8@N z{ZGXq_6|6h9aalG`oA$T8G~i03Vw~+aO9)o&;K;K8)qZ%`|L>^ z4Yb2^gp-eRMdo5oZD<9#3?_*qdKePdJ_D@`N|6D*!Kwr&xp?@+T zp-XelkMkFP>gXW%aB3+*en|k7fL{{;SNm^I0`QguU|B|fSK1hn6S0ZoX`z>~C$%jU zmOOIP8mYAk`F_J&^60Ak(_jC!S6+E#zYQj@eJ{BW+;u+z09P3q|CL|)mGYIh4y$ZZ zHUfO{#TPZeulGvuPagC$ewNYxvP3}3_O-%G3Hbl$y*J+d&!70%|6${lE0r;KB>`}q zu3lVYIjp7|lvf*2Br$+z&zyobuvuY3kf9{PEajs4fNBl(926g8=eF4fm-RL!5zxx` zdKU*0Q!aX9UU>zAlyb*gl@fez9j)(rGNL8m+9@dZrAMijfbvu_;mJ(CM6Di#2=CY zeVG6*AJF9ing|eRcj&W8Cx-s-j>P4o%}C^XShnv~U*3Gl}geb{>^n#qA_evU|{0Eei z!+e|^LY~k`@XOeKb`-t2tSgyD?cq=J$oR}o3HR{y4JfO~- z1?z|x(MbEuy0h3T>sqEng)G++XA4;{%;W4ZCY+K#PF>~+jq#b=4CbJ>Yae`AUJ0wnLpW?*802jdX`ZDn{KSu{mk)nGB zzC6;IQT}I4uGNG5FU*s&!9gH%LPMu(d-!f5G6q+4Y-UUXaiWjHZ%%fO|Mc=tJo%#| ziO50MWLbfGlRmqbNy_p*{?=JX_zni}Z2iEO$v->`JWCOyvd2={+vv0;0Ln__r*4ya zs{ORV%BUFR^~ zOYqtyEv#T2_3!WYYHP)esMLf2^TX$N-u|y1d+!JD?)Q7SdGqE6@+iQC?q7Cs-`Va9 zU-&}(x&6ttYuD;gfYjOivBw^(Wv*Ypj;~7D1aSMSCjjV1fMxx;)>D|Ee4fjCv%XMc zaH9S0LK`na>&zuKquK76q4e!0870$3sCxMpY^*ryS(#Xv*~XJufMM-VYNmkCTD|6L%o zMUxZ#eT1t1oCe(`KqO9JIm+zME%8Z5=|3CoZpp6|pp;M|>owFz;OEgL++g1&|5BQT zh|8ZD{HV)i>%rwB- zrs;XRQ5kg@9j46VM1urTaN=_J3R#^f|2&a@qUe_d`PTse7}Zvd>5`ALC4ko5UYLVP z$1GpMi|1uB{v6mbNFTX>$X)H}NFSLGka^$aQoO<hN(nv~QGMPG)*%K}s0BUb*wE z1m2|}-zMi3Kjjk>IDdCd^^t%~RF0$Oh_#ad+UYxc>gR)tZWfq_8HPkP5IH{!Jafrq zR2DdkVxm)xo1~>Jul?Nr^0_VWUw-Cieum4^a{2&X_fG*xSD!LpWn=qWzVel?@Rk4= zifv`qvJqg}?5~^zP)-0SNdR)yD*Xh2DhqlX;Jb(Om#*=Zk5_)*9R72p3;LbWu973Ff)EvC zd(oAeIWXn3OhwT1LsgKZm2WVv(ZDHEWIww?Y)KSWh2QIX^zd#=4%T{Ga9OgP#55#G z2;qVR#AR13HW|gWXR0@FM13%W_q?nVtYPed(eBTFWAEe8T?~`n^74f%1;0 zzVB0yW$HYtM_6k`-ULVRu$Q*hv;^o|d*x&R*#htKYT3`Bd?~x`*9`y{Jwc!yCs>aS z+_w`2>d}4msKK`3&Av`~Yl)zxoHViYBY^rbe$ul`H9b})!YmE1x8J-?-+b#1ed7;) zNKZZcNIg#QqaS~Qu3kN@L3^cBtz)SPhGk3Y?aDEMrTz1h`gzh%53myi>fRLn1c6;Y zJz&?4Mr_mbn!RW=Qd;40f|-Xn^fdO0O@U4PklhaLYpboxXsi`mAB`X0(>2MMuQYAO z0g&P1BlitB<+v=bIWs5#J-~yq9`NsuU;S_E|EHdQj2aES>MZ{Tl(^P&FS5au7wqs1 zrF){xWI{s}c6dHokIFLktsQ`leJ&I=i|Xugq>11gVnwM2K8lCJHD?0>>p_Imhza@( zbQr+M6BxCDT1GM+^ULukz#on5yoQ-n#yb4|jQx$9x?Ve8PzaRDE|A9guZ*uaQz>}v~dfIitFNBr%(M4ANr zGg3$onv@flf0PIpf9*pBGANHkGz#h@^bOop|LkZ0lT}ja-13th2XizdAWc?UB@9S& zl0(CZDDDF#_mKbCTzDS%S9NvgRX=_XJ0VJwBzy!vCF=+Pgq;i|gGh4OeNy8DeYT59Hlir&J<*Ww1rR3p z9K5tdYEn*;{G2@Y^k=uPU;g&Dzb#+<;uqC`y#K5A?(46=P7go)aCQ9Od+)va z;Of<@Tu1k|k-&0oqkARbCrAJkhN*1-p>@u6yUk*)c!|&C8 z_H+O!!N|qIQSQG`X_?(|O-ibLbT&W-65I-+AfaINjyXo( zgGLNof}_`%|jdGeVeLJPIuoGrN5Ur!|Mw*rBB4C*Q-X%6e$tf zEal#s+^z+vr23T}VvQrEnd zy#$t}t$!=QcRf0Ak#>yV+U~dcUQ&OnaXm;ow(tkveUom!{3c!b-9Mt|KlY(58So@M z_1vQ^S+Ne0G+?0v=iCdGUZxkk4gn8P1}6Yx^~k~zCryeFjZ?CP zBoy?ZsjEy)IIa?ePGx|=b1U@yg+cdo8<6`#n3T~i6W4HeW4m8O82os{G>=9<-u9vg~^@aNfefY=T^5EPGfNG8r0Zr zLiADR#>6IACBlRN1uZ}7>-sJPnL3ImpO!9p$SX8+)7bXQj{uiV(C;TYMe*sZ=?$dxiu>lsVFI3pY|G4~PowKen zd7`NAIq<}&4+Csiu-Aw0VG5N@uf)V1+VSunJM1oNo)Dekj>{0MFI;8-+}%oF5s-fx zm7BPn#`Ur#2bxOoFWg7}r7Q?8vj7eqKTnXbZdMLeA>UvUpq5GY z-*ngjPg~lL%a7d0XgmMo>`axZ%7>>9Jh$E6z4g{xOGDs;cim3_q-zp9$#=f<9eL)N zXZYopU#=Xob*S99al^Fn7W`KgS(X5lnE+)8K$+sJqyD9kE&+JsaB-7PjT!4b2wTVFpg>qSaSgSBD47#wMni|w~#|t_BPDGD}6vvInb@! ziA+2?o(VS9DC+#R`pfqc?(NByt~sZQPuC?yvii~Uy+)!(?%pDPpzR6JHg1y^OlhK} z8y1HH6($B1#~cD0unb0)#GMtmtMu@DOs?!>In<@uF|}6BD6gTvGgPcj45g8w-cVGS z{$g$ylQ21$N7y621WFq4R|ZzatIkr*=yn)aPb!r?GHL+dU*9clG~AT#LUkH_3+@*P z@LSn3^55vfjjWfnl;k6JIcL_mRPF`nTzRj%v|yz$fR+vjzOz&HNj2lUXx z*XZZ}%17y$=N_Z$4_~c`r&`D1(01Bg_U&`mNBl1?Y!<*N%m_H?vjR>IEg4Yu5#7~f z#!d;|oO+4<=6#L)6rF4@L*|4|N9JeDn65msHkS*4Y*eYKobv}6Y>~eZEdPSZISEKQ zP7<1wp^knZh{HAtLiE%#kDFtkJni^$=U)bAHv|b*)Mbi~sgqg#;kSNxU=xBNs~7tw zcdiUw6JUde?DydCx|NvWfjH~$u?-4Nvh>8P;uqfQMh26z*p30gJUDg8C#w1L`#iu+ zCTB>8?37!OkphoE63*J*Euf&xD(}MSI{~}!+mp6PQ02oQ|0YxT8}zb0ghBwb7{h{1 zQl2lr;a!7EVVLO=lW(FhE2uvUJe?VaoHLE&oVc|yO^3_h=nZB<(3sdz3Ikt2QX-%t zIJPpEe=KX4;)UW#G|1Bt@o#h%*Tw5h{*^!iM6`SNkbfER4D6;p8PVlQjm&2Wku}M` zX&(%_MF#oe-fwK}ApwbU;<44Iu)s5l7Xy72GLD2W{p}<65obolp}!4jjyAMqcigrU z$QWIAnIXuU9q`5al9)-~KdGO#w7YdehbtFw>OJ^>&UB+i;mBTwv-LL$t|{hdrxnO9 z5H_-3KlNC0m=UlI1W6fi$vlOv2~qZe#zG1f$S@!$j5JIM*}fzoBpOH)joZh`m1iD# z3m~`hZ>c69DN_W-6Nje(h^tD^oYhMt}mlIIdf#E^og1X4wZoN`QIm)-4c^ zIs-tH0Mcgy)ceK3|F>`7eDN<|`%pjQZmpaDU7XzA5&&0is6fTevQ_{eX0#OEn5~sI zbD&GApCu@2^Vt-a>2GjfH2Cj(1O^3=G+}gbTp6O`Vkn(QYs$ZC&-P`5RLU*gNob?} z-53baVRZ#qp4DW)_T^0WbY)8)+}_x`C0aH`ab?$M05D}+rLcsoDWN{g4nZ~?UZVxk zOjG3@?@9Q^J#{_5U33{L}aKh`WJ8#{g-}$X?RJfjg_EGxT&puiIsvwpG zRG-%05)|9_o&YHN;6jrEnhfX(0h<-Dv}C}pFAu2i_t_9j=Y^UHt3;D2zgV!;{lFPt z(!_utE2MQ}Ypo9?THi}9gp+4)bWLbJD`gcFVX5y+>o;|%LY*ozbi^eH_;-HhmK1vG znGey+-+dJv#w7pf2&2<_q#2?hJ{`PKKgLUvPEdXvoxNF*9d(Tv0fRr!1c=TfPull7 z!Km2XNNIPFb-C6oLDinm88Ocsh}^=VT>?75uh>@BefmD)&ZAg(s19`W28TBAyQFf; zt2tR^B~dUEOAPj3-!&Z#wvk;LM5lkd!Rd(NO@~qZ#fZY?yrzmBvAZ;SQ4dR zRqek8nMq!05@h=qv3F4Z3Em$@>G3s5bYUW#?Gn*bYNN&`BT5Kxtxuf~1DTV*5Md9^ z#=eL0j1Mg-k!Tn6%&1q;N5rJ06-@YZ`Yuq=6DVq*ldnHk8FVz!CAt@QmIvseTo3+B z9CGsd866%yZ*g~T%uFe}{Ocy(y2Qs>6chk^9fMrK@424njg~-v*@Ay*N0gUD0QYUd znak{6-6C8}HiJ$@c@?19gioy>f!{0mC|2B>p6Oz3X>E~H+XnFT>@!=OSYpK;bIoGR zy7VV{-A@3dt20UM%okpGfj;-S&(T-D@|F6i-!C0nJMrCj->qe@UAtB``%+OU!GGQ4 zt6UoVm-ox&VPAUthd2MvPyTskJ;JPPc*f=UjjMI1d(FC|I_y7ra8?MFKnJ@cz&iJK zlL%8pJ(li>66$#AGXR?8mP0jauFdTj2y#{`wPG+dxKi2fn!`|mt80%`L2w6+Rq(mZ z09di2kKW<^4E8_>Gt79eW?U$yTg?_>I>qG&?~J$X$NAFcSHQG|1z{q zP^Y&szg$0cNJ0SY#ySKC9BTj_7kGl$A*?V#U@w4=Bs?+rcPJ?a@%qHQCtxk^8C*A% z(yMVLOo>*}m>qIO;D6VW1l-Fmy&uXXfwdE-Xe zM(#vLhl@h6tY3~ahQdQxml8$q0>jNL;nukMQ~H#R4n$M=?=YL*kcs>Upi%e5K6CMR zder1t8p${L2PWeH7xrCzt`#GTMM_{oh68SwUD%H6GoeWLHxFVJ4te&4#dEc zT!xTtGeiXH*K)wRGP2(&{~*tp z6X=Bj{$_U!XEb6Q<98|!b+ z*GuHz=w;-Hc&;e_0NzX*g1&VSd{iHF(RxJwmoEP+31FG|Y9b0eFa(kDc+^*+B1BDO z&|^7qaqRL03>hDo4k8G(?YV*oJPSYt9cH|dHJ!srm;^AGBBC7p{Fu5{nYI}KuW#Yt zpCdbskB}|MZ5_&}>&=Xl!y`BgFUx-{4(;h^|AyOA+G&XZ;j$E9UxWV!NI#{l(nI!utCQq>a$zJyp z0O{&Mh_ONs{^|MWpO-DjU$)>vUVZgdB9Mt5{No+~QL=%}wh9aP4qygX~&-EEC6&$B;bS&78!nCw*0e_Px;Y*vuvZoke`6l-!rN9OoL$ZKJs8*-}M$S z(SXX|{Rl6eZ9h7TA%oAyaEdxys~7QXu(xkhp}fAdo>dj8@jIg<pVle)g5uq6Z9 z&hT7g@FsRP3cg+Mym^Pd`PNPP=I`I64}Ii1{Re;Xxh)~^2;F%2T7!#Q9fw0n4D4G_ zUrq&p(f^Z^)AqgZ6Hv;W^w|Q3#WxPLWeePr6{siZeVCjfNCAfReCYU=7nY$+=zFV?{|_1_*d!IWdQ0pg8;?Q=Q- z2Tu|mLKGB`@}#74uDXPBFxhlPY(rnPnj zX#b5LDVTWUPlpQ5MdOGG5Lx~$KhGJ2KhHWLL@Sgjnt+HBALL(z!YDn^Ss_5KukTx(p3E8&v&j2BS%3pY9dvRo^G_di=_dh{jk4c8 zAs@vjfCh-z0nhSJDF0e91Km*`kY=gN8oQRjzxXtLx<70J7?uK9@V`39oZ3+u&g?%B zJtoJ<>8cE^T55ClI=?cxe8su_(o-JG?#9*s{TH5l`Pcu8Km7K$zpbm4=M4H2x^{H` z3Rju>Pn~tX{`Ifd&rf~oQ~ctKFP2UJ_|~mkDzALw#tq(r{pH%VYh`r5+}mBba)l3v z!*X_ZRzG`LJgAa?;n8P5{s8YjUN$%9lO6NfDc!jHNS%g58o*EkqcG(HHr@1TXFd+b z(_9c{=AcWhSQhXuL@fX>$%EpamZ>&n0d|>C-=^BMg9At2MHNcW)&dWM@#<}hIzp|5 z{8HD;0!t3BO9Ah>IE_JQ+Z<*yNBQFae(y*zIMMH4OsKdhqdh= zu{Pt_*2=Zo$GRvvy>2+l?K|&X&>z3_D*d}Jf3GeVC}kgh^qM)PZ8zR_{NW0J1ui`b z5swPga^AilAK2P-P84*Uj$GKsXzcltchHWbG#GChFZcck<-h>zM;0DVyhDaB=ok?kBUi z*s6>TE54SnFdgUefpun{&+rO*&>R_+b03EUDx`E6a2XtM*VB}kaghHg@ZtARKa>e# z=m^*i?)VIS!xYM35U;Wk(dP)Wi4jM;!xLQ6#fe6d3_Rd(@}Ju`T#0Zr7P*lqk&QwA zbI=F4UUtpspx-Z(f4P_Zvpykv7X#|3=ao)@m~(t4zbE1aaK`SWBk%ijF<2#iC%}c0 z2BXkUlz*ADS^qee;Q+-{L zOjZRtW`u<>u=Yk`%SSs)5}%X^qJ*dA^sbYw$l3OJwiUZVWwta?IdSc@-Yd`RoZ&Jk zQwKBw4wQer$MM;{u2hCcl;(AmR+p3Azqs=CfAEb*9(iQ{OTY9>@})0*N$3M~-Jbz) z{HneB`OklzN~eA7V;?I!{flk{sMmuJJ}Bam$9nhf-4gs)zrJh&SZ?;y0O}}S*$nWU z*LN-Bw3dA>@2X;~Yw&gRGd12~p-!_PY*AWQGTH8+BS4@$U<5&u6Vug+ZU{&g`l)e; zfNQ3FQFU6bnY{_S#8r~&7EO(*^3-WrHEUvy7{{8p%ns;~!h3c3!FJ<@+_gZlIPr(= zOQAnA)<;N*fKT`hhRtyAKkj9Spy-ij-7v6^a8;Px{u|6b3Z{^I{dU9NIaXi$(!Tqy z^3w4naDqby6kyP5IkrIN2t*F^M1u0PK-~k4BDF&A1pJQEv>t1-c-B|ko%S?cMpZ<><2G&gjcPDLg!=29% z*e$y8;Li3f2+5*}!LyNb)FbTF4}71>aq1}s+Sab_^@Ndv_+ro%*bw?2GI=jtoM-hA zxwCd$`cQ|qYSc4mbrxEF;^&?v4LpX?1H$V0XcNc4u5AcZ(uKaZ2l@p^knjrqLeN(- zsgGPvTR*KcfV@r0vk!3eom}3bqc}j(;VSa4NfkneRHp6E<_b_M9qkR!Dc#5NSc_>W zp0|?q6A{r6EPy_XZwsZ{q&iqh=Jjb`^!JpHDl72vW)lsM`l8(L?Qzb zft{C;m{}PF;}dO+7R>z=0tN5~0xt!A_t^`aWdMw1z=b*|<;@fYUmg3{ngtsp`36z6 zKSGn6sXlDl+&Pe#qw=aIbuRxM(V>6F85-UL$gZW0D%jMtp z6-anu`+9$N#NNPm&_rPC(DXRyf;C57hIOS8{O|@@eH{1~x{4-V__o<>Kh&9 zKaiaSPzEB)o&dAi0HiD^Bkl@oWXovJC-?Hwr%;Yucc4v+bl!elyYbv>uf4W>_`@G& z`T$<{X8_DE>#Xm5=R4(NdF-*r>L~vkZKj_wX4-1YY|DsL*&ue^0=b5ZJ=xIQbO@`^s|hP`}mvq;Eh0GQJyzyoGG#nweD zvUl(7>9tqhrQiR`%k+cqy;+}?q`+?1c5~KQ0qqovwI#6*@o()j0$Q0vg;fM*EC4*# zZ3EAsL=q)&aDxtf$Q+#$CqKs^$9>6>fALD5ktQ4|^M??{Wg^EJg)e8l(GO*>Q|Yz# z835%FhF|}+zi$a8c0dONvP*Xi3<)?48fS+3rN3wI(6sDqoJha9n@mH!-G-#PXNf$@ zznG@aqa9G5xrfdOpW-lsj&A%YP*=8190DZlD6Ii?I^vp>>;8 zqHToW$SV##Wz2~IyJM9i&PM`$ zzGu1g9gT0g)DOZ!%;OG5W=WV_{yBzVs^n%N-RuhTKMgSAXMP~Zp2_5UsE-4$`>Yp^ zNhC^alHiQ;dIVDrTrmAUzC(crm6A+6(QAGmgW%9lL6$-O;dyGh*RACM7H*0D2m^&$ zjGjRTDDWA!$Pt7A%TZf%!htF1HXf6$mS^MnE}2GA|jZ&)3eEnmo{ifV9Ly3&NYk=?Icc z`m_9g=gr&n$1lD{|Mp*gm)?2nHl3ZF(DjGT$d@sA5<-^-Xuuzr2j~)kgDnkc>-*aK zI$9CUEzovZqR&szSE+xpoCg~VE$ep1qn?rj8785^Z)bD>Fu{}fzfY#h%VjKsq6&IG|zHNp;kHyBie#leFBiFj#|2Wg+yht8FECY zC-H|j@Hy7wa4S9VkKnt>Z9UauY>O!On4oAHrz@RK7 z;yq;Kj@6Z(O{?ed+zKRHvRKfrMU@|7VY9aaNudGeRwwIkgoTgG|Lk(vO*~GcFPLee zwa?@~_Ma=~JP4sxaexV$pcMLG5~r74QeOr6XV+2f_d-X}p(uADzzwuPs5BW6XDn%* zM%V63U^|Y|MAo}q;0c^E`6R%V0xk%n7v?#2r}sJ2g~rPUqGrzkzNH_Ne0I78(@$T} z;o*yES?X}l9vB*dxwBygShGw9@kbdfL46PMm$nRm>Josf^*fhk0aTUQ;`92B-ewJHPvX|65xOdGQOs@Cz%PCij83?k51| z7k}wXUn+m}=}&)}fBUz8n_qwZb$A!Ai#td8s#POj_!xu3JSY@xMq4YSG51DHFBj6Z1ZXkxaq*0X@nsFH3_ z)LUg!xi;c2EhQm+%|BrxppD4s9s;<-M)~}clPBoCEkjsnQKm?jBN^}9xkdZKYMZrX zdT}zIG;yljNkaX`qvB=?gC5N=Q+GbeG>iV(Knwa9`B?5o=wI9~9*B&^f(<{4H zf8B>*O{4yp3|M`3fM}v%wf7oKYsX!TM=UYX9bC!$r~S=?v9o93o;r=Q?Po9ROy540 zZD;&9bRSRT%-Yu(PT-KhJ0U4Wi46s0w)at+?Qx(l|MPFqAAkFY1gJ#zVx9);;OCfN z4|*L)lu3ZjA`{Utx;xb4b^%AlG2DADGy%@-qgx1i8=#j}AHW);Zj*(faNm&(=yy^!GM_1{*(HUgJ=zP`VXts@b@-5KL7^U zXYL>JST{5>`i@>8v#`P-m&iZ%S^jkB37AO2lT4eCsF}1uloCdCoW5hifd?_5WA6f_ z84eu{8U|(`QO}|G=g6(yyGGmUYKt-W5@(|QN5}3<0g*(6VYya0R7To{K zfB7$cy}}3Nx}N};U&ilcBfv5fpp5>%`R1D{zssFFcP#jS;DHCqbpLw4Zvt3G`*&rD zK$-flqyOczBmiEy``*Q0f8t~R+nvyjnuRLsdrz;?wYv{+anP3*(XtNQi^hv=8A$2r zfuLE@i7~dFISPHDkSZxN4O|ld+p{fc!MYT{X8}az3d&7u0XWbRMFkQ_EbiXw$bHoZ z+(!7z_q9vrL45ST1^xbsGXqNLwL|mT?jiayKUiTXYo^QbjCap(w;-uc0T01`r`Obv zflmyGgF>UJNt>3#5)$-fr(1SdM3RH&y*C72V69@-n8S02AG@SQ`3L?Y~3X2Nk+7g6Zv7Nbl2EC1CQ`|XIFReUDE+K}_^{ z&I+iBfmN3YcrrkjFWBaRKp&q*GNG?kg|RSAXx@gevzKN{&#xpWPy0MJOu~rr?AnS*B6`dHCee zpZNST@t@X{?&WvGCxeR*v=G5W1e05cm^8*VGv4$2iH>vPj(Fq_3XH))#UPtd4tViW zU5$8$2D*$X(;tzEkzpw4IOk>m-ocKtk?T(SHPS%!Fg^z&!1rT`tQnlg@CdK*{2B5_ z=#RPN#k#a%!<)dKARftY@;3+6X7WF_e}p!KjpGChK)SIJ>GBs&V3N1 zLDXfrZLezrr=&hLocJ>F3UD9?)xCzw5`fb!3Gfip#WS~h-RT`T>A~9WxX=-O!?DRr zL{?&ZD!^M%Uq|@4ZTMG~00>{BItzeXLZEF1ctULk0QQ^%5oou-a{(R2Jh;<|2+mqr zr=`pKe*^gLd$0aKmLL4#dw=6^{EhuKsQiIS0NmdMaB{))XnEm<7x;@`{Nhjqf84rt zORinJR*wTrM*+%~7zjFQzd7dho&EWXXMFl(J5s7_1bANBtn9eC>6H~V#z&#)&J%aR zV-i=GYT1L*<78mkbeHxXyCMKLvrLBBk`7BhV!i&phhdaKW^5#tWTFPiB&a6&)?Rxb zjpdF+`CO!JjZi>d#HZNW`-KRw8DN=M(2g(^dhq0S-9x0d*+)&wQUETrCOwWzAu_-~ z$wr_RFPK@;^@by^8#ua_L_-{DKm@$jE0^fuXce`*ZDt~FfH1JJ!c3;v!rD+9{qJ}% z(J)Okb(HD+1e0i6S`MFSVuuY7D3h#14~i+#!;%0wKQ{O~t?WqE zy)RaE{+G(5Wpur409XQWJxcPh+mdzrrDo8}+I`$G@MM4J8wd8kaui|RoNu+w1IzQ$ zM%l2hV!Hs0<-h*>1KiD(~cA@-?w|GWdp%Im6=Dobev$Fj$Mx?Tq+$Fa4-g1n!9tTc`-5Pz>zT>d$>VA>x8Mi&bSiN;yb>#)IZ3>I_G4&pDcFNGLZs;dO;U+;e_ z1J5$G^9(OXNfJL14H3SB1Nsu_O%wtQ8F^b0XX?KLuLXSv?Gi=eDj%!vR$HJo0$+yL za~D`UO}QIxm^Db5H{=)OYm@&_KLSoE;X{%6(lsP4>=g!Efel4Y*87c~pY)AG<*T3PUl`AC?AmucGk_afL0cav%`@WXV0dL9SM~~L2D^!pF zJLlUZOSiU+mcPrRkhw}~P?c>>E?HwwiNnPN%8~ncfms~iOi=%oFuOoQYcG)%PQGRa z7312);jL4sTkXDsKZPK=7lL}Y(Zeo0MPN09M|A!CZsqVgQ=sp3T9yI$?&!&+1%ZzS zq-GXGCJ8|a&QVUdWIN8*+US6g1?aF&Or0lSiQrHX+*48-Juo8Y;~mf ziRw=VC#V|*PR4?W-EbIQzyQKPFNVZMcT`BC6(PW7xaU4lz#-#7U~C1QL^Mh*_;1fz zdPug>-*Ose-JQQqtruIpvK;zJ0Ojwn^q{^a0`@(i&PjllZSTQ$F}NkEu=PQCPm>Pi zUXjXWW#fec^V@ISqPO3?Mc?}BO}hT@Rr*W+(a+FR&pldC5vazyIG}4=19#Yh`dvRw zU{_BQxTsV7YC_=Rq%Mis?ew#sdSE9HoV5BXY(#pNch?-oOY&o%#o7d{Ih2o zNwpM+KRE5JG7Pfxxozt*2!ht<)7&M|S%3!E-NNYd2hC~p)lTzrl-fg4jlrR)?jnJ} zltA|+y+;)FOu8?~Q1IR8m30j0AhHBR$H(-P>n^36T{8Qg%4zki_!D7La_9u>cn|-A zD#h}wCo9N2#|N1d!7qp)hD$isl|tdBwxK)XYPrU4`>gMoEHS(pOQd#?Ba zaw7oZEuk(e65!#)Pz$F3ooGrYri4;vOufy{Zml0=f~U)Rpj4LsE=RiiJZ@CS1D?=v z-B%K;CwD6cn4Q5W=ur&xY4WZ=bIE7>^!uvMQQt+nsirxivI)6>D0;~Fo5+WZqHY{{ zcaGyR-`8=*Pa$-(kTR}2M|=YdRU5|v&sZkUpx{)O>R^OGR1w)p0Q~mi5U~Ib&bI@j z1oj%~Vk#AD!%m!C((1ywzDzv<&`$%X_tb}NNYJoU8SF-||EP~Ta#gG3`=(bLG}JSY zOmtjN8ZG+shd%V|7B4Pe`N~(y-f~p_J}B4y1i&P1I18W# zoc$QUs+;vlz<1WWH)VHK4S-y1DS&mi`tHG9Hrq@9vi~s6u zl|ZK(Fp*J#KDK+e%?PNouiG?eE~A}{Fsoyi3_(^fO}th$93F_)`;0*; zI0K2m!MQRUF5tiUv}Jt1IU0H|8c^>z*U}T;$clPDC&marTdB|=!LfvZ1@4Dr01+e> z5?-B-2&V@OOjCcA$qk@zbex?^4Q{K)3mpz!jy4{Wh0UN99^Gzj!Ey_jOR}IW2iPyG z9Tj*|18c6+?CR$Mk^@UmA{_b=f_3Em&;yj7sOo!06q#E(4sXACn|}AVzE&sCeC(4S zrcZq4N&1AX@jlI6xfyH1oyR^ z!dPbo@M6gcV^7s9g0vRsH|jjC&hwPS zf{x(_rK)~Lf#Q_>dIV)fP`?0C6emdo3n2g4Hrs14 zNfBlqB>SJ=)w1q6HuytOt@2NhL;eKD7)` zv^NY+9?P~Ljea98T2^IbmKY=RH_K<;%jnKl`rQ+f>wDKV;!Q;vBkyc1Gi`_B#m6Y1 z*V=Sm?c{bGVA~C>Bmnl+M=JBC+Z5lm>#4Pyu^?waP@D{1c)W_3$~%p z%l+Mzhdx_QgZupFKfi3je@65tdfiU|9J!cBDJ`S_&ph)Cz5Mda>o)pdQ)OiaK!2?2 zk*-|1LVX5+CILhPf4#nY_q`WCdG<&REVs-X*QxGhl&;MCZD*LP55YL{kh#a7sC~hJ zU%z{pX!{A+Kg4}5JZp1p3{;g4d)>8YTe843+CEe}S)s}V^0gaY9q}#S`*G1*VATVj z9^`kwCKz<-jh1`5U5JS9FZkekhj^z3zhyW}@Y8~-t~&^wo{nn|D%5bZDUrw%LI0T| zCNsdqDMJV^1;g6!XNLlV1ba@QU&+bQVdm^~su3kCn`aeh-YvVf(1))@o!`)(`GeL2C-g6*Ydu&9sSpxZbgkYW8-`d?@>}tT@ zk^nn8U(V@dOH`H_0%f|p%@pW=xaqh9kQktS?BEyg3iRUCJq{w#^m6d)s zfLVnn*rpLP>_f*9@fA5jovzbYv#(KBLgffwY%a)Kc->@>D5zKzv}8AlhOiA9prBmZ zU?0e$@*?neco$)&jAl$kak?KX2rpXOo``Wi?`&#%An;;_Ao$$KmTs+CtaaRc_RM=K|j(Z;A(noq)EO%r3*9{E@!XS58{bOqO9jY zj}bOTc0cMvuMg{pdOH(-!g$bB5P!gU=6h!OXNtNz;3xBTEwS2<4b}~gPu|$#mg^S; z>msX9EO^c~z?{XIrnpIL*LbTH;O<`qI4j(1`xD)aya)X4%yh!(|LxfFG%!R_|Dis_ zzRm+tGg@h{%vdcaIP104;nw2NJzMsV+v3KVmi&oc_Y(j|u49a_bs~M_BOl=({pd$^ z5d58Y-l6N)ugkmdzRR!=K$T_K2Y_H10GDaE|NR@^f9XGc=ox8_o7Bz!E|$A;!VfSq zT5}pWSlaq8_gs}m%>D9gt<;(P8lLq!jmt$R6!mD*GKgi}LzQ(mgXp?PL6FfFYUUl& zvlQhzD31Ps4LxzZwe{$CH3wb#aSK8rQ?H_3avEpn2fBW8hu)&Aq$6WxdNXbUq5&~c zRAz*qW<{c+Fhj%?cm=isM1a$l@ykWx=rPyU_`Q zmuXaz)77MaOl(T%ir2(2DC&%xmRWtlw^S> z!RjbK;96|o+i%^bciz53fB4m#^yG7o(9eDLskTJm;RmW=F9G~oVLP(a8YrR!6Bn z)1Z}^4d;Mgx{QzeyGTI^tv9_b9Q8npMb`V4037QkNt>!CP%5^ft^s;2VzKCXs|a+TxGC2Zy&~y>7D$ikr_i4+{|Y6;eZ`Lwen_9W?v#cnDg{n_nt3X<7ZTyUo-oJ| zUPXLeLa-SO%E|7de(Uu?Qs7u$;>GyM-VR-&gY7YO`%fHj&bllHpoj&9_d?a=bP5TQ z8P0S>{0Az{p9d;A!Oj2IvSIXEbs3;C1lnC6t8Y{`2wrZT^tv2xQDG(*CsRovV)_os z@W6hdPOU@0zAK-UFB={on_nA51m~7^fpkuYy-%8N}SNW+5XSux}N|za^-B$=RWtj8r+u+|Gx8`@5tki zKfb*7+H2)e3I0oGuG{n4xn&Q4`e1v%?*TxX1ZcNK{_wrm-`QCBy{!YT*FavZdN4az-d0xby&L7|ZiTMq%bt9f)R&A_5UMup=Cj6?^D1Dg6G1<#q`Xa9nJ z2s&sS;Pnx(&}DffK|Gb@$rH0Y0sq)7pxDiD2!Stw#6X6CFAUX5fDwEcpG`taH#UR? z0YC>+lQ?M2;FBk?A^dBf6;O_r)IhP=*BUsko2lZK5Lmcx{xp7WnUU8NiPA7pL|6X`c;nvTq3i-6KFZJFK4_uDVn}obOE07zuq; z9Y-6JdlULFb^<(?@jm``-959lOqLkvYX(ttoJ~BrQSki4&pk`u{Mw%oi6;;pe&m-V z{{hcD%7vrZ(Xl21G`(xRuAoN{OKp36?)556YA-Lw)JLHn#8+X);3B9n z(|O|ZIzSzDFscb#({HbF&{v*VicT_t-Y}uw@q~d6yoU)-AimiG_A<(EQf=)5{7F5i_5hd(>6dI#fEDacmo0*2 z4M^M^IG{Y}b0bkA4FpeD(JMVxn_h42*b%;cZ30Nk4;Hmp3<73fH=_feh=n%)sH zHQ*%>r%@-<@IIyI16~RC;6q})>D>_gX8FetPCAQ5LYZ$#;A29Wh-XZA8Z4C;$}z!9 zKlXS_0KBt96+^*QTDuO0dTL!gFi=j<15try<<%w96Lp-^stsCDKbpJ+`+KTW|F_SY z5U9aFQnyjPRM!S6WDtKN5sw2}U2<6Uogh%Irx@uUY{|Q9uX}ibXSrD4vz*R z(b#q6!xF7UCy{t(koN&-rLLW&(=s^2np}bRG*I*+N%>_D7o3(bswB{_9F=`+6RLzR z_k#KlkN5-aqE+kfV1F22SfzwhVBvPajl3xmYZDU#1bsX)!T>9d9G2JG36l-BIy0ai zD&T=+O&XL<1^1h=z39sVY64)brwNqJ_;g4AeIIeJrwAMlH8?+%WI&%yP}-{-2$pY4 z&w3MkB5f;MHUJhu>Ans8*4J**^@py}&wl1f`q|GuRhJ0Vjs8j%{@KRBKNH)O`SYK;$FG*fM*Nnbp)Fmz|?mVJ?L}_4v zA?off|5g)Eox>(>uD={M*U9K43DclcE#^fUPjGad=XxcN&N!~9AH;OL!3BESa516? zs2-nf!T_s%CxS#$LV%O5!^d5}-rD-^Q6#}WCK)aWuKC~*wn zI6Z=10Lkjz8|6RPC5M@_ZPgb{IL6xw6Uwh3?N8@K9i=k$56vr_yB@%QnJ2mZqc5=HT zKABMy(j_o^;Lraro_+gEfAfdG`m4Xn^Z~l=Cjj2Z)z5CM@#Z%AueWPAm*D@#jT`jN zJMXO5u3cMh-@dKEe=VaY0YG)KIni8>1AO;z@!|t~_VHTPCU|$2cefTkZ2R$vnUwlk z-wY5&Pm&@4L(MafBPdYRNOo(R&klG%f zYM9Hd-G=-H90#aHar3`&>BfKyxxb)pH^CT=`Zaaq>c7dGe%`oz&)45)Y{kmAL>Z~cAQ_|9JI^^IP}d154*B)U`r_I z%m6(JpiY19@E$s@#VWn?<}Ld2Kl?WQ>+P>B4Jb*O5)|_f0X|L zo|*HInlKr30=fM64$et{-aO%kh#@)eq7iIttlc<)W{C<6o&b8I%02re)D@}V-@R6W zc8MnX2ukG?upZxcXnO|~lxy(4vYi~jee*!-X+VDXs%eQ$vBy#@a#VOD@{9=Pyg^2Q5A z|0u~(kcrDKKJqd#$+0~i{Nu0}| z(-+uoBL9*`umK>HcMPUg2dn-boXgNBDap&DUt~0*(cN}<6qXdE5Qx3XGffgFs;jeX zX84&Rj-Yol{h?q$4x12d+bS95-|*~#Zb)WWNdh}bUT)|#ctNpB_i|u^NsgJm6BK|U z8{;}V)Z5`>ESDO=zE@jqrPcNT9U_kl&Gd2zav5>H5 z6tRqICv$&-QKD?O;7IH4&$JBMKgnpKOwNN`vqv(*u6XKw8&nb*Wt(JRsnm?izvT2} z)UOrS1@#ace=-nCMj531pnn)=>B!DtM=*_zVHPbDlZ!WKJmm8wd)^w{V2fc zyJhPC_Ghf5O9EayT>Oxhrbe0|9?D4ob?!@dh+3wAyARhjnrGDFD%Z?bqw-_Z2em#D zn{3bmnHD$*Xo&^J-m~&m%`g}sj)Kqd7nHT+bVOGS<^8_4dRYvPK0VU$#3Mf!Ysnie zIF%&;IM`4U0Cgik=HO4G!ZP!d(85f=DUMDpH}D;%luZ<|hN$=W5RhP*Fp908h#q8c z6`twT$%(E(hf-%aaHty#)4*IAG_7N>K!#s?fWf*FC64~dNc36I1AqiPjWPO990fsK zLe=+B{JkFmYEpXXhzZ(kvghaowCQYR3V+SCAKH$)`@^B$D;o-yDgWjB`T4$nFP|3| z2fBNAPv_g;-Mbfb=kED-|AKDcId9*$d!<~tSH73>`|a=iVqZV^Q13xnmV7muNtLlu z_aFYj59q)BJ71>%=GXoyee=U z^xpP&`}Q5WbLV#byL-2lJ3rt4HaIWN&#BCKI;;(rnuzPW4x1z6T{_4_Pvjq!%TP{Y zS7X;Jn^|3;JY)ajkH%P~KY!}!4?(c2q8vxZ@a2*1JSf88-`@~Ihpe`v?Qxug!l_mE z+6hO#9ZqZq;F3`fN4-cBILX>{jVUwnw=z27js2~obwdzO2^e)ewL*4C(2-YhW}^aI zzvq4?yDzCu2ORs?SfLkC`5&CVUZ*ET$@^i@$q}HOU^iI8JCqWgH1DMRz9EeDxv;5! zyNm{DQdtt%99SgY4xmj14O{TQtC7e5!!qe5*J+mYMWVFtIHS)c62FBi2T*agq!)DC z8RRO!>$n(>-8L!RyD)kg4Au$do$QXb@4s~3-0_j`{M+f__fQ-%Yw=JfDqaTsCBVhO zM^QTDnF;D2s?4xG_4YZngRnVyK>h)jP$a#NB|@U6KSG_`*xmIR2LOPF0XX#4wC+$w zu|gu_bM-|e*K<#?YQ;geqh2OYV944w0(`G+1Q-$$GoBLVX9wU&Q7cb_9BRPsd=$7y zdeARA^1tujx6hsssLKPum(6}fC%{Cg>-{J$5d_Pzi<>&Yr@}sJ-l%tFIlb~s8Ls{M z*S}tl0?ZcYCwASR0dSA2cb4d9xmS(?JhW}V`OP=qtmXPi0MyIWjR5c7y-Ru$K(8+7 z(|`Bw4`2K%*FQ|6Q&ro&lPZiO^wyHne#-AThlNe>{fas*W-3VxFIft!F% zS1a8L_^5SjB+f>FsZ%mn?KXml5f9Pmlyqi0V2?2Gpz&ho=A0N2)3an%{V2m`W&8FgfuyakiO{bPF$(Ym^0LXEcb>7P70q%? z=~92JCn3v>hbOlr!1uoU$|YRwZMP5Z&I=jfVcm6agj0=L#+|(==fXK~*0$s5kn^Ji z|A%L=gFJX9g+YHfJzcwX*DXB1hx~Jdbvhe~BzC;MXMN~inFgF$mrXAqz)b#wQX}sx z_Ci5_6Y55yK=**M={kzIkUzKS?@Xq{Fc?Ps!Bm9KEMTl8l&5oRJ>}WLlf;Eq0sV*x zPP8l79hCV6Y`EhVVdX(L_L1t^9{asuL!B@3^mdmb0$AAl7~4^RL;~q(pcjSjN(0pK zfIzq!`-7~@8r})B@rWS^rht1+dki#7{b;s}B*INJ+JBnqJOLbm7VI$QbT^jA*&6~7 z1=>*3&m`6_0cX=cE1|--cir)@=O_|%jK9P8tal0Y3G`3bMV?gUu#^5&P7`HwQYO>B z@j=7Y*a!TI+OGN{Jg{7-SNHxw+vo5_zHyhW1^c=TVE4uu9UeUg{Ct^X)LU9@=RO`u zA5}z#95^NGO>P|G%K)VELpu%N&?%}*0lbWHC_7D&ZN~(exY$ext6|1cr)G}@27F8X z?7F7R?v|6Q|IrpJ)^Wc69$bdX?lv1J?eFEap^v$L~u9H8z=S3eJBUhej}JzF*hdGnhO_N@FB2l<$tQ#>?SFm=<;*^gP*BTo$WRTAE@iJF1tF%(fD!t=L{W zv_zW8-MY9^$zP^YpPim+fom%o z9RnNYcOr0!o(B{ERics}|=Pzsp=91fb0pN~6F zQ~B?|6}Nx=FTO$F`J>%_SIQGX8*onYZ&mkll5tKK;sd&jQU9h-rvXRZXW&U?5LifHkx$pj$lw zi`WI<1{+aj#a;sgt|6fXcpVE4BSlBjc-Q1$7m^j>B?&Y@J!L!=@TV!gIKXstF2MAD z=o0fW6uQ^~j(Ss);`ogM#F>X3O%AP~j=AhYe2$gJeoky>SR7?;fYo4EmQwle|6wvU z4r)=r>sTjndd|Z$5O%-?eT2zNG{`>`s=>dNA6_Qc?G)NB@0I<0%Cf%QBSaTZ-3m?D zeYbLT;_!Gf!Qlc=o-)T>da-|LCjpeP>MdL?8+y_9$5%Iiicf!ad%k`0S-W4#aoJyK z>AGV<72$f#>c2OijIgzJ9zuR%0P=hqeCori+qmpM{jdLT+ko(Xiz9VC!%zIWp8&Yz z`jub#mGV)$cI!0${O3PU4?OTdnZnQC|Ni&O{pHS`JG_nbFW0YM=ku~ZBD9~y&EX&@1sUq!zXb=GUD3`U) zy&i7gR}JF34z58Aw^0l+Xxh&H^^@5ktaWtd`r7UW{dm1m+bcVppPrr4`Ni!vJ$e-y zrc~-zCG$*KFoSVo{XdR`GgHpe`!kA4{@>?9B`)bcdJSoumSTM-$fvX1WTBrV1cw{up((jiUH+Sz`(2sxgF8%&jzDs}n;wyEA!s%I& zA>R#OEIH8w|Nghv&;7nHdpNXXgnB}NI=mt})ldB)cVKk%JrGWgd=f=@Fy3%_<7Iry zsUD7HD|DUazyEJuqObnmA6a0M-LD~_TSf;tIS9lvX3u!Z41St8^AT63<0PW2mj)O> zR}oKXNUGr>Ns}HA^yIFaL((JHJp($`;h!9FnN<`bYxX4Jz4X@m75skXpm)@5Q3pl+ z7qmn89_r0~73c@{r$6IS@xQN&q1_RS`F(qlTo>D@Jw@B&NtVc&anQnX&7v?9e@bPL zHo1%@(=xRUB98Y5**18+fjDE0gO8){sgD$46q=bkzT`Jj?lM(q_d9>Y^vdxo(w>i& z;p3dp%fv4Y4B$_S_&6@HXB}VQC$A6*O1&6}zvJSVO%ham4yGorvVbb5x&8_>oY2R>CA9Pg&Kr_jk#XAhn{v?Tz3`n^>Cn2t^LO!z9JLkZ2X ze!X*4`K`k<_wC~_s`2&IwwGdM+VvH> z@$~=u!JGf)^`HOwpWm0G%qSz2Fma9_Y03b`|$^O_wnLvFQ?nTTlVe7-G^D~41l`bh@Yg@QckQ6*GwJ6 z;6M7bM6mCkDHH}ITQIvQ1AX_7%XId(q>2)rAoNDQ}ld<^}=36xP%JKkcb)w?aA_gMi| zCVJ3a6Ju-NTR=QHPy_RWCJ)*Sf$Ar%VzUfZoC$z@!OAa=*RA)?woWp88PH^{!Pf2_4w^VMbapcAsNi6c0pf0|$? zD@h5`-)CX8wUMv<@W=Fz{^9RAUy3I(b3n^Rxsg={r&%WQ&nUVwJj-I>b%C=eaXNSi zNCqdA#|R>{!*d^v{GE_cf%~~$M!-20U>fzRB>7ifAQ}^__8b^x!VgH70P6(gBb_*W z4x@ybo-^JAn5Qptx-+p8p)RCVwrxr?O6cT1x9T`PrwN|NE_MkR?U(nBSUVE?46cBC zs)ezR&VNV6e{w&GKg|<#G(hg3@f$G*d&D#miLR?8!9Uo4aw=*08A?3G$lr5I69&)zBtfUU_~3(5oY<>Zua=VnsP6+%jsjf!EPzt3oCdHfL1;Y+aJ~596T7n(#2ke7bROs0 z^igoGDJyA9bxQI|R9tk-T;(}AG?HBj9h&Yp*w<2bEKL(}GFvLb7$h!)FUEFHDkhbc&;q3Okcc4JO@$M}3-tM)|(PJ#wx0t z*=!=A=wtP=GI4@uaVCQ{t*41p9ns+V*-t&+*bH{x&;1_P%g&j^Cz~CNStQq|*g$L;cY&rdI^gN>1DpVZ(&8XVDa?c7!l?8LutDNMYCY0^f z)y;XT-Hh^&w$5w>Cw#Fk@$YfQ!c_Hj_eXGA1ZSoldepRU7EZJqw^oHhew z1{m}m<^x(4OnE;8rkK#OI`oS(B@K);fF%?9zoZfKxZ>J6TpaH+L*}IF)zc@V%C<%Py z**)gLmSwe}@C>AbXYE74j;_=;;_Mp&a@hx<4^-AteY3ziU>P{p@f7FJU{B$bEjc&p zBCzXidjfJD@2JX@*1Kyro-M`8NdUk6%fDRqm7|~Zbw2@ckE=6G=}L`t>rsF&z4VfD zB|ZG`!__f==bd**?`aZX3;ru>ZNWe3?*HVhA#WVcfB4ap>)kj>TQj??b$Uv53N20C z6<9lyth1OoL#7d;a#A(n3Q#XrEnCkXgB+_xrH!@4SR7h|3(rnB{We$-G?YGfpalyw zQ6fZ|3@8pk$%nM56WovYqhRzG(5tA^HKF?0`mVR$NAh;NQyNAj#7(xoZzHahjhGAl zuyGQ}Xw2D}0c~%)m zVp5L-q_M}Fh&qqdeFLEHOG2P5(Am}FEvb&IYe2u-aZLu)qXbV{Kz~w$?4|y`;C$KcV0M%Ae3v&pt|@{LEAI(NBDsu3X*Z z>(JWO;{;1WV!vxaeVd81!O=Gg)I`8ej}ts;WtLKgdlI2DlV}$TN=(wmm!Gs^ub!VDFO434)qfOlH7w@>kfCON0EY9I{i)bXF9P zQ3-=g)=w6~nNp!{@OPNW@f7muYfz}sk^>Rl!3Fu(`<)J++<^AeWja;sfX+hwOo7Po z$?3k*0y;;6ZX>XNp=Zp|3`d_Lu>!*d%xLVMiS7zc=U7#kjxH2|?v<}Osow2GBd^%L zJf?4q&pTA&^mcnluD>H03EgT=3E3GdvSf$^t+h6B*lJrLmEN z?K<7aorI&juq6OKO?|d_4%L2A*Zl;*Juc?KgmMY~%Siw)zx=XnqyP2UjT<*Q=e55+ z1Axj&0Mz~EG6O)90L+!6cYk#I?HB*Us~>8DSQvBrEGGe+Ehnac(TX24FT@bIS{Zl8 zJb2=|m1SK@P=2?qEvctDL`=)JzjDIm%6%hD(~hw%M&>u=GeForY?t3wmmUi)U|37- zHQreJX#m|xsYw7XlYzJfJYm$HD9ivbfs{4_;L4^XZpmp2tjj2BIbWUIsAApjfI%6F zDpb_il$5Ik+%OqHgCZuHYd6sGSqG}(%i1+NS`ZYY;f=|SMx5LyL#7rCH3KfXMmq;x zXc;WP%^(vUG1f?&=pc7KrEd91sS@jf@&x#zckaaSE=fjHTe9ZpsI8jQK>L>2&@tD8 z8^5cQYz`D6pL`_i=J(#9o8Ntd{>6X)EqeZAPt;_*n^j8@DXBS^nnXcgM0gAU|AjXUYp;K9ZvT}(( z5Aq+FSx1fSC*=_&<2a+8fNn#g+6(5)sxA&qGPIog0CChR^>-Ef_Fb^dsK8ubF-JNR z=sSiP4@UwA)7RQ5N$rju>JJq6@@Pf*@1KG?DZrS%11OY&V=D_dhj-9M<$L6ChhR~n z-t5?r2nUjI*Tep<-*;Ha0(uL81^}t^FgdLaMklMH;S}_7z*wc@gcYEkcC7#n^`9X@ zV){SIL!?8rI`iK$vUAAUfJj}%oQMdpyFH=s-V)l@=O}X#9{nBVU;1XlZ5F`UD-Y0}kG`F#4#LW* zIU<|XHOQ)CV6;?RM|B2Nue2+_%f`Vi$nX1;^?<*P{x|=&Ckgs-V5ZAvqF{B$W}WBO zi4RQ?;Tc&Z->jOf-CoWsC==)YXQ zex1rufY+{FE3eU(1TY;~t`hwBWdJrC;NQOU$`4<7?4xayzrwBCaNmK?w;E5(wwCBh zK-0HC-GNetWX7XApH2F-Sao1x z`7AJQh#YnTGhoj>SqCR3n(OMNr2mYN_rF^bDIXuoyK*P zm0e9W7$o8$b6oPpM~i{MXEMy2;)45?pgd~FiMAB+05}*abd15NMddqA(~5z94tUMb zf$qe_P5*L42_igXWuraT`6l|Snb+gj2)|vS-(*?~PpU!(jEE?Xu*`n<_cRC~$0Ifh zq1vn;De{fGe~E&k#tj0&^0(H51L?5tYmnb2_pB{Y?#F)C83Bjw*^cRCv!VNXGT^=j z-9^?;>Zto#mkpGA#n86p1SJu$_Nn|OA=m5VR)1T&&lV)#y?sG{_|+fKH|r9CtMr%t z%E#*LfU;bm)YE1yZ0{Ym;D6cI83D`rMcaY6EX^rxUieXhr@NC{ru;tiqYmpk>taa? zowlc&F7Btn*$A9*jEdlWA*l~1^?<9cX%fMvp}6(KNHp;XqD~} zMPcCM@^7$pK^&aSELh?XJV17NwO~;alJF^vArVFShmOtD?i=lC)F9J6B6Bm73sm2C2q_>P@A16LHm>W6*L6CF&b$)vt4>Y1hNIXhkyK#cNaquVm}DB77&KG_AIl?V1};c!2tkqDEO zp)L{%!J_tWFC@Xn1x^omdG}=)qWuqjr83XZR=G8sPMYwDtsNb)^E--sF5u*-Q2u_8ERVr`vDE*j=9K7n0+ScDMR0rYo&^FnUUB6bKL=~_&odi*=7Wk5yRE!uez-ct{Tn+ zyi8Fq2ATrR034>Ic-<8Q9Ml%;dzw+*J+loIm($}4VGpVHpU8DT0dS9t+km-s>gPW9 zIeP1@x5_Ml68zKSk3Y_@z1Bv9O7Op3a{Kn}@>#faDf-@Z(sR>Ddr5*)%_w9Gi zNp4rJ)H~8(BDg|?VmWoS#yFgL)38*t9iXs3bsDA~@gIlt}+?8bj zukrQvdo2o~O+{Yp973Uxl>|Tsp9Gb=I5MidL^zaVRGvwpxM3u7$n0U$N;Ei|cvYt? z8n`gZjqfHra)6QD5FI6oqbOtvg~8E>kD=c?QDtxnqf_(mbFtM0I7q}P*FANj0S?DH!0QEYw-J#I_-DG4hhZ?k(tLzc5$kL|c z7h|{u&szaH><%?hD5L4+ILxwCpls0BM%kBoLPn{h1>CwGpJ6(F3%YANrHvv-!j`vE zr{SHqZqx7ny+5chKK0XOiNMp_-;-5C9oC*y=t~9KjDUSj0MvZ}`Z9rYT_UhMu^9n% ziNMbH3t-)AK-$J0Zp+bGl0Y|gVDvjWH%ff#C!qC{Pk)HuhB?bBPm+RpY(0s;i#au( z1E-;BadbYLFow(8RGwsTZn(e0F2jQwQ=q~RFJTU+y+P&#n==eDAgI_eAn#5l2EL;+ zoq>bjnUMGiIBS52bi^RWJ3%NYdcc7xJMT1@0W_+=E4G1{1JqR9W8dL+xR-pjDD1iE*D zp*$O+kp$%5;331&6FL%&L0|{qS7M)xi^Wm5shs!cYsO6=AuOPqIO5HUhP2?n%m6rj z_mrHzh`;Mw#WA?4S`L{kwTJI1VgmZb?Vfaf)`EWx{B;>X{mwo3=R>cwb9LtnovG-$ zE5fC0g1-35eZ@$^ZMbCAbe(rx{ddC2vOIL!^WG_(P2pCZI{;ftowP_oIK z7SrLqJ{{9W<;kG%7=+M#$o@X*x+Ly_eK)GAc-vI}woCw(R{^ky`r5&(&Q4$N^Wg55 zwW*r{p6vQEfa7*x@>^jccUF{MUD^9@AK8z6;GasksWY4anc9qOv}n|~LtdpdjSn5`c1*pt$TSQi5vgrvX&Ga#(w?FKrXR zGMc_$ZF9ioq>cQS0GuzV2i$EP{;t4(Xo-SVNA&x~f#sfnF0i0<`|taI@_POI@<02d zIwPQL9QdIRKeWkf&(JTPggDgY3_H5mwLpJ&zJq-NT0%fK4XlZPy03sH^;*J0X9mO= zkOR#Jr+~nL>ADT4+!s84>gmTl83TPP*0=rl>T58A{JUsDn@KTR+Y|xg468(^EEM#g zDF0foaKy7xheusyH4RQ2`*)N3xjh+^7g|DM-9yKuD_4xVMWQ}x0RsnGVselYaSS61 z7$r0lyu-^mltj4GbB>fDo9PES z2f?#CbKS_s;XNN|x4!86ON@z+sOKV!pgxyyKTc~V*f*imJ@+@w?5qdElJzZEhzJKr z3(`$xiXbqgBu?6oJV;FdEaZ})1pbQ(59zP{!x(7w`>L1FwyCuVfKsGVY?oaA7hti3 zx7}l7{H(4VxO8RlH+<{EsE=w{yoY6=wV_`?h5~FLH!ruMF<@P$ov zH`>=ZOsCI$qHF~Ctu6Rx`T$(_69Di3>KxdX+w`OUDrY|a_~YxA2&liyNdWJ?_g-b0 zasoh~0l+!~pj;Oh7nL=1Pk=jgaZ_klMW8s1clk~oQfmqV6n2-E#!iGI@EuBn7XKc+hLK zwP$qH4;f}HbPX@VGjGGpECeh#no2~`Q6}e4NzVdo30Ila6PyU*02kts?+u6(+1us_ zhajlPK$~eM`$L7J?yJ!QEP4YhkvqlPm zSitq|W%94>Q?_la-f6U>)^Ehlh(<;k+A;Zupq9W+2z=6@&nS)BdmX5GF%gOEgK!7F zL|Vd2+6SQ@fwxhQg}{L3_ANXI*f7x%ev{)G#W33%0Z5oq?~!x4LvFHTMdq^Ac@aSoTfN!RS(#&<2 z1U!g55i?v^P6K~|0GpC>XEsLE0kR6d+W(+$3MH>`rS``>Qnr+uYE1_`A_1yp8$9tS9g3uPkrY*-!ZP)f`5C~gMa(e z835%pfO7TV-}t*YuQxAlzx3plYfU!F3;;SO*&WKn-EDMEEP}I5`iN~KKW94WI!aLG z`SJk@3QS!Pjt&MzVQvSGZ2`FSJqS>dQd72FfNLIz(l;LYYZXX!zkLAMO6G zJNTvx7`b5Hw_)^1eF+jT%gISH*o4%{3-Zqt`g#a9Iv(g8*VoJ`({jh70uE3+`$Iy1 z0{a|8!U%)E6D`76mMHPDadr}C8bekOaGNf`7nqVvQ`YSU1Knou3(#UtJ1fwTg5NVv1wj*d2P1Io0E36RuQS0* zkWPXC4j1|kVW2B34OHID6KVoIIN{L<>%5CP2b<8gv)oIhsZO%cILk*LB!j zt24{AqdxMHkCYEdf8`j!`n)Uy(0gzUAnE9TSq4x}0_e7~YUCpH`;#s7Uo7v?bUe4; zRn>D8lc@F_5RUr4-w>;oL0|WY0u5m^gk}A`hTIf2-h?FRl;}6F4UD+}p!PC%=cZ|w zwU=u#1DnwaGXbP25miVWDiy=~f%UF7UMsBYk6HHsaH?@H<2FUWz@#e$k4Lk4pbSwl z8mYyBmzXITzMIpPXfLRV2jl2<1T{Xu-0|dN#&?bvak@8wdwlhn-jlgeB_{M7dGcQT z9Pi`QP<+avL9~$qLcIn@#=(lgRyS|G43Bs)QFaUsKC8jr#+pKV4DC^PgUkgBln`|w zb(0^dnduVLmQw-NvNQjFrSpqD9rlM!SMBTH-Md>l^5Q_}cgy#4IzQij-@VvAFWT?& zy*%4=St(!k4!Ah)pZmStD+z(J?4T{bY4W%BKj{wDAO8OL>Hq(CzD)nkfB8@9z5#E) z@!s~%z9u1BJ*BO4x_jqt*<=xNFFHmOf;gh14q=7&(BLd|DYSb0!w=Dohpr*vU6v$uihvVDQT{Cv7K#g2 zJCy^SmW}eREx5zUaTJzEnUR@ZL-|jtA>WfM|6N}WhDlPHtmmRqau5(aycy&nSCZNX z$9TC+{s%fl7YtobuK9fYsQKq$5?| z3~Vf^4mQtVc7;UipoM(oQ-XHo@V)naWg?Ba4z(?`a za%fBEGL2Y^>*Un70IfK*MUi-4ui3r!odSo`k#d6{ zMU=RJ$eq_->rg1mk+-8%@-eIlPczRHq*W=F9P>7fbXk{KU2M%oP+i6;2kuG!yU;tz zI+z4S3CkfIC|dSC>Gsq?8Z;N1S8Vjjn^yy`A(>|VI$RPZK|fVzN@RZ5`xN18y;w%+ z^zYC3Qm{bAH69VyKa!uJ?Et>eN;-RR2NsAU(8b%Ale1^ueDlp( z*%!X>1^P)}_h$gSk1HukDH}Mv{PN3GjsyJBkA7rbedERr>eI_*%kb3uWf?&EJU>6T z~Y9+t-&MP;6@v)CqL95#U91e2McleYasC*R+7-SyRe-m&3byUYQz3P<` z1*va?`aR-Ty`nP$*d(B>T;cZFweAYS(@7Eqgkb7F(b&Azt@l9y`+27@=HJJXOyTD0cmNe!%l-!D9N}aq6Z_A40cLPVAst??G?A_Gi!VP+#D-V z@-`|#QOP#g@J&kZs`8czt%b7pu9VC)$oA5mKOX99!kL{zlSJ!ZP1xv&7zZqJYlPMW z=+wW1#WZ@6gjR*(3=4Y$jBA_v-}eP5&x&R$dj%}bl$POfOOBO<8MS=`c1sI{>Ua1% zIrPo=xX%{oGYIOw0d|5wJHC&*PSLn4%$?bcdRZRuhkx+>`d5|)l$ik^{rHFJ%GFb9 zO9aZMh8vva1cCk1juEuKlRjHPPZ4M*3tTK0b?HEZL-!5Py#kh|cgj4XzW>PD`>Z5J zYLcWSYikms>`(CFpL&$u+7c85VyPo=#`DB|C!tYQs52Hv!Cikh{nPbQmfdj4C|i>I z-<_CYDtMOvUKW=xnAMo+GfvMa_&$Jc9F@ct-G)IxWQh_76ZMa2ktG+sdm zhgSrGZ3exJdK&bQSJn%;?07%371NsR6Z%B^Yb-~u=PkJd@Ac#f_BD3ZVv+`Wsn;Jy zshQ%8K92e;2h0pexgCl@Hg%YlCQ;8KoJe;fq#FL71?3)4$9A#2q<1Cb4lT*>KE?hH zIMAeB4)0|yvspm;OvWUF+9yfLFE9hn!|ZP&9S{@5*K`&%sLP0OhLX1v@gbr>lUx@u z+MbDj&~=gfQ(`<4bP0AmE1*P#@-Hs`nJox;CF@{LwBrby%2>AXHVDH^l%4_7Rwm5$ zMEs#Geb;3iVWB{mSpcAeZPtG>@}u^6NLZ8CBWm}gAKm-jNt6fC{k-}{J0CSrG(3S)A1Oa>MNA0@nABz0UJ`*M&h?P!a%DiLI@S&j2W& zD_ETNRhK51k%i9*h;B!C=J4vXsJq>6@u+nKbCOzJazL|j0TKl600TRN8)4T@1G_{a zYf8}p!(fB)>{U~a@EqUk<)b4;4viW#z$BFI{l&^q%B1+R;tm&rH~a17#(-K2GFDG6 zXU*uSVMJ^s0w7*Lc9@YLWI__`>g%FKw(P zF;I5@FNpwd)Bl$;B7SHa?Uj83F1Gu+B;e%GmkOLLeP{orFCEx5dF`KVeLlCOUdsef zTa(@Tt33bypZu79@ZHzxpI<$p=Rf|DnhYo#2y$H_!0mX#5~MFZpx*-hdSsv_0$Ku~ zCIa?-i2!aM*!KwFzW+h(k;A!9Kvyr!5 z4-2_0SRhBJ!@V+<7pBPL0U!dtVS z{#cUzH@>H&-$3WsZ)_s?P*5J_1U||1OXPLwN88y0ad=lX=1BqQEVrd6Es&?RsTP0u zM%kxtTmhX-QRXaJM4k*mx(|v%Kwmmsk?vim8h<$=t`}O6FMaL5$i5~4+7W0i_;;8( zj?B~MT>eJ{TfZ-)i4|jE(#6=YPk@RdsR{(Wg6y!{J^jQl{L*7D|HEIq^O28ygn8nR z|5;u;x_`Z&t7L0x65v;V^;h}xpZ`36=R4ow#~yo(Uw-*z-bVXNFD~$>>ePO3!T+*3 zka}<9gB@=IwzT7}7XIIT=%fG1iSUPNK6GnbfEpcIC94R zdcetDrf3vBXr>WA_#BfBu^u89R0^fMeI6*x6SO(NmD^BfVb)5l8~Pzt5^hTzDe4vn z3^UY+@3OZSX%GWh_vN}_6j(MOWYhM`G(qW8`pY!>L;u~@%S(IKlWlD@z3Geg$u`O` zj5Yx*YJkgzg|GeSZTi+%e^6%zllJ32c(p^J~d2|&ql__c2ce6v7KPh1Bb#F?E+8{#lo zW#yj|vToznOWC0CZ2P;i-7d?m`yX%j__UQNe|6(8j_ij#xUjCQ9^LMabF-TPK5jZe zQEnA3mzaTW!|Q~=^Y!o>x4-<~-hAq*r}j5*-dyP?c->C`y#K2v0bY3F1^%ty`mNg0 zZ@&2^2K)NA(3lL^2B{9=_qx^)w~( z_yQjj`(T@4E!=~6wm@G~5q0v9w9`Q~IUtQVt)6aVNE`#|sLwz2#Py~Z`Y6W=dkm}x zOa>f!B4BTu`n6|$oqykRpiJ|>*aH3*{GV4HQT84vpZkkF{rZ3T-_^YiR&$7id<2AC zGbaXg9qIjS?;GAw0R~hveh3USzu4g7OW&Kx|5UoNzCz>zzFHRn*MW0L023#^4Deqf z=SN?{x+&0p77&I2FH|$S;B%Pnc+2?wk_&^{EdS(U%b);w zs278NmkXlESLS1&(aTpBi1a(yu$i;qM#Om2XEOnXP)5VBCec(rcp@7qaLn>=6`;CN zmW5{~X6d`ti|rx*sr;vBm{1f1Aw-T8z6bhXpnpvMkqeAT2>f8@fBl>%uN)=~{GyjVQX0q zc((oQ2>`yf{gvqJOw0Yj*$U-GBVI ze(%voA3ePK>Z^|QPvE-01mI71@uxriY5C$8zgTwKWkHj8uWEG4O=Ku{;O{WS6ozifKZFxNlvTEU=JWrA~osI zM(%aAzn=}>jVr6Nf+0LJn0c9=@OIZR?>M60tp-%5z>vUlg)~uMO zii$hTOH#UQ{s2yg3a=8{&0cxyG&@x3@@ZfxT?jeYu?$sonV zPRlEEq6mHiS5cs)Aw zGHPG<6j<6(gYBrkcCvu(9Z-+!>!0-$g0j@0Y~a(^<=Zj=+pe}RhbpRZBiPGZBA_f2 z`0_t{iJpG$G5XA3{ONkMU;(neTVUGiJS>M==WcgF`!?&UEe+W1`f-6fYpdx9srsR9 z{CCkdG~5ybWgmb)e(@&VxqT6J8uX2?AMX!gN_^-upr!YHN_a%(8n1j0y*cqhsy~Oz z)X+r!gY!tv2;%U&o)dGd@-$ZleC@dtDB@f}nKnUTo_NUq=aea+Q<%EGx;~(h~SSe{h zPOx^6$bweV`Uvdfh$-scnXXmb5rSOCDARe=@S$w4+KivN2a1e+82A=&!n@^NK}6W? zck6GCY?nUK`s9EwQkb%0KSsRp+jMqUP)fN8i&5wxBGXCXxz(vYBFHn;G1z~Dhbb&w zu&Tviw6-&`Q~?-Y6XZmFX=>ARt#C-109}IolUL;O!_mhi?1PSjxJ-wFy}ls#py!;g zefmBoT^ZMkF_~;TpE#r_U!(jp#jJgQ0KA%KM}#E~LYAAXd%4q<5YR3aM*=|FE1?Cf@kT08T0}ytS&QvB` zUkz8=K23R%^F3K*aQ_{H?b)>(WgmcDpAnAi@@IbCPXPQWu0HdgUwGk#k_0Hz_jBi= z$|^fi^VO?YrR-RZR|)ug*|G^lE&JNV#ScGus_S2BWB((2|MvS!a^weM5%s&AYhTHp zAxG4hTJ?G%a%4lMpS*r(!T*A(cRv~MUm?OzelYy9&;A2Uzy=K2+Ff9=4eUZ#V3*Kp zH0l|NEiAR-Oq1-MX0!X8KIeC<*vibfd?GTxr+Mk-V1ZNJzf<+C%1cCK+%qfda9VHr zrvRx3>h`viJ0hqL>{7^>a>2YP;HE@*SO-3w-FT~|_sGi7LrZ8lt`L~UYuUKFVeHap zKFH0jJ3H`fC`KVdAHfuC-;9jhP?(R|3N~8o`uRYn5K#M;>81kS%K`E|L^SG=k13&JZ3frNQ8~OUE!9XYtp-Cw zxtwLgSJt8h5HA<)cI1Mw%fa@j$YU;gsnoqU1>LsthEIweh5< z9)-LWTanY2-M6y4j12_)X9Q^k?svDlzL$UG;*Y=EzKP)Rcf09^g1U*I?j3MupX}3i z#-F}_c{VZtw#>ej+l|r(?4N$}?D+dB{p)}ESM>O`2lT)FkN*EtzvivNiWJRVGUEmf&?dX49B#P;ol@ zxH2cFY^yR^Ju40vM&01+&!0PQcu8sPObL;f4JBs7aPov7U6*&!uMA7vpUX#3|jD z^q$d*oc|~J*YV*hXRga&(#YVSJ~f|xu+l^lF&oWE{+Tmg_Kea{g+Al)*-opotIZcp z03K3=qL7GYbY~vN=Ka22*v|j<$v?Kw0=5kS$6f#&o&i<6Bd9mg zb~`m1}tnrm8-GSE%ZY==bdW;%~Rhw*Q;%E%!I}8oC}|KiDqKmOl8{)09(Js9bjJ-a@? z;rs1f7gKz`TfR&%358Y(hr@W;6d78FkyUUrW}dZh@ehVF2_sFQXswL6ZIBvxdsC{A z6%Ep+?b>(xm-apKA>U)Uj5@HU*tLI5Lj+Bj&=F&8_g0@@9$CVBm)G>{`DKT*E4S^! zXZ?obK(Hwt(jf5QN_m1Z;aR5=X3l9IIxTLQ?U)_HogX;$pZjX34aOLadl>zNCRSWc z3FlF^US*;!8XcZAHI;s5-HteuIX&ixr0+*lI54N2D1m!fOJ|&kC}#euYYKJH=+k-( z3k1OeUrkmv0>Y!5LXHer+H8-UR@Z8fOh`y z=bz9&`!C-M1%u9`(X8mfpy7J_8Jr*+6FH$PaK;Fo8r1RP{!}CqF!?8_7mEC+PL-)r zViNBY$p0d^O*&B4@-HBBt^d8qzwJtH{L6LgXtBO&VUsusq3wb{a0=VuvS-%Na1+!# zdf4Of` z`8R$vJ-<34nONk%;7>Sq0`gxHBDgB5L%NgOzOzs6)9vfeebaxVDv|-aOWjjOnCm!! zED?hak1BfD#)i5#nP}ke0slDnng6~*Fn_u*Oc#?ByW|%r6UGZvj<6Ao^iA+qJlx+N zySK^KzXSkgL0;(VeU-<{Jpg`#;~1o^?E~6Q~SlP$clo37~(q71Rwje49J!K@(n*Dmxl>4`*|It%e)MIRiNwX|~r~>z#OR{m6-W>-L1g zdDQz{jWsw>)nOvz4|TO_6eYR6z&8SaUSdto9}EuQ=qhH>{2s`6;^(4%Z26lA_(vl8 zR*v{{UtXx^zVV*z9iaOGSovNS+l8Rl5J4M0x(z!0>f_Jp-~Rar^soQyujr$n|Elj5 zaCz^1Y+%@R#h!wE+bFQl_V2cV;0XRd`o*X8|M7f(*u0Ik&t znK-7I?NdxeAulOPI`AqBaIM^ioP(#7t0z&A6B*XULlIA5wH7;zdi;6F$MS zvo3`Yld_~jVCL=N(=V3$)$df7v#u5?(6LiK>k1CIPjxr@J&f?hPta{uV7(CrSvV!Ilm}qZ z9K(Oai3D`f3(?PDOz-T*J@AFa>@m1=x^5iqO9k z9~42v1cgt6;C-vaI4%VyUXQ+YhqRs#l<$4ZnhX_?DnkZay2{wJUy|Vw; z|Ih#X5&zx(lYjD0`Mr|oNf+5hqE;^N-;62RTg z=A#b)AnjCAN1;5bs-U9y*T-mBv|O8w>09ja$gbHQ`*zlloJ09=_^_c z=}9HZii@nuaBZI`f=^zyWiVxjSnHPA7<=Bz`X}9{S^y`_aGt^|>Ui(bGB}nc3?icS zs~28Is0880OJHNH9~e?(NhvU5^SO-)w7Ft(u!v%2qCAuA?4!)s^)BEPj_6$jd(yz0 zd}BcSngGtax1?M<#_s%@5U?bI^`Uk8l6{kl!9$yYY83w0o@?VIvL(IlM z3;t&qD4qw8D^E{)grN<}dI|Ip^pco|vCX-gT)u$5`2g@NTwLo((OmHe**VuM)> z1`54gKupLipZS5%RcM0Vkt{jAoEt#*Hmr3_;37_l_e46vrQ$PbSHZ;Uc|K0*v3M5u z<8FnYY39_49?Rb0FuAC+Yy}4^ywdUse-2vpXB_o#rA)H_Ae)sk_R|Ay_-~r+C8P!D z40_ROFVrn?k4(=L7*at!%L)0XmA=Wh`9%>Q&pN~IZ@ew#p8*WNA(6OTaz)isrdye& z90*>RF18@I4xN{k883vl`e2wa^L_~X2;G#%dLnt2f7gS2LjH>mtMXqSg#77+UsKjm zRu<*8kD>0_(s?N&jyDVg+9#eGFZ?si_Edg*rVqXF{ zf`8r~jO+d-fOfx?IVVd1Y=xf_tzRJjRNyyI0{>nv@+};XkQT`M7jJyy|MkIt{r~>> zh#~h6Km73JD**pfH_%%>%qf8*ULj`Jg4gsKokSv8k@$=zx-uG2miNQ5 zQ|X<6F|bm!G!{fL&SROjIzhflLZCcRo{=MOWp$19$TQXR3=9>FIzAj+!nvh#pJ=&k z-AgE!NTGuAB2T@`@}5;f+>wuKOPKJewCOUyk`0UTa19zb;GZ({h=2+EOeVi?GFEJm z_rur@B^ypYF8)(Opsg_e1{f+I-@z(@zPNkq+0UL*+|ESr*|Pkx?4R}AUIn=8uLtO> z0=8E`duRVl-{;@rRf65XY& z91pBNikqJ0@x5+%h9DSBD95aAa&5n|f%1#bmSq7dFd3&UaDv8BC)pJamG_7G)Xe0f z>*$|Sfq4~Dkx`m?oj6AD$AK0h^W>X_mWMLxlf$EmO|Nzuj_2v zKY^sglUqB>F_1))u%iD*6~02c{8|Es42R0eeLy{2 zEt4T2mwOva*5q)sQRLsuxDe%K>j;N3lVmQPJIAJlD*V+a4j(LFo-}YxtbqLY+tq$j zmVcx}4n9Ht5pO@U_u()KCOw5v9ET`z*r&1?5x(ZoUjfi$`}WIw6p0NAK08HHrlk4= z^q-eOM85C)Pw7-@FXu*Hm2cYE+bRU4;#?8%5uh+jve_TJ^Z+<3cEptWPo4t{n!`oG!N(#gk zL+AzOcq2d-yri7H4F1XT8YaL)k&XC4U5T+%o@#)RQA-Yz5V%T2=HzUQ1|fcrA_8^* z?x8)u3?4HBpu?iQf5&jGqYEV6i# zo)pASjuf+Q5U8|}TwZTeQY@5bi6S00rEB9oVABC7OOm7@+mjNMoVq&Z24l7TlyD)p zzX2^doEVgtvaA{DIopidIG1%NSh6F9U6LEJ>aP?HZ++LqmKkOWCzk=%`pcaz?9Gk6 zU`a53FbhmP~3tt$_|V<7s3&Ogo7+e91;(~ zGbwZrqp#y_38!{%A1ijcoY?*WJM~TYy3@hCemUS!eeKPu8|s07O9I^9-f0rxZhTeX z{2cZUh-AQ6-7{7KwIpGy+pyXdstxG$um9{X`|AO(y!wFNcI@_kT^Fe)5#Ap5N$-hFFPUpE^XxjC()(*hd6+gAytZQ0BEN3tk2t!Qw;`$yB$> zdA;9C?l68>l&3lh0@ayYs>VmL$iWpmB3b7By69F6f{{lNHq=E){ud6i$*Cu1h?28h zgBo1k8!2Z>_o9CcfJ5Tgf955-(VrxkGY=sAGU1EA>w#k@fT+M-rmPEP>We4&uK{h) zKyr^oCr=X(fQi=y`miSq@)3Gdao}ugf*0&6Y@|;bK%$k3{wIPFkcA%QHN9QO4dWUO z=wyTmPqP2OCt*X%buwP1@?|kPw^soNazY^v;!oQ#6Wdh(gI8=!HNZASi z4gR|xYQcXyKKtymKGF{#J~Z{xHUVt6_O=H=i?)w|p9s`Xb7nujyZ+g?&mXG}l*1Li zJsjcN@g)FPqoDhkd?P=}N~qWGH%up>z6&R0)UEo(4gWBxqE^>e06@d0JWOrU0Lqmg z2AD&sQV5dSF1WQx$eq<}!NX2EyQ5O<`ic~RuCtgn6?GP(^3B42zpVghuL`v`{8ND2 zc_&T}JZz(ZsOaccgH%P9iD(KoSBEKUBcnj8h8QUFI+KtBYR--(r*1_=09qO63`@`W*2<2pCG( zzcD7{h6Nk}1&BGyO2Vx`W(Jb8VG^YDlhr!^| zaTlmN5k6?qe#c%MihDQahi1D|9^7yHs(>!Xy!qz?Tkt+M>l{lG`zC|BI$+n&4EiSq z&qnayk_0U{Z+fF|jNxAI{3txNNoXs1I+}V0~U*be}Xmzc$g$u^n`lY z^`prZx$doFki;Z+4|*>P(j| z|1@BK_=kVkeq;F9z5+n^@Aqi4zXo83&iwbIZ3ftq0qr$_fBWpyACHWnjE(>H_9cL8 zme5zGG8i1f%7yt}C`;Fc!^sX^J8&bHz){xNUhhz!foC@@YN5DxkIIb+vTYKkM?K%YXDZK?{dm#-Yycs%A_-6 ztCG(1y=s*LR)6k+RS-jL(BO_48Z%>dJuMA8Q7(Zll8jLrK_9+sI5IxsIABnp)Om8e z>#Pwc<7zEeC!8m(9SU@Qf;S|Y6l=s}dn8MR4rs;h{DoWjj?OhcD4fdir@dw2bv z`@6o>|F-?L;QRJ&{2jsf_3_sN@$2hby1KrhXUEL^)zwX(p})GirsvPE>H7G6)&H*P z<|uQ0J$|=3t?tcj3+C_oxzB3AMuRQbw~Yr|pB)z6@qc{&ZwEMIFM>Y500D#}=guGK zv-Au(Sth669Fv;3f~0N8I1^PzIVT|FndyCNE98{w;A)jD|5c_!u9?sYMjQ~=B>yOn zgw)#;+)4g{*ONHVLjDWSGZaSYo`QX5l?@a?hS3c9L37~FI0;ofWn~D0yMXdE4q5bO zdF}NJj}VlZWIkPUDm&L9uY<54tgG?EGDT%%T}64O)${>-V=o8_QUF20Z(2Hl5?awC z;ljZwT$)DQaD3SBVjuBakpD}tn`8p?#0aXg?W}m4&gCEy1Vn+Dj~fT=7zd4JK280& zh(aan#|aa`Z;FgC;V94x+zWsZH|rbZpF#eS%m$J^a&mB{75Wkkg-urNnca6Ctbg8I z_}OIodV1y06Dk3$gT%QE75i@_6+>nrOuUkRt}=ynaK%;8+eQxu2jG&tVqvUw8@BQ6 zlLtu)&eJEQ55K2>Qp>bs2l-#)B5*Orbyrz}Bmj+90DAD>SKsx%L@N>7D>BF@LO!-s z*cj=uV(}Gt1azbRUVu!9B$xQ?;!l3{t6!-(KQ)kF{qZsZ@EaUsnS5q}x8HudpMU=I zpLdpe{q@)B)mLAY_9?)J4<8;5>hqoyXs-dZGrj`Qmi`kk(SQHhFFxoi$Vi#xZkHRr z$veb?6W4E5L8ggGi7mSEXIzjnF%?KOa1K`bZ(I6LB58IP-VH+KD#l>AG>VcC+I!Cs zkNP*s9T*-xn8UlNO5DIvWHQ|?n!%h%=Dxx!^4yilScZJ2Gl|g_P4XMkTa_^McCM2I-LGW}86)DjL@8qpPK1Dy zShXd?83XiDo>RaRBT#0}7$F8)NO71s(<;?rO2Ws<3}z>Yi6+l-YE@(!Clg}PvpH%x zQ9}u4TJWs*DR~wKdB4tN!xAEL#Nau?m<^_Lxwn&eL1=u3SYkK+n)O%7aXVxT1jj^sc~0$ksWWI+3CN!C{P`s%jN?zc8uJGZ*S|D7fs zJQ;DLNr>B9Pe}CHkh>Vijc0E3alsp*oX9)@DUaRBv@?IP{F8u$xq1>>RkZQ70jfU7 zB>!CH7#icn${+QT3q!-Y|$rQYpC|P9(`IFxUl4C^aB;=A4|jP3Bym zAnzi6NF9MB2xU1nnxt{25dW-QK}Qw&M;SIeJps$v29-1hz@L?D&`VMu*rTL=t=5{? zG8E7P7Z|Vx)7+Y%-h*Ckpu}_+O_z)98F92zquiIw<$$5})JSW!8;~v-XOe6u!oB%_dII-O5 zA8_RJZyo>kP2&IIKm3PhB64cLzS84m0^m0|+6sVw{Ez>!%k4Ywyd&?w|9;yCK)(6S zZ_?Ml{&o7~lTYN+Pd}w6PoB`{pMNg3jmyhRX`h~J2do6>Z2lKdKYnt(%Lk2h`dWkb z8o+id5gBoow^m8l)>ejP@Kj_hUGQg`MH_*Cv4%t6aIp^RPUwuk5TDjB#`O9ge(%q< zaVRxc5EB0JP}oA~S8rOiFX!F8@$puVJ6kc!v+4bfWQI*O&+GeV;AAxg(v}aOkvmNc zh-f+HY}8k-sZcm)-l1u`qWIk@(DQ(u{rMbL7o{m#kuI=Z4pEFM7+aD8cQr)L0i(2K zO~d3R2(pdms8ia;@)eKh7ZfOw-^02HEB0GCI3*hrWn(1c8D)4GdW@l;@IVJ2gZ)$D zV#&Q!CM*^>1rb1?lTuerq-(Ri;IN_mrC>nPX(lqm7{ZK7veL@uf^~v20iDUe<1z5v zRlaw!K(0xE+p#pi&Dvl0;C}@Dea7GZ+KPcITLm!gwP3#`1X^ODuMD^yNro2S z-&mmER~+2+;J+mdZZrwd%Hh`u?)G>UAZP--DMkL%Js_PYE*J6-yn}W8I1yOqaXEdY z_o68$^)e1BhYS*v@Z$u}$$nB`5;PlSDjQ~4P>!(|SFMy~VUV43MXF0)XZiQuF>r_b z2J9MBa{doA=P|?s>6&p2=icPM1_suGNazJdJQ(dp%m}8$0t96OFhRuvZ+(EHhN}!R zj&m#7ej1F%hf~uuvlr`YJXvq+GYrf*_iTEMv2j|+S>e|tXCNC?0|n#(Hrjjdsj~mu1HL|!xaNs)MLRb1n>!e)H7V<1f{3SKM(|D zgUX}@*eza6T_No4Pi@}zZT_BUfukAi20>)kd{mk%% zGOcGDNcQm)DJ*2kIg`Ih@e$Kj>@S=KPmi597zv-nH_?K(*S`6G`cMA&m>53$#V>xb zO@02Jj+Y65-|#pR0G0&sCrd?>B4I1@4+a)R-mSVMg`W&{{psJ$AZvTO) z>EaEWWHg=xMqM41ZS>K<{-MP-g7y>^vzul0hm=gn(NJb}XII2cA2dI;7r0hDynJGJtt7E<|Q`>VL%DCV&CL+qN91$&g z5#kf=Cj2C;Nes}1&@fVRtfv5&10#o^I!hAtL%IdNl9YJGCq#iFkS+M(#S7`P?*Zdz zkkTw7Q8LPuJ@@=v%Lz~m>9k)~zSrOhP&8lZ@*nPt|=lxZuO(U3CO zJ1;c8!w;0qE6a-BG95t`HY)uuXh444T#oBlB8V#e3i4-XR;4AL3;J_pjd2}cFSB7V}b{Yab{Cn{F3Me zwk`M)eS+Xo5BPN4OkYbNM`?mbG6&^hhS#sC__~G360a$4)kO4_Z$?MNXK^I?uRcP# zUx=IZKb8^132KS*mTh*+zr5Equ<@YKv{{z7Ux1$c7%wK0X2l~1g&Gn9hn~xBCF}42Hb*cmIByhkfwift&#C zD?eT)0Dg-@lK^6$0et`c_fhKXud3e#Hxuh-fV$N5mOhu856B|N@Ls56u#VCUe8SDh~5iqEM3#Bqs|J7SS zSgR&6*)7I}h~{8Yo68EyXjlM)!a){s0?LVC&)=OixIN&)rn6&NmsS$$BgacTA-AhD z(pCf5GJSh*-UdEEps5&606MC|sc${MlM@L!yvy896s?V_Z z!gA!Z<&vQoHUV`}#s}peTg0S*kU9266Jh`)lH_d_7}COFp0BD?ZY^8d%6^eC{ZNbF&loLdG729d~PpBv_Be@d~ zO?;QRC1gk_n?jI(vt!6Y*s4&X?MeBkl?{zH<%F%-bsq)DkwhhHNMcfJrTqq7M!B)_ z?YQ^kJn5Q(Rq$Drf6i_Dl?VTdfxV}XdO|3d>Cbi(wlUMsBl!0X0PR%(w$}q}?Bs;} zv*`v-D>m>@-bnZl14lNXVn|p?h$rc9;&_<=`0b9Q zncjZ;?G@kbj~+eh&-Jfu1lX_JYXI$hadF}NsMqqr&9nE%lKq354r6|}qHQ;9wtzdr zo5{R}qDLbGM$2Up6+cmW`6SPPGpN2%YD;_TGo@~^q)-l|7?i5ytgThp2$ntVqL?ZK zo8q7fR`e5GXWIN37%`VOQ4Dn3SaUGG@%&dFuk1RjcYc03UNe|%7S3SAGk21}_~1Rp zHmYMHOEm)uBbLn@4JKzPK`7pD4gRBy8TzD=lR^x~m6H!6rQBq*M6w|PqgrW%iZ{)M zYA?9#4HFk`Fq0v}a?p-CU3oQ(WO<-)3d!hfwul#o+sYa~f_+9Qqq8reL&KvT*fXRX z**J4J2}^T?1H<(JK#X+aq8|k1G%tr;;&zH(t&AXtM9rE>=fX^B?2PV(_`})SW4uXx zIsQll+;#bF%k=y1{XH2lRtU6}0c|C~v$hi8YU~&A{P~q`AUHM>{QUE)9`rwdJ~kA5 z4jT*hjRTK%#@9k(CBhD#0503N^TwPVFK`BoXHOF|+_d`n0(jWJt7Ag$=>>M-9pt3)IE(g~d>k7e8v{w|%l&r(OxL!uLq@g= zfcyCf{CRv8fO|4P`m+%y-08RmQ9}NAniP%$Z*XzZU7)jAr$76f5jsPvd!;!$qxuAT z$>oFgDZn1W)K%rbuj6F`;5R&U@I*51c~KzBDIqLKYr>c98*|1BHX&V7Y|1`B3< zH?TvaOgI%IAf%oVe6&9YgEeLqdnx^-STf=cDGV&3p4bs3SLAq)rj}0pb{mzQRCGAa zxGdY1JR=ru#L_0&!_+bHT!vySC-`W-X+|SprJ~s>1@ru(hO}?va)$rViZFJ@>27Kp zXOv{_5qt&DuLW-of_h(wr#TPC=j=ZL?<67&jzfmso&IF_XlAy>;dB_CL}8G%#KzG7 zs(Hr&a7oUujWb%clZ;ZFujDAu^vp+IqzuyBiE-1eNy7fEVi~Up-02*yY_7N?zt3jbZ%CX;X*O|mqdXxhpm)h96c`H& z6~9TQX6>BhUjpCE00=|DO$caVy-BtmT;v~ZYide@8L?ZGOQbi*4A#pL3%&S|@G&R( zCu2u=A3HH$$d8lN{8ogCv-}e$6B=bvoq!FjC^*TTq_g~EQUwEheCB?V!nl%u2D(^+ zHtVmVhXF=8@e2=3I+8;*+kZ}F*N4f%KrwiwufDrGCdq#FV8D+uz;K=53Ygt5I>k#M z)_F2PPX9@K0YL0a0Qd?3-RiwP1{-`9k+3gl?}8^e!4=?CiJP4oDe`lQ-e>3Mf84ri zp91{;_rFhn6UWO0z;Ad=nPBR#0MJi=`cwN70JSdxwBzyP$9*Hf=g*(_KdSl~B->sE z_|wn-`ez17}=a%~9+vZrme10h$iV|LTK z2^hROqL&>9zfDn{p&1vJp7@~g&c7*MX0%yO11E`)E8pg?^wk6|96jE!9NO7;rC z+1UkIVuJzB2wg+5pAu*)&t^wms+xu?Nj0*O7cxvdtM2U;)dj$Ni(>VaR?P5h4K2c& zagI!}|CVfYQnpp^;LIKs*v;WF&}YLJbu3v#RQ;;iy5Nv=2^=`Vjy{PvjR_2*ITY-0 z1&C5R9@COQYkTPJdCGO z_nhD(#^+3-=T-jw^+pJen2F{Q&KtHrxc?o6ZwFBn!|W5OxqjM<@B8e2#*b@eabE@YzZQtL^H}nU8@6 zl*T3pU>SC&qn-rebUh30PA~(`Zbt#1+K0Er!27fOCpj#v!zTZzXHx)LR#+vvC-bX) z!2}k~c83e`IQ5+#Eb&OcIXo9nba(sOHUhk$w8b?eFAO?`UR~>l_}yQFCuZdRoyG=( z+7_*j)+g+nKrrj?uL3|qfOqE&S1TrlB_XivZIV$G@LuthHc+r(&51K8UsY0Xp8ZPcq@M!hvm*(>zBwU*vo?WE00Wix zQvEvWt{lH;gW+tB8z|C=g@S5^X(p+p*sHg_Wi>C7-_b${(Re2(-3-5KOVORs(byR5 zUPGkd2yH1G+3{imhI9KbfVlC{Nll546aKb$V^Jx)E{_f^3FN^W!+j>lIjkU&n{$O7 zv*@c?KMXLOKE|RU=-)U_@@qCgR`U}Z5qFnbhTRVq%q%0SyNaMv#h*r)vNbgzK^ia=i(U`zdPboc*T zEqB{j1`P+uaEU6PG~WRfh@m!&!%co?YoZgP9x;)J2>iD4GFq<%DxCoi&PE0LkyhXEqks z(-^c<>ObzE!Y9n1K)dsp6Xhk{HCbo6Hn){W#@g@qRkwwfMIM#8duWjf_2qQYE)UgA0)w4l4V-W7qdK^+F%CqSD*hyalFdD7L$ zy&U%m;6yr5@V?7G={EQ4+j;kXAUUP5Pm;*R z3W}_+Ihz0}V1%y71Pqx8nXm@z_pYyz$>dZRoU!|U#@AR3_@C>3MOnrMUCe%E|Ix-W zC+*5BmlCu~9+DPtxffZ;kjgRGBnP0-%WzrRe=Ro>>SG^(vrq0TtIP1s4MK@P9+O#d zzXkTTDW5Lg*XLNCC=ZQ|O67<_yT-$|31Itc@BhP>0BHUafQ_Tk&*LMf3s@5|ku>7r zC=#U+WfqlT9EimCh5yIaYTNe8f&ccCpZsL|NB`&_{f)%p=k)UUjgPhgpr{bHPXYeo z7r&6}>+AiP-vusdhW*S z@%3|~XQzaH34phoZZPkdAb_QGHl)PcEyklfk6-cI>X=b;LP^rqQ;WD9FspsLFcTg3 z(HS%-vzn&~GiIL4uo*xiK2guA497_lT?Ft}Q2o9cYYSRBj0`wvdC|gRNe7}5w8s6^ ziQ(hShbt=B@p6ceccBlb!BjMilaDJyB7tW9@hfm_4L=4aqqij$9|A%VQE{YA?s3K* z+l0=S_uMwJ0F2l^B_@r;Ap_n*BdKk|NOUSGLgtvcLv2c>IAS!M&osUO+pc)-5I|X- z=FRL)KH67B_PgkQ6X(AH_NaTO`-}`y2)Uw5cfxt%g$7^&#pm$Oa2pNkSQN)$DgVhe zVNOdlTk##_-^a)J40>=@qP#jMEr%?6EZ3FPTAhOy%J@v$5_ltELH&!#R?d2pV2n~9 zTzW%Y9oGvfNQY37e`5zIfxSeqnRRg#hd{~XpF-z)z+tk1O7Ikf34Op#KxYdjy(BDD zQ8!&E+KR)7LP+GleR4sDUQY54^6a{rgGxxTz)$>)w6*K; zH`*0|v4ZS6my@m~uY-lXv1E^^@P+^$exI?q(2I=Sr1G4Am3f;2U?7t6&>LVHx2qINuQ_!p6aPlzm z*9`=7V+yM$j`}W#nFY4()mG=Nx8B;0KjxFV{i{1(CIG&KL!A ztsKvAo|&>E9c1aa?@8;TY4dpEV^;hV=5(q%4VE1a#L32${$BnqWE#xHIhMYHi_vp15B zQgK|6CSGP?kOK!C&yu9ziS^M!lk=yzhvkOT22o&Rozb3_6$S?io1Y!2>KtR>n}(ry z7(T+*3_Os&VGvKrl;$T`kZd}~+77fO#v#G2ik55$f|ocwP#zSZnbQvNm_;NVvFFGr zI3*t?^B)T*ct;U*Hi^P;D4G=Vk{n6Xzy3UGmzK!5-}Q@R`LA_z+EQq(EudTvF5?~m z_dp200Zb?5--7^pp?;d=e*s6;0V`T0eiaRlX+6AI9|K>tak4={`G?Z3KNuZ;aiDTi zGHBuSVmgWIgpbQ%mjB@ZD6L!K3ILg1>#6T!` zjxx_Fja5}qCWw%B+#TrJ{s8(pKsG(cZi1EMiROgo z1s@nq+*wt=5^ZeAe!g8zO#KOgy+U*284uNt*YRnawH>mC52 zjE1SC?k=&vod6MHe3R1AGBmxCL;sPO!}_5;x#Qb1qajnB;YA@$dd*jz!B)q0aBKKnv9_> zQ%8r&U^fm!S{mT*>LbJ|ARS>+(T(q?mx|Jid9mpGH zI%Qd!>Fq9}1pJ1J3!7kil$@^tP{P?H43-4tpR!J{ORSspuiZJ1x_n{>2Q|>2XW#IXi`FiDf&q|7IZZgou=5ImVXKP zrvhUQu3R2mwpI%Jkqb(+4)(HAxwzYCZ5@DEzmYfUQ1a$avTwA9lbp`8WV0 z;+k}a*~n%S+g4;ZXOyW%369`%A=KRQIX;TB%&iQ#8^LVcBxK0$>v@cn2K)WbzA;#djJqf(;;}$UIX~>=IUqWosW$G z?MndcCf)^t+!PP~6IEq0)};spN5nP}GYpIcIvldg86>n!TTeTvObX%VU9A{rrLz^I z+?&yFefA~yri?)ouoo2F(SK#AB;qTRIBmm|3&djufWqXEaK)GLkc}=qwUt=N|#XHmY)Cq6H#)DdAKs z56*rDV;$yz2OZCWU;)7T%QHhv*)T!DsH+684nvx$)u0tw9Bcu_(lwba6G_H(HXSG6 zs{x;Y4=K4N>jyIbR!*>Bh0n`n9zo|bC5}{KB2k(mR?k$;57V=Lk9p!k|>as?Pl)k2`rS=;Q zg`=Ehe3E}&B?aKhg@HOkQnW@{r+59OaujAt}ben65_?{Odi*Hmzq3|CSIl3`PVinb}J3sHu_PNOV2 zKK7SE(z+aNLozEmX6NHm@^3a^vP}sUsf?FsHI;ljINj=~y`W9jGF#ukQ0H!ut zc!OzaGsS}zC|9qcZp5lZx_q#r1GM>yWKIyDkpI$=k7s_I1796h=c}a+23T_)fUV2F zZ>9p{%1}Md3#x-G+>`F!@@ zGBiY|BuFSYM4(*gPfjewD_FrNX|?_Hw{3OplS?|m@QSA>pX4GSYU#HH^f4+zNd!c4 zA7(>3Ot#sdt^ly#wh^G*I?plf0IxQ;18=!ML%|dRJWK$O!=y_KHkK7RBoqcar%R~L zbGiPkHS+rFulFwj{P2fATn*`0db~^k{B}nV&GEN=37{Pxee_X3zw*i}{=5b6Z4Ur_ z1)$%fU^#-<0OZe}efVQlR6Wq={w0913LrW0{p_kKn;4D>akut^`2?<~y6hG>^uBA& zZXCv^038U+=oi+t2GDq*k_+31Dh+>ofu@4OagjFbe+26dl1*O)AlUU^mm3>G8<4;> zUPI^dP!5mfxznb<0?_vWSckY$)TOm2rm(=Om!YAIWzS)oS;ye9inVp*04vN zm_v}{lnV40w1Tmug+ipP`@Bvv0${F~lhbZb!`PdH32-~76e@D2acVS!ru<%K2ywKc zAO~Bg`tF?BwK<|n5GKk&b{z{%E=`9S6&rjqS|s3U>3i|&Rw+9%l{Z;r5C=T^POm@^ zq83U7+Y!LG0-dEOKX5&Pw8t|8&q%mACwbp^NP?%R$bdn#S`L}SS~9N4yF%73QJp24 zxl1VHEVEiLB~AKV8c@XJdr?>{tI3zV=83^t-y&oDuN}blPb>qSXb8&2QPvO3K$Vdgs2>>au6&VS#uI0`8xY5*O=wX3-2_G&ZUe5Ul>t+*S-oq9>AW_qH_fmska0D*(oX;$4S#*vCC|JP@?gXHQJ-$l$F^ z(U??(r;X``%>>0{n zTLnPyTkJD{?fB0>{2xEKYhMB|ZaF0HmT$>4lV__i>x+NTGDDxHm+i--CfVe1yf_*@ zaaKM3(_LD`b+S1_ZXI#fQ(S|k%qJ+|WEkzXeRfO3c!#3z^jFHOQt9s|alB832C;)+ zM&&p?K7TsIxH||ftubB!*fup)oJAfxH1d<5QN2PL%1S*e%rLfS0GuK+&ko`8*g-{s&rXcOrv;GbkOoAD(=$Hd#<>R8c~cnHpwgs(^#4S%Yga)H_U z@q~f|{>tAp&A1RWU-*mNy9eh+vayuvfcfl4^phOwWXW@zf+Rwx3G3AHD)LWBt`d_V zkjQxOTvC(Ck)#M1F}dUAB|CBHnbzi#AV@07*+!;&qnQ0igiF2w07pXrrf>j_L27Ul zj@{&}m9fn#SC(ZA*N|~e_vhpm){!ieL{oVNCJ-o-6MY#DY%pu~nVnKO2S!}~C1-JJ zod7nOST{YFgk&GH-%Nxv&mMfU@*==&PK4o11gbqHPzqwDPe$;y zoUPO|_*G!zH%X!SXwU;wcM$NJCj<@q~Mk9Kgd7N@*i?R=}ZY4z*(Xk+O#@eyl6wFmLp+d7eYie zX@I(UyaurMF99G70?Ib(nD2^-H_C?)h4~Ne^_S~Vk1+IQ@OuJbAJ>eZ0vrhd(boXT zzdE3xYJ6aLRv#nef6F{r*klV9a}B;Q|C9wH2=P#!$=~{4z4PiPpL{}p@9+IR`??&{ z@9}t<0QfBq$iDV}+Lr*@b$bP%eG2fcx89OtQ03E4Kka2c|NQgd@bR}_US8sB0Qf1u z&Hz`kf6)6HYYq7N>`KgdgdBiUK~DrVECS2LuWFx05-?=grf653m0l0@Wh^d`VTH*S z6@@Mh#nl^OxaZDHmg>G)6>6_`e*-+6_C)$+5myYY+NO?He|13Ga(+&;F$}K`^y6sz zjq9i0{;tO1{Nh}l3(5wHC^>DMpvs0sB+sgaQ4SQ` zbQC3J!!wj4Q4VUY4(=qjgoN+S~x}4+TI(8Kr@@;JU$#}5t@@u#%ofVlCZvrQ%%UY^I?Lnh$&so zz`7M%wo@=W<-7o0tGu9-ZSrrgDdfg;qcz|~SJ!87r1W2$4y34HIUGZu_Q{NtX9i^n zs>vzx1_sBrB4gO+UNB;w+GWQBVdd2LJj&v>V3L0+9dpJ<3ZC`1%RkRfcob57 zOVFL^-$`Dx%z3aYApgt>maO-1#3>88$*(M)E$(|j$VGM}xR-wW^{AcXA8<8#!cc&&W6y&auUOj| z`;yeq2WDTmjMXIn90@Hcc9f$+Zk$%Ou*v~Zef_}BD6dww_E2>OAVX=zAICWI37X8h zu*gIzb^7r1Yqf(|51fm+88SU#P!XYPn(p5{<;!or{kTmQ|M{Q)IiLEx{8xFrOaT0LM;~Av zuzq~+d*74$_wVl?eDHzjj*iahj~+ehW!gRf1Op7K09>~1Q-DwIZhzd_wyh-D@92u# z4je^uf##EBF726bijrR)@M}~ZG#Py%n=l`hOrG~4Dxw=(PEuQC6%9iQR5=W7Xnr$@ zs^Y@Z`6vFuNhW{SzdzS&GxPf9Kx_c0^{l(cXHNs>ee864etzl36oY@n&jU+9(^h5J zwUN!>4abjDTS#~B50fMe!$s&sYul3BFx;GeP}c&H$%z0%CGIFv7%PaRsxfx`TyP)` z=hw%~oB_(pF!)UzR^t4uf=aHS!|5^nod9M0#8q@6KCm7H;I&_Gya3IW=?gvrxF%W2 z9V7>rYd1N7B9KX~l={WW?zC|!XZnGVK5N^PoeIh{oywBaRA}*#gB~XL?%1MmBAg}h zX1XYr0cH+F2d4s%W(~1TLH;Mgq|k&%VG)tc&!!8kkU7gf1BjI=_}FAC_DA8;EhjC) zge(>1QMN;OWnDs0pTJ3!NwdwX7FMz$Gza-v=V3C6Xf0quOAeG7s&N~nStLDkx!}yJ zhA-aZf&6+VHx%(?qqXq1y( zO`S~oqn<}L0^w{) z<9O}nua6pM#M{;;i+7FtcKUT#?@K&hCIEhiqkRS7```aQz5DLF@}nR9h}u2?dL)T` z`gF`RKY#w*@3)Nrp((ak0NNe^?fhiF{+XCYkhZAh20n66lWyRUlaOW!wj2BpT?%H< zXJNHQV;NlI?;c{yxK}KSDOUd}{tap-92fzmXwJc}f2S6PwG&Xo-W23HyNH)-55YsF#3=b-`xm@&v+NutJI2QyC zRXjHZ8~=^=rQ%~wB7?h+j-xp*Olv2=VL_unMQ6jzFIE&VMg|WOo)f~#vf!wQ!B5F~ z%ri^^?1^KfG)cU!&txqVQI}{H_#@74c+vNfVYX3dD~{G4CS)SO%A-d_6D+Bm@^=70 zl#DLmDy4sPUP8Id<}n;U0!}OAYz_GsMS^00G;l@7K9&%MG-l@jz+K3R;f&)t=|ZB! zH|p8cNBKG8P2oHm?+Vb~^$w07$Ui&GG0rBpyui!x4qz4JNO%b$sU^t*CMe14h3gw* z%L(QrZ#0t+1IZM8F#&vQhZUVFa<8;OV(QekBe#QGus@~n_L)mO2*Z3mmn{4k1XiMG|9iL^g2aV_(jGm$lH#6 z0+vhp+|HDotn$CqSwUx%e?qpPpeG5@>eVKO|Dt(J97S-vngmE0dgZa8)x(%N!VMCK6? z8s!MADGa`~5rdnK6eKVeqYHJEY!S>lnc+UrU4TABFj>MBRs{I~^tX5N~AXML67j#+X@nZ1B_1#p{i;#}8mEytIu)Mq>an(2O?Va)-x z=5Pz_p}!WGs2s;i2Y|e=1Jhc21eD?0nyl=Qh${R~+3^(u$A2~ExjU*WA<}Fp&2+_N z$BG&<-4~}#6r!ZRlHT&7F+LWkVZy~$U7@o)k(Dccv=~F0phZ3J93nso#L;xG=_clh z?u4=#1DJZX`>2o0#Zq@!Vk3>4$!pRbQahb~ru#ZZBr&d3K`*#_kcfIn!W5yM13)Q( zrenm=r{6CCFr)GkuuBM+B)xCEnB-qz)dh31`_X?5B(P5?L-`YkM0F@t$IwcpfxW|a zWuJIP%6|@vWI_W=P)eBlJvvPnqYY6??C_#(JIi!m7C~{ySxttR=zDTTc{|!5_YIH= zGc75~rf0KkBYTEk0UG&zN)*Rds{Cg-CdMyE@KM##$&xH}mq5RIM~2N9pU6GJ*3a*S z%wSDHUyEj)gfK`HnCyy)8R#}~c=fM$)}>?cvu^h1n*r)70PY(A>ZXMfUjo1+Wb`|Y zb~!jBt7!4q6K<3cU$e|M#F! zBmk~OG+i#kvm6!J|Fy8jwV?}}3l&p}I7XrV3cl+N(9kdg$7;~pN*L)2^6gWAX6Qik zMGPeiElNpSqOL$@F)U%L^)39q}VFH>1{0QU5V&L@~8|cnQ2mSBSSb5Puwb+!~ zcHX}(z#cqi^Hj6^c1{L|C^?j)9V)Tdyxa`iGbh%RAj9)8%(cyU>`0<>c_I-oU@O78 zfa5BX#=&TVGh}$}?^2;rW*AFjQZ(396mV*bVhk~;H=GPF&WWLv449G{fl!(O1^%eP zOT}}b1r7mYvy$pEcoar&yJ7uu;x{tOOW2S-Wh!){EJK2A5W>MA{*vSnkkZfK5#h|i z#xWyodZGr4IjO}^rv4$^h9^^+J+g!i!cS{mVZU*F1#Tj3op+rC*+4r_lhEv*o|b=v zFFDeb^^;>p*&0D}yX=Iu;Y3O4vMmmSmCYJJh;rhB^XmnMcand9&Ym0_!58YVfDP$3x`@_lTR|qUm-ySR8TGS5 z4}OO88r?X$)PveaMh(N2XK?S+M60Kx2v4PrB{bYFPz}kk%m(A`sKC_vB`x-!d z4M0}`aA3@gydBLZAHIN!w8?s*>}BG~56Nm;1>k(YqSv1PobHa`za;=ZzddV{zU3Q* zzrW+0ULIf8(LMzT+?fYcHv**kT=xO6`|VSJ{n^iMZ$4|0DDQXfNZo9Ae2*`OGUl-K zUCf4o>#GGUm^Y&*X7Jc&sX1hnVX3}&F3UFg?;8(vC2m@OaPp>m0O)=ISs}m=rkSh3 zzPTc|isKfiW*C*dE=LH5ekcNlvexfFYiyn1XuF{v_a4b}dPW!2KNZpw0QUxVMmtwF zPR0$YhOo$G|Ax1-Z2a~y;lLS}n&BZ5uT+!= zM9bs=Eg5_8oe?2BQaKO}s;2St#>o&yi|OUIyGsFbz>YjmIL^5nG&PCO4R2b=KkD^HeL)yv z(twiQ4Nh7o=dz5Cz1Sr8r_a#Vp{7B*kpmmf`mr;~?mVB84rNGZzfl}V!zS=6xFk3k z`p^2AfI6&wa034Y_McF-~c+w>Q0z6H%&2&F-=&Mi#g)1gR zoQ*_42L~R`3&p=ApikQ)%T@p|6i1vxh{-90@)4pK|_LD@+z$MS2=dc$P^?i&)~f_h9$-q9a?_TvMJbJ_WbIryC3 z{15)*kKX*{-~aRWl{g(!`QnubU*7R@1;B54w9#6;v(fc^`w~Dq-gx7U;83kr&-NvN zw)9`W1kl_0SD*gk$<@ApV9Y0XLbuzEu-Er?kpw?sW>!@5 zdsbi@CavAv0gPnv9X?629wnt)ab^MagUTZAxgqEewagY(%*ok+CLCapW#R(rn7wFq z`)dHI&Bg{m8=akP_v@f328Ss-C zb_^OBmAM(oP}2C9W)&EalX&hn!t|T+3PV5f`ILak^rn(2oFxvJ8R(R}Dd$I^DN}L_ zh%$}6d*J1j6yj`vl=kb9+%T$wA}7X+@Mai zpg`7Wl!Bhtuky$a$qaW&sL)=@D+iE}na(^rRFnc#?7y^26&08{5tBZAZV=*fPlCJX zamd6^tmE8u1#xQ6N@a3#=`)EBl6qz@F5<}Bq7E#}to-UQ)dU?)x=XUS#8HwnOq6&f zv~iRlUy_m3Pt#pNA&?JB=w@6b9QJYI;0r-pK$$3na#`^KI-$(RB}vgSNrb5aED1K} zRc(o}umoO{yg<)Pr{!NzPZO#!kP2B4CmU zZKC-ao65g~&y;jnmKmD$0>H&6St3a%;h*8nM5$c?I3zt+`KKcP{WH-BjbuEHv`)X! zWjLFkbXt+IJYq7@IAD*uQt%n3G;4#Y{iFm1dPMtQ>I8LYmB7w*3hzM+lkK*#lbpox zWWfH#_TT7jzl_4jgMw7s#r4Rpx_*0lUZ@H9Fp9snW4s{f?-yz~EyHJ$m0noXCtK#< z@9Xk^wv_i_qtE>L-m%sdFfB5+E z;~q%2>{&ZMfBu~A-MiPyk!}Vkx(Q(CH~SL6=Xba7-`~!@ISlenH+17#G0pOeCLcxZ zAj(Hrk;|Yn(;j2lfCd8_$m8H$p|MQgl*!Z!2-cFe5`r|g#oV)E zwt%y>vQyF&I4aEA)~XLZzo7{L8QXVsg?D~-F&yyi$R^(9*%k!6&NNwYJ-u^BnWXl6 zHr{ZEqkRl3?|zeg20cMocq_CzXS^HNC%R}U$xF^0r|5u|2QrElLw;eB zlk$@SUacUm9GI5G5RiYU$YAu0w$MTX*JLwzf%9)`ljoHR28TN&-H8ktAb|jo@=Oc) z-O9TR@TLyDm7x@){4OyIYNZh8++W;{K5&*U;94H4pAcrhMBM#8;$K}kh4qAd+pH)) z54iJz`pD&A)bBAd#65a%u3NPf}0fcheuf*4vf=*VBSK~;1mb$Lm z8sJ1*DgfS4MFZ*Ji85aBAJ54og0^r%33)nfo8rT{e*hW@6NQ9e=(QsKMe;;e zeQxawfz1);8(ePeL#W1GYO)1vRu3{-5*d6E0r^j}+zaLnUgN}1Koxx)`pJIh6?HVh zYHgr?W1yET#IYwZ9V~383wBwp!xWscC4#W z*7CpXu<9?7rH(zR=M(J1?=*ewWt~o^$7Hkz@{euHG&o*siq8`rlt+2C|H~B(RNJz$ zg`fTDNe-Ky+qe%Mh+`Mr60BD!Yvx~Nu)P9s{}-(|c@R3lJjM>}>dZlvnn;|888B`5A$zuBjl9AS9dI(wooz zec$-+hVLEFU9?pIbjD|NcK;rI=R4n_AO7%%^fz(5OaT0jhcQgc;Iyv+(5##2$&)8` zzi$HA&Mo*S;O%4fzn@zoK)(dQpVQ3;Z%E&9vxoRMd^Ohjx}hR9>cP353}_9Am!dg! zpOB!uWK(ADb|qoaW?M?e9*Uz9ai?p*<|T@1rD}3~hKq}#rLm0vjzXcEt{CqniwF9) z5&(R_e%j8_3RUQ&Ju&~V;k_fDpu)%Cq5_Z_k>O|)8Z|JM0;>Qd zK^ioWnL@$-G+9oh6C2nQ|5F%g&TV7g{eQ`_!85i*l}0OTHwy%GEIO{F0iqBtYh^N8 z@k9rN70aYoG6aZ$vs{8enjRpkPPCOG%5pkAlOZJoo}k&}Iaxa$1~Z_Nc-!#;d@1#} zAZSWfnEVV}4Rv@6C*(+E!6G4_obJu?>p4gTtiARE96U*tp zd)C7%Nkw%)P(RpKC_AAc|L`ldYWE}A!c!j=-^5&1{;?+TaDpxAUGd*vh@;H>Q=t^j z{8`Xl!ig}zozhpdkpf>Wy(N3XAiGf~WE}NRxku$W$iF{JIt~;O(rdv;$;_zUk`wZ8 zXdqoI+0%F=Xpn8-X$ra|0GTD>tl#De97+o|TYFOer>I1h&#V0V^TOw8M&HLTAj=63 zMqnt(zuTgTs}f!_PSX&q%NQ>veU@coh$_lz)>SC~RRFp85BYH(!%0RJ`szO=o#i|T ztS&Q-^SCeMA84z612-&GJLbK{J(z< z;0o=tsi7I0B7PwL(SA~6puPp`NJh&Gc_*zANCGhI13)qRKlrPPZ-i=S#WSE=i8RHsy3oHqOg7evik?R{(y;qYZld z9H3=z-hTV-b`torqyKKR|8@-<0QMCC?frjv4S+tpyL#VJ>1}4ZtpM21hTySr7zZTO z1AZAB0klRr=6wT-3{opQWj;m!L50%0g`G5xU%N%g=Ew@nY=}9W*<8$qrW$o18xO}L z-q94oz^i|hkZfZ=PHo%s4L+TSuL;=k=KciyA?eGgS^}UsT=B($Ec*$UL|Q{S5*ZG& z0PL!G0xJo}!F$L~LOA&`R`b$DqG}fc&;q>PXM2tcRRsJ+*N()ih8-{97gexCv6K>> zGD+hY@0hKYdFHMp{r39CV}*yqr)6ZFWgk-Tw;LnhrZZV59I5Hh`trgu84p5O4Sve- zt+7b^G4w)1N5pNyjA0g#07XM6-jB~I*$ZdK; z&IiF#TyU$3#`H+=w1Cz#9CDyY6HX=zz9b&I@PO5x3-FGfx6rDm4k>VFT|N4+{u6z9 z)mE0VM4CdPka1F8eDM4;aW>C7DDjoy zgt|ydLp1bnk^)}wuBIFhPm@j#9So>=+bBD(tw8=GkrzDg`c5e1UyvYS zI|*w0iZ+^YMJZgd+)DlpXVhUrv;F58}oNEt7LFT&*)X^=R6oswC*7h6x6>Nw_68)cSUmeVNnY<|=?VIVAph6NgiB7qT+k zFe=@t1p{r)pgEi*kZ{NfSXnLF1}8Gl)L1`2BOoR!yD7j&Pe#i9gjb$94Tk{R6(7$f z&6e$w2NhgE0>tUpR@Z`;U|1<|&%vJ+&V~~?(yti|ntEN9w1~dd@PV8=j;kP_LB~)Y z0)*L%^8)NZSno+0tGRw8Fn~__3-8TCwiraXBb4P=l>Y-nS=6SYrB-c+<6j}DNxD3? zIPX&DjY2=LKUY3ytqJenhhs#ghwxjx9O6$!UojKT^0^Lz;4+-`8P>Q)!bP2$;6i+- z0N-f{IG{SsgPDSL0_bv5LzXlM(h50JEs_=ar7!_2oxda*K$++0AA zVz)g2rx+6)M=1^Ap|HCAGf%SKi|~>$5D2|Wss6x60)Kp^DPFIbCk+JkBuBrf_pO}e z9IU*{zuU|R(7g_=?SIzQfv(vK_GCI>f5QGVeX;pZl+BKe)6wKT$v@IePT7)x=|$l@ zFKYozU+@g6YW-Dan}UCVyN+9tUxR%z!kovBiEyO~CEUn$ckiXG0Fbc?;QXW4un9d2 zt?ZDA8nSc9R_Ha>HYR^Fbs|KV5b(eKxZOVcXRiY2UI6>sLSN1@HLcfZ&|3k6Hg?_Fs+!zyZzK7>$d|SE;teFW{*! z`FNQC_}vbaR%el){`9Bx^Pm6R3$+RS$B!TPvK;9we_Y$M*8u*-XCMBR1{f{=Kc?Jw zx<0#M*_gpA^s1`=7`S(=jPI`o1b0t{t{4WUF#oZLV0fK5%gY>wxiBrGDT_Z3%xM;) zDrD{twmRTMqGH)}cE?E4XZcM>a42?58es6ms{9_)bMLTc@eV;9D+kyETQtt2Xb!k# z<-`f4G6Z$4j^86moK&;Ep@z}CaX55rD;DY)ki%i7&I~V`)95}1gTp&CwtxfTgIDh- z%8&#EJIW0U}0}4r5ADezs zi$RnvV4ssldHEm8kDGF(vyVm!T9lX6@YjIf@vk_jyc!=df@IDFmIr=kFH@Uk;BEM0 zB3!O12?v=$OHjlwbk}OR_yN>p&e(7+YZ6!S$vsv13>~v_0&}^LXMs*JpvE4se8?o| zss-+54~8z~;_Tzt;_8EOx61h-QBF)EE_OXcAQBbwk6tAI5D*9^IWh?-K$c7c`8DJp`Js%h7iKIi zZl9tnNpR(03$#HAYU62vy+{zJXo-?M5VXtS1I!5s&NLE*f|4b#PYhI9ynh7!uiyNX z{`RwfLEm`(7j$obO8eP`+_s>fFZlZGzFhMqT_1^nTRv|LAbaD(edq6e?|aeFX!{h) zf9c1|Jpg|9BT0Gv6yWQxzupDr$&)9&K>OT-m2H35*VlcAi8kxs0)IXCXMgeZ<0sc5 zKf6!#jS-w434n`hddTLDa#Nei?1u&45 zyqnNToDGd2?aLS>g=Rfq=2J{br>=Btz(Gk$iP90lIF~-cP-1}WSy;E90)vp1AD5um z06_m+@8rQR*XCHPf(uT>#a_r)h=id>VhMTBqlPbXVRkN{E2);jn+E(As6)32sId_y zr#9``Xh*lV6x-kuofbrnh_ZkZCAz=}!uW0k{D9}`SW@lMoX;Y2Ko^$=cPVxi2Sha9mN>I_;5H*OgZe8Be$< zGy*ezV)Zi(sLFq_7XmE?UXmQjXj_7hSzK=OU`07$fCUm&NC{CH#u=~_$b$?^9eQI< z?+*-s;mpyu=x&|1XG+!Kg!C!*4NvFcg0q3^77&ERbv6;@WHC`n0)UMBGn6yLH#36k zLFYLMJ%PF!)q2H`-PoAEpn{-+0rHP~X;?y$p z^qJ)!HC4!K?g#BZpyTDRm#S|$!5b?N$>;?oYu~hZI&N@+5XatNSe=6ss*{#|4ZDt; z#V*8yss|h}(22g8!kH-Yzw9M=$Qs5yp!ygV{g!;rG_nZ%5Fo7K<%Dz}fStBqJ#?9i zgnd@EuE$X~Xt~4$seiaB6UIr$xUJ~#^|#so7TAx^0Jh-2e+rOcBS0FP0V0)TbAN^>B;_u~nxdPyKJlgXA7Bjbf0NR%T+K!Ij{`R-2eG2fcx89;p zKKW$-^wUq<3V>GJ<=@WjGl0h*YtY|<|1KKs6@YfWl3V)}V3(X*x`B=Si{b?y@DabeE2&!N`=dlWycx zyB6D>OikPze<{l;LU~qicE;S9KRrC@@bXM+#f}b{S%>5mkitO@Pt3*wze*5W6n@t8 z1pj2*BIBRBMMg;v)`yQjI#P+B$!9;jFhP)HM0H0Uc~TTNmBN zKJ*+{om&nG*{JYa4IcvwhM}I%uyRtA8F^C=#Q<5mlu0wkpDSH}LMBlL?NZ1n;K&@h z4&}xE01w8%UjuH3*~^dL4l)Li9J!na=eSup-DdQEo9wzvGz44QxZA110*-@*0N)^$fjZYoNiGx))fCjJEZ}9u{$NZ=CZTjc*x8+aiE%^z(K_Ac~ z`Is*Fiu&sW+ZpZWmvXmVv}OKub9Rre&mYRw*?qb?yVqy`Z}{R!6KrkoG>XZ$KviQ& zst>-(g0E`u)t?Dy~A-=05zE^QxxHsJax zK>HHFek1|f*8kFy08egje*Eg$**|FW9{b%b9Sb)II%3XSce zHohdF;g~xxB))C+c>DkOwJ~aQ&r?r|NzjsdqSKug%FbV!{a&c7aI650T@9zTzmL}e z#zukTD*_mNTG@8IdG$H9#N2Q)n}QR%IKOw4d6td8J7PpB=sj^T7cw~BQf~!<+8--j zNQ@@!_YMs!0n2PfjAuMwIfLj}PBZ@q6u^u#CX@OSn#aA^H6wrYqi_%=DdL`^lLCA& zl*7I^4?8PUZN*q_sWjOQ`SFSl~c{?nNCZ`XHxrVwynku1RjueVnKUU}t} zKAEih$^G7rmkEF`;b=*K?|=XMtX~3XuK~EIfBoxUmybUBs1NXGpMBPzvwjJH+NS{9 zCV*`ffF=RjN`U@MKLseC%GJ;Qi0_LUBJL{y4k?dsdS=UPazsgZs={7eGnfwW6ucYD zoyqu;+deh{R1MY&Y%b74p_{Oys*y=y&CrFha?l8DF&Ae?l`S7qwRLAq>{G+hCm6?p zDu;1B{(b%K)20p7$c`kyc6L6J1o~IA`G`_Nq&|{TfM-LQEwf}tiNMsX6!_#!6bMDu zeJl>CZ9zwjUMbW3{pGnev$6q)4w%@tA;TIJCxpFz2N?`^I%>eb2pm&T0H96YklwEe zC>sZJ93wam0@Ykl8g~g;DH%ioXK(bmrC>l3xI_^MR%uRXf$>a%9bp1s_72jFL>c@% zgG9-Jtd2B$d2u=*ud?G}CHN#hv>5m78)YU$9u4R6gp)rSP+kW52tt&P2|j4%h}i^9whzQ7bQsf;M&jnd0$O{{ll)|=iPkOhZwAD0WLSX4 zN}~xEp%vqEk$(@I2+_#$+?!%rd^IcvLt?D- zpMeXIq3CGT&-Clse;D7~C?y>lw=kH7fW0K{TxTanheRJ0`3HN4eWgPP5}ZZ$5l#vD zPr<(xv^p;T*a|HL^pxytck40}oUjrHZ4MEPYb3@nVH5nJx7@r4v>v~+K3SW)36v6S zMSZ47N}G19JT)UP(2~P1!~S#CaU}_X@Js=w!>F=~`hv6e_V#8qxTXi%{{aNZL~0pY zgEo|(>NrF))9y;rFP#<}t85f|WwMlXuF$0HRJR4FpsOSaPf;G6ab#>T%C;u@X8@0j z+q+x3{OdRA_HR8MFr#XuuzfNs7m{9Vuy zXVE7|pnnAX{LwMHe|LoD`-l~MTv*=>YWC+`19abRocj8P-d#_9jz7`B|2VfD{g1yR zE;<7K<9yp*0XY6{`AqurR=2-BVg_i8*4cLU+K+zpqsoTAx8r33;7dBb``z!_rvSNq z3Q+d~utSdEU!^|&+6sUp3D6P%jdQmn_;2Sv```8gXhQMP&CSo`l7}7L`>xM?cXm6z z@V8(aP+r+$M1gVU**Rb{H5e3(+dw?T(5L*djnxF6Da-u zKIEt?ivIuZzK?GPc>K2=$pO~-E&H~E1J=%u=~)lH`obZ7$LZ|sqHhG~LvQmJL2Y*bH@i(cMj5RpC49#VjBPhmT7SH3+ zC=;`nQ5N4Dk9sJel`etbs!X_LtMI$Jt3-41AP;{E(%@fS(jy<3(6G8Jbxex`K-qDu zGk(EAvaDBU%d&GNNkmtIGr>!UIT!p)uAy(`ClsZLCyKuHzRgLd6Y^geah3Q`Q4Re- zl7n6;-SP?b0s11X=utQ~h6D^cZR+JE-dBBg5(X(}$5%j)F8E&MAAZKZDMmtt244+{ zzCw>7j&ri^g#6nWN##cmnPghm#?zMO zvf^HY;?Y*1jJm3(hNE7Ve=hYZtuO%+ z5oOsJv%IKN!v4pBRzqB$)j<7=4=9ZM$3Zjf_=NeV@IgS2_!x{*;Y)!&Nd41F0XUPS zBu0^kzGkSkw_{m_iHVXFaL{*25g5m18HY0|1xktx`XbKHTLPfH0&sWy-TT!eqCXNx z(>id;{K{rQ$|LpkV<4=yiw&mV2xp(#e8A0a0 z+EMG(BM^9e2>PSr`hwexpR`%|_9`=LK;O&@jh0E}w@%^%omkEF`@%aAtzfYP3Xh$Ex zHv3i7izh$(@qhgI4`}RgDLoQ?es)Cg1LHxeEe)9m)15t7~V~G~gy+d(4+CT3b0k*Qu5xYDR02XIYvqDZH zaH32V2`FAON@ZlF(%lqf5&AGrYA6yJB8u=Kx-BZ|z9aJp95nFDfLPKtUk9}B7s!AMUh$A)kmuw724{A5uB z5VF~0)3NSIt`1{!#V^r~LGO%)Q=pZ{i$QOM&U5~TguoClaa?@HpBLkV!GHqBARMOG zkjHTLH}Ipx@F&FI<=NVCl}^F`p^w(GbxQtMdZ;EF?7Ki&{tk}l5kvlC~{ zhruUHMHMnDvTVmm4Dz42TNZi?bsq4OlzYDPU3mg$R!dY-#s<(rKnlz_{usbI-nvmM z`VE|rp5;GuPXJftzaGH{<*D(c)?^qfHxJ%!9`RnU*r*DFB|9)F!UZNux;V~+cpBf? z_@Mj?$bYJruj9=lnQX#n3oZbEH&Jd=%Y8y}3T4fUNawMe#?TpA*19!`JoK>`0P|%e zO~U1qxD7#QIpH$t9M1Bee1|%~(;@k}z&PpH*~(0ju@?Y6xk&Oat~f*TY{S(UkDQtd z{U1VBlls_d>+$lKsypWB>AVO1O!wN#{I(I_c1vRK{_;`s{9gAg`(ovOZ=*41c|M-^ zKkgg%!MV*CjsSl<>)}le_&YoIduO5_XKU*TWPD@btba(XmFdC#-uma^;dZ^A^+93u zLBZcs@ZXM?34kx@z;`!}*?+t2lF+^c@X05i^cxQ!K9tWt|GeM7ckkYQb#>L(nY32{ z8ZYQ(fVL8V{)>#EpPjuJ%-k3H}4kHt93QG-?IT!6MgFA6Vdw}nb z2a&yIHFTlqo`4b?28#H~0PEir`|oyna0A*ZjKr7?P7gtNg_0u( zeXasve})H)4QBr-c`o^R^?>p!03i!%`v8aa%m&5BR00ok?h+i@5z@k17uRMER>eys z#xAUsz)Tp{As@Ir+XsDC19^g02ERFY#E|_rBQ`l8TpY4ulIu9~Oj8f|Wp*ACyt06o z!a0hqIC2>ub8w)X`V2fo;LM2>d?FyUMoq?qGCA=uJcWymIXOFPqNUm-P&K0xjxrG@DYOH> zKheqpJyQASEdMymr>xi8*f1$!U=UID;gQK)w)`LQ=OPuquze1C6*w^o<=|l?71B{= zKE}pVQil+hmEHoHVqd6#)z*-c!4hgjNpVn?cmM5;fW1g#Wx8M?=b)P_h^O0E6&U`RB|CpzDw>x%@JzNtty`N8oHamv-@9*o!UXpGu09=j2Pk90M0H zF7#Hk26{(^o3X>#qWlxCHpp#|%Ku7tJ0F_falkq8j>#9oWEwkgClZt=r%%SyX~LnW zi7Qa~K-)@)KBFi^`=)z*!h}}r88|Y?NKO&qSOk+ePlEqH`lF&i@-qS42ThMj$bIW8 zWSbv;`SBa%!XiqwV1l4C#V`>SUSaZ2{6%bV%+Vh{_~o|uH*@bD;q^re_FMdJyw#4) zNV0X?X?v3QRj6YkpQS}n+gabFPqri6J-a76-#Zcl_l|OxW7mF60JIr@8ZQUjwPb<5 z-#<)YPYm>h#_bhoX~BJ)`VL~KYlFxu2Jdn*Y*IgHgpw$ zA1x7Zets^ux3_#P^1+emdb_uO)W5pCqF4BVtKzCK#k@A>A+Q(*BxViZNY8pz>6xsd zHzLS4o*qm7&0s)dO9l?-pFt6&67@GpAhwGq2Kr~t`pmzfs?ThnEMl^Ee412R;IFH! z+%Yl3{zziOzn0x>_s%a4s$X6AGQ0YU$qj)(v>-t#AS5J<>I4G-oZ(V%JVTqqM6;WN zb%JL2&bnSi0chJDu9$)c3zQu$4DYB01P~lg%VxFDP;BbVRQNGy1c188EWeB^(TVmOAsU zj7|c5NEltp&cE>(Zge$ZFFbgH?I}4U&Wu!NkjVSV^6!oi1^juGXJ_A77-#M(GzrcC zEB6b(q`*TAuzOMqQPEeP^UZd_px|s9t zPyjPU&@PTEQOG~CwFmleJ&KiqWKMdI&AwC{Su!IzL7C;huutgf=ylT9Cf`%sL*$%l zU|^6K`k0~oEdQwAlYIMQPWrbd1hAaY93Dqjs6vl-ARQp4slsAKqAkWrfLa12Gh{^< zQ%PQEMPH4$Ei@ll*9T6RXe7{M!JMcc18-ba=zC_Vu!swZ_UgK3{0N>eNy*Ak z0`{Nl2nhLv3kK~Xr7ThPm$6Km`~k{1+=UO5{F4N;S2@NrEuJZjEisL{aJP*BKYv8G z51x=G`;$V+?V{CY#h?ZH_oxN>JGC{XLUZrI1nbiLt-k`$g7hBfH#)XJzX$vZ z0~VEp^|?5QUg`YMY0{Aw9V>Z+x->5-VGQg$qx5w zW*~!90#_$xz|LL{@1s)%E*-P;PUX;%*dm9^`ayWD2PxNcnfMRMF3^Y@QsC)?0_FBb zk&3PL!L*XRia*k>1~ZgeUb0zSL%@e^R(=&)%XW;bES}Bq58mh0|0u@}nCJ!}_AHH) z%<$#k<#}~ji&KZ=u}V6*V=Qx$2iw5a7)%+T8Q3zf2+mIuf79O-vqY||qOlZc=Pm(e z)Xzni`TOF3fe|PTY6=Xrgz{PmDmZ%F{}|vndknl8lTd`)L;U z6#Nv48>ENHWx%xCg?A|xjshoB&@qp1_IY^fdzSwygP81GYKYQKoFxMZKl0O%ZBB5n z{vS@87nYeD@XpZDdCUfb{JYx@oTpOX=JB?)ZJ{e@wUMOgHWClIi+_=<1lxzB-J|QXdvtXq2(B;g$@P&exb2_vJ3sn8 zvAQ$;+cF(}Q_61#q}_m#%d&_FMiq{VW$ zdf5H>xu~AxQc6MdVgky0kjfmdIEN#>am@IdF<^Z?pd|$E+HbA9DNc{hpNubu$Z#lH zl4RT3mjJeK7Skxo`Wk@;M>}qFEcFG$)r~9@=3~llTJ|Ag2AT?8IbguLK7JYY@Sn3$ zV!*{mNFmI6a?`cN1^7YCuJ(82JP+2A6)C;c)) z8sr%~bOQVT2p9x^21C$`!@-rb-o%}`=sBD-OKjF=YKe^*t zIZI8o-43P5#+LtZ6~Z<2o;)7%`A&f6m>9xI0my+I#);DPe5_7qo9 zB^_7vnUpd_r{y2N5K@PEYqMZ|<(usbL!o1d63jX9tG|g>^6%P%VOC!NAms^y`zw3m zbP`PR=G8?>{K>Z6RE$O-7Ari`r) z7v3;F%D)rH6#8(f*N7Hv&eX=XBGCZPvH}=w?J_$Mg_nXcBzGG^HPH!^7>G|_$pbbc z!3erN6vnuW1PUO7JPo*eZLl>_l-*8bUp(XE+6(2MGtj8Vk}tv)mm&Yd@5S~a%_Xo} zrv?9QudTbg8{(TYAES%o-sRzFp9}R_{q}dn=l%(9|MXp;>1XG2g~`f}rTOH4eP+Mi z-^NOZQI7llJ63z&uD4M}+A{vLzO-ML_#c7OcHTDtY-fuh%Jcb{_a0i8F=Xj*2PABP_)I1@4WMly!-CEtReIx-~((O}#R`=t(o1ZnN8=FhWk%78B zGGKQjI^Sjwmx=64E29C8jjQ49GL_cga^YMu(oh~C3sP0TzSyT`1) zc1d9hSH=v>?c@>}AZ3M(#+$}F|2>%Gq1gIwLBDk*J-&AJRBeuC=nrC#1b`($*!!Cu z?gA`0d0`+DNuwU;Y7F-T+eV{i+8rEWf8@p1w6rCSgw2gcmgSSf0VJ^Bh)S)NenZCJ zm&_S1iVxCe*X%JToKE9XY+u~N0KaCa7r;(bNPHI3Aj!fKttdP!(N0UtDf7w1#xA!3*92R_CTojTyYBoMKX`+&WWK^)L`i>~a_xfx zp>q)A7>^>DW63IIzFqaOISCnZZb%SI~yjtc~{0j5kc^+Nea`sYGfPbxe~w82rPJvWZm9mBRFH_@=vaS5^W^OnAOQ` zCtoJ%UqS!_hA-0L6P%ffZ2C_B1|OqrF9}4Z@YBe{fR0J4kW$xS4nG$eml-B5j|vl| z2?-oCBm$BzIf|PD_S++{zdbvX<1Bq9zaQKjmFUT1tn-C*B0wCcCgGht_wgO-+h+on1as|MbbD;G5^|!zMZTZPh zenRk!o<4orwZVf259HaiXZ`y6`nvI4ehpdMIX^$AfBxxT{rG?P;Opa-ZoqMUc0&)? zvRCTRC<}^7Z@fg<|J?@j;$$RSS0Y}8DT%xt9H_A`sO*0u_q8#aNjH4#_B|9^{F4rL zJZ6(RD#P+L)uHSTN_=8tY?QY9r~O*FO`8#k*|)LzU{BZ4qw8zBJiDc5?QJA|1>oMj z_9;N3<&qpAN463R)C4GMg;okXjXVLJ!V4NS3JcMdx|mX8SJ)eutT)cQfH&pureh{u z%cn$!;~|lG7fKsfO?a4bqHxAUV!4<#k4vUgfCvsVL1sFQM)+(K2z7Y4I4c59we?%= zrwenc8v31GkYX0z%)Ls7*AWUnU}y&epNxU_e=-pw-h;q3QN;(an)OUqW#PxHGrP4-Xmd5LsO$jadz#!7) zADRq>59PH1*HeHK;cQpu4-Q-audEYjVr%c3)`wHd@sac_1wkkDI6fvaI+G`!y@fi~ z*q4+UaFKX#SL-CXLfs6?4Q1YfA$EEMKC+O1THqLCQ0iDuFs{rwKv?s$B(Mpvnsl1+ zAHcv1Fk^h#ALQUQXEBW=_Jtr+VA&S ze7&a|`t|qrkKcEs^_Zu2_WsJTwP}CKUwtD$J-21Q(zZZ`BHr=Na0=~O$~s{ltbz&Y;X;-aqxXkP;OzkK6=O-&Sr-+J)V z)^b-DD#<(HQlYVsg~F1n#&ymLFU9mQ6DlR;Z}71#Yz}m3qyfg}ctf&>VKDQY4X7O^ z7s=F^(s1Ca;6Y_mjPbLd&jxk+Z2v~!V5#95<=U+N@qCXja+*PG1s)yY|Fgag$v!qY zX&)Kc1|d9=L9y(VxhyRe0w+-M=Q0c=Nl9W|19|*b^HL0~DQR1(70Ws!!0#L(v-9P@ z1spmugS1g{u9dLWk;Gu#o`+F)D2bf?2(r|Sc5u+b+qK`w43ywpCN~xVEveouw-OFU zGh-%uV=H}*h{Ea0eFZ&maF8F+me-XGs1)WUzQG)I-k+hLK?{awVX)#%PIt!x;KkN4 z_@&Z2!hlXobuz;^hOx#jS<6UiGc94%&2=ihW~&$@B%rf|uwluKC_N;#jn1$@ABj-j zao*UfIHV%Uscq%lL53i%3ZVO!0rC2j zXBi1(IOmpOWO#*X&#Z(**T1Wqs!-lNHJGZ{uY81euj9 zE)WR%!JLw;l@3N{lz)SrD=o2+RF={>PCAH?Wcj{x-$G}j9h&4HF~Kn|`o5+bB9O2) zQWK%i33Xc5jl#}B_vMO#*XI2x#ggFb!bIVx2!;BW4q(ntJi zzc-BB8J%rs_Bt9U35CcV>98aW(F+6FnSut%X-52}OAII|IUO(nuAphAn9?K0juSj# zAf}GAP;wp@DhXWO#mkFeBh*rUW7((MyiLs9tvI&F0 zjAYi$YAOKULPL%jvJ6L!(1rjqJlud#(OIQLo_9eztdxnnAno@E-bcP1`F(fevf zrv9c9=xCP(hopfV=SV7XewNyZz-&ryDX&h>78M7)bdE`_Q*9*2D+M@0=uo1UHR0$F z>P%eVmY7$sQCB(tQ|1vHT*)B#SdLx!3s6Ny-MO9A0H@!TEU}q(PD~QqL)#RME##kt z>MA94f`{`2iHg*m=`qTOz;kBTby=i=z;GvBfUf0|h+v|ECpm6`9~Jus@^82%fN4fU zLjDm5J<%`ptB{@N% z+)8Y!tQ-6B;+_es?2>fUQeP3+vS56Gr*sU@lKca(X6sU7qXN%N7=4RAo2^#qmx`{9 zC6{E$OAbJy0SOx!a70&@81ctk6C_ZF#7Q&0U;-0N(ZIw5?RoQI+e+eBUU{AF-M>GA z{T}o$0{wPA#_$L+)PEWKB8;<)4YF0%Tk@i>vOQ;?-EaGAk-wiGLH^h@PlJD=2=F;4 z2W(6ljqjAUHb!;akyQrTjUp}hZ%Kf$xPMHVj_VdRaQ|N4P9p$Ee}cx9>X}g1I?&`6 z$_GYe4owB8frIfyJ!^}twe!~yr?v?oep3FcK3*mOzJ!Cv_Vq~4_|7OF*j9};&C z1y=ZmB5o^w%qi=M0EwCZuAev@S61WDPH)_ON_kYT144|4dBKF zp4FHGngzdHKk;0uZ-FeSfJ>Sw5PFetX$u(vLP^aD37PtiXZZ;)u@BsRh`9vnP%GU{ z7Jr7N&(Pb(QC(-?H~<|u!yk!~A*1>G*#ON#{vAG$bpZ$56-~b$_d|w49{?6a`Uz7> zXM*-9WLAY^;&sQFLjECmHoV!v;8^xgfs4Ut{ihKHd9A}0dH8RHK#~AbUo5%z4jB3a~1!gqKzeLYy7GrEfo+}xQ20=Yma z#Ik5-8<`D?Ktl@M1neKe#DuoNXoA-PK;n>87K1zieYfD$z|UIaNLr-l@%=lBq!{R6 z^HCHh8z6B7BYqzDcu}5a`U9Gn;HZbm|I%LZLVqh=7Ry^H2~ch*38lNZ6IHX+7$s0x zv0hS5DF0c|2v_J#pz1Y>xG4%QIyUbzCx@?k(PN2+55}_n`^W75gX8+L?K1{o+XPDc z=k8W#^i>abtaUT+cE4{7YC(U0HC9}{wzDI-&^8V{-^wO^;v4n#_F7_CX}(k7CJdgF zkS7sF-ytz$h?kx+p``a-`nSFh2)5Sa5hKa%QK|j4wfT1~tw7_GjlqL`G}MhA;>iA% zB3E0EM=NJJW&Osu&-C+H>Mvy!$GF8BXz>>u#?gX*<;NA{e(A@{1i+Vn$UE=6v$f3t zj|2dfjR5WJ*X=WaZ54oi3b2;xdjPcabGi9|_^e+y2EU@`!_TZ!wC;hK$)d3aW!u;S z&`~O7^uZr0PAx=u>{BdZ>c?r*eE=9W>m;mZ8c!0=v6yEN!v2IJ@TE56*8sMj>AdyP5p7AYYoto%FBBCAWya2xB^fXP31}s~j8p!7{A`cvFXVYq*C*y^%rUZ$$h0dFenQ*m_u;FiU zmMDx!0Dxvfd9O)H9=$C3T0K z3BkjFSwcouuQ^~@@2Q9+SBKtFmxLRqgeo8?LaSiO>W0*1dJT|3KNA(8VeBnv^s&r5 zfpkICQR8H9KFdFWYA4jW$RNlA0Z9JI$tCX|JpT!`bGJR+dgsEqbMB_VOV z!_6Yp+tvrxojG;FRLchiu^oG6KF6{j*c*gQFCpU({O!H|cFp88+d&5{z}LKc{yZ6LS#>lQk=?lae`&_jXihV~0Po>|_m>fvh!;Vz_o02-*8s+3;kfy={Zmbn zOV51nz5)Q@bF<2f_Fj$PJ|5?6B;B_u+_mV2B{j} z+|hs^oUl1L0A~qWFa$;YjCL057`+!3cXl*683r3{bS^3N9nJ)&RRGbNIb;LJa4uv4 ziw99~Khr#q=}eay$JtrVu%+v6yE0_yFt$jaQxd|BBYoBf;e#>m#}>{%mh+otNR77z zf_R7;@KtMGPh|-UDtN4}g~TJK#^O=WrDL2f8JZ4gkYMTR&qk2k=#sZuc`; z1u;l42FDhbGWcM1Lez_K9yl}f5dh_oJnp*AD`g`ABpL5CYDFAQ_-p|Q;BG$N)Jmq5 z^-_5_*-WI`YEKoWSr6x7m=hs}dq#J{J?SNmw#+AVu#yiOfpXAd6bv6Lk^`Ppk4NN5A55L{fA}QzGxewRqu9tKVO_y z9^h-xZvlSO2X}bS0)81mbl)})&b^&Iqpoez)~m?sHAy**Hui3D9w zF;D|Y&mdETWqg?1KP|d$LH^xQw{0cZUKYM3oBi+iw|%_rscR6%%lb(FXq%`csZFJi zPTA#hEIlx`(oYDEeFKcsWo%S%#2w>zdmUlFz593H`ObIf2>ykz+uzgiG6C=@b1rnAeBIbj#3yR^CK*~YC&Z{G7814n2l0)-$qd; zj5j+T0)v6zNOpOcpqL<9L77%#1Fbz^0w+!)dw)s=B5vVk2AwnJGcCOzz=6%mxC33v zmFoerxe962DV!@V5Xb@-I1;Z*g4stAtdjL&bq$v4hz5l?`R~~O$yqbxRc8z{!xGjR z`nM7$qwXlB*`FK?unMy%Pe?$V@hNINwJb?ETZ|k!J!IYFpH=TxGGyGG9njuT$bU^j1`4S4^O)vf74=(;<3Ley zkemdl;x*b%-%S8XNvJp_PA1P_BvEhAEr-spd|i(`E(_SJZdlQVGOJ*M3+XWwK*a~o z5a2sAAw=26AfE~s`A5Q-d?yz(^oMttA~+@x;4+?=7^Nj8JovZHhHysTAlfPX>|hAU zS&V_bVif~Ya{hypDok{;=cvPac|rfCmE3ibOyW9%**8=ttg}1!`cn7_p z^3V1r_ZVr?;C-4X9XCn+2UB2e1%$M>4Zw7nX&6iYnZ^g#+6n<``yA~5?!EWk1MH^r zS9-im0DOrDC@~+vZ-2Xg3J|q&FYxf;Lldliv{wPzpi#Hej<>iAN2*0tyX!sxK@)P}oE;{2 zr6a3rf+j&zO43Bxp^&k3D0ah_9^m&_eILK=jh^vEj(86#nO!ASdkx@IdOXJFP?Fnr z*=$7SGCYoejmKxT6O&8!Oh0v{Zl$SLopd2i- z_X2t*1d512{*Ct~s1_f*EI=HZZB|v7}T#&~H1N-b_ zzj?rRb@ivTK3=3AzO>_I0^mzLe(-}IaJ_c~|NZ>dTW`sSAAZ;_rF{wD$&)AjnpSoZ z&bkVK{`J$3pInoCaHxxKQWxYqy1uxkhubCl##jAF62xZN%~$ZP08q>I0%oG1d)L+h zV&5EVgx4;1@$SDBjd^B9P!v4eU3?s|t9jTSfY0CA9`~_!59oC=5VO8{xBHHZz8=6{ zZc|0bY6u$zzVZB*^eI1b#mf2>fQEP9-h|2Fbf7p79%t`L=|&#l)?;K#!$@*z)`pAC zQYZ$K^Un-@1ZxSJIxiG+FTnX8K#l$23`%{T-uvWW+v;T1KCp+t zG#qM0FyKaKROZizJNO~S&kO66I#_m?h6eJ0VbSU$PO5h zBpmX1+RQ#ct~_k8=X47|<6;`)Wt-LsfIkOCgS^vHP|i0DM&dLanKVTCAvlxMQdXol z7msDy=s`+XumZwx;nK7_2RPdpvqKZ(x#LZgWR@yAAm_**RsQX__U%Dbs95M)9FKvU zE)^G=10xQTurLithDjY&a?%=?aUcZnr@F=`76_&w9L7wFJcy(|s?57mb>@x}vRp4F zfs-L&dTCHgh$WB1oPa3T?&)%Z-Gde+7&wxQ{6m@DIeEmHXR6MXD*wi(_*@n#Rvl}z z+o2k>Y^3A>%?ZiXD;HAAj2|(66}PE8$jd};%E?x11@&!=DN)sLl&~exVaRv6JP{^z zaxy#Vn^Z+$=X!&UU@%pdI94B-Y#2X#HLs0e#_b_uu|*K50R2v@ne6`Jl>uvO@Q*gew$a~s1z;@yZ}0z) znSb2_V64%HZ^E`2`ZP_~-{W^<-Uy^BUbVHvl7E88z_gbp>x^Rd9YAHyHaI(d_;3E% zf7MJopYrBc%V(qx# zwfO?<-yhvnc-dS{cRj3i2Bn{ap&?LQ%o2g2wYp(r%z=_HRN7xpPw2f^6+n#&-myp`aTfR1)kN}~*SbI=|vSe-?taHb+i7vf?&G6zY8AUWMa zL>T-trJQG)D`oKHRydaG3ErHGc9?{Ht|DvGrSNJ}KcB zZD|QM<4Unq5(Xz>2Tg`kNz40q!jsVe>KmvILxIEL$;Z+9|;qp>JKTHND z*f`2gGuW%4;h>ArJop{(HV~8Q3;8#={Cm+HG^xo6O7c%7kPR}VNiYV@D>S}Cog81PM8b){B0`-oJ@@I08nLJxDV$UW4|eu3D6aIP?~H1z#iX0{Ayr;@Eb+YaYZ`%EWB2|UQBYUfFG2pr9}?jf;uMDgk6iqfL5 ziz4B&EH3lBuW<*U^ub*QnGgbv5mrf^Sz+NHvif-KHg6m=kf zWHZ)3+O9#zUaHj zh(0>}Br)CJ*X*l<-)N4{`b00_&_MNo#Bqn5wa`vKo?g?#k<&J z>5GMD@iuGuR!!0N0+1R2xT10_pvcuWj#u6_=ex`V5I*)2ef6+)H3mBncJ6l&3s3H~ z_Zb^e+ZVufpT~*I@q7@LfSD*-0H6fTB)}sGg&8GKS%SC^2H-m@2U{_7VAp;` zUD*e&&M=L=t2khE{*Su2r=UO^0`}G?tlTgviL#?^P7Ps$1&*mvqK}Lm9>yO!@SYAF zeo_1pPrQ8R=YeF=M-U$~F6`O1AW3F@-{FvMyPZrFd-aAlxNj4DTZTVp%G zD+&(MjItEUG&fRZ2h#Y~`(UkkJUD0uEhB!Vm_r%0S=fa`C$lVjxV( z@pk?Pr-lMgETi@a>~{$VNH4(ufM0&alq9h81jq=0O%iNKFO*;6u=m$2km&ENttr|^ z60DTWoWnTH>poPbOgy7L;Dq0E@Of;9#J2zu&T_Ie3%-M3CR?2%V~>_u52xsm*ik(N z1KmLnwG4ox!b(iDFdB}R62RD=XMG*z;s}e=Oyvu1Dx8)lfo;VU@}LaP703SgaludMBi$w5NP%`ZQuTAc+R`+gJX~HI!E9B(DAQzt?N(+;%wiLgdSi)+7Kn0;Ou}@ z9@0r)AU|UBLqjF5#!rd=IqWX)C6#SN%YeQ?Qx+%VycSGcTOdH%9ssiLiFTJ#_XUv6 zW8gX~K>JP{3AkW)(CPke@7mFTB8fKYXMuc1sYOi$u0Ca;Z2VX2Ecf-|>A$Ws#LM@! z%mDb=&wj?g_{A^g0_Jl9mKN}0|2M=cX>@K(opq&D+IsY{X z@Nj?m#kc^(26WedD`wHGNX&tGH>Y+vStP!g-QOF9`7NfU=3mFfLYi zC+mMDAQntRJ=24*NCs}t_<={#>7W-qjlm4Y1iCt=vuwTEqR(Zk0@kGi)$m^%40r4# z0BJ(DL~iSvCmk6;17vXQCEnvmiamQUU{JE+_!`|UQcLu5S)d&+$fH6kErXCuW1H%W zFys+09CalZ)}rv$@5wkfrJl<%0Fxo*#xFQW*awKb+|CT5FrouTCh?yrnUK<0%;wkM|o+c({WJX)yTXbnh-NgC}@X z;ElK>WU9*S-cvBE^oG_9Z*UN8blQzOB&xsHR)hZC37wpjXcSCcvEFU_`G|<8bdEjZ zOAtJjj8m3-R-Pn~yln>o*uf9r1t*OBPehqM#gHW6ZOZ)LXwT z3IRPS3{q|1p-B?V`j3t}`vy}kQz`Lpt2gt%w;jOf{mko%K583zuanOqv#$I{O(_$I-)*tMlgk8;fP z&|#+=zB9h3139k0dRZhr4)Cpa>@ltNt2(zKrKJ%Umy4F058`_WVDX@!I&nx3mHE!= zB9siRgbxk!DvLJ7Z|0m!)-A?U{b4>na{(MuLU^5|xq~Eogb3Zq zj?(nmh>-9nAiLy&zh2HzM^g_LI3t71@a6L2{Tk~^>X6p_4S%$n5;r6tfyh;Cl^s?d zECHxT0hZ_Wl4&W&0@^Hr?5-yZ)OPsy-?~WJx((OyPR9P`Y1zIPKVP9M%LPgxV$~%G zvj0c_@NfUO{`L3Yf1hBFxO!~?fD!~)=?A!81pvO|OBtj%|DE*lK62=f`V9c>C_rPt zd;81J>7@2>E@xbpog~XjmUa+8Wxf!d+B;XK)^leTzk@Xql+v?oo*r(2fTkGjzG%oH zzF7@bA+|FxyYe#>^~_KGls30@)!3d>c8=O?qrb&9R_KyC8-Qb4rs-rcYixTcn*f@l z-$p~$O%a^bDR|~QHCin0WTAB8M8a%z8y>w(b``5>)=W7XoCYr`8#;zhyKyo|IMqi7 zU?4RJIqpj9WF(tmAX)H*;UYslLvJd;uIsG#0Z^Q27_AS#xvLv`NoQfk=p|=yFOu5U zYT>TGn*uVn0z zk8y5icVe{sqGTkW&f-bMpcQYfr?{vU9&eoi2tga6sz z1W!a~j*)z;X?JwoM)c2a(aoE;s&jw)_8Z-9`{evy{@KHbez|;&JxO=0o*Z=SZA9Ol ze0}HZ{l%PqaVHj?e{wuBzoNrWo&KElmbnQjBmWa6`En>I;CU`!6LQA>L7~S9>j?hu zx;+X|FriGgTN1S}t$!ix)plqz0NOrfWss{a1EBRvo&PfW-_n#l0opo#m99*b0$72V zl`j?;Sg0*bFjeL=0UG05|EuZi41~IuLzxQDW+$u{PyY71@4ibg1E9s0{YyS-`;C`SR7D9(o;en@4+zbpZ;%>W@?ISHUF5h#MG^cB&g07drzsA)6^P(JhD zefZ@kf9w41+L4wTg+j1oBT|*+Vc-T|PGO@(rjSh06lebmoj8SisXGK}c*2wu zD1~zA)_$a+RXU~1EePpX+7ir?oF1kw zU3@>hJHLSPC2~Pz|3JG%+0kFxJ9Lh%ZN(k>fD>gEzD0+h;cfIopY_1Dmj)*Tf~f0v zoQ)Y%+9YAjisTRwI)U{b9W(bLp70a{|0@wq4h{J+A8~5WAq_gjL0)Z|k>7f!(Pt&} zWx5=bETb3#rWEMdsHUyQwYK3@u0DjQ2B&~%aOin){8;%v_!h~H4r=CqGX5WeeZc=h zeea{>coGeIN;>=zO@|kFHfPVg5zgw!|Iup{Lhs9*VChTeSzVL?6=&ptl>Lnt9{5Yo z`+7IW3=5|mGR!@(5h&}B9JF!Bq0NFGW@zVG57t*@z21>0z>Rn^b4vS))$bef_52Ui zLi|TfPmc5Oih#EaNb1Y#+ZUgK$~?9k78&hmeMts7<(A`2BT+iL?DVP}H`KMBMrgn* z0E%?|Oo6t+wCR6qYfgC`CYOU*wjJ$`>TdgWRR6}Un6`g<>g9MlQ#ko1KmD&HT_@A_ z!LiTxn6|&KyYEq+wlB63AGyT0t9SXOZ2T`FLF$-!iTEw-xKv(o?=g=EW9-mlVtmFE1H(SP0sY?nIyfB*0N z+28(e{~t^8_uqe?z&9L3*7tqA3IKe^7ch_f`q#fspX~3o*IrYBv2McYT%J99W&)}g zo1z;5*5`lg?w@`BKmPGgA8lsRZBaw?a<_G`aiyS@Cgxdjf)Z6g(Gq<3Tre3P(Xz~9}?h) z6sl7WpCUtwQc7o7NjC~0GPD(mTqBV>r(meLe;3b^p2ONS+X6|OP0KNmG5by==^MIs z0avhth;-kAcGAI4loc7F!h|o;9^oM2bVyEcvA-PfW^$a}Hejg#5Rnm3uMkF7`aI-a zIJY@CEbiQkKz>B3tJoTpdc3eQQDF}gbsi$wp2aZ`XP|Z#wH`O?mB{Xs-flMUmA3b{GJ03c(rOUNszGe@6 zBovuaKlJym{}68(7_;jN)Axq0Kxd0UDfAWcX0vXC7^c#luZ;f)N9ZtsG0RUA0g$gD zC_pAgq)TT_4!Xem21;-5c)5>rhfje%VoIj|nXm8a2Wu`!}^HPw3QA^zVT66?#EOKX$t}e(W83bNX$he$|1X7`Y!u_{-(* zCgnG91o|5JvvhRAG?=!Z`7_$lb5&(^W1ID`#5)=4Ido;aOZ-Hw+M?QyHYgr75$LK6 zoArN`RRa0l15e!t<+^c6J7%xUlCDbtio;))0nioKlK`mh1E9UX=;s{{1G2%HQM1kLAXV8&sVClD>@om%EMrgX5pB3tGR}5#O$i zQr4&+U6Dtpla_EH&S8L%S{D|iBA+6VanKZ^|1QjEP3xr4G8KTE!9}$sp~cl;G7Se~ z4gqBZ)7SFbv!w=(tM6BaViq&{+V{njVdGZMZ>TO-1t_36D^}_Z08>b|9;-|tTlgX% zPadjb1%_nkAW2e0s5e5vpcP7{4;qzeP5y8h1#_C-coKkv@LMWnG?Y`f>eF)@1vH2W z%Ep?!3^1ZHydCT^ju7Rt5pq()LHermBj=!pn}{Mq$<)=-_gctJX;hgwt3`e9eMTEO z8Ab%kv`5!VveBv$PM*M;UO;|#cp*XGYRG$phABQXgo@BG78$Urvus4bh$H7!obsPW z{y0XVIssrEIvdQraj7uE2XFi2ba^0ym5;^K0`Un!>0bs6#>-?PEc&!Wbtn&f6w*2g z$Vqe>2L2ypJ=5UeAPOQK{51dVvW!w&VOq`tfMPl-`$)L{qIB6eZ!&g1#}KCDe1QKA zPIt`g3mUo9$yuTZ{MZMHd|4w!J0%(cEePQ2N34m0vs?y4f53DO|HR-%Fj>fu@&EZxHG@Cff`JWv#m$M1%uVq-AB9Kq}cp?Z7g7OsD!= z5P+_v&H&h4^y-+`{Q|9L5)_=IKPw*&zmJ$h6@_#rm{EZ3_5!1r(&qij(f`s%B%xJ>ge zjr`6#@6g@5cbyHk_oYkWiEp+9fXw+XcU=OolmNoR{lzC|eEKKKk^F*Rw5W9{WpBk0 z+7qRxw&N#(U39XHSyK#&`^@YTRS$k`%(yDwbKCu27BynqCjDJ#v?qhyjVYfcU>~;o?cHPL?^a$>2q#;l`Dr-` z02CBnQz1%&c>#izk-}gIPYfe<1bp9tL>~qL9Oh0N5g6f#j6nmf#Er}aoh1soV{!g0 z1}mDB42oWr65wh$^-ezKnxv?zx0Ld`FJV)$WVBB z`MuN77!Qg$Xb3yJ@Nb7e;74%YvjC`l>rpV4fHcS;nbOSg zZ4Ni`f5wq$BHz-pz}@&7e#3X^BxY|bwEj*hST&PX8Py23m{ZJ9BX!T*y(h^*8Nv2f z+8h5{VD8e z3CbgZGNJPVmWVIPWRypEz5U(vBld>% z`AW|^hP#)#^vmQmj<(xhbMo8sz8k%d&G*(;mOA!UMw_-zu>?ROn9%BMP|Y0tY~KO> zlU$X9-wr>I`Q~-cuS4JZ_lJJ>y3k=4f~_3d4|_)bN17zt0J{{S?oCiceO(tM_FKze zmjbkn0HtjHCv77@mU8T0T@t{gdj$Aw0R~yp?xA{C=lfQLI`*2KH5x>Ej^kGJYMrPI z`fu@ueLVtD9)A5ldGV+J%KsmcvFZPR{KtR1>WuL+1EH?0rn!*$POn!1fbZe@r|Ut-3AecSGD%0n_2XI=L-0I)2_C9Kil zMxkuEJ7biAhT>1Gu%p5p%||qfag=PeNV_{BMtvfpaJB0l49F>A1=~8OUja9027i+D z9B}rjQ+2 zjF|vPt!u(cI|wR%uLc}{cYym61@I%RS5(MRavGifMBYEm0Ky~nLL}yLQy&)$KrkQ) zEh9+m>%K=B^fllDiG~huz^l_TdXru+oT!5bv3rwz% zS6I$e20#v!>HWt(uyM%wuW7LVS(^b}doeSUPYFK@;K`&$#?;8jNS_>P$dz<543aqC zLn#qlfHH`>>Gb4qct2y5u@q1VVlE)V8oUDKU^17nsux??tvs1AE@mdm^7;_}Q`Uus zm$wbbDFPzSWbf(Od0n4>a&lHT;wx+PPfkv0cXX8Lt)&#loRVWtZUfbsneJz`U_fll z7aQ``9s4C5eB7zu(v-^fDVP9o_%jB^1k8%AUGyEw#(4Mg3j=3Z#&wSU%gTFMewQUL zNgMAQ7YGHtQehP7>MJ3iY#(Yzy0U3dGNA|Jxj7+bH-7b+l z9oP(<2?-OhOJ!|kNNLV~5$X%IX~*GIHKD=wn@pIfk)-QJ4Td+LKPJAxRX((OrJe+^ z7-}>+`*`&xN=yyxjn#e>$q*z8qaYk!RKTuuXU0LNgbzy+nJRef4m`u7dk%3f2l1c1 zZ%q^iQg2vPJeS3TG=hD`9b=@Y)d7l(NBlx*M5u*d+KN5S1a(C1DQ6Tu(ga~QR`R|D zbmkGRAUi`nlHY|z74OqCIov@vz!L)!IP%3EExf@fbs7hW0VYwy0UOfNcFJEXPdG@A z58?%mlghc&_EGkn8)C#+@$Jc(ia=iU0>JJOe}!e6L6;0J30gAAP}J0+7w8*?C-M%- z*q^(mvVU?gf~M_>c%Z`{GAa0bkW~#(g>T~I3lWYgCH}A4WC2(#xEZh~dQ!*#9UY=O z3Hd@}leOT;dpSUIrjh>*PQ(f2U`jXRe;Ly?oUL7nCSE1{i)J*o3#QBM1?2Hsqq${( zE!vs8c0KI;6Xh-x0Zc7Hx*jsYGq;`QmJ!cr6QCI#-~lKr)lDJuMmaa;!tW`OC+ORn z$c!joC+!SCAe({zQNU<^>ffQvN<9Gr=8z=^x!`w?M-o8zKKPB{8FkAMOxr)zY5VTz z?~V)VildZbhMwY*h(yE*#-ROkHn?I?r# zNF&%uRLhW#Qdu*bEx!F_FI4kbZ~uOl>Cg-WLfyqC3AMl%Cn_8z1bWSAUD`YYkOx>b zJed4z|Ej%?d0c!63?xuWV|uju8g&*x8S&o+Ny|?BwE0uzB!E?q1zdD?fCUI-rzotX zf=a=X9Q>$LP{d~eR2OTn?=27@?Svt@c=7*y`v3mF{7)bLoB!&kw{G2%-ELQog0F>@ zB>*J|@YA3Elz#N1AC(#6#b>mA01gY+@9=sR0Ql~&+86)M-}yUbPrN$4|AP-cAPoZ0 z=KR;zwQaR=)UfCn>`;K3%437Chje(9^|BTC8sOpEV|(e zye`i9UKOJW;8tgQVS=J=0;rkVhJYSQSX`<40(nE8kN1VoTAZDKqh^HYCRfc8wrOBEKUI!W@~ZhJj{-J=7_#Od<*{XavM4+zy~~ImU+*!PLKMEsh48h!PQAl zfMNpsfqfLP4=0&C1X#m?8fcrGxCuXXFbbqilBfRDPCxJ%0MtdD14l@7IuxKKhj9pC zbnqsgsgEnjTC6Vmo;RBR#vlX(e;eH={NKYs;Mfy)unJ(MITQ|at(V?sakWc|Q(yB8xFVXL*Y= ze_9>=+jQgRO*-8i{4#~#rtN!68IKF;XuM*m_M18VX{!CIPX9hT^D7*^mq+x8Vw4{o zdzYn5F;Xqiy=U(-9SwKOKhQSO^!na`qCC$I7~jul7HES|Uq*D~P!&19!G5S-#2K$# zNB?fKpUW|T)!7D7K%>nzQbu70UJW3W`;B$-r;rNJ&rn*p^Ix5M8|5#9saqg`E=mw! z>+P4@;QXbOJptOcQqf8lpfrfh?jw}N?&wp)UH1my=wm`Jp8vm||L*_$zj^k5`d|LL z+W>DJN-X=nz468yHO1zO)nGuG9sZl&{HDwlcN~AneE?ns0KWT6?NH{AKKh8u&W?C( zQ6BmF>#vckq?`nxm%SVA$H&KYKY)Mh?w@_}FTeXUs_{%|Lhx$q;9CG75`&x7`dmqwneYll znUtm?&^7~HT|g|F(RLF}LQ4(e7P1h!xqC#<_HWh%ML{imT4`$jNHi4)OFa8LwFLnnaX4f*>>n{bsd_$lRN2O>L;l>4#a!nvhG;~^$M z!_GjiS!I=3=;KiX4u&%3z{_Y)e2T7bykzSPWHw8<>dUgEH z*+K%k8ZOw&CByCIsbN6j3=V0m5RxIU!{QZF2(Iosw!P6Hbr0!aH2O=&|0WzQzd2XE z6GN0_M9a=jcS-b#kzjP@L%!3{Z&)%$2vV&_rr8oK1nr3Y-%smi>S>kJIExscr=~&& zJqqgi-+#;DfS%DZ1ultt)tO`kIejPmp8(CwWWPd==bmY0Ha^MRKlZl67wSu6NyEWQ z=^c;WS*IwX|DFU3@P9As@Y(eVXZaogYM;lNCFHK>b=4&USawzWhoRl40^l$eSLA=k zcP{^MNip{YOAlkmTMUI5O_^wL_=6d|n8g1mL-l*^i%g;3a-X!vvvQ1{j^N+C(Kh2N z)A-Z0eQOiR)Ar4&H@JFde;C29PCvO_+aJ5P+8TYF#=i#t1>YJiCE01cLv3`*-F?pg z-csE=OgokvZ2=`vf0=VWgA?1ZrJDsSW*vD}j|}w^;52jgX@XN9NR02n{}4L`2qom0 z{g&w3eLmC$n5PGEkYj~b9LE6G69CGeY|g)2)_V&C6vuzN(~hLg8P0O1MJG65Z`+R> zTee6Qxt!Yi?8EiZy?^`aAN}Uvc>I6(U;TR>%kd>8nprjpEZ@rv z08K|_Gr-c3?Fc~lTQAo2i!ILj6Pt>1aeB$OmUEp0Uy=jYfzY=Ou3kGR{;<%pbLPb~ z{$nUqkhKf9w&C$6BSf}{ij zXthZ68UlBF*v9o~&o)~iD!y~^gubCSscj6?Hr^_m)wF}c_P+O4cEtj@-sGY5oJEaY z0{N(Ocq6~5>)Hn7ODiZwNzkdakcQV-4fYUeO#tVSVdv_(t1fzus^xoJK=#q#t;!QK7ziXe~@JB~TbkwH5l!qvcS8^rbj;kjYioq34 z%FM=$PPydBEJ_O ziF)z~h0z|QQqc!JMtA-<{*U6>VG9R6`hs;xGtP}KdMC>s8HkD`GI+cVCB9$F|A;%} zud#Jbkn^S@Kf)1TH6q%0!Aph#^QwzF= z|Gf?(N?4PZfkDS!J_ijXaDxhxgW~Czsgs1V7yC0&o*9z(-+8x_Nt6Sw#`7qL{S#9c z&@tdAFd}e30|L41!5o7V`|hEumwlKv$q=Fx=tz4VNhbivl+W;vL9XQ3!svLKUbetS zh#$^)D{Lao&5^;Wrr%HB&m;Si zf&*HH<}*29=79G?)vJCQk(f@SMBLsf$Dl!c8~K0i5{LLd*O#9&zY)}dcZ73R$IMZl z<4e~B6)3}VO?~}kfhFzwz{@%C>GpK6dB9Cso`%o>`UqwsU?EB638Z1~&uiO#pW5jE z=7(>6e)FSPo&WX4ChE$vfQt>0;&WZq$=Xmmg%ooMN~A+H74NGTpUab{|FJxM{Q2eG zum8dRv)}%M2mi+Z_CF+BPtbLMGX1~I04P81-o0zsiOvqsJyqm-ne-iAuL1zy!=;-5 z_Tru1d+$9e>-=>FKwSc`Ise|(%eOMEYP+u&7Z=5s_2U3>KY%CutKV)T{y(X|HlbHf z0$?|k)#V`Xf;zJW*8Mk$8B@c`t7dHs-L46i#;2|@n`CB{1nissE#dr|q1+iZl!QhW zhUUa4!u9ePUq-Z5^M~~j=We{c|FyWg5)TdAIGu9Ud zG{WgPd3i)MF{Ztbf>G-DcSfc-9B$Pp9aTx8@#WIk^>Wb z3vHL_k^6=8mI*_OOjdOu#Es0c=TfL+y!!G*`vV;Bt@jtd3;Rc`4(C7pkyaOvS@R8>O5RD(O zkJ8Bh*4I7sOzcjQ_iv>;@_%wP9itJK1f0>1BEXrS0S{R_*pWI!*99fw&W>{wF$VFB zue*@i@FX1^!)%4>m5jFyOjBin< z&G^3$^myASeqOzlWA%=71pijugs)83KR>@+9euo#qwmx98-B5_Ucfn@++huVeqP=2 zk8%i{ev?zJzHpGqiDP-3L`-yebYBMNe&*QE>d9qAn;!}c^z}yBxlE(wAt!GP3Pic_ zo`Iz$!8X>}$-FPr`?bqT2hNS-4CEH0kEY4b@woF>tWqLUN4`2L60APvVZdE z^Y!t)FP{GT-~PMn=l{v07oYt72f9i7y7^{$)?gFGwv^kbbK}O1;`|$M135nY@I$(N z`!?BZ@gK_hFW0L8!1r*KH5@t(K*}S7ldAMk`KG<*B8B>fY6>D@D^qrVB%jwP^(r zxhD$wBO>DRfMV)+aj_Qy?e3#ct`?Xk;7RFc>a#cjL=FbAT!z^T{wA? z@zK7~J4HRNgB*9p(O9ua>WhA7&iUPWBjBt=s1L+Q ztHFeBH%-$m(t4k1M?H*E<*Ng zh8L!xo_9I583+KEG7@NcJ6Ye$Bjr(ls@_tyWY zZ@2`v!6aRY1k~vrW$R+H_Hqs=AYJeg@Cg`GZ=#?h1O0NKw(q4!?bJ z=Ad}?K?ku+8PC%b+j#GcPS4KT)cx%_AFCJi+po3*KDl#i&V6~0YwOp+$;Tb|rJJ_j z1q)#6zP|_jOL{W?N&RTTBgtXS{m$_6{we}0sFR7%HnS1&9){~2|32*uW=wNky3zTc zm7N12BOVlH6VGN7ND7|JW&-ep7ftnwP?pP{mQ^=O+WRY-TB2_Y@USYAHL2s^1?kv= zPzGcOTY!P;k$>BF-Sn?)0$Bdak${VC3|QW;FP`w_i!b-jp8avkd^t=zj?Sl%?V2 z!{$5k&wu{&SH}SU(|-N(m%sE4{>mEv4?g&S%WnT$5WqS|iTX(C6lHzL*(RvVRXUHJ z0zj5dX93iXxBXl`zkK$|yQk+WJf)8Ct-GzyEF9LYF`z>vZu+BQBFYTPp%+_FPCUZg zP7SPu_<7V|im1V-?zS$cSA&j|N)9DFUZ#)D=0Lk4!wF6r+-+08MIdecuPxSTI7Ob~ z;M5rb`r8E7o9hFIV^w8#1SbK^1Tmvcf%tUzQKCaPP7g|r17gL42IB_b)iNeZ#RRcT z-djzF3{o?eW9EPff7dKf-cT!{0C&fo08sY zliI744OoFk(yT(;mf66By1lpQhces^>Nz&d*6zQL*H84aW> zlsrvOv#c+`!A!V;Y*slybbx(0xwiG+!I>w-DdQG!IM7a48#!lt53mGW)>p;*G?Ddd zIxM@o_a09qI?$FNcL9cQV7m4C9Bn%AKT86pJ!PJ2fer~>ggEs009j2=+Ejf@mv}{3?{jfxH_!fMdom_inI^qF`C2s_cs0}q%lJLA{ob3F?AuzyF8-=~v%;vw!jU z(b2_|C&kad>P1h5Or8JwtfT&`J#Ri+`Kueaml*)X=`TmSmo!hdLb06kw>kgyUQPh` z^{;jvpdbNtGiLQqX3Uot)8Cj^3+m zlF1T%I{`r7lod6?w1QG~!sM!HY7+>dKLp=V0jpABt$B?yN*tub`xY-p%ntBV0N9Sy z)_P1?Ta~xgXZ0k2r*!O7+m1KIT7oQPrVv1p;6~CSUSVEYivAlV<3b$UZuCp7qj1{A z(|Z~)BRRo18%fJz(`jFg?ofn7b8ugaW;UghS{6;xz%|ooXlyqelEK+^7++scl#Nmz zs_wKFCI8WBCHZ}CG$&)jj6<(?R)IjLZntXWagVbkKvMhi*ryWN?UjUs21Fs?ZZ&#s z1_hL*aOT+-X8gib*_v+zD8P}#Q^*sZ&IJu;VSqSs;Db{*!#m*AH#{2}D`w$nUzVP1 zk{w5fQxV{71*K7NluteXBTZVLQM&lXsF{Ar;1kF#lnqXSG!C02TnO+P_#fUou9`Pc zHA4?L)U`+EY2$x}XOwaRDP_X{1aOQ&BTNgj;F{}jpaY?XXX_#e2X#&!b^K4*R#^u3 zGHr&p!Ra#1OV6;UK2P+m@QM-ecip-F*KME2EEq8$JU3uVnIIjMc$C&k7)fI6>Ji_c-!s z8DkIuWQ@OW@RnosPW4#5;_RR56#f{^7nj*4#`h~a`Sw2E&8O|_+I)LAnYQ2364?fQ z<-%$E;iyv74fsKKADqgWv)u=o4_$|x+(T*md{+K!1pE+8ect}vp)~E;W;$g2dZ*j^ zXJ1w>H-GP8IOOs*d|!{pHtBpYrb?J(aJ&zDK{mcYnS6 z#dCi4aG|AaYPpT^Gj%G{p3U*6*!BWh%=5=h0VR ze0=ARxw^U1HoSPTT+oh>b<~~)!;E^Zwd#<58`p0@NShGtYG_Ntu1V|G8XQIvqGTRH zbNn{vUnk+VWdLXpn&F&{o&3)20}4C_3rLmxo(Obn8_nOZk%v>cX7(t=CbYE91q5Ar zIzE0z{NlJlQBDF_j&&~qPWuh?szTu37};TH@c731l=BN1U*u^GZ};P9A|xpcOzsTU z+2~-OH|!PhbkT>CJ6l;6yjOo57-F-g&3kcqfA9>I`v>xg4SOp;No zH6oolquD#DmrtX*U;;w+9i7Yu41y7PTRBzB|HH9+`fopl-yYOa_C_&glg??;D~*uz zID;V!YcQ~bxPcGRuqT&0_li%@A9!8gp@GpeQ|e0-{&&=gysfMc(qLRcKnsdtEDM7M zL(0h8cUkU#2n~GK2lpD>#{Hc8Ird#Ny0j0QjPL9Bu4ppN>n82jtEW!QX^4^WX1wsO zrZ|WsEONy(lQSm&B3&QUh!V#<(xt(+&UvB?3ozM>a264(B1cUhsH|-QfO3e$+AarA zU*>FpM45l=Um@=vEMMlCjatsf9aXS@6Tr_Qv!Q0sn;Z)6;kX7L?Z3nwe@n<{G&(35 zyw>-lp9sPY7#kzB*6AFi=+NYji3R~oH?V^N^peoJl1?UM-@4fqrEc??J*eYA3A zjOy6y2!44kf9L17y7l>@YvbE)`|e;1Y@Vm`tIg`qj=lv3(6Pr+{d5<}GX(^mO-I!~ zlPMB9_W*CqoYYy`>l|?V?i2wpa#}uhvR6hP4zWLnX%?h7%%3mE!GrYOJ1ipy61rL@ z<<6Y{Ll?@&#GlmDv_1TCBy~*onNg{r&Zm zRo*{a_ivZy({=sv@xFL1l|}06=#`&c?bpkz%Y|MD?Ur5H%UhPyMV6zZ-R4iNOJT7R zPbmQ0|*QS7!l~J>GQszr6Y8n{w~oy)ymZW&qTy zto`5qP^7%P5x=ABRRG}oxkQ;Kb2WS~|Gf6vYxMBpL%DhLraXD_r1HfUJ+eIjNT-x| z9$RW^itZIa%zHP5r9IXJaY_~ zBftIqg2^uNf*0#M2Nw@>;&=Cs=oN```^=(F>m}Cv7`bPOC)XT**G7QGC z^$Fwo#8cN@m_`I-i;-HcDKBtH{7)HQfAl=@IrD#Ctf(H5=rfsYhcAG0ls(+x4|H(7 zU{Xh-A1CJHjDwxl5=tVHb$n=f0*2s2O7a&1A3f+oqfCan$#npAGK|8pKW%IC+iv@t zU2(M2B#qX#{@&K-uYQUVI^=6NWgpk*udqgc``g=8{U!_YGf_DIlx&6U7}H=!3_MOf z|6_AYy3ZVT{NB+4d``q_?M-y*}Ci&I$BQZp#N@j z{CRV$fU~cVkQR=>ssDB_L4eiv0VqoVbo&3E+w_0Y{Hx9MF3x|s@3sg;x!dV*+vvZY z7F6g?!d>fL zuIf=1teZzP_n}RE3uCSqjQI*lCq&tKG3%&Fd|F)&L{MO3IW4;+wbKAfz3nK#Q0gE6 zm}66;>WCAep-j}<8;~1>w52oQWXBKH83GzoWGt(ND#4J>lB&Ef0fSpdkBa0>Ck0Dld|EIa*30QLCB+3Z3d-^^R9Rt;SeCZ8aCY3 zhtl1Y0PMI=Mk_Q(Q#mqd2&a>*FaPDsI={p`8LIB$|sDp-O zM|YhwLTMDq=mAC~hn7uzlCLPkoR5`K(*|!KF2uRN2-%@Ffj?y)vA$vO55vwK;nQfL z@iH1>B$R>;2q!1h{5y9BqC3Z((M4S!V(4myC8z#Rgz}_!l2eG|bxO1Lpth_n8U{lnmQN8fMhtK-zm9E6LYt{fnUZ!DR~)3@}6M#H{0@(Jk# zw4k_J{*@BnLVcnSBHcTZggXXS2_VRhvkXRW&*z@Ib7TyT9Ejsc%j|tc5I6X4@=6dc z?2_Ij0Hk)zRdU}p2NG5IpMVYBh8%4n&E-CV7s+D zZk{-&^%$(^aiJl7_a?K0$%azzmD)$TtG|_sny1%!A#0kvcxxNU|Le!HZVvxiM)LpW z_IKw<=;lsjQ15Ckm7Gi4#JMI(BCvU2WeW0c`**i2!qxF#$|P#poo-J5?qttLo0D*| zBR)MTvjJXEaf!DCD~$e=I{M`?jq(?Nt2qApZ1=jE`}z6#TK0C+wCV4&&pspg?Hd4E zn~t>q{;pR6fba3z8nbi=o9G#LQSD z9+e&%nhi&CIDM3*hnV9{KW#D;`3jX2b&VPJa{Whqv580c?O#S)One%DIMi6GI8J2g zofhbfk#`^rT68))7t517<#r2)Puz$wWFzPieaC+*tY}4`v1#AAqaAyBl5P50^cqH# zl_hzWLMU2^O(U`G?Hd7KLpz$&Y)Y&;jMDKfT1F@aply2Gb039w9Q+>QDRt2xC6r_5 z$G6}l@^9eB&>-My(w3Q&f32YQ8DKM$uxm#;9 zbN=CD7$N{i4lK~b(Cnm^0FR*{nWX0QLNw1jNP%?hr}5);=r^YA^UcbM{FLyYrAi{h z8=>QW%7GEjp^Yz-TC!e&vOy#?QiV=z$yz(wS@B+mNIo7EWSCPbz=vZ~u|g1E<&z#a z=uUAbiwNXX{h37F$p5|mj6&cYx92pdf!z%FHaU}AW+N>s>wpFnuw#?4!^@6%S%-h3 zJMN#Iwq5pboZogw-`h!V`?i4INB7M!$0P67QD#G&c>5h!S~*y^zQ!+GqT zNJ$Q04%!6HJ*y{ONuxZ#GNy8da-Gl!4(BZY%N%{YGCWbHnC-`*+pa4o^3T(`4nBbI zb-#1DbDYLN8kWWf;fgw9m;i(4sgwhB)e=Y&jj(J=X_UQ)kgnUq`EHeM1fTv3C+q%i zoR!ghDbx4YA04l&Df3mT!(^ucCKR(CCbuoil}1((+G-^$3wpdeqZB zt9)tV!Sibw4b3Qvbq&*<-8~mL`*mNV>&tS~@HNZGXbPqu59G}FqN8lzds^T(q!&-V z=laQ&n?I|vW=M<1iNgf6aHAWHN=k|;P1|1F%qR9%e)#2gOZ#+SV@Z5lf;^R!L%Km_MM3O zK!Ep;nl=J6!^IsR8h*mL9PfMq4})o3c-WEJa0dvhtW}JQafd5-%1dW2Qu$=CI?Z5lD`irjkGtu z#oy5vB*BzMp(yhi9W<_6r9tPO)`3Bmg~2P>UO6AI7uJh%)a&ox#pRC5q`MC|4S9#^ zHC_LUu_tNf3IFq?UDF3EW5WL&?I#G}A^0VD3VF+dwu8Q%z};jev?=HQpMsKIfYIwr zq6a&#blE2SPt?gbkoyQ0b#*yUnA~LljC75D%^{RUU^$u4+1dH#*x#(qe%Wo`r|s`{ z0BJZ#=IF=3!K$J`9s2S-Y{Iwty8acM`4$AgQGH6s>)D!raa6>=;qRW9-^Tg7&bdbU z;3XfF5xI^b7~^e1*XHlvecM0)&Lo;$$m7@1CEks)xQD^gwf8iXY3b3vwKkl6$BhF$ zkUzN&(}Cd~mVxQ=dn`}p)wMh}i&xJ*yRo$O_;;#+kB}bSx&Yfz;XH8(Q17GgR`QHX`R|o*qw6DGPTAA{{w|wuv|9(a3(@#H@&H0y) zKmJ&L_OqYKpZ@8e);$BHo*w_h1p&T=N_=(wB`=2i0(bn|>0b%N?9R{6ch8zFm~|LBkYOaJ_T*(g6f%@C9U#L zGL+1aFo8oL0BF2WFjVfNHdSsft@Nu}3)98+`*QocszH(sicKn9mS-vlgHZieSbfh@ zSO3(Fa?0~o$n#UC|MStmxGCnPuKnNIXS-j~-FyFd3)WoF)zvXz=`wxu zdznx`WhJF3wjjkUT{qH9a?lu_j)ZmTUW#Xb^`K)Lb9M;um^p{j3UQ+k3-0OwJ1!;R zLohifkmHL+CFZZNEz}#=1crZ%yaj#{bl?H^4wy`z)J|bVB*T|xa1!;wpy}oPg{XJv zy$+&8W>w7KTq^9H%`ViQulRf!pI!^rl%`(S(b@2q9qKxjqj(mP3eL6*(`BL*Og1;_#fo|q+iBBv%}QU0{gr3Fu;(j$F@np`n#h#ZNIF~-yHqzUPkn9 z-+sO7eLGgq`lI?#?qpYZCL89ByX{k~#kY5BtjAx|k$UFriRVjn zi1zhCg8bp-_4Lj%mgh56Ko%c@=O7F(sjL4UeUb*J`w)zl-tzuMuaGrZf5?d}Msg5s zhWodn#T1UDSMVLB;DRLmuM%r}x4iz0c0YPVZ=XD)KYsVwdgpKbZvE@8JzxLE`MUqf znaE8YX|s|_u~m91GK-d6e(hn0Ps_5D^|#`|fGQ5Rcg6AN21;EP5OF-sYB-d%O^R$; zR=(KS>e)7a_xSRP9$Z|~-KWpw>xWPHtNVA?ufM*}cfa_O9{l5PjvoD|U+kaV{p#xC z-lOA72mlxr?3h1a0$_h--TyXdyQgqP_P1``S|2}t?C;7n|F6IP+J0l%HL|0}|0!L5 zxB$Sb82~@b)oawgflDV?%9@d~44_=)D2c7ZE!~L#^(s?UKD~VK1@n7UXZEjcYS_hc zMaSC+wJPXQLnGr`%*~BSG{jOC)h>i)Dq|3!mMB()u0yC3dAx+Cra>toU~V*Y!mKxj zsZ(mAS%f3+!tA4^ZB$9>%z!qkFFG5bEe={V-L49vRtDSic0buje{*?C59wy()b0E6 zazbqe0Hc6AXb2mP1%G5T!sr1bILhLbmJ`iJhe?2NBQ=T85po4+Fr?HnID^9TdbF^N zEZd`W4GHOihJFHr))2~%b(1HGPMV9LkpM*K6b+4{9X9nPn7vS6BM)#F3~|_vdDLj< z3|#Pr_}%k6t$H`0bN)LcFTv!<(1bT8fdHe4FyV-Cz@#H3)<<0d7v^T5y%1I!!30W9 z#ei>zQ(s&gnN-Pw;tTS5+j!gaScapU9fzPb1TcZFMiUo|o<2HsAJj>FnVZXz%k41X zf64UpoI;S7yXFFe5P(RhodJ9@fd}Qc(YA*>(g4K(&wxo1j?o=u_=-8%+mgN9?AY}I zY3YlYmTdUv;9I26bdhZAcHeCTF$X1r|9vkF3^1kRXC&?e7BZyigB?yo$$h()GqQLH zXPyX4lU<;P0;0e(pwoU1^4UYN&<7ixf)9EsGNdO+?}ZY@G6R&|9I^~$uvO8^_Y}lJ z`Kixk51%vLh|iAID^7p8M{_8aYoq;szjls3K4%BtH{TP9HTuIkeW?}U`|Q{g^-e$D ztvUO5{nYFU(|J0l6-Rw|%^XgYlPUc*^}K8Z*&NG-mky?Er_h844qY!xBE}yy(y@2& zv-8ghmP0{Fm}6dYzxpyUTrg zQ~(UETg`>($0qwX|g+S1`6WiCafi#<7c08~I->jfvG_ zpA;v4WitVb{ZTgYQ^#L5!{TT=J=<>I%x#5lHT28mfKv0a)GfTW@zSH^==@lg=QkEU zdMte7l;oIS$a$%G8~rDB(#y>24FEgh&l-LYfq?4Vkgye&^1e_3qufv^oFL zaiXkxT>SR8>iyewr0?*06#)4Du51x)e`N{4)zuY!`st^r`aIn>!pz2qWfPgQ6ac@M zB>=V$!2j**Kl|c;_|8A~ct>=ra!xt(;%Eyn@p06tn$VPX*%(uZQ|K}5StfKU^JtU1 za>QVjn~iS;2sjq){h|gOjP}T=KzK$hdsp(U66h#w_S`o56VKz@b}C%vsI$(9V50>Y zUE*#8Tl9#(B1G=ULwdwFscopU){_=?iyE$GyaN1vxnVr%TQ$JKm;r}?d*|Pt1sas7 zALYZ*p(a1k>EOwca$smtcL{-!jP(#0!ve^HQGkW0tf$-wBOgVerse>n(aMsJ3TXtK zp*RLdk99ObIE+Kkl@78PSAgTL24!}PDABiRv`%TJDx!TEQD%g|3I_bZVRnN$(K+8! zU}d55FpZxkV?pplve+7*%l2z*|y6Kh&&x%#!!Jk2{_ts zulvzq_CN^-kBCg=2||Uxkv0Jf=YG7EBAI3f0uYLfWn)@;Xy3t zYvk`tQ!;(zRdaG85kKdD#8omZ#{YvQp7?)cSd-gWu3R$^By{+jcS=v3D2o?d9YSk|6=X?jTa%O4=R?RgC;tZSw!b;~ zC+9wG-(a$$<5)eVy@YdLey_Tzp6GMhb>BAM8`kD;>Gv8KkT`m;Iot|?P;$PUwT%|k z1*dx3$weOz&T2G&?klrE0Odd$zryUAImL%YooDY~<{0N``IuIvbO+~kb(8Burs;ko ze7Fo8-Japu|2`BnnX&yG*4)8oasAEL*M%Ao%0)CGpMX=)ZPykKTE9 zNk2aMnqFU?&`<8K^!o25Pg&loC@i!)-s(SPy82SKUwl=j6$YyYF-q6DGaZ6y^2?G_(^BRyI5OP(Hb4dwR{a2L`<}>`c*x#d&?pV9doH=xB2+n zKV0?!*xfuAetO1y`}~OSo|BxM&|V$?I&HrUz^cPvDk`J>tNLX=t)E~LGWRmGE*qts)X%MkJMO1Jc0ZKJfjDIk>HAai+ z;VPGGoUO5b)Xti}-9&`7)aXK^84R%8B9eLqI{I$7 zaE#cI(~rmcEt7F(7jpPJ2{YoC1hFP zfenJbkwA`;ygaxNc6>L~MMzbl0>~j|*x{>O#k2unhQj30L{v;D(cUq(SMYYQtYq0E9W2gJJj$pfw}QrY_kQSQ zWY`DC-HX(A*$jXcm-Y&f->T%`N^&(3aw@fvQ1lOio`wQLucJ*5+s1okz~t1N{(gPF zwrlyvNAm?o+-3Nkchn~z(YKBH>~|@1n7Y5h&i&e#^}wf)wH!zN^?ZHZH9Ejq|Mqvt zNlgz}dOCdd?CQ)iE0?Z)Kfh3lW_djDe+pO~4nTz3${ZYWAmF^-G46Ej@ZRV+;yfck zcF=QuvmlK?9@Nc!J=I2-z|aQ^{Qb%18{BwGw>BsLZN5*hZ6o<_)4h6s=fO&6k0q~D zEt}L8 zrfQ`I223SeaDe$}8^T|uqErv>T4`C2_~^9k1#lvD4}jAfo8y0j)?25?`xAa9r>DGs z`t;(e?89cxzi!O#&b_Yp-xx)2cPX>_v}HWUij1P_4{6VZu2^?hY; z4pG7(H8@!`sRDP>h?2>PZwC5O*efLnv5y)-ZdkSIlI!MxZ9_mvXUf{jcB6&p&GkW* zh-M@eW51jPK+Dsn#MjtKxj~wZd4JC_f+m1tV3VJ-Q4E4XjYU@um>x%rvW|7ce909$ zkpZeJVDGx!+E>E`%Z!iKNwlt1o&m2;ylZ5og>@mf5Gfgg@v1izY~)!3Om6FHYj~e# zH$<&RscAsbazsOrg}|UiuMQLR&)ED)v1?`oAS0LC8b0N6qYYJawmxCg^xc*=r(DQ= z6C$7qwDkf0&j668u{Mphn_(Q$%wQqpbECWreLIcpW92A2Bu2fxT*OInG~Q0IWHkJN z5l_K}WXGv*YAZkUKMnlv&(OYDTDaPj`5F0t!k=gya^j9dSM&(-p3`+hrWBANJle{0 zj zE9hpua2M3uz7|Kn9jkYnZrr@7)Arlwek&{FiKv{$5&c@6>Pnn$-;d(^v*>R7B0g;& zNB=Edd9hmAtwEBbA9tfkv;)0_Q>mi~UQ_<(afG@nrPkTM@6)0KiS_m057(0*CG0$* zX0lCz^~q2m(u}6~j!rPbb%-Iaf%*Vasb7DKYew5c^<;-VNdPEIQaNK_V6&}mZUa`Y zKcL&2WB*5&cQ^mxDZRBh`fojZL9adC{E5d6elru$1ni`Tb7oDW;;}gRZrzu@|DZlD z26Y+DUltK0dvW+%UFsDr#uP4&L*0OE;%piOECwMrX}N?^<9epvb*Vs^0U$f#{T1y_ zwz0cSH0(Cfu{*!mhVjls0{Yd%A$xYXff$zI^!M zhvhhkdeonu1xatb@rK;Lf8UP+)bk@PP=H4PiUk46b#!#ZclR$odFS|~87-S4zN9O5 z4r%{hr{6l+OZ6y&y2ckEO!^cFDQX=zW;nO8cUg`$UZo3Iky2hDAssd@QXewsuiO+5FAG3$ zt&$8=3QZFpZuialZ}bg!b^w374-TJnb=XU>Hpo66 zntXwdqQWJ*2#3M&H`rq|H~L<%M$p#t5+!3dxD9427!USFn@Gk1FiQqFHl0{MC#Rjs zkAO=8CvaB!nMu^)Hg=E9|1(LD+E23V>kVN)({(7taAN36NSTgCDxe1b=j^lx7C3te z`fvH|BRV$QLF*Ao6%QkTG}1v3Z<8n1_Pqm}(2sPnlRoA8p^W6Ddz#8%-MgT`wP6>N zORPQDH1|8zOvi?jm^m~JMWjdx+I`IT9?!f^;+Il_KJQSt7p^gZI}I3 zkH-_;aBl_YezhI;HLaHm>-?>J`(`A=XM$F_&SC6FXlLK8Ph0z8@`3-w&UEH$>ReJ@ zeM@$(Qw~zd6y7oKEG=nyeO|h@YT3VU#9-o)3et0vM#FM{`Sv^*XP^F|2B$V)9hmJ{YBRT?3UGB46c*#88rxLI|`wi z4;9-WU35#aD%O0ne6pluGfLai0#=i&DY|uOpNq-AeP8yvnc&TvD?i;}zi~!o34lB~ zJKle>Jlmh0om@SA%6pscU;c{IU+O8l{OiE&UPt}+>im~?H3;zb+iy#8{@;D~-SzX& zKQF#s&HK?uAFXBP_vQ=Iq#qp?2H)fLDgf|3U&h25^)Y^`pUOX*^Iv}y=fB)H=ik05 ztNGog{}<=K=DD|j@j0EmrV6ns!ToOa4b@C*n%T@MmCZa=!-rA$T0X(S6EdN`a4h<7 znceskGltm2NWHJlqkOQnOjWRSnQ1G1GZ4Z!;c9JVcuWKScQVb;gYP0urgDqltDGc zO5%h~IJq;=Vf2yLXU|{~8!l)>;)ZgJbxIiZ3JZfFp^>F9*v%OL1As{8+Lyq7_V3x) zVQ?(6lPo|W$S*;eVQ&i~dFrv9^Pj#%kcAv~^2YR*0NkRP3}+}B`@7+9l(oaG!09ZGPWE!f4o@_NVl`ueZS-}=enphWMWTb^0+p2g*WE=K1! zn<<_2IN%&(w;u}aVS>axo@4Og+keO4Pkv7aFAVM+YO7k$@fFd{r*!*x8^NdhbyWZM zNx46vI}cX6eNR#;eNSTew&=%2fA2WvT8ZH9_d#xErYh3!(V@w zC_>rge@j!Q{EJTcuX_S)4*qHz{*?fN<=>ot`PHv}Wu&A()TV#^^(p}H16>;RF+Qr7 zMv4yRvFZPqr)*F`RX&LP2T#8K*z2q>*Bu~SDV=B94un$#bPoZsH6(dE0)g0%9zX1Lm%2PT# zu`F~Fk_u@u& z$XV45ZRteJm4!_us>~E-3i{M#9Wpn73FwR+(+xWzLPvh=>ui=Wxd8}9ztPcg?~JqL zFe(hJZIy!{6z!ul7eeAr3{P)QNw@}#IeB7KqOq+da4>9#>^=WUE{eM}v%o-Ktu=@R zCu9IP|91See50ZTYQ*K-Xs}~ylb_r{lt}{bMd15f{>{pOZkG&a@fsM)V~SoOBm<=c z%H`?r{+jH zyKITm=)~sVgZ`XctqANBNI0hH=yP8;$2)XJ5sv{T8o#|PZL&p#Xf^{Nf%THQ6m)WJ zkn*;#bqFT2H(eK$z=W&vvL|AZnw>5r)@;PIQMUpj^y*^ z^j|%uTXougNb&x%cfGTYBEYBYv*~_nwuDUy&~Gu?Z$o$+Xexv2Ipicd6QJc=R6(xy zsk+_Et_2!)OYpZx99kW%rI)r|Uwn>$;=mcn>hy1UcK$l#mIX9IZZ@D;|6STqffdbC z(b2B#R9N=`Soo@ROY($%4;ED1?VK%+MCbXTS%haS5Oy49c7=8B^|X-1|^oJbvwN{{U*W@ zQ0+n7wU@N1pY;evP0yTRk9Oj0S-5DAx`8~Ql)(`4j_XEOUnco)4(}-SA&0M)r#s8L zK|q7SU`{Y6M`LUR!@>Gun+F34jb~^g^U*NLfX=FlACirKvqP;zVb_%DTfFA?4Q36Hx zSKjba6L+P$r7Ho`VSpi(O~9AdwuUbBt>mm1{zsmpxr2|i2#5kFVWB+g%-%ncB)$=< z@m-<>q71wmT<=Z>(#d$#^oluH;ipCbM|vi=e6y+h*1n44O0bTdBxDx$1K@w6F_aSM z1-{M`Ubk|-bUc9%y^QJPwjgs5;EFhQOcZdi^Lq*y*!v!K<$vFNH41FE?Oh$gzj=Eb zm^h_kx7;XG__xvgvJoFr#{#7Lt5tuOf7Wp9^*fH*x2gH0&U@^lKXvXU2Lf;{zE9t` zKJ5;(B>u5J*gJyKweQT)!(iO(I+U;FVK1XkKXuYM2QB;W*&(g&5DhwO0>71kzmX=h z?~z|O=tLbRGcFnBD4`4nn`-8ur;@twqx%1L!Gr5yb_hAj#5`8lENx#V-*`$VHy_e% zdR(XN-#&goxA-x=```uLdMusn1HDT$)g?1~xqMsQWefF&EM0tuuNdH_;5GdEyOCKE-AGK=NEog9Zxe1li$`v-H z9d~{cHJL>_ADiS=%Pkvv0@8@wxMY*g0a;^Vv0}M~4A#c#S-g#~4VgZZLU8m8hn)fqO1 z)HzOg{8dsOodM?3JC$yj(_n;(e-_sch(BIV&nV7~T~9zjKTU_vcsHjt6eNWs;B`Q& z>32XFfk^oE?N6wllUKGknuQcozi_bdGA3S4!lENOX_Ui|2gB7@B^nMD6e%% z$N$EMp#RHrnXZ5P*6Vfp{>^RJ%%<({4o=(G(R>2uUY)pb+DWJ3<8gZ6%!|M}|GWdg zIfS;}zohAR+HbJfy6>RZv=dPN-aCcg#tC-m)1^h{wRbWPvD2X-gXOU{JMrCZy; z-P>g(f7wR$WgFFhzB&5$qD)(+YNdC;o2BI6nMV1&On%qwobw6c6ncH$>NrxlZD(dI zT{?zxEhx}t1#Ee#4DxNc@0U&fWgBI0Ld1^mYiz@bRz7l10?*B5XivoKCs~D4-$a~9 z&_3UxJd1Z%dA97zhM;xfS~&@P*{yXCfCBceOj_8V5no;u|BKdJw~po3&5QNq_{IMA zLi^vh003>ye{H61#9wU0UrAd3)Q_vr@4x?k9r-W&y_Gz_{`IfZ?C;GNWF7r)W?J=> zCY|>Ox?TkUez+^C<#*qGmp=deb1qXyiZj1;EGioTK7IPMb`(7cKy)X{r7O!j(8K+U zzxOtuzALIsFP6);PLp|v5H`Kha}IMD2IL0940<*#&$w>@sm{}QoK%1lhFxyQm2fCa+PkdLOJa&K5g6RLtS16A!W8vAv45@60sd74%+mv zn9&H8cop_6dDPB(Kv*}FufU%T2{bxPWkz9<7>e>43fj0#Jk-Sp_`h|-(ZFTP-x+i% zod5=Py$o(zCmmiwI9iGLTI$}3PqR)ChpwMZamy%XvWZ;7FEW&feS!&^(-X8jQAc#Z zj3+v_fs-hN`Af(D`h`0P>rUp{{@*qz03yFj6D1?PGOc8A+A*&{pEmg>$o~|yg2u;B z6ta;z=pe356vjI8g7p`awG3^7{kq4J0j>@fygPRWPEV+^KKt^Uc|(w1Hl8&?Qa5w_|qq z`@N^LBlX7P^<-F|kIr<(gzx1EUcEDV?FcdDG;;@6avsTWwG_S3 zI1Cr&y$-fUo7o11bgh%z2QvFE$Q(S;2TJ;S4wc=fpQ!(X<)FIcWbhhHbnwEN1Bc-0 zVfDPnS9L`H)^Xc_?>0``e@1lnRcl9J8S2=*UOSX;Ole@EzH%AlNwQtfZ8N@E`JCz! z4?M=VR#1V#9E`eFpPIAZrv2M&fp}l?v;e{u$X=QDU+T7FOPzX8i|!y;*5@}0l`jl3Gx}-fI5VY+7EOiQ5{H$tNl?;J7SDq)^DRZqEO*Zm4ZwUT)}| zHyGr__T!CrF4wmnp02OmruFFcTl?2uEPHkM<;^$WtlOmlIVR{?+@;Ib&s#~*)8zx&PZ0QNQigdd56CK`s%&5+3BKQ0{fUo(?vP|oZmYTs<813Tr~ z6s7`(t>=|Ow&_Pj0If+LhdtO` z=%6HH*Ax$ja88CP8kmYprPq?DDYj7~0SzsXk9)g1o+-a)r-ap~QwSSiWCn1vz8KzX z%MF$dW8d_0%+Z&ToYrRgOBJ-;K-^%ada5*#o%8KTxA@n!;b*|Ae1EM#|(4U z{=yQ5BGLle##MgDD*#vrYqW1NBqO2n6c0FJf!N|uO@L?L7!BR7i$Y%R3sD#lZlNrj zZDc>-Kzh$3DDbQ!-za(%1W+0@pPtB+joOvI0LS+xH%sftA3^mAmZm z&e%D=oE_uyvvWE>zgb81&$hpEZ#(XvdX+}6lFg>=o2VuK?Zggtrd@;Lv-is0b@%xyUdU2U$n&wOW;#G3mq_v&8VfbaI^^uN71`Zu2voj&RNT zZ$p2)E*HnNynd@}z)o`KCdnIrbYngG$B)--Om?p&$h~`Q>W2Dks}A6<@4x?kU5;J+ zx$TcE{YM{tM8EpguiW{!KmG%*_n%#_0sue2r5%)YDv0yH?G{;{bwi2e#*G`L2TNH7 zP`=qFfXBzjZpmyx0JbFnclQ@xynl4F%E+or3wtkm6qg&v(B~GHqy#2cWfL(_!GJ*{ zzlu=_3#%D6&ANdsT6)R4G!YOE6oG(6 zEt?|n_U@$AjY%5EizHQf$BqIN-DP;c1ptmuFplEd3%Oh1y(<?T!Cgw?2nvHyu zk%rm_KqCs~YV~4X!g3&4!V8q<09R+>ph7pt!;&EnNmoRB2adbm8#8i{SO^Tw&fuWH zhb$kO8$GOU90bEi!U1pwd}K-j;~j=BD_+0xyYWGQB2llGL*7TsS#lf&XjH8UFsLAZ z^xgRtSeU8QADw6Y9q^Y?J+1op z(Tg~@Gj{?5k>ij-eZVCWVVw+X^v9M?tLBeZ_|Pg<}X(`#`D0#x5G)}Cq_6CKLxA+_5_rWyX^ zPOs^=1-dilZO%GT)<)!-S4d~NvdM#}Yf-zD)h4S`_c^8&FBAh$_E#Nzh9E%6r)B$Q zfzp-%6q>9Lgimjg6zBhFmxC5fl!-X53&c5ubeewykd@9$@l3fm`XOAG#`r_&S?YCdwI>&>( zweIHdR~UC&;pO+{{8Jh6FOGlt4ZHl;^tR)_?euTUz~v9T>0f`n3IO~tS8edElPo1F zL^Q~QvIL;MD?3h}pP&2tGNoh-0{9VtdJ2GZ#Xo%Z@V6hH-P!bOS#)2fy+VXBKtr*M?Qq{3?yvEe8Z0NjkI zwsWZ&$5p}~KwUct@S*b#v-j7*_@kbGpd6xUT2|c5SaAMK@aA%vmn0BOb_h|> zn~ax&r&`+RkcPiif>W9?0A;m|0g(s~V!nVEpLxKY0B(j7^>~jgpS(*XrceJG3^W*| zNUM&ACl@-1^|w2{GQtnCCiMxjC~JPEy&*bULy*PZRi!Hk|n&X&8w>roLz} z_VNeeTUYIuS_d6ShkV}|{3PQ@q6(|n^wszbnbnS%#b5<8jpX_*nDRv2O-(oFEI2y&!23Nz0GxvRXHIF~FZck%O#{STo|iecxjs_-u1|Y?IW%>! zzb*Xzx8C8N)e~}nt_=i)I_zN*dKthk_*a-HoSo`^GnQs{U%JV+A5|ncYfq5VF0}yb0-G9`{*m=Jqg>TIOHQiyX8+iU9Hyxj<}Mw= z$o{PJO4J4pd~kYyy|b?MSFwj{|K0JoI<%bP67Rp*9Phs&bh3?87CEqMQ}YpbHkzXn7&~fb5qA(obAgIgWRUj)|%>U0J5XNiwvtS$>tud)od@% zJ8j%`8}%>asW*?yUI5SKCqKSLUp(T?=`Y#qNWX2^UNPAmf6@_uf2V#OIktMin*RX& zpP=hi0N@9@@Fakr{`9Bvo8SBfKMVeCqyP2grp$dW0Q)PW|D^r8ECcv^kG}f+<2!$o zZLf^d!S_qq#qLP$nci6mt3^ix!_)y|1_d#-9C~JF{aR1(4Aoqjk<5&@l6@1vssx#+ zGrU`FcNYLMi+WOLkoS2FZX3xrVHadAg6v9c*V0wjE~y~e{wq<;mE!X0|AGeZCLHQX z04Hkbl&wUM>rsF%wL=>wOHT+8LGmYQ%~>ONGQu3fyB&x*3A06*wvs zNT1;`_$2C~zK;A3+s(@Msc_(AFlI;Ntkbcs;Qd>!Asl@JGt*SOHNnB}3?!n?`Ii9* zZC}F9M`2x)(}&SHH=`AeT%?Xf8c#QSM`4)MXRN1d7pIPl?P4ho8N!Bp--f9hOO)TW z1Z7Pqo?c%hd-DTMw{bX!{FOE z|A$7_dsuon4#C_%=ieRQOw#mqUsulz{v;f_bgfTg5RqsM<^nsT3_CzefxcC*qf6rR z&AC4=8}L17>+|Uzy}f@zx1Mf;H|FRIfdg*Nwb`Cg-qK-4AhTnjEE0qRuTC&!8R^vF z&~u83Q;kWF*`wGj&}^EW62@#*CJ0bbSXO3z8}C_g!S3as;skp@fb+Ef3IoTK|DEAP z5`lpNPeK3w=5cJJaJ!8SkB>MLOh@+H(SKVS*6?g72ph?F65Ctb<-g8Ga6p?{YQJsH zBl}9VvZq%W4=umz{s_|QETjI5B3|C_%SwRLRn9NBhF}D-2M6IKmU3CYfx~X<_~_o3IKfnmrKHO9K`Q__dEXeuYc`! zNjV=<_W`KajT<*gFSe^Mr@qkT0A)V_`3F~bA76-kep*6RO*7Mr<4eB5M{VN)P$ni8 zjA2Lxpn8sM!rr>6jnFk=wMEa|FrOIjK9aHMQr{ATvlT|{j!GCe2G8}5Mj~MMF4BtG z>hT^7fg(KiD(x-8ZASoFRAV8b`O7NrNo<_fDtRF|t5FRs1y?oqYkkDWw>rmMQP|why(LLqhtWl2)`WAbYBx92n32Y&w&GU>KzA(Z`emi7&E2&@0B)q0tnHxoW9fuejTRC!2jL* z#)L7V-;pEZYXBxOkog}CT9k9xrwN4<124EPsF`CYY}5}OJ!(>>a7ax4xPS?O4L`z9 zePNk0G>E;Wli!{>@&YrZ%V$V2B^ibMZ_xpiXXRaS^v}x({^sQ0tkd?}X#UO?);cIn zcGcbXZREYYUR6_cXWlml9!B){E3DZ^C%?fgHdVj;PDk_6;817h*hch6(Fhbe^x>L3 z9epPW)B6rKl)F)vglO$`AUxymD0~hBK=Ume#eu^InSTjO7z zag-k}@%H*B^m-Kl_yMls$#d2ol?&c`@4Yg@@9)Y{fO_6!F$8e*A2$P};`nbt05AW^ z{_>MkK6=+8{`=C)%SxG9zheTQLP#Ba4n^3&X@LMvb`G1B*pTv$9X`D>v5J}|s7-uC z!a92Z3`CTT04AYhKB`un_1qGTAU9}vB@@^hKDpLuX zp;Xs3mW=?9n*grqvccaZ5-1*_^c{(soje|NVN&3X?;@>A8tq)tZI;JLqlZ0fNGg2j zRQfw2HlpShqOT*3kzVM~BZ5RRUw4_aA40;3+>oQ~OYV6pFH4vSH@JqLVFUB|5-MZDet z@A%)#2{@$V!C)Ef??7MtZVnY;i3J|!j%F$qt%DFc^iVe=j6A?hNsbZWns!SgCLB1+ zt3k$1oB=fAmn1xRpod7bpUDRS9&mUK&YtU1XX;@9R___7Yig50Ex1AbM`(lwI|kFm z%WoOmZu@6-BfdJCzy001{l+$`f94fi;K_>gWAzjUe}<8JS!|+o z7j%0Y(dTDIgYA0mqHn6k?OTkh=XBgROLVippVvR z5Fl&_+_zhNntb_ZA#vfg08qtd*ui@nNiW4OfX@QoeX~C%pZ;$Szm53UXR$x_%>u7J z*+$d1D8+8qaMOgUIhStfa{mP{3RaO={;g!4ydeW(CLRbW3@F z>ochbr%}EGq(|J11Qu8d9E=>`G=s8ZEVOf=+Cw*r0revJM|)Ij)%L{^Xxxf7P{tO? zBO$FW36up#Qz@lE^^ifz^a%7i!;+v6o8vDrtHo^yOOL^o#21`s(U$b&(OdDrgq4u{ zuSgg)sqF@1d4%24Ayl*P==g)CB}(l@{+qq+q4gPNSP)GjZ$W9&Zx{er!@;l5u{Iwadt+A{H5BLnpew4K?B$APF4zkJ2nUCMijSRa<=q0FMdpYiOm^Ky+4;f8> zThMNbXLrdpa9};H%mZn#yq5$yGJJ8mNEywi;|scd{tdmgf2_yqwbA@rR~K~h#AI+Q zV^t@+QeSza?Ql<#jxvk7XwbIy_2!@|76?EPRj}%`dM2Hsf z!=tIS&KRvX8kTayX=g{wY^j`qj5G zS9bju-Mn3J8Mp54Z|nPeE%Tp40{pNS)2r);xNLeofBf;sc_v#*1!_g%edK+L!V3tL=9=7o^Ns*g~>W zPBeJ2(cs0F|6+Sz7TsKx^k9@{lNUQ?&snIe?Y)nYaa;3WzL)S_d0zE?sqZc}dR*%7 z3%y@%@5;CG{z_W90$rUhxjlb#dV~JW<-fKWRm(Q=f3g{N=iB=ybnosLb!NuZ)t;mW z3gMQFO>&@7UVtP_zu{d~D4kK0EnUeXh-v&iO=kv7Ke{Se#LdLpw1H$!3<^WpQ}uWz z2m2a%3I@2L6QoG}*VEfZgOldclCW*)`p!sTj8W(KcjTCnE|G08FtMHt9}$CrC4{lL z18!m9<{T&KYwz4*`a=e3OM9qGfXtyx&Y9MvE_Kv9!Vf)X$e-JQr#K^wGaL`Suiq>< z0lyDAGY(h$Tb~5_yi3wChy8YbF(Z%X@D8mp6P_tOr812Ft@8yP=$amI;6m#=)nnj@ zJ#^_*Mv4qaXpLp@q%0^CX)B?t5}l0Ky*XecC)j(2VEw;2__yff_>^wmy5&de?JOv- z@YUI924;WkotD+6-P?wHL^zUf&VB#e(u9+5Bl=K>mXCGi5nnm%;JK=hj@z!kkS}II zf=CzqaL9q|ZI-^C_?9J#&koX)7^3Z80z2g{G{p;famN1){j+zJ|01;1a>n4p;omPU z@<5=ZhZO_ec)zy1YlKB{^iPkU)KUC0nqM6KvJv0A&mYrii2+hba7gx4>Ke-B) zGN9`l`+*Pj?V0bNpzGBPfIq&q9P%UKDptxcY6x2xUCM~yWqkMz#IX+n42(cW>5oJN4!#(yC&K_0s( z3p2JV1Raegiz`xg^bARoK@|!-pnZmd&(fIylmtz~E3Jj9@7gZ?Ixhc=IQX6?$>mC4$?y7Q#`^Ad_g|9-_wOVR%32ClI8W6QfK@Nj1<*R7~oC`Db zI)y3zPX}!D5g)}CFsvO8#Hp*^@FFzD)HRWKhpYZL6~NG@>=h3NhCbK`OfD-Sn&~eS zr>=A0ZRtyNBp{I*@;Psm7Qq8apfcqmO+yLv&4e0F>ZRxxtuGVW9|?YRUc>1LN*!{L zk=9O&Yv3k_sWT=C`$xEt7cPAjHU_u6AG5>sEPgG@wR_b ze4s#VQ!yiN4CGLPgWIVnz!xI}l?o%^+Guh>MycH7PT`ctHf{fu&d%E=d}RthuFof= ziQe{m@xI|}>+P?bc8~WJkJ&S)AM)XMk~p>x0}9@wy8wW<@|+#K4Lwi*M8XpbW`hU) zh41k5;0(+4@6q|3U3r8)<6-?H%AS|e(gQ3V44zeb0Iv`J9sXvtBsv&i@Onb8M9`+E zm89}sHXGr(_L|j$_m_?QSN^^6lunK|=l=LXU7KGv;JbNrzus?`@t_MJeYGcK^`79n-|FNm|<=+MHT2!V~huh_%>VBYgt%ch&ZZK-P5$oF# z`wW5wQZj{Z$Mil^U};nC>-#10T3Y+Ps9x}s2pqqd)?eP0r2%zGfW(Z3_N*iQCDST? zveu&XV2VJ+A~7;w@!HI=tIwEEe=O_KuDBv)a&tq#oc%T{fW7ONdYGBrp=X;H(%wss zJ9&Mi&!i{nb$tTk>U^}5{pReiM@O=a@$oh?NmpCF7n@{wu|fS}8?LwAYc1`NGAQ$a=i)w`~a7zv#sk!$|ivIH6|(l zpz{w)0E+W(djQnmwg-R(1b%hz&wu-0f9;Q&yj<`K) z1^|VVTBDxZuPe>m&{ty|ys2cH>+jPSE8W^Xqla{(I-SKRJKox)NHL2D3#b?d+O){- zH6z+!G!Kz|d_W@xjPJfDWuv<(&M?%wkq2}N96nQB4R+7tVo-4s2h2LkfqEHstQRCL zqV5J$pUz+lIIRjaM%;`~4lI#$n7`oMyj9tnk=SZsbQG*Mdi{Wy7B~A6C zE(f%7j^f~AvT%mQ7(8gGC%(nn2s;;||uI_cNM1lh$uVMwdACk%W&Y=qPA45t#sWs(A1YMh~@qN$l7Mrx4|7j~Xw| z{l`MJ#$N={-qc|FE%*}n9}FEYgS}M!$+-=h`f?_(-#tLt)h~gg2OdCBNO!ED1wve& zs`nrexEKRQffG&nU+8Fa^iT9Cy>_gguGQCL^#p04FMNGINw@i)IsP{FUSKW0Iq|D+ zzE=`i&>+_4XGh=HH?q#}IgPL^1Qx^42rs`~JfO zYv@C7r=YmuZ+|AAy-GdFgE$>c7jhePnCbzer7mqJbL^MJXbreKsL?hH&?n%^cOuEZ zC9mnPxNE;KXPqf_|Mz+tpzWKgC*KTEVyeIAk#@9Sqft2jZ7%?+cJ+F98-QP$i@yZ{ zYSpdn%XEHHha=O$J^qSEbLX3V)+%*Lj%>n``Ua@hXw|KAF74QXvh-lT8R}QNMT!IU zVuP@(k$x_`dvUzu7h7oHa@o=4>o?9XUp#%be)!*c^Xhm1-OtxD#h8XBKR>T=gDntHjsskE8G!8pz`6%OWs6TI1IlGH%B zT=sN>kCO2#Cbvv>7=z2i5b!}Nm1bh58E6C51jZszKG>j*^Tn-74uwFy3J($?+^!V- zO9(qF$DDr?Xm#{o+J=4#s~VuX9*aYmSv0dM5(S9 zsbP3wK*K@lnE;xVDWe}j4J?4VP4==gjZV)DelHiE`^))l_yhztBY0hbA2Y{}VLtY| zz@4E^a_j8 z_TuqoWNr@rHk$v|Hk$w1)dd|tZDlVn8ZV+usl2bY6|JM(Mt-mI-)sPV;or?9F>gp+%z8AZz=%2Oojf>W0YS6>a3&m^ouPRc?R$ z!7jK5TurC8*rxcNk(vE%BPHJ2;)E_X3!CxJ z03#$9p=^9ga;}XZqF#xboEMxxp}8QxbiebDaM(E&7Kzg+ito{h&a!~f!9dS!bYgHJ zai>rs>U5-vpgVS82406bGZ~p`OmtxmFi8v=p?NLQ&fd0(|MTxYVBtau^Yx^#XBopC zqP!Y{I-aKWR5`&>3HNwW=6@7;9aPqb1tLgoq#WLhi&mmU(E$<1!+%c^u%8@h82I1o zgTBLEd3h>`%Q8Z;aI_VZPRWMvUFS&Up)5<`XR?t+SXav<4T>|r+bq)Cx8A6u`lqLD zt$uO-cV+P^@S+y$j=qh)mkUSZ!*R!Zp2FWY^J|;>`KEj6sJ=GpU&~&52jB1$MU7hWh`61;lQDd$nH;KxHwu5IFmK?#>P#{UyX_R!_>gk*s8WqDf~gV#Yf z)jNfMcJ&VVq!vs~FT0Sv4i)D%7|120!*x#lp`s7LpWqP%z`mvR`S;p%{gVgVi2mcc z+din*cIVvcCR-N@r_nyv=Osq{qj5k)0*soRlpD**?OT0on~Kh^?Nqx&o0)?eG>s8& z;{&UYQC};d_T4t{bC?t!4N#aP>Cf4MVFvX+lWv5 zb-#RIfndM_^)gKye#<8m!3b_PoXt@1?;6xFoGoCnIE{jSI}JW8WiI`n)iwQfYJXV* zP=gA9^iFoF=fy($FN4r>f9{1O$;JG-Pw-VuG*#-9OhnVgdx}08dZl zW*be>TFg~iRQLsWF@jrX4nRFt_nZ52*r^(6+dsv?YbOCb2`rMqW0)ZgI*UXo8_rlS zAcsbgj|hSSm(HPxbYSFbyGo$kQgJr2frRA7w!=i}x4m;*x~q2{ylScx8#k*eP$D8@-Dp1BY!&38zDa|hl_}%d7 z`w4}^G&kl)EXQ6ugokQ>N~2d^Yru}<%M-VI_~s+XU0O3JgWh>mTmTuSDc1%3$q9zO zlipb0>pQo1PC|?WTR1oR5dTlEgs&Tm9h~eRsCU{!9#HyLo?;_C=;s9gU<3&Jns(}y z2!fZ9tcUkn{wE>~HhcP%H@5}yNZ*UFoZ{r4);0OJ+iv@H+I|_`KTR^jL~r@Ezrthn zVsyUz!1ea#)aN7h`i=O;;D9;vF|tn-&N4yJA?|QHNW=aL{oH6&_oiW<(td$m*K;8= z-kiaK@EwvVJir%uudf50w%IpiWa}Fl#|9V9sA+XGjRPGohvVhxa{2a*ffi>e>FH;M z9Hz}QSo4>-dK#7W`M0+b{5xgZ{^kpnv0t!u(ae}AKJhIX8c<-`CIHt)Bgcw99I4nAy zi80|Ta;tgM}`!*6hDx(){`%iq^8Cet=k{3k9K={LMQZei+era7~z6G zd$`gY+t=T1e;*3bcf^1HBww!r06);BN~QLya(-mFwvqdgnJSiGBS1MjJ1fTlme=d% z{4Zq&z;-Y5Tb4cuaCiUglOG+|bPnSjSp<`2(8p6DiLLe;(DWL zHh@|&lD>DK(Mt+FunS=>%L0oAmi0L=^Za|U#Rgv=f0HEBG4`vM*c*3NkZVTFz`PGpGf3G{oe?bnU>%C!9(ZKwU>^iMb8qgb0?gBX67?C9fK{A$pGv%eQVGH*?5 z^KG;ro&8*g$+UDwId3AR?*x+z9a0PgRUQ4~ zZ3O@7F}+r%>@VBj<>ut?W7@u7&k075?GFO*ogA=HXi;0K$=UV}r{=qZ8zh0dq&r%K zZRQif#*^ea-h%YL>D@$+nNx2%&~PHK6U-qNiqZNVlw+gnqEQADyR|HJ-p%=E4mi9X z23lG@r0Exqx~)F%FF9|}zXd5;F9G{q;V}_iM&(y)HxfOaAj9J8`$cg9+AUC4YB!;J zWT0pOq8=xxePLJ9Z{uL=-EEBQM`hi8(agN)?qBLBXsFz9Gf@JK#?b{VfsaPG$Dw_z zy<64!cg<6r|9a@xmVR^m<>{8_@%CYJs`%kX;|H6Zez?&3h?b+rbj8oMMt?yUw=e14 z8<+IsFZcAnua3`OQds`eb-fAz{6LrWY&$=4dz4Q<{Z!t4_uXoIeEH><<+IpEfamAu zwsU{|M>hbhGXV6R?E_H%eqT-kI3ZG>wRqjMU-or9j_C+hFJSfJK^w@8(f36e5sbDl zr*%ewY15FcDk%`AcE$R^{uvv?tZENNnig=U}_^;Zb@m);V=p8m4#L<6K zLS}qg5W!(-B%oXL)Qw*o?K#?=R3p1C0RW?9I&~E)Ovb+3C7iwoY#a`!W^hM5r2~Al z>-f32=vb)nVPxjc=pL*LFgzLZk}KsNkN9?|90XXvvP<72&sIo%f!U|zMLDLl44$?H zBra9Ztb~rtDC#|>c5VAb+BSe&Y*XV#G2$ZKJ>e^v-WkSmhQN#mFi&(b;3yHwoeu+k z2vd|in!-#Yg~mX|EDe4>h38ZaN!e^PhcKe_!4z5C<^-QH|Pw$c0-VHXsKwr<*{0HTvuonncZ zV<WHjZ6p4n4Vr~#{WWCPLN+65q`B!SA92?_7I-i_iv4}aoW+%S#$^|fw|W(5 z!!zIqC*0vDZy&?m*6Z6EdItI}=8Q|wvDAb!6k44P*Gk*E_MP;%!Yz@`=#OoXU^9D_ zqkN_A|LqL&>iiQIgZuxh0f5UE0C={$qN6XjGCmUi#jpOEU;A&@s{p_cchyc@P6GJ& zUA8tmUf`1#{l@s_TldMIB zF7t_wr6}9y^z6mC8;{4wr!9i2iUrSlZTXW$oZkx(1_;8{Vw8!Fv!^999KsnU{2dhV z{181Li%wfPlx!(+P{TpMG~jRqGNXYi0Yg^cimSmY0f!)7fM*AQ6GR-&9MA}bnyKM% z$gF*YGEzC87cK~EcJK*kASB+Ny@MEN%#At>7UcKcHM10<41(T7kkm$RbGeuv-{C!S z47gL*hBV@6eO3B^2YxR<>xP1y@XV5l;1@Zc6JQ|Nxso#tzs-gz90Ql9F6ks3P$wnf4Z|ii3|>Zo1qoXeC)ixwl(`099X+u_tl_n zMXyeK>#N!6k3huyI!wcUy7*u8y4Er6(v=HmW6a9P4))>A;q2;X7#s?Xp1(QzkLfLXK(C$LucP`lZU5G0 zDw?BTulpI(-j?u@@p4<#+R*xUHDiosyR2y9QG~Z;9Xgr{IbDuA0-3gDV|bl@52 zv_Mo~p%`>3uoY>uXd95ixpXFqx2w%UaQembLRrpR8^#g>%OpNa6x-8+HOw&3!ZCnG z=pWMM)l*u|p3&9DTu<(o z%>wuI-ml^W+`j_Xs{p_cce!ZToPYZ8!w>1#zy7t$mUrHHN48*qirIRVlK?8S=rRDZ zZ#wng($@U{kB47=@h|;&eSA~~s@t~1e6{RLlwKY3q+~gqEEhB;^T;+?G2!Z!=-|yN zHsgj}lG^t;G&4kW;o?n5sN6N>%H+muG8V&r%u0;NHh53=H4=tEDXEOv>l!CQrC0ue zo&NodRiv`fMK)$x?lgd4M6X5cz2SlH5}c~M%~*lf4xFSfKSB;U7pL|@ znnbxsX9jpjM?a-C!-B#{Xk_S(UWHA9von;IpJ?VZTR+GY!vxS%IyAz;H(;#~w$bhp zKN%~>ODI`gZ6v}*&qvr(R*~%dClt7oXW0A2sV0cOF>|05F!uuCx{E<32*@H6^YAf-qYo-oCI(ZLq;`6vpU$< z)0lB5jFz~xU>$)BsBEo9kXx~4^sA84mth`~=wKXcj8-=eBP*9^uuuEn`B~C;6;EVJ zZe^TwMlOt90h$0@Dl*NfV0e#$4i&S0zqLMff#0T$@-~`vyp?yUl~EYUwZ4GVjAAtW zlF=aKX$x>cR zd}cgBP{1N4Jl5_G*P#pe(BZWw!#kx95s1GTqdH6pb_Wx!JLG>9;bsMj^j#nWjf`MF zCTX456EiB0cen=*>^S=R{LRt7dFxi&gs<$jzdMS4szns%y>7y%^~MhStxaNw{MASK zZL_^JRllFMU-H9R{`QSh*(BlQwf0xJrZ^(2I`5jeyS9S_9q|e!+P#~mT~dACpG8KP za+6HI_s_FB;~U}*GU6r9d4dh-6LP_H)so?Iy30ZMb3N(TSl;AWlY(5M?w<4Tqe2%r40RT9=aEXAw?) z2j&;2(pjBV!UExB0M@|<eLh zobRxY!j5BrGw^4~&m8qF2}VjZW~EOnOB{%!B~GTwv(u8;R61!tgnb1nZc2AgFBHKG zQ5xa?1WNykx6MiwiIWD1p^Z$2hk`ITj~3Qrt^;lhD6j#p1868Rimbi-s-6TO<*$qe zmbFD$^J%90x=*a~gZ_fXN?eFWqTF!sDUIhStxGS`3 z@C}!J0Lt%o-g&140qXnB`L7?#41lr}K%IZ-@>b{H$}O`890R5mZuarm-I zh%h;u^fOr&iXf&~rBJzx%JvLKvdV-u-rofQv=%ca7w%VBHHFE9+7gL_N+^>Lzence zMhHklR~q8t#TBT80!ZhdN)yT^)SF0B>TS0>7msTuH(s~Da(*;Ff7a^qeF!);SyR}_ zM5?J)aFRW>NT$UBIuWEJphnBcZv3DTs`@w?4QMDJFcGYX@~l5FWrN4Y&}m}uCb*N4 zBu#^9o5d^yFvx_^9)|j&Uy}Dv-Ha?jMWDfmaHO|)@QH$6HZqtEKuP#m85V@eDfIWm zC>#yS;IAYgOv$H|4ltpOmEZKN=G0g1F4Q@a zN(0J5((`&yVjN}f;*IoDfDgR4KAm7jd19GUe>hMeALjp9fdTT094+z6dF2GeX z|C=-Kfjwj#LNOn0KQvUw|2A#EIQKVi-qPpW)zL?47*3_=wh>>9x|`!|BlCqA`PjTX zEq}FlD;~S2=|v!b5c1fbjb7~@Q~62zUoYnZ?L0D!)8U6e=}TB-?##;dX@Ot+va@5& z3Er6_jJWjI?Axr|>#mnN$lCW(9WoC%+c(zEm~m2h4!rO2FUOf)3h(R^&^tt#elIJp z|D4$8__8|s^;o@aM8EE`fAbr9>+*4(wokS$e-C+}40P(tyL>!c(4~o|uyGn7Du=6; z7PgOx0u*P9%bxJgh+u;^*-roUR=5)oAYayE^7|J^!luMcdwHCDdR9g>Ltt4r!o4m5?u$VBHYX+6BjB^tZjJ zc(1K*y!g~CZcS*aS#)$=#ee%&ldi-*0#)O`YRs&pYx^rGRS0wWy{~uT?Jiea<#o;f zmSYP5Y#hbg$iL8&4dzGN{lV7B?rjR=-a@rTVx9e2^;0L@^p}Bnj=}&)3zxmB?_`Ubuqt8D3%(R@`zI}Ur^ytyDIscy3 z{>tdTuK!QR0G8|V{^IkucgHQmW-VRGRUJrOZ7WXQ(A)$ls68J5Vzzz#sD|)7so0zV z0;5p#gW+vPzdk75rQmM;f2b@ghLZ6vXv7eh(x#qFaH0~)<&?=-ftw{xS>LM6r@!hGcC|4u6KzU z3bo|kh!b$ylX0AJ5Xy9u^fglk9Xue7mt%c8_Ydy+I#5yD4!`xzf0RS2Kb`7CG&;-G z$YgfB`wjjvU}#K&w4e^_ky8!tm?}g}nbs(m-1uk0QG2EXj=m8z{qCJ^>)J7k0G|y> zG)$cU1dWF6JT@eJ6*oeW8psHFZ>@=A1XX7w;924D*&JP;_k==(t%b8uj1FyW{%tzh z?qx&1vfKXojkZo7;WWRjI{8XR3!I@N-XD{fM)XCxHTt$Ae=Db@S$*(vzuI#I6TCis zXZ^!qNi-vCAMx2)y_45FtJtZgZSyTI9QF3!lAZS6DW1vhgWq@tH;rX$zd7W%zf9X_JXY@^^d^vf;aDr~3PU)|F@=3q##_cN;JfmhWH#r}oL}FepFn&l zsyWzV78<)l&MxnDp9JqqHi!~C+q)c7Ixh|(CFj*H-RDm5YnL?uB-kv<<>DbI__Z&-hTTUqx>xTO|Gcr+t)NA`}Qnl^uK)DoS<#= zf7zV>b!o@_Eo&L2d$hf~zbT9dTfS|?e{=pzKtL`Z(X)*~_hqKQ=KO!K<^TI1?dgMG z{goU2FW0L8zz=ve-x@aF->&!HuS)>xi#vDj@WybW8v)i!j{+(>Y4uQkW$PG}B zq&|7w6jIg5yUCI-ajJ}QW%H>nP8>T}S_DEww=&gcGsNWO0 zqlXZs8C1D^#joFdjOaks-TPExC(DNPT5Wm6Y5Qd(z8iY9UePD!ggHtQ$LdAf#MFBd z$?NZZD!v6u`%(Sad4CKNkUu*Z{wx6-kv}J=)b~Wlfg*G~XU_FuM;80R_1EDk?2`Fa zkPqn~OfRpG2uH{drn7II?C*mP(@sS>kJWYEvVxS4Wq_`N2l;;eac;e;dn?if3~-BEc4 zzdF>ok>5fRPBR-Eq|T_~vS@1y>=VEmJdg^g&IlEl+1dJuFCkcn82S@B@kWcqh(v*} z&CFvCc>NuP`tw-<(sslbFRMBKb@qg`-SF&`0oyIB;_1N#rX284>xHA8)Rb^qAv~c* zMQspL9p2<|Y{*ZbYa}m!5cb(5A#FHRUm2?}GrGQ(i{0&FAs2C99DUhqtC_mra~;Vi z9nr6&{>8yBmieB$7n?)RYn}eTef!VY z`?p@pjwDSGGh6$_IdS4fGRUk-R&lD>tt!<__Dpp(C3qAPLHT67(cM1L;Q; z^Hu*s7w9Dc{eo$TfFKMYAl2QHD$!7Kda|ckVzS8MHG*+DXD^%O?)I5|w$?f)f>qTS z#MD{jiM{t)zTC~t-OcPX^UI^9Qf>GDw$p!$?|<7j{X3OMPoCZW?)?1e6M6LTncV*3 zLVmI2`u_jzDEj?n?|&1n8wbE|@nZ1rCjoTL-HrnMWx=2!pZ_Cpy4Q5%ViyX-Kx!#K(KgA!S3P!0b++ogT{hS8v5 z5Qa4ofG=w4lZ({VO&1zdmmG6H5^$u6KlRC0wlV8N$P`da&%zMlM^*tp?m?)xb^l%H zkDUxj5kX1p5D?Uw+?l_Vvqkd6h(814%NU26$bX_ebC(8gwm}ax`uB}sZ`x#>mlQC6LSLN>0Qm>5Q2ROI#c;}7m zpnC=$l$J@YkBHRzN;OhyePJST+WfuE8Hvy`Mzrd#!OQKpcQJTY{Prk6=(HDbSIBSx zATG2werxR$b@WT=zmXz3y{AGR1|!MGyRP!3y63yH-$|%J*i{+ruG<%|uSC|-%cfne zXJaQFwRp&od@tl4O~K5*Dq?Pk#{gV+E~G(vwVis}<}2C@h8f0oi6%Q8hr^+7xOb;d z+rQs`-@E_XHM{M%_4(ejut&-)`5PeJXs7+v#(QmJK92IkQQDmc0QR1?T|G@JdrsPU zJj~?8Tg%2>&31-S+gy427*o9HT_FIVQGDqkg9y& zYu#^>!YlX-*&VznW<)x=R=NuBTm}3yP5rD7x6k0{QB&DQ`zvixvz@$ief~IBudUC2 zOTO$=`1|_&b_DbDn%+HPV_Bd{PMwC6!OLUtkNf@mPysLzB2CyG==)li0Av!&PfaKo zAPr7@|D4hwiB0Wj-9YG)Y_-(f>iJDxR^=&8b%!4H$h+d6Y61EDIjxVw6N%&ICeOUv zY(c|{Pr+Lwx~wlV$o3jcnI`*J(H982*^Ymm%|7a=dyXD<)mz0m>mW(O?&(5Eo%gF-%?>v{2 z2hZixFOKqWmXh8Zb5-Q;;dSEx_$^*O{l6at*#4Hw+EIWqR)HPb^R^M-@p!avzWJs< zr$78|8v(YZ0OH`kKWH-m{>8U{^_&02oBv>JZr69IpY{24DW`hU4f*1+?{g6(9kpU? zQ|GlF7O9xJI|E5{Odx>s(uTNIVKF}xZ1ZzYLx@0`lc3!lg(RTaJn@1HncavN$tXX0 zZlOSmpf()+;)>1%?a?fz<*DEZ!9m46dm>NtGL6&&c9V_6LWS$bAXdvguCsU=CCezL z>8~ulH7MrdBUhCI=GS1_R(!FNR~kD#k7=tK_JFxj+3Nwc59G5)Z=4z`n`_;UJf%He zA@HAXU7d$_+Q?&*R@YC6Q!w%c#)IGX?^?RC)q0f{UP8C@ROdVHCz0qIqM zeiu;J&M$j|Y%?WXnl703!LhL{(d*0Jr!v0rQGi#2ZYgxt^*P%-cT3!%O{sqsIj&o| zcO^Z>-&0PbMnI>f@Dlpa*Mn{ku|&@R%36uM$C#Db@p8X%|SIShgs&eN^C78D$xn7()@K{g5Q@$IG{+(Hz*f8+ z(YKs!;HHAt6;8IH0LEj>{u1qmL6Nj$sDvG6Stk>!#9%n7CG~NxwQq%v8@9d8)8YV_ z?6v>Nldq(OAQux^XBkuWRgc=I`7fYkI${d{v42{h;y-}?y!@V~wzj|RV!lN9=i`#< za_QL5d)g)4(mgJww&s8NT+%;Z!2i?b+cRlSfD3uLAlvVjcbXGmaR@Abx0icQpFESV zmptw+dHnT1ILdp!UjF|6ZT!dAjRWAfe6d0M-h1!iG=M(pKKtx5Z4Q7H_;1SqI$m$z z+f0B3{41va^CrIch+U%BF!=_@HKq1)zzzqs*4nkcd_0&Ut zo3Ih;57mW_I|gW;y-hAmhOn^64blJh@66d16OBI$c+=H0*S<>jk;?Eo<0zCP7L!^k zqlnyzRBtR*k(J#W^H=g$`as69DveDieS@sF326nIQWO!h4*Q+*h}{_i{79>cklqgh}aqcvVuq)z*`eKKg2%AY5RS*eQHMs z^nJH|lc+;{r|AAzW1r8C5!v6a&4)99KgV||PJ{sX&W5oG-w@2B-8{i}ZO>~aA8DDT_;?@B>v?(QxGkE|wB zdX=O4veTz^_cIIv;-3ca;?s#5{|=os9{C-EuFpagOQ{~c(`k)$^9~M&+#IrEBI07H zpz90XHvo0X`&GZHmtFT9kP)r+P5;WS{-PChPvW$3o>ur9Y4NAY-)_4ZrR~}HtWSti zG1@D@>tS%Rq&VjG>F>2Kv-#2k@X@F5hc1$!z5PE;8B7pKhrt0A>F;oTJs+bP70?Dw zdu$x-q0R2KzTuc$e0o^a$CEFX zyO&clxtB=(@zc~$-=Z6LS zAN%K$_PHFE@6V;}=KpkgWBJ{d11!#fwlBc*?hJS?kCyjN-+nGFUOL_3%0h|E+nJ)wA`vA00 zp8?R{^<@CMe72JS`_?0JElBItFT$2i}2eew@S6+ zjVH0frD^ap`iy{(q!8`?a{oOG=echdtdy=4T|Ep?%_&w#C`2fojY403!(;2>1w@#{5Q@6Jcq+acZO!9Ty&rL3tj?_L zpSpHHI4LokMRE+s_;4DGoNG$PW4m#3a;tB?cYc0%iQwPvp#T2;*SeFjI~pa&Dg-q) z;%ooR^U=qY)M@(;@&Wjdye|J}G@*%m$yRqB;@v*#i`jy~`XuC|zcp7Ku$G6D zaS2waY`=J2_nvr~G^yj|MTm$;xyZoQvq*^l0oWxR0Wp=EUQp!ebRnYM?H!_XMAbzA z;yMYAG!K&Md;;lS@Wf^K=Vp$lx7P@uSlz*2lRnklxGwl4hM?o;W(JUAEQsI zKj`y(SUrS8Vv?k--CqznmLP$~-WP;t3#bQ}Eb7$09?*$2EQUdogMR>i8<8eCac1Cz z2BCL`?vT|r_!->^DkbDFx!gh)=6%W`_|iF7Y&BikbL!o51n6?CsRt4?b)33Yy@3D4 z<0jAlo!(aa^3&yZ+Zm%p>OGp@rti1t{{rrheM-NB{pIhl{Iw{*PD`3OpV^|!4nFO_ z{hcg-7sq3F2wWVOyiVG)@qYX7d;$B9Z!f=>Xxz!+xm-TF=v)5%$-9d~VTt&E_`b>e zA0EAye>*|`-+=4J0q|SAbY~O5<+69*eYYJ4*uOt~_^|B*&@7oIqDlu{qW|*({wD|j z_`_)c{rh)v@yY9Y=#luvBGcvq>qh}=>6pFP>?FiBM_u!SzjWksOF=kRpT)l5X@Y2K;GY zs<09+rSP&0O|BJiOwVE*$^Mm&hHbx2R%Q*-VQ|$2v!h1**%&e|IZ>71XK_jqVMggP zdPHrmg@h}~W1x(rG0Q-SP!w*G_j90Re^9OMYs@tZCrb7|$-F{l@wj7SGU?&(Q5}q3 zla<56<&TlfSdCrGj%Wt;w1D{r^lvXfzaOi&yW9SFw--0(`uffy1E9A)&hees-ecGN z{oVF!WWT>(rv7``CIQOLQue3u2wk!51dz>F0l7N@1!s{#G{3(z0y^Os0|i|SuKmIs&5do;fTwkHxYIO~z1cC%TVRvtk#}vF`7n ztCDEovS7F=_Ed)q5?%+c4(5CVJAZprbhTj$G- zzijcx$reC=Xwm#0@ptg=P5`XuKP-{_zR}+j$+yGey*~IdfaBN~z)qIW%Q0J^IRK75 z%661nr^~nJmvY&c2edqnGT*(BThmeQe0wQ>`J+pD?a{G20DkdnllNNW|3jESFOa5x zKdu`Gz$>`e3-I21@0l+H=wlO`0N%fU-@g6!Tf1}Tj(zvtcW!Qqw6*{3@~A)F>pM5M z>(h%TAH98c-gn+;f~}1fI~XLH^4k3n9dl0i4*`>kDp1t`@`jy2$4LPF(^z7rZ6=YK zj0(4DLc^yG;n9VPZA~W#$P$V5T#GHIDWXHD2E9Z0ww*|t5WSqO6rgJ(M#vkT*0%sO zK!N`F=@+7HGRB-o0p2<}D?8B|8K@z2jeZBHTqy%;gD9WKtj}c2uoZ_2fY}&m)lAwm z4pC@@TWJ{W!BUl^gHIeN(SA0#Na59XH>wjGAluTQ6q(ATwbEH4{c}2yQkkvQd>V#K zdr7C|g<>3DrD@Ptm9Tnqxgk zU%vEd`*+8*{ksdm?`!oJkl&*DSvvsk8qH5IPJgqN9rgpb^R)c{{31qaVx2zT6^ZHp zBDMlv9PRgZ-|5WPf!_i=8EmgWX|&5K-zx`CTvdK;pX!!YQdf-!Jf;3B5MA=b_&3`v z=VhG%;Q4??w#nyZuLRUDlNz0WzaBf8OAhxOBb!`pRm3_Q(XAt5uRpY(w=U#CKUVK6 zd9XzDA71!(eJp2fwPV}!d-7p;Oy{Ul;R(XC8cxV=1Rn;`y0;)It|W)>{Q$XZETu=r zldR-`NZ1DxImJf%XW1HZSzJas_s|B4Bk;6Dvysyzk~`chiF+m0FiDveFh$?nu8&Wr z&Db>1Sx{yKD82;!79tsSi#7UD&oT4Tvl~F&%gKDTZwDVv1+&s#!9UBgP2j8;P6z47 zG{fmi{lXh&^5g7!3NVypfx59f0CS#*5VJ_3$7ai;3tQiuQxA`P2GxC^0e{r{iK^tj zC?dRJvJ`Ui9yZd2cvNZtH~|a|L(zNlZ!vXW6TnN@K0Z$UolzMfuHs#sso<_58_|E2 zTTA|@^5|c`_W169`0ZacV7@fL#dM;+et!Y`hhqaJ3)nv%JJ6S7i})`f-hqCb3ozZf zl;=z9oL^kZv*q(d#vGo@z8qjtY`2$tPml8S&XU7-N4YKIy+`LqdG`4%f4Zc5{WFsf zm$aWPCI589^7JJ%%HOB!#sTmOF2dUVr;x6C>#et1L|?!D`s@B|0snG-er`{mJn0r0 zHUM1G@Rq-Jd3o7R0+@dFC-KnKXjWPDB{rg@B-_MC^twrV_sD z9?*9ufN*V)-cgld&e=Q!$2=@=uKlzGPK(qJm$(h?YCL@)UsV$S?s zcwQy7NLNC>{JMXl4Cl+OTTfk~4yDwm47XzdCms6?$PTC{gGb5A1P^otZa_P1_$E@7?Pg@7-RUunp+9BlgDn{FDP|uW_s%qUyG@+dgfi z=TZ72?YxgE`@9)nI1J{Mvw(nJI1&W%D`|@MCg2yW><0OIMp2a;gH=~NH|`_Xj5WX3 zYu&G!MetG=hMOQ_H_4vE^JTK%b7It@UL*i&>UABt3@TN&g2guP?@*h&ggZEhC&uGn zlSizlL^g6U>%B+Q&KO*m=bwuu(jb&95O7P#F4DoH+20N6+lZLWdCEuNS$~F22r;-1{=C1YIV)olt#+D7 z;gbaqsJAIOa8Lx>aU@v7VJsQ6nti+>f0{^JzMEtr^@IndK{0-(O{i|8XuQjTH}w`A zWlsV8kC$j#^4%|f@ATfE{Qo|-xkd3?ME|%r08Wk# zsmN)Y&VOvH_1pCR5zTMl{bagaqWbd^tYAX{sJQQv z8*5%&PDlOV%cM*~p}|}3i6g&uACjd-A?_W%ldt8j8|Std`seK!M_>0f3;@bL%I18B zFt7L6qza%}E+ytG0T|{%0^C#-LQmH~IPX)U&1LK?*)xW`PHZ68_r&{$?6)Bu(*}=w zsg?g;(`l=dAa-g~>Zq%ywqhbX1JW4Y$?Ga3n2d-#Mo(*xW+wo6;gN&@(88UUI_hfh z2~7>P4VAJrs+D(n%=7Ni zWjLZ=cGI^tz#rhh-nX5#{h2?1MoYS5fI6UDjT`lv@vp)2wXRr4d2^~M`Kni9T{WMt z0reW#ZUF1*`?Xi;qWk3_ud8M%tbf1A8F7^}DjjZ>?(Sf*IcVf}WKR>kl!HV!!$x*e zTve|<-te1O<;O|RPQH`-Es}rvNZzsq;Gccnzu&)jKE~Z*ni%gHEIHf*qI6bt{SDV$ zy5fh$`_-y|0|@;FomXS5a~sxsk&8#x6yF6hN+g4D4B8_{r!7IhDc;uj4j`|R06%68 z*s#GBV4s0M?DMfm#D-pW*Nb(BLHCs5P)1$2X?AOA-rMr@*KeF%=7_Tv@CiTrZ$+t{VryZ~M~R2cVDG_uqftKK$@QefQmW zJNW<6kA9?|efC*RWY=)q>OTr+kXPWK@g_EnwrPE$0L!!Sd*txK*`EdNs+!v zM&D)q3`hQH73NJDU629_k;qEWtgd;}YzdI}#^JB!>-ml}ZPyHRoo_LZO-E!Qd-gb*rP?)1Btr<7wd`UIma9 zsm0iaJ!SAPK?R&^^ds)Or4Le;8|Q_8AEYWZGMA$+QPRL$$&wBPn-dKH_FAm5_nQo+ zZJm=p?8D4wBH`39i{tcK1i!7%Z$SUf0`xI$KX~o!e~hD7M`nA|_S>`B)6E{4=Ogt7 zn4e=u{jxUSodE;Lk9n)uq%Uy2S(B8Gk!V;MIog#X*3@df%wZe!duBynM;eg;y1C=NM!)JI7Jy{ckTqdf=&(x;{w{RQ z7S592*^dL|M8v2#80jd#aQrT2O*u`wX@rSk$2emGFAMm!JIT zolBF?r{_=R)04AHnVuax3s284<-6s*r%P1-_Pxa!@MvyGWw-&}nir#5<^C57gn4I{ z%a4~FWB~ntwEVp#ZA!n$|HGU7m&@m$qxpX>`p@KVE&%_YUN;VaS8zd4eel5t9sJWH zbMW84(`WN)9hT^Si$0kj1<2{3C;LeN02M*%zR%4*Sv;G6-2Ittx94`mrfNp^hJs8z z8Uo+Nnud9vdQi!>((#U!wG5W&wGuyWq+o(d>V#{8*MXC47kH4)h_rd%s@Y^ac9Scc zODJ&MHurN{G7%)l<~r_EJh--P?7F)cIZ!Bl7w!4j_W^jO7X`Rf121U~9{L@nHvmuB z@Qily^cCDn`JEca^D`;AXF8>Q5HdQNY5C%)8(votGM2+gApn_E-bU-8-Xbc-xrGCY zIu9yhWc@HLnoa{-)i2FE%l@*dn-zyd|DQmND76bY0isW%j#}HJl5et!!24L6+0bO3 zuF{SVEp_8(7#LX(4O;+XH+ig5k#*jW_jR3l);IFt&Rl!B6z6~yDMESGLAn8sLhZl< zAGQ&|l5)L-+D@{pHO*9yw(;Km`>%Jv-~P@w$Lfvu%xP@V{Qmmv_cqaYiq@ONn*0R$ zxe?#qw0#EpBfmj2qW9=C7GR%7zj?neV@Uk@Hfp{X#lH&R?Sb6&boKS;-g{R$7}hjh zUp8dPPF^Vpwm{u>N=2U%k^v!eRZ0YIr+)3)JC@ID>vi6ik7)mkc*^&$Dt|A{b@%FX z8p`@&=a1gH>{Ij~>X$vL|K`PGd6TB?TQl<;06Ze1?scc}3kx8%U&^jHKiyJKrVJi= zbf7CK=2Avdfs&Sn;M3n%vC{W5BCYW(@^JaqQsU?~UDZX*H}a!Cj4Wv8`2fNI{|X?k zkxoQt#==N6CK*^xQ`Z!qd7K`ssRXU#xdvdKd=}ZQDACGkNvcw2M(`|wPLdgkUkl7x zoh%Y|mI?M5&{+2#_KcFPrI}~QE}?c&iKFunxes&FW%Hm@W4Q!${h_ymb$N1^LUoA0-E`cIzB^7``b@kg^jedb(bv;fRG%&{`IdzCbnk}9z4)*zWK)P-o0y&A3qix1=t?) zF@U(*Qh;_X4gh_0y!h1}z4b?J1h=6 zq%f)=xO(Ou`PZ=(%b-Dnf{Z*%fJB$iMF?MIX00H|@SK}Z+jpg(1__jm*V?rtj{ljU zOsIhFJeX|&#O1$-^ViGhaRbuV;-1{Pz0m%+(6y!6%}XO*``!K8Xc(o=DKWX;NaOT& z1+UTol1N#mzHZ)Sz`k}!puyMQMA8U$1!zo%#WRsKz_T8%fK@m3AAPifnB=8oeyh4O zWm3{*C)+x3th~*R8QX0QqE*w7C@DA+62G_gjOU)u1U~AvV%e^;qbXMvyW)yES&h_S zaK_Iyh}TlNY8ATi<@SqgdzO~>JD_s@26&g6Un$PZWJei{#&$I@e|Eb?@bAl=yLSiB z$FzOPHa1K0JJ4_Pqazya8|s0tBRWsO-S`;2+-z@b)Hm1YK7jn}pO*Q??*6j=97Nfc zb^E+Dex`Y!(tKaAxON_h$Tsa(XykY&=T3d-fJwH`QC8igPd7jseRbmtcwzmt(zwH` zJ$l#IivaoF<2-6|6*ejxq=h_i0fuz&!$K#qC;ru$RYCoLe0b@&eT;&Z&>5%*bgvtdie0m_GX zRhs!YO>~b`9WM#Mz2GqoC|&&_?Z{JB%O<5b2ZZgYK7Bv?OQ)TkEluS5)Pc^A2`5G2 z=)BRZ2i=};cv#4J5M>zcxsddY``KT{JL1bwRI=7NK9v3y>L){XYuxkPy-fhFMXYSb z2jD;6shjeR9R_q7VBF}PAuIE~SOM)Lt;T2e0(Ia|&VgQI3)ySoq6r6s&($z)Opo~u zuZ|9SM-LxWZs33Un-8ML)8GHgfA{3^@4xl%cya#4@pm6C5&fqh&(cuIUo1(VerEFR z^8Ni*-T&@#14p8N80^=rHj%YSb94Ret{VrytGoJ;dH?>JPUfViXd8NuLs0kk%`KRVvdc$}@sM;;rc{{e74P#HaU%(!cNkFQOeQ0DB{X<@F413 z(YzE15MwN#=MdIn1(hlqqB8@`DA!3=#jL-3I&;vwxhLog^sZz(^E*g$cH1}MTY!BB z{62-hMf90}kT*vM=3+h-UyMM$P(&U8UJ}Tc_4>I{ANC#D0DiNG>`Ty*boXmj;nthrx@lE4jIO zwx)Gku9h2HC&yK?C-YB74jt8JRTo^}3)-=Ik2|n`>-e|>{vOr8d@T3cwEaHsu-Xer z3-F8eiNcU+tVi)DYavTj*R}rAVG#^{G}1}=AkhC?B#+Z-b?d0!Gl|NknZr3QO z7|#U9|9R3-3CyQ>pY#H@I#A@v^<1?jHW)-d9J3HC%c1YsO&{iEwzY%<;y@09i5zMZ z)yYVY^`K8b*+X;Lh}3eo(^;u|D4fV_+4w6o<-~9^^q$6j0Cq(9Gs3Qp*r+LzlSH^Cp!M|Q^xBsm# z1JH3Az(MRdy=MQ1|K;!e^Pm2o|I45L!}mq=d*Np?<6JY{`}ezZ04D&nKiULP*V+1pfcp8xv)}y5 z=>r(M<2b;>92@1Z5gN`rzt+0iLR!0~6-`gLzla?TV1)JOgzzj9Lxn@;hwAkT8I_x| zc}-K$ni-XJn9dL9C8o`G<=_HtGKUuigTq$JHkGM3$D7hQI`8hv;~`Uz84)~8X951X ziMISrgNLKwTcgi5yy16*^4k8Y<#UHI;vGLfk`xidup!q8Y!bTnRpt4WKH;dF9|1{D~1i7!c2*WUiy7ys1FnqONV) zeh2qw=Y1o-y4!y84*h#R&M_On{3y`6abDegk0boYKE7vP=3}ub-+Cqh900|EKy6*7 z?pyLX#^7fB?~jj{z4ibwU!}Z#0YJUtA|4p0zQHRyE$$u?Amc1@6tG zQBjU09ZVk$-kf2juJ=Qpnxz3ogHxSNBfqJYIS(`H@a6e`{L5d;uYUH+U&sgl9pPx$ z&GiGhZX5uw;35M8yZy^YAAJc8*Yxg+hAfaR;T9jMzUIRbh{ z3;2)s|J9?wOsdlhV`WR97ecA2xdqE$i9J~M}~7) zFe7PLV(L2#P8!}%bx&caH<1*OMn-^;y2yL+-M054y{4FL;&moq17&BLK24Y6rH#CT ze#46Kb~-Yy@~~0Ve$<0F{uF#5O6hajixlmtEhpQpYvKU)Njdj>Q|g z%3F)$gpGD9T-QQ3gWq-edl&hDvQ5p(Gftg#re7-~aIef70WUpV*yI=roSXz=`+bM% zc{RYV_1kt@HZXNH8z2D?1BG-9WglKwUP~QTBSf{7D>UBS5~@UoGr$TDW%G{rl1}d= zY?Q|E_v7JWUm!P(xSuEM*5%mdcRN<^)Q{D>bN5~c{cU~zdfI;f-v;l-v3gQKeNTm5 z^pUnq%jds&yBoiMR{d2&aJ4q%_LZ9T8qH2Ku83V*U!)!1f6^WusS`1Ah0ac&*T(`%Jgv zV&xwXfAGNvU9Qa^d=Q4j&GiGiZX5uw;39)qfBMs(%FlluQ(z$4Yytmm9{_9n05tG_ zetvFP2GBMG6dFt(`R_9TPEJnbpMUXRee$3F_&<6y^^*V=l|7qYPR%=dh+|GLxM2tw zNlzEOqLT6yfF6#5&2-Up#YQgJfMo#wV~E;`P69}^y*1$=F&MSaRw4CzjLn=iMWVKOUjUIDU znpR*Nv+q5c=0k$hxPsIoE$G3t>^T6 z^j}xMs~k72+*4Vc&$qr@!2Q?q*5%_|pT7Y9D2a~MOFE?N$i99~VkYGR-D~y08S4B_ zM5rZg2ZJ<8Oe9}YOo7>G7Ai9TT2)IBJLH>4;7$Sb!{MPZlE(%ODu~wiS`*L@ z@IUf#=1I)g@b>S6%_Dv#=qN9 zfNe9tHVXhwfEM}3`hWlI`LvS&4x)eDS41zu^y1d#II2zr{yQU2o*;U+0%ftjKZ$2O zU@1_0It@pl^mRc<55ehz&OHzCnu>(ZbN%PUO!V3Fo@QQAkl@xzjrEE;T@4_t5Apl*-ual|V_LcEd46wo&5ymFnHH znSQJX6!A;Ki~u8ZWRCCjI)Nkb^6V_v=eLOdoic4dGeP~1JZ-<-C!k+<&KFvPzl!2x z8vl%)^=JRh`AGD|1p87zz7g}xwtX%|;`fEy*I#zU_^)GlKZ?xj!e8e4z77Kh>3d*x z4XD|%um{4g0=&Dleoq?L_f+?14FoXP97tC=3|{0!< zrmq*!-`3|pk~6s&8>aQlWV6xPbVasZZ&e&L?holVhz>j@Ei$-!^16O+=5U>Ct#1AleKYAO{~u&Xc!O^4lFZ!yJpoajMjoE`i4$sWfVn9VZPcf^dcTV$2jY$x^b%I5h$^egem6kF5LHP~pS6*&FARx- zyZJ8Gxd&L+Sc5i77E@7>xd%;_t zOZ)x-8UWecTtBSq#sTnZE`|*K`pHjzBES6QFH4%Qzy2C&`?Y}o{@bVj_p3$z`K2}k zpdAJH_;~TF^Xc@Dby&LEj;9m7BO#GvunsYh0L=|M8#0sRffQn>9z)W1-jPF_A10SSth4a<&o4EwTtblq_p!h9FXM3$o z&!swwihl6q)%YL(MC51<{zoQ-TH$BV`2Fi%Ej5+aUZ)`9m{xv{vK$)jP9UF`Qw1={igC_SS0Anal;?=W8|6D;ptD zGVatJ+HU)2x!Zn|MfdN$)`33qL|dYdtf%esbb9QtznzlbqV~rD`j30l_VXw`p2E+0 zM<2E9Gu*!1k2bPVwA{byy6X8JfZt2I2IPB@$i2RIHErw=`@Z13(4$hED(m|2 z=UyJy0psiFxNb%gzZVX*D|v0jIglG%R=IeUV?cK5w4sOdxpmPu+2LWXRx3Jdz6Gzu!ZFnei@!y-FkN#)nJ^=Zc_MT&8 zM9%||jHqebgcrNggBEpOS(ZI%>b*utI2|V9E%dX4W1Ky&#EW8OC;?7bA-=RPz`Cy+ zz{Z2IMjziHleO9={D=CYElQMIrR2dg3r6&LOOF}XA@diyXVl)wQ!8}(mT~bt<=OZ) zfu|yrdxH1_(Hiwu|E`D}k30{SRs!|~z*3U_(<9Jx-1pKf+jb3F1wGF&-YL2-6yYua zUlJrMwUU1apyz4#^^ex#JJ?sh-}6^|j(ag9!8ho`QrGcJI?(4`|8WYyhzX9?g(E_u zUWlPPFSx&w`id8{@tScM0+Bky5Xleg}@!$qogrJqiAn8Z-Dq$;6w;G(Ld*T zi962!BwFqU{Qn@Y8wbFvy+Tz3{J;J7+bxRKclH0`i!UPGlXiY)>S@DKfVB3%ztg~f zyS}xH-@GZOL%lB+&7~cEUlDZ!Vn`4OaLIe)JDjZ$`k~oL9*}bpR>n}|Y`JP=I78?t z&Ld2f>1sKcLb{?dN~*!Lp*zyKDFC|6a&thpo}lY0$6N)UrYk^KS|5IgkBo17cKHe6w0=kQ54|P?9$+&g9Ma z$svLFHJ_W`tF5M`xLS^`KD4Nyp5CVnVlCq4(ktj^mU*3(=C~Fo2@zP=%#Zrc#44WQ zAmL?Sm&+C_^#M}ZvdV8wGYr|yi3!M3whkbEri=`dNu_v>g17W7ntyitd>o~>0RHW< zdKMk2k)6Bk(@}RuCqVzsJMcRd0Q`b7Evw3-?gaxiqbj<4 z|3&XzcYh7w3s{xxUn086Z_gpHSK3R{X4|~2^pU++){X@E8_?)9>D8cm55#ZZGtr&s z`gQc}P$9bWYn|tMiNK(toP1AGO%_dju|)L8RQ(^dXnvcvZ+@(v?}n!1#L42o3pj>|j{)4YtG34W7o= z=L^@}a+Vjid*kPv2eD(+!QWHbDQ~^s0{0o%K_=N=$R8UBGQY>{0D5n>z@EeLG6?8x z){#8=sznE#lFj}lWm_>Z(8&gIc~4fK1mcm#FcA8ySQ9^5B($)uHs6y0`Z3jC1Wtei z^tl1w_?~O^)j2R}PVt{y<#?}vLRRlZ<^bRA-iYceXcone`_yA3BlFafMy;#LCWo_; zBf1|B z1J4`un*`V&{RPjwS8+YbuoBz2gUa~Y1LZHezE4^SPV4S>PVu7m@}|~y6-@J;qL04N z;X!$LMw{oDHVWXmm&bYrL%lFgGOz2vKXy$Ya!E@b3C4HwQh5O#B66MB-PB78I0+hu zVCvKM@5^I(s9(y1<@?x_Z*0iNBGJXhiVTf0&7x?c`aqp^-31%mg+ffx*Qj_5_0Vs^ z8hrfHy-)QthIR2iZaV$muQ26Zaco`6mDUE6RtIC*@jlcpWc#?0QECVKQ{@H9&kgyU zN8a{*^E^)P;rFqLpX;31k|mFp^ApqaUDRL5(ct;?XO>!F&0n$94-<*nJdh1_%}o`D zLn8+#P8rC^y^!imUYc5^h4Uc26fXIolO5RTPYw>1oH8&-5p$77^4V%6NBZ{557hs(_`^Wn|)L%MDp0I%qBg+4D1 zfY4>_B!G9`c}G6}_+xwc@Zr=9VLu7L?%cWKBD9|bVCEULSpa??%K`cj{m;Mr`2Y21 zzx&1*#BD#0b`rqJv9H&11He_O%UcKe6@2xgC64)(^4*rr#jdXJ@q;i?kx^YZ|8@+8sz3xd>SPTA3g}l61%iz@0S#i#v z^tf#6;)S_>v6*^+Ko=R&<}EqnF>(WVH!z04t~Ux3ERx0uNLbgAoDiu;xzmtNEKZ}U zkV}Lu^tn~$_`Sd%D%&eqmBzN{I*As(1gXInEygu8e7KuzHI6OcMt^AUH!y$Nr|sX1 zX#V~Cugl?Z=u`U32%N{Su|D7PqjmHE_yzFKyjGth`t$D5do#ehZI9|hRqOYensHU< z74K>!cz+y}Xp>*ptzD1zLg;bdsr3AfoCB(5?7j$4mv^ZyIsIN zF^-0-?0|6H&5Q6$smB4!6e01>!iS`Vk}Ao`l#m{@+&lOh_fn2=8$P38OMZ!A&!iL2G+_;fJ~G< z_`tM62KGT%rpHen$t+-6iD;1ol;YFv`(6fGqUuav+(#MC--&p4n7FMir{zfRjoq%#%dFCH+vO;d)W{xKVX z=t6zk{lm@>Xt!pkWum#_EC2fFA2yg^Gg^f5>19l0awyS~P9H&Q8u}u}vx?HRc#d`t zM-%KRuedmXNBbh`?>#$@?OSceH{LS|7gGP7qoc0n_vP~{IYU5ugkLdtLQ^gw$Rz^% z8rEZst3g&QMeuw5bwv3ggG6}dp*bb);P!pI)iW3`u4I>@^}r$)s-t^afd0XdA)qa6 zAq&S1XoL{wwl^=!ht^19W8-mKjOyuRes{q*|MJiO{Le?xH8OH@z2fV}0r2Xs7zjW8 z=}+zFKmU0jLkswC%K+??Pd@3-{UiV!1BiV9mPp(wz<=b24FTKQ+mD}p_sF+s6}PhG zQkSs19%7i|MF;hoN=rza_~mn+Z72*_Dk)c>-IVkIsl4$Z)QP|Y>nkihg*yYx z)KyUdW>zKP_mEt^;U5&a3?=QeEl2542L=ix#kWdK+lxH_+#qPr?#p-G0f3_b57Vt~ z0O^FfI;BPxkR7H;H3rweuDbRBA~##Fk)<&hsR48W*vtL#X66R71^4+=DhM6Q#ru>M zV|Y#ZI-6l%r{N??hWD$LWy0@yuX-uuech#qTuRiXpb}UAQM9?rPhBs?hag)zHYq92Z{QzkqMaRZkM;Q@%rG{&l-Nlh z>E;69XWDpg3+{J6!(rgHHd}$MoHfApsqC{f5U;qd1&@vTw^qpxtsr-r4*J`(cCExv|HEu0)G050E8q)&x9X@% zM4lyeZ%Z(dE>1P0q06}qCgpyRvm%BQLShC1_z8zgf_A4ZGE7}BoR`1b-yv0{rHw3% zp=ru!{NRH{8=?#H9tIHenE8TT^4Q@4z7G2av{=+t2Dpp88D^@hn(tWzpy_&ydrDrg z31b5WpLLM$O2`)t-WcdomWQsdL=)u3wENy-0l0g%?O0`Azi%{^-@*F&$UH>!b+t|( zJLr3hIE}q0S??IeIU z&S)dR{^{U9?tS#^n@7*)`8SJs|Km1vr=!{N^ti~mgHIXKToW&8Kxd?NXpkY@FyI3S zDwLZLv5+~IB1|$xsr|6^MYV{{@=g>KcdhVGgmD3vWUDlN*MBHPOJnM|HtYokg)2&f zo*vT~k7$`W3wq=Dm3*eJ$p9*CQNyhza@tN?xCkK~nNwYjYP5}hb3Fk_!Q8c0sMng) z?%yrX%ROE3y*LWAv|ayU5=3B_(Pd>hD*abYv9(Ko@mdVuuVchg4{|47sJ^LV`){Rg1W`{D)$l>`0< zdre-@&C5W)9vJVZDS&ZR*50!YWC3c4xN98?SC!8~N@TaL;S^Q9((&*zW!K2N3I%dX zIqPzF^CF`6>cjFYB9*2ulv%qp>lID_sxuFRmuZ8&tCe%hp7-_nZL0oT2aoFew0)$R ziz7zLcMQ*rswa?Y5#F* z7m*{{b~LeJbH9-^^FTi_8lKr6X3>o#@j7gAc1j2T(-trQdI8%*%|=6c{mIV3xXuCN zu@Dr3H0Xvo%PZCoxc5L^@gEO$-6OyuwRKF8tybzkq&<=>Nlq5ABOD zzQCxl^YioOBP%05>_)3zwq1r|GZYEcCy|*+X3l~_ z0)ABVl3S*onu2Rj-%qb|ddQXU!Qa8oMeX01{g&FD) z_gJkJf^@Bb-TQtdW24=FWBzK^l$1D3eQU4FO3-FQv=bv0sg}=vd0##Bj?Xn z4HPKl&2Oqm9w%hMoiZ~4oQd}}@)4pl>P)+P85?Kl(B#3dEm1Y^N#AY%Ty8HwzeV-W zZr={jKY%{<8wae%OIn}LYx5nv_bC4{fjc(Z!*}eq-(JM}{Y@l)PDjG{bRLX#CX2fGkQ5)dPg^jCQk$U^PRyZwv7L7_h5&3OQwVn(w_EN6|AzGGhY zo3n(?F*fVdvaFJ$&e^}=5Zw9gfZdxWS}klE%il5O-eNRFe?_E!MB*Kw_bl8F#FTqD z0n9Mc?7T*b`n@_KZ&*hqIu9hK?Arl9-a8`DGVMqNB?V($Stqc9>+pzyQkc>=81mjuWM! z*VXGg#DMiB0DYFp5^((KPk-8ioS6O}!|&#L_1BF9;MHC+5Z-_Pef{vm4_SxxQvhCj z?KNqe1Kz!R*B(E9Z2r#7?>hL8q3lNi>QlM=MCD`z8WyAd*%Fl&pPp`!1FHkpT`6EJ zC3-c?%1|Z&rwm_)%G6Muh-=^)~UH(qbJi32& zmStMHS(@S3fPTBmT6}Sk??Ak+zn>%Bu>k)$ch@&W_$8eN0qQfVFP6{I6sUBXDlZ4V zd5pgd$X{hRV-pR)fW{kntv2KrC!LKqWisaM`V zNKK=wM5zn%AtX%KHJVX#8r_lCp&ufH+LKQi`MH0of`Q@9Y|Ip z^3QvPOe+~)HlG8Xq-Fv_HCjBJJoKe_eir-+;2!t9Om9{7v*ME00j5dq^alsg7!zXy zLXVnj(g(c+`Zsl8Ub!t0;->L>O8we-t+`8n>tc@R^Ri8FFm~Cu1o$Eu zVMlt^d_Q;RpQ^*aqx1ptH8r z7!QyoCN!SOhF1&*ue~|fs9RB=8U}zbF~~06_8nUWP@CZ_RE;ZbzMJc}e%&|#Ug6a? z0K_Q(3;1szeNeyi&O1G#|LLcncJSXGEa1O=bj{)?0rc)yu&XB1o2t&wM#Q`xC z#nI)aUi?r_U@4Q5N}**AlEMlCP@r`4r3pvda2_p_*_RE7zz5ywe0cm?^h5+xr2A2T zx6WM9ZjEiwmVz_{YzlA^kkKT0Cux@ysC8xrz8f(^!$`3;VuA1UhkpS;cQ6b)Clkgk0g|*CoNXnzG5OCB@b483+eom4WW{*8*(t}FeZ$(XBxJa zin#ELogSnJ8_2(Nw?**J(yOC;8K+RX4=ss{oo34+3 zyOQozdDmSV`LJ>@#2VoJx6|O`a;V!?nsOZNQNMlua_zXT^L2cR@h=Hbi{nPGaZX4& zCvWTJ*lm9S`VXeD^Zt+JujEXg%c-UgEX!v!#LSjD+*daFHTROi~Kz8h( z4lt^rPc4nMcuo1f4V+7J4ut2IT_g1BJ}|KW2?u(VVwx@ z4-h}vsy5}>wZ_*l(Rrx(QY)%IP&pgsFn+DRxooD=50lU{%H?(K4G)i zXaS?nH6}}VWN1jdCDmbR+t=TqD#{J`|AAdM4uDs9{rR8&xwXwPe)hAUwdlWm`|YAXVL!4lj5r!tJMk z8PKWf8~?d-okmt8Ht&YgP)*JXNX{;dM?uYyIr?#PO6A<0AB&z|iaohC_|lvQdTX2n z0I_Uju}H-od(Ht)Q@BuMzpL+X5ZE@8^3(kPG$<>BWv|3&i#4As6)$<&%KO{<*X#zx z;I)N|y7J7EOGG`)dki;*$%cs~3(LBPqh-H)Z#$IKXX%WvpvyGN(A4?;-r?kyoSdA> zgZppvNPYwTZGHYNKUPnis!CVcJASa;v~WU@LA&$esu3E%_B2k`F>fq4t=ZI0>t zqwHBY!itD*^dGO+ItsjHR;Jf0p6%V=y>}%rRFU1gdLfxF@f2m&wi9!^l@%FKFeNHR>8re*rS{XRLu=j z$r054JrsZ^0fjKb3E516I5gxR=)#nIFl^)_apW8f0M>s~=$X1kze7IquG|7&;h1p7 zs_-5HIjf*0JtQgVM|HX0*W#}>6hwZyni+5~Nl=b*mINm*FDHuV4<3z*V?|b{N2{|y z3SHS|FqknT0KC!B%wD#?q1ms;xP<*;;mE;h8586y^2#OL<1=*Cdi*LmGm~2p-L}Fx z$+hkh-^Y4+=&UW+C-5G5cy9}Uzn%$Tv`#;k0Jx=v>GuOhPUSnw9#xAu9H?h`9`|Jj z_z$|>Vscx|cNm5lg=l~F8l~PYDfhuj{%sI9R>}bE&pa&Ur*aPs+W~`ZVCt2S4pYd1 z{x}f8se}iuMfdLk>ZlCveumnKT zLc6(sAlHop;1ym_;64k$-hcmn>;=%T2L4}v{q+S19OcoYM;JV92EdFdKy3!V;sn4Z zfI>3>?EmxK7oYsIH~*oiui0&5^!edZ?=-Kg9#g2qxQFTCYCI?jaU!ltI#h!ZVKezF z-4PHnOlewEpad82mOlQqRDcAAR0_Z+vNDS6XTIzAl_K|&3Kd_5W1t!uv1ZZR2u=WE zQ7Px{!vC)q&=0_MI-UBavZ;*9ML-n0WpAZp8dpiP?$mh2IX5~`7jXlIvXkp%aB;qv zxT8F)9kb?S=nV@!mj)?mxTt$j&hBzDTx+AHv0Uzlf|XUjkfQ&iSlv`EURXOK1}fCx zUop(79t;Shmzzc14t=-%Hf{gG63u_Dugh;hzXAU7s>P?d6)|?(7hhu!U|y%}1Bf5_ zC_TLAGf&_MSiiHkG2gIY(g_g1MFTu{2hISGTOG$71!ScgtBv@ z%?4nH0Ew#wAWSa}>aV6FE3dfu>pIUOx>KedlttL6 zDNjp>+(`YEg@HyI5ph&qdp|)woQfD{BMZ=S@F?7HLX79zHSqakd}Ln3$4X9J6WY8_ zgFihVe?cj4^&RQ^_X!)<0fs@zyVJnM<)jRnrJO9FA~mWX1Po>)-{6B})Smg0e9QjU zjs|Q?E#~Gln9=qYc0pgWFDb``>K^R~CPkmIROzLy$xdnI`_ha#l$7-e>^%xUTh`U2 z=t8rqo5GnR*%PaKNF*coct3&sAjjPsHs$*c*a6US&sH1fjXVaZA898%8)0O8A1)>r z^7O9yp_e{|Zb{$YL(3`vGaL)-fS@`$uuiV`K7?}*s4*?+^X-KwjpAtZdbDXiPDbzek40Wq~b6TBz zjljP-HSRkDfjx6&JJ4z~IGxVYW~)H68}(+<2M^>_r#}SvxAfqAe`S7i{d>7?900HI z!Ymx|q4nX1AL<|d(I4qYAAQt*_8Dwnef1S2llZ6kQGgI5{h0&*NOy8_qJQztUp+qB z{Ag+9dmW`8O`qSolskIrdSM6=C1GoBQkefz3I8Cag(xry5z;=orycL75DN1MuIFwz z4NtJfGA9i>!f*>dW#xq`O)@m8r}x79DS}yl<)zrv&+q3<01ZDj#A-%*y+%+9OPV(i zpUXG%-JWd&Uek0t&P8Se(4-1d5l!%wR8tM86}V<0_i3WpMy6`Xqh!0vhku)1Bb!sd zj$BD6X))Gx)e;uQMOPJJ%{Xtb(g#3ATs@UEl5GVwBHg-TJ84$7MO03tIx z^z`(OPussExBJff1LU_qvoruOMlO%J)*i+J0DnF2J^_7v53rvR{qgKrKz*O4Zv&7c zuU`I~&W1Lfz$AGXjJ0fs0!DYZxdHWZHSjB}SKa;1j)NBg$-V1^ARFUVRQ9HvH-7Ce z7sxd0XWM*+VZC0ze+^NC=bndMlT6G6!iF&6) zfFjpI{118tlX>YtX)Bst0H=fS``%9KgiSFYKM4YD$PbTWxgIxq)X{veBkS)RpfjUW zjTsCLN*z4x3f>zc^e*#5mixO?I2TmX8DzPygUeQ&mJr7#I&X6;G)?hq)b7Dak=Q5> zy^{dCD9Tsi>H86xkxVCmX91$U2l)LVa}%`35qgHT`A84Tr~`S$_YC9=hX6YvuwGwO z74=N~I;HdPGq`we{l!R$yH6e`R4jzTsIDYS9q!BS|D5t z_=i<0irUAYso0otf@(% zbBCUh9wJDGMDJJQz#LVVG=63)hK=$cTpKfil;!=q_PA$&sBHsew@%LFsXljpS|J+V zRV}3$ed3-7H*ElGt^Agifr5L+Oz`hTQFhv9*>RwcpP_)lbg4Y2zUx}JbVM}PAi)If zE9H68n|Ve7Rri5AEhu$IeB5XQK!;UMtgLAc1P~tf3rvS@AS?1mZ<)6uT9%e z@MfW?5zQ}vKBn*IRC}JH-`e0<*6AZHNBGgdWPHw}ZFo9=b8%s({=s)!0n0eBN-*_Q zsec9_-vM_F0FveV!24yvJI^G*o%MT}*QSFP`d;?hi(11$u%NnfIal$=O8P?IiyRwT%f2e=k7xbf^88eu_sIQ2pQ?XI6Xn&b>0_=sZPs86gMH_(;Csm%l{u*_5}4$=X`?S?<>LYmIXT*ybHwg!Pp>ASbb^j_XONi520^p`95%__bE@uEdx#toRDtUc|9FhMn@9|)A8FuxgS?I zdI0f=Sea0>$ZCsX(|wf96ZdUp6Qm8pvXQMUsd{lOGe@5vt*@d~n4- zzrMJK4mMw0iWF{rFU@yz{d>M{900HOT3c=Q-h1!0WdQwq1OI*$phym$K7h{7&id!G zXV0(~Ks=LS=^xrGfJc`Xzj|;u{1XQx`b;iUz?8zPA)9wyaB51f%_ye1J^h6_q^WMk zd`h21y-fYI5I2R=FpBkS@lPplEkRWFnK?*HgJcNfsOgYyZlJYjz$Gd6Oe?Wf;p_q! zDiI|lRCF~1q0+Isw^wh0V`kNd>e>Y^)Q{D> zBj*dazt^YjFA@Fad%Fi3!FvF|7SR`v=0_wSpF8XDu~vU~Z9d(v5q+K+U{V|o+=e2) zNuR9v8+ZJ^8#+6)Jluybb*yUeN=s*ya&P0+-y4X9nlUWi617)oD65wYoud_v$wB7YvME@-vJMBNT zuR73|LRpHDc1`7O?JfbrJ&F3*L(~2sWmOSevl5pj{E=z zLHNE@a%XJ<77hC+aC^X`1qnJ)QbL zZ~_Po45vGQ^RN!fF?==*2=H+v9gA9qnWbQ?GhAsLC7@PG{S#O?o?En;MbFTp(@do3 zQr2Ttrx}6q$OT|Jo6OrkKt3{B--~RixxCAm|Lggq3wge5!&!DY2lvEqVX-w>=)A2V zxujQC#Hoby0?rEc#!7J!)W8WL)A?;V`|jed#aGPA@t+I$ z??e5acivH)1mIU6@lT#SY2Q1*Z@+yH0K0YTR!a{V6wdx{?BX}Sr#>xtZYKd;jt%N^ zV;t9awj~Z8K1o5##6}$^&1LdHhf<+J$lu{{_UEnyAoX@87p&xwkR&JZzMmd1LCKf{ zT%~s#69Me8S3pc>jIxF$GgPFuvlI#eZ_HnH<7lQ0*~U?TB!PF>n^aJOJ-Mh?yb|}= zfE8f?KMaPf|Hu#OOY%2sD1o9eDHTvoZbXu8su9M$<&;TixDmeAFz8b8tazZI-%6cf zoSBf4HhOo(BN&$r*bji;rtRM)pnqPJcZc|99?duZ?PXeBQy-h~*?JSc9e~fzjo0eS z2IvEfBRY>Xd5?G>Lk?{xvK}34a1X#AdDZ6kcdT@gJ-~>(uKT@7FW>L^iva!xAfxYJ z`JTw%#Qfm=0{p99$rnz0CHP+nu$OT#Tve|lmy>NGsDLq2YlNWQGdmE2Yg`E=JP(a#9i;LQ&s1qc zK3h%U_wNl<&qzxug44u1LQTJ9*fs?;I-5RJgbU-7pfBrra62IMf(@q)m(lgKXNW!u zhefZ4jU^GYAMG3a3HX>8b@p}n-nInlNaqVUM*PIM&{UzCG$Wx!KLfzzR>&Thk#h&f zI?`ZY2O}__5&i`A_$`*eA4lu;Sh@@YM3HCT1g|>+H0i-ce(fWV=o96m_Ry@8+iN~* z)klxp85Yd)?0dp7tv^i<6-K?#|0zPX@HDyrwLxdQk)bk(%N70H9z%zPU%)&Pz;e6l ztCUMtY$REy@^a_UzLMr8nL#mKA>Xw1?@k2hfzaWOBtDiq{bNgj7|u}%qw$^k1Ny%T zSQ3#jSww}J2Ed-}|5_*B^jpKWUVfbY?(ge#a!cg-vo1iEpeArlPC?w4_&3*Y`MPlc z`~a>tcz*V?pY@{v+uytIzN^3f^{?Y``}30k`i6j*+0*s{Xd3{w@6B1TI05G6^UzKL z@BwdM9H0HhPD8o%;eI*IW53lQbhHqH0UyF$R$fa67A|VSvkNHz%_yM|T@))MPfRJB zT@kPuu@Vo^;n&!Rk#3CxVYKuO6+8is@*6nR!e}(#<-fmU6p8XGA!Chv2i5oFJJv%T z)Scaa;QIh*WtUT(_NhrKI2C)5T-56xS}0$phm8{v_P|;gWB|Te)tBo6D+-mAVkR~E zFiRt{fd86zyW+?|E#0s1i|+%Jnn?8~N7pmCeRfyw-dlkFt-F0AK1|!kv3gEo0BTIX z@AUY3d6^098%OZXchmQ2`bXy&Bz@9guI)uQ9!Ut+2Dc2?qA{r%5$GwCAas z_C#!QXf-b=Z?eK7J%GQxq`H2YDEB)3pyK7<2^wV|SeMx$FG0`V^ZjW0Hm@sB8d#;h zk_M}ECm8wu{NQV!=Bw+`uC@VRTbJK}e%p1w?Y4h!iR#~$i+r6$2FY3$amrOwkK~Gw zpE3Kd(o5W{i|qCL9j;LS=BEJ9rke7{tz^~Y2Mpg4=^lV-iZS6X6Q>y)#X+osdnG?1 z5U#S~v~PZ=wN8++k#@a?zk{_==;U-EAJlx%RcAD)*6%8nkI;Ydj@HkZY(VdKN6QeC zv2mYBtq=1v9`w(V_~4AO;9cs2vKgVWnlM^opwZbzyIQ^*eafFTaNp#uH}pYgM;&>B zgJ8^>j{`P=Ko^0uQDhy>7X5hqu461g?9fevI0o)23I0dN!8>pqO!2M>O~sEj`M5Wx z@7pS(KM>l8>~}7Wo%#n@Hw^@rd3u8>9j~WE+vxbYi5}H=G)L~l5x7;om1z7AQ$Ul4 zAx$J3GBS$x&Ie|x<&w#1#}bHk5wI2qE(1o`Y4Bzapd0dOb595yGl}6@=ncrz{oRI^ z@i-VFkzRy5n3RDKMzfVNIg%gm2?bFUA6_mAD&!hd_lYM#W_p8?{j$>k;J3>$^LwrK zw_bZgZvW`_)-cv;{bTY7klOw@ZXjISUU-z%>elL zo`t)>g@^=xA(byfSkTloK8|MOrD0UCp~=_U0F@|Y zmDp85U-K_Tc8|0szWLNJaAuRVT%Bs=f@Y&K$M;+FbGc`a#2W*zFet*oo7F4n00nIfKa$vPtf`6>8^(F;W)$=o>mUdTBSDp*KqNo{1mhjYJs z3y{a%HKwem+--P+tj&snc(frf%C|-mk>3i$*_x^IteMab-(@%yM)^+BARy=)-yLm8deM<~Wp8Z9LKvcDgppjSeX4^0%6D0pqaxer z_L?H1HPO{eUsnO$7Xf$fL*F<5mjTylH)Y!EHVRC-*vQ?#uBzLM@_xC?rSld1In#^2 zyMBw}H;{jO`Q6s%-}Bw}SHroqXGFifzZJZv36{}^0UTNWL2hE_eB?cCE8=oP3PlOz zExKW>=kI!jg==2l*Z%QSyA@WQ`dLOT0H4+_Ei30tp)BIIgY^%^*Up%z9jDv z-DRCzdSm1(0x8yXFbErRMgonDKS)^8;`LL8K%X4lLyck$=~yQiIj8aD0(x=) zi|B`v;ekS$5%-3DH5>qaL$_m(3g5r~*5bJNf`}|yMv9iJBnOvMcR-PlOKY)H) zpKnRGxdJ|}cGRz*1I)LXA8~A+`80gmd~cpt>-TN79=|pPdpddk%^% z9oLn+7tu#P3HE9^<+pCj%;#hUSmFqUbR0S*in20>8O#SCwel^> zVaCriV?g;m3BDp})L)9k=#4r}Sw=dQvflj@z}2VIXL*+SdY@yt9~%a)`UpGA)yAFy z{RqEF-5+7p2a|>*TeB-k7T`ElL^-hG_J$@$IC^hnqr@|6L8KFk(yKcT(BJ{|cOv<` z5ntqOv?-rD*vI08g$XrsPqx!Y>v0XQw|bA%aNBuXC^c&Gr=N}&21a(ouol#Ns12u> z#qt#;J%xtwJXFX=bomw0b&U1YhPbRMq>M~M$d1a3<*=ct@gcY|oP#VDGsB`)E!xdx z96-G19F7U|4rE#WV4vp71Qe6toGUiUNPBB_pY(YEZQ|7^Q&VhOKxzx=p)`_Iq}Y$b zGf*Y_x?nF$tL2IhZH@g7({k~?akzahcmKmb6FuBgd46dN_*c7J0*-dwXmA+i$-upM3I(efi~=8wiMaex_meJ2=J~D5#UXnZ3MVl{dT@;evwK)w_GucuDWq+M;xxrr z$nNnR8U%`zHmdO}oVf-$mQj?wsAzx3Qm8}Xo8K2#8r=sV<8PeND{^U43|xg_GAQeL z=NeTbqfH_@((=A%kG=K-AT}q!y?bxU>Dg_$xO^n+IRzW`IzsXbfJG=hi)2=g{?Aa1 zdCx1B?p|9NK^AoZeQ6Bs2x=l3^o7F0d(jBGeMfdKPj}|g{L|BWW7>ZIez*7E(0`Jk zx<>OQ!My|Y4(#JphMcaCsrdo$j}~nfP63+!KaSRui0JcFeT(QmDRUKH7AQjMcnb=> z&D8sL0K-Tx^krXZ_UKql^S9FGD09u~Fwosd)S!jNyVt4P80PDMJw+_(kZcnb72O%X z-{-m(yzdwdgvbYp}G=UPR9W zfR_+&{@wW)$#Z&n&?iEDcOU?bDgRzu&9&y!q(Lj!gXMWFRiJ)>_4c4yU8yM5I}S#3 zIf~f=6V)qb2t>iDOQvk3L5I_)Tu;zBWq#)S(g@Q6eoRuG600_1QNfOe&wzyQTnL zf~osN2Re0+(yM6TX6#zg<Mx=FJ$`T%zgRPry1eIqjPA4e2_a{BHDSvW~rxV@U++XJPRPn!PA3%{FkCLU7l@^`YIM3Bz9} zt&SSA!`%mZ=TH7r7w|9k{G$D7UsrjYbvnpvtq9Bjc(DWf=K5`3Hx7VTd>JjOf|pEO zY%SowKX~}?q4-Gv{aHH-@X3=WElm$_w0rF&fHtrk{6`+`^V{Raug>-KkNeHp^trZ^ z0B*Ygn8kAXu~rf7=7T~MiC!%M$tchi#sD26E`-G0sG@HCsS7Z-LSmh=;GKxjo5`-R zxi)HK^O?Zc?YC~E96imHHLV6B6|mW;%0$wqE^_bi^^&2*MsE$EUM^06-+TK{8aj`|Z6U&O=eJB)85xB-AavGGmvR^#QAH1QslL92c@e9-l8vTR3N zOUR-)n~U;?V43KqGPrR1Bg#EX8mv;~xKc}?ZY{5q7?LT^5^71f!xLIrsn>y;d?LOa zX#7H_^zSXZDILpb8|8GkNBnQgC5{GQEh9i|`A#?eZX^o4X*ra4Tx`5rHsXg*eT9UVu(&j9@Z&Xj!_mpSqxnBnh9^fL{bhfeip zF6#`soTucYRi?V>9%cndj3#tW-mnil=3^IN9J}n1{GQ1~dF9l7^&|6;U%79pMPjOw z7FXhnH=?0`qgPATb)@RQiZjJn;)h0-2nZ>3fUgnLdna<;!QSK;RRL0mTufLDAeRyT>nCK>+7@Wan&i{rD8e&^QN7|;u_xwNAU9L^>U=#e4sQ)R~YOe94Ptg%fh6uz%vIzYZdfnt|h zb^;WzN#zw{lo+s~1qN6peeCpa@w%=Atx+XZ-2fd(up4%BF^oojmy0~Rck*>NLT8Wu zx4+BF;{tT=%kTW?59E{I{Fg)7qXJL{P{yIK+<+2|Y2~0x<8{lr5+9NYc*Axcrb5)s zJL7VHZ>AU0CDbRG8z2L02NYc11|C8I*pkWS$5q|lgq+3Wj&(lmSXEaYCnksmdt&HR@nC6%5 zyqm&SsqbLOb40j8g%oF%#}dGOn4o|o8YP4b6qZW>m=<}A$o?2(4NO{s0M}<;hdF0A zOjDKf0X(Nc|3M|dD|pv|@x+m7b1lX7AK*Fah$>D}Z0JerGjFz0hK>l}~Sk}L}o*rd4;`AO}xFD z4$av`Ll2OftZ&Mz{=V-rZz8L}W{xCf4(0b)S|}^9@6X1=jMj%8@hPK8l+1bejplF|v>16j<5G=(Qv7`z~%cV}arSBoO_lUt0UD0AKd%@o3 zu)UK9V4E@vp9-oS;)l*h9jM3A>;;8e18G8K>#7L`xlYzFh-^i^~E2n-gI9-bd-7(A;J@ zgWWgR59GRW0Q>;1pZ)A-uvhx^-h1y!+d1={ciw4WUOxTwQ={h?uhy0Uw7me@_jVkh z&j7$OfbLvqM*}{YFCRq)4FuWIjt6Tq&HTzSX=4ta(i4S(w>5Z?&;Tj8e2(yt?Z}5o z&o|qz8R9n9wUI~PHsqBnfs6>Ilj4Q^2E%7$Gdme|SN}Pv8V%cb(+m9CnyYC{8~Fc!mz7)9A5-N zUe@ne)h7W?Tp=habTG7oEwrkNe{@9GKP20b9PYx$1*+7yCwng)! z9sGRQI8M)enm$e6A8YfaME3cpMPBb8&n=_$#gQQOe(*1h8j&&%oY$JV-S3+0n z{pFrvy+yo-R^r<(3oIc6XtY=hmG>dU(SEyA!<9=yS+g)F+xLlxnut1xo_^mg+i;jF z(JTY>u)@ozbe5$;jz$}Kp=~E}nks*aM3fyR#`B(r>n6p)J5FqID;(f|!uSk}K28kS z+u1+zqqXm-C#LS}6ydlrQk-7UGzA~3oC%tlc1<3hI1@u}I4{;S!%|=Rz3#BcC_RqN z1MY}dRi$i1sM)TNIlaAQtl4)=6MYZ-h!cYh?_yk`|0Ix2?5M6Xi`zjsvdEj3M;fDzXeUB#(a;h_K)qMozuT|?;1CH% z3NFJsbaaw9>si#p+eZBWj$%ITWxVfgqQPCyJ`0i^Rbbh*222N5$8*wq))l>KuGuHq zrKF2A`b#=POoY*Txw&5XrE+t<@(Xym zIRchJGJX5)w{0JQX#w}s#~*(@z4g{x)90Um-i{E)-^uy;`QgcvC;j^Z{!gAif6mX_ z-{hbAKYsZ8zxTiW@t^*DTF~m@2E`sNBQK1)0qGwBrr_0mDiD6Hc1ke0$@giDtU|`yOl@~!BqYvKF<_m}^7dHVD*tq~_$w>1botLu8n zHBDeU=|Z?$O`^I@Uo8YVS?Y0idQa{w5&hd|_xk30cbD&Nt^T2%^-3LLM9dS=x6FIj zG6&}EzvctjJu1)F<#2>v)$uT9~Lo=T!>N{angW1&B;Umz!iP$H#GV{+pUmL^&nD$0brr@VbvZ!$=MYGJ@bsWL zy9@75!7=BPI~~HY*UBP!<*UlwfuLi9Tk5uC(|g?qMd)*g$oI$Kt%C+xz1xVJ+V(+C z|G@WEhbgr}^ev~y!7L@zRo^Ehr5Vxg{~PWNZe_$=HsD^OcX{NVoC2Ii2)K{DMtak| z&GuGP^=Ybq-NnBp9|t&c?*XP3!GetTWP*WY0Q8kl$TND4CjT^ft`dCM6NiQWqi=I} z5(#I)j?Tk(%|QKH?)KuzS5-Ellk5m=W)SV>Lo(58j35+7`AGCfi#Y(vG!cf_+rDWu z1V;CUHV;DvXK6(RU)Mva?%VPTZm!)J&IOk3X@2an3e!$NRTVFUaKpf5RuBx zk*z<%2QWIMe^|~D(6jT!Q@#A%z9-XS^XcuoCimV@=p=1+MKgdek7LUJ^X2pMdE5Da zEPlDQSnp?(JUOxd(?9;t{`dcD=_1{Z><^Ng>y=+OGXQ=7mkXOdG8P9w`!FFZeF6Xd z%Yz3Ga1uaU2G9X!8?w)yJ?nb_EKUG^xBs1-oM<}<;D7h_KbEoHe?&?bpPk-r`d&kf zh1PKqIliQ#&a(lpQbxn7Nws4|>q7+BX>3iY_Bn-PyQMKjQ9*;0-Tg!`gVBpf9+E8) zudv*6+oA`xnxs5>rA;y+3?9Xwq`d9R`DUVJE?M_An)mIoe5bGVNOyByTwEL%$LOV; zw7*-oF<>;S*-wtxOckMc)8Et>$rit{7r}o3&4JGBfpKaNsJ6aNzfZ0x^}s6Sa@0w{>D2L8zY%fGecTsBS{j?x)lP6Ukukdh#C!YAcLX z(w@;CeddBU67QLCBFKBlF!lP1w*jC~lb+X+1HvVVeX zX9oc&?Hyw{Tto;rDAip^C?*a;2o-HVZo=U3b`b~Xo=J(C`~3?3r);Qfb%~y?Xz?k2 zk4&a`pWIL*->FRPk5L5hKgy=P0EouO-vyY(8Frq>6um9#J(^&w*FdyCbh0}wESVEm zI0bazJG1P-3D;pwpbf?|??lSLkoxtoYO+!C8nAXNpVfO5*%h6IMiFpJ8o&h@ivFJO zEFXh3hB%2K>Q6SBLRO9l(p%{GiaO~=WcjgqsmOu6hkAE}?qh}>A)v)smcw6tO@5Xj z%-Z1rGFG3uqf1@&K>yYOru-J}h1*2PGdqYSp30`6&I9jFr?*va-?zokQ$4@0a{IpM z>Fq@T+%j}T59nx%_IJe447COP+hsZc8t}Kv%SG+aI^;=n8CGSANf|x^L2j;Bf896$ zegGGyB7`Zhi$0?bQ~md{u>?epCOtLIy}#ozHR2pQ|AH5jeaMP$EJGo zm}SB1^vh;_a0*D74IuumpS^f&u*7ddEJ0I_7B5&ipZ8H&xZI^8vK&uU!s4c0iYUk!yrHnc3bN2VWv4s-0`%!C5J{?wQFV;_DS9kx_CB7 z^k8LuXOI*M;bWBu$!8t$>QU~^^ni+7Cgd%@-&$x&>bZ7|XY zn$^&oL8>~(EOu0gE}Hs&DPmHDFFfD%aEtFf@G|5|pl9Qb0{&nY13Fr}by#e>TT3+m z&V8Adh<=;OzeMvFpntAtG_<2aA6^{stlMbXCTAW8@YfdYI$r3Q0dU!!08>lj;lx~D zFfIShvaU^#e{;R^>&5}_1GuWu-mehBZ@>MvHXzyVz4qE`){Y2lKl~(so_GQO(q;g( zG;J1uZvxmh1dL@-kB^tXI@80CyS!Qk>+?3femWJNMh^i+GnZmoSLz~n-WIVB+4$2mR-JAdyOZ0zwcF}jhpQg)hy!;3M!B6DJKmH^6SO4li zlP6CfNdYKDJxlVFWWCT=;kNSRC%4Y}5qcfmFH!yTMd;tTQ-MA-r8t=9WA(&Fv^@a6 z5qS6IB25`2$d_`2UN{40DWG52fiR=r0q`d+gEk8qjd;&MJCv=EVXT@4f@@Y|o^@8P z`l(hP>sqf4N~+OQJ6g0s7-r>3{s{M(qy?hU%;ff0ks57YckcBSZn>logSOa>G-i6T zI+ev%IVan&j52I2j zr*wXq<`!ruW%BzGV)CuyTVAVrW zo`JZ|C9y_gKY^>P%&+l`*OuqA2r>!L6az|W+@YQ%Ktt)ymcrJf+#7z#S}X@!d%CR? z#Be(Yy%t)H=#;28950;H?2$Z8Q@ExWw3;}G4|^sDl((5XlItc&(R6{&|b&pZ6AkAs@C(v-#$+xiL=NKoCb^qb-K+a<6&kwMEG01&io> z)M<$f*|B}jORRsf{hE(WyBsq+&{E-~wrv79`*G(t*AL{naRB^4u9ag}fAW)`$amj; zC%^vnue*+ZwppbbIEkI)XJUKa&+h-%9f6u}G z-3Ig*z;COzv|XT&jrWF9V4%;_^T+Q2__0nOQG7GWsJ^Ff3H#yzF9*?o5&o>v@K_TI z0FQ=6TL=s+i|N1MeRlK;%Z>8z8&zM&qbxI>apEmtPQ%(7$R`l9(Dm}I3@5^`crjDKV8_*wX^}p>K^vUiUMO4IJ7b|Avc_SZA0Kklx8m|M; zV)yqb%M##1){MGK7@PuL!5&5VVMIp*yJSs+_2A|v#*={ekT(i9f|enppaI`4`-KvX zp!Y;MT}Mg%ckqMqntZ(W&1xnkkV;eXAXuiOoa7M@N)d$xve6SII7 zg>K_HC_l`l5PcWwapo?oj!tc&7VN+t zWm>pD9Q2Fl=aF{J_5H2<$%Uv!uR`?RX^UPn^7By<@@7QrA*j*;A(G1*6pF@U3_yV5 zbz#XsQr%Le7*MZw1RLGToe%x(0oxGWm6*amfUvQwwkk5BO(S&dV${ljNeX3UMveD^ za#2mEZvb)6U}x8TvaI!9n&<=gR&7gA@qitj7zxa#4=v-+>0p2(Qei+w{1Kciz#DKmJ%2@LvYZ;v5L^-DUu^EN~QHI{~0wej-56`qSgHkKUfn z1rgp0Im$fwW-3j{8O)19l^9FIkgXa5rog3XQU-M)xC&;9xdX1+pj2QmxUh|Ps00vL zBKs2J*lk_t1Q*c^pu*$Y6HcDjyjssc6uZ^+lBkH~-q^?+3h?#$>+WNLqG({bF9oz%1#yy|`#J6A@l^vY*U z%yJfi1)gt$A%V+XndfboLYn$;kM_r5blR+mt!jEXIjw3W9Hte_BAp>}0D!H!S zLyPfih*~oMb<~k*BA@E08jc2w*U^vLbpZacQAPonUOy$`C#}64`9!pRQl1VL8v%0N zhWwQNLILtl8}dJdY#kl(#4-;F6vZ;x%bS>&wOxXj(VkY1-xDbt5Do}PiUaho-hm8o z7i8)M@W=1Xwpzbu5zQNA1x^@cqK_PWCIRX_vUlF9%iExT=oZMY;b@eYRR!Q)JD+a! za3n*dpXNnFMFaGPGk~J_R$3wNM=OR*P~pw=81UD%^|?-8boEZG&z~YKI1d^*sy{a6 z0~Q}Z-m#IT=t1a`(IW%M_WYI1lV~$;KUQT%T{9abMsto2;PzBiz1hO8 zm*t^58Kn$o(I6Af1mjA1L1sp}Qj(SkKug#V!QU}>l;t(}Q*}Ss2rvr@y9I!L7(4Fs zJGP^@)r1d~ z9aic=TCU60!^r~h&)d3u(OV1PKU<>tSf4+Q_4zgm8=|FsT+HFggPkwKJ{uwqb|Juh zyYIoB7U?$!`*Cl4ZwCVmCrw`hFir{R;9r~kvOa8mTt)|Q*A7k^Gp_dy`2XQtHx7Uw z$OT7a1OJN?pnbMk0M?uUp2TH-1WKBdplt@&pJNlib{t@H1mGyZcC{r0zxw8{fAwc? zy$(g8Q;Sd^n#0aTKQ!SEUF+K=S{PnWNiC6bOw*`Eh9bExj&{c-!(s~Hltv6Y0rDOz zF(%qSR&@7BiCDhqAXY>Q62P7S>WTnsBGr|7i}+zJE<4ii&yN=Y-PT1Ng3xg!;AIE? z9sJuxH&mK@JZ+zg)7DO=Md06(H{bjNdAR&Rvj9805irR0v+2if`4zAOV0RfmXQbbJ z>V8?5PhcM#^Tm|?^4+M+IodgZzW>fobKBO9AKB?sA_Z`z$pb!ngLoSao4Iw*oFpP<%mT{VgH|Ms#IgOOL#ffsXRVJebku7NjvS&$wRY zq%r+S8AC7)jKnr&2lZB5^-#x`aS`O$ca$7E-Qof(Z>MzbF3#2&dmvjvxLE~ zhf{lb*fpQ|%sctR`~=NS&K-z1pf9HAV~h@kFhIDHIPmEjlONf~xN2_Qsn2(7DwEo3hhWZ?0E&-8cY#AQwlumVqMg zz4xB{;upVA%mAP(M2nvUFvRil+rfW-#reif{;~9}hg={$Kg@b(YRBIk z(+V{ZGs-fW`iwPiL4^@T;}sURS~QI-iL8X1iRy~qlbezO!WCvkI21&va-%c=y?7XU z!Jns%XG5krX;=u+jlQELu!kUoK^qLn=no=d?ften*cbXB+7zJu^3o3)^vM6*XHzYI zrz*Fa5!&|%aMp$)2PXic_2QsCH`>Em`vU5lGH`G2kmv3I*lff{0KfB%oCa>#1Px+j z9QiZwXLSw3O!FPhbP3!{HW6dA8>|5T4REgBYS|;D7!xpJ4UHn)ap)zwJ!ZgI7LRu3 z3ZWm70mE4t83NgWR%q1nQnkXAcolAhuxHX39C;}jC!DSVLVhkg`WEI9?AFm9vQ3A! zG+WWWugB9q+R5ySv^%A`fnW2#uiy3Y^-#W$*QO`^NWHe>ew)r8eZWXw@TXq@#VHueUXq;e^j9XW4A$}aax#6xOMbcVg4 zdzu?=vv?koPTqp5T;Jz!32xxrdfnHa0m@FNlrRb7cCRoP$d`984vwY zraKwJVs}|WV!fB3-Kq8-t&aD{Oa_&dIx4Xpqf(1% z?wqguUIKZ+QF`F~z@0ROUjf21x{t`b3T@seITK*C^OTK?^1|!XT~c0i@mK|>r0ZCt zZw|8qu}exyQW#o<21YR2GNa(Bx8~9YaHdLN)o~NE5MbaT(yl4I)s=1lQg6u6OPWp3 z>MJ7ADZ??0E#E=c0Qg^b8MfPs9`io20<@ki9SK~pf0ihDum$>G0&R=d(Guc#q}M1` zxlJw2KcmWnuM~CH@P$Qt7Natp)jF6{+B80lBz?W8D%8Csd1%xQZNt5`315rmFP|-% z-@tx%0C?pyNFaU6eJ9UtvDloi+iG(c8Y4>I1%}!&?kk)E);8>G7{7shOzk&v24H5u zZ0U$<#QOBk*~Y=6coFjRW8Zbg>g) z0ssBh0{;7;dF!pWyj;sodpfTKGA+TZ2am~~pLSsXJJFwf=o9KarH^T$SfN8f8;J&k|7<2&rnQr7GP z;Pdxkk67@nMDn>WP&%bXvDNQvZ*F&kY7i_133XA7kDNaM1%!XuPCeX^shd7vUI8#|dh5keh(XS}ZjM zgP4rigB(oZN4>{7_)%W0vv+~k-!+QfYffSJqs!y$`2+1>kMbsuzfDn>QD^WlofP?w z8O^RLgU=#;OBjwC{!`+!Ck22O$z=*Lc6BZ?BzOKt-_G^`T}I#>q?OJ5s7-p^#sYj_ z&o6;hW9tE@2S)r*e{fcfy3!)*{EXtc&nR^{-F)&UedxsH2tA7Aqh@F^{MYNQ8G(-( z01nzm%`=Km>+=O}vA!8!f03j4oL|fnDbISf$q@i%f)6_J2vY}bB91wt2PV)L^hm{i zC?six0>vQ*p_L@AbX0Tt?f0QWMN(ec$S&nfi8u_VuBna_N4p--H(wbZ=+B^A;-|B6Jp~elcN^2_~g$Dv{;`1wz zht+pUk)^93s!p`Wm=qz3rAGG2*`WSxe0oPbxz(rZ%lQMDPR~sG6#fTGWbSMLeIs3J z9#Fd+)9$^oMs2WX(g5ic#rNOGxvbIm@9GYLZfo|u`aKIE-e*v@&)MMjiP;>pcS$v2efQmW z`!4^VeDX<%-Uj~f-o3lvyZO+T0Gyqji5~;lmH^DppFf`v`ES?B$w{Av{`h$D(V3q7 zxNY3gcJaKpwV=;_6kw-7VqB6GB%MJINEp&9>bkh^g=(o#@_9%=7okv8L(7HrWNE;x zMMVV}NfxW@NW#iXSIRIP7BXfb8X4T`fZvh~32l_K2h?$;BXEJiQCLc8vU4JI;@~-qMWZ3NvcS-8VSKI)vFuC1Kg!41R0!nX z>t_Tng&T+gy@|=n9g_XaKhN}1&g8lLSpI5>=6~1M=f6ek^Xt3GH}kRC`u9X4LMaW} z@PIK+W4nC;ObLTrxfgL>+dAW4)O8|oz)psYY+FW^1>nTr*NCTPSD^NTA9lRHO#{F^ zc?g;xNxp4Dv z0z@AJU)`hL%bBwWhb+-7Ab>1*2?{iyNysK*AnDA}tuz{gf%LG~(ccpAXKUg+f&0;W zybRiKPiR`d@O|&~1K>NVoW_h{PGi3D@EC)Z3r#vr(F2@rP5GnLT-0$;@8CxcLsf2; zsmQ+Y2;fy?3kLZ{fAl6N>_gAY-^u`vL3BoOM!m^wrPzAr*#)3nTvVjK^r7Lo)c)xa zeoP8TCX8C6M*}_=os15y7*z%aNX(Eki5Ur_w2>!8+cP^jAEILlQmWAG8ixwK#lP@P_FyxQ*_Ikn{W)zmpW0dO_i6ba#g8@njhcBL{VSXWT|gfH zjFeH9gX~@O&$*_wN1GZ2v#-syjB-v^SP`t6h(|DfTYhgmd$f3aHB@c@5Cu5z!h3N6 zGzGA@1Ln&<8{p#5Ora^kt7LNw`ERslUvlk!*#iK8ZRfX0Dq{bvHgE;Fqh54x1#t4( z_LnpZ!p3p~MoanNPvoQ2H7sHfrIe%=Eky4V`D?|MX5}g)TU%>e$**Y7(Mclw04+-Wny0^KR$zWteT zck_wXlFOAu=r}y}V+AcX#uKjx&m8bA#73P!mL(wOBl{#IxfP>QWi=zf`GTGl%MiQ} zcF1zM)8xJ1GCk!{Qh z(9uT65T#jfhG$VdVxURseG+3{QGg)YHf(&qryQmCyjBr@(~RtUi^wM0PgC@fFHP|u zJ=5=vC4szzYmkOlK5VjLvAtInXK#|iA5L)`uV59S& zbdGmXp>b_S(@1z248)dINhXeD8k`joEfZTrNv|MFqdPI2G?^5m7cy5=NPhBI20h95 z^huKLDEzdI4y;1D@ZJIwW8=#HY+69Ro!?uc`sX^G-(8g1oh71wPwa3KqAFxYBlps$ z!HS%(o z(eO7&r*sIkj^F^ZKuo_g$o!xdBl|LYrLlgyxnAjY;{f;pU2S(v_D(nO|L(i*wxa<1 zbAW&UlePx{{cd{z^xwV@0G0vt=zp69@XhhbZ{D8H1fIx?20(K@D+z5qE4bXgTJd6m){?ziufi$s=d`}Hvt16LJ2ro9)ZFW#DX*EE{ z^|Hx0@9RT-6S^_WVNN9=;s%zUqQ_t9;j0Ud0cTLs9vDcxkH*qB|yopXEJi7ggkSh5zQu(T)A;0J>^ zt_qu#!2xnKz%R$|mgeyWDY!}NY>@}k6M4Aw{k9oj1Nmbb|CjQhZN#_XljPV@0)&!% zGA&FW%l>6rRck$7MR>C~tG$!@RQ@~qvI=-@!4rwdcRC+jVo6Fb3*HR)q`oXE4mQj7 zK^qVsrz!i|0g-$%gjFQ#;|`>;{+^=iX^;(hCD}$;y&Y5jgD+q*%5eT@@(qrbiG*v& z#YudvI@75!mA1-8hlf_jKmc)fTueGP`|BYor(f}$PHJHQAJg_FchmUPgqIhOR5CN62Wg;vr7)&H12k;Uhr-1P=7C0S6 z5=dJp9TxiLd_gGOB~|Z^uB{Z(S|UTxn(88^40ujTy1~CQfmEO9d8WJ*y_WR72%KvV z)#eo(qQhcEi9nQFrc&jiUDt*7&9YJl7(71IO(Y}v`EGp`;g#eIy&OVY$*>lprBi!$ zu5$0;B8v|_sxNmQETI2vtjlcIEEetEg!^UguOxmNM?~*^3V$PGj?MN=@Ywz%V=C&cTrE>Ud6*URAoy))$ZyWwhkT` z83_&FEPrwX{(m^vjRW8Zbg}%ztp)tg@4WNQ0ebYE*Kfc5R`C1w?c4J7>C?XZ zf7=KU_k9LH|J|GbUmh<$kyDp_HYAH3nloOpj@?olll8_zMU&PbvRXN%M%`iPQ;@2L zff4Gv`NH6FLq{W$;KjOe2oh2|N@y6ZB!*aG5I78uK7*kjuJ=S@P{;1kON+CRr5@)Y5Sd6p^h zT!L>JhECX3Mi%z&rNK)ue61{$$}NQo8&3Hz+7w2w3Pqu*oXp*}G>HjCUBoS&cqLAh z81DE@cIF01X04TOp)LkPGtG}JWkG^vA5}`F*;#XAv05fO9ndaGhe|Q#r~$yXESFlu z(pxtkg;7m}=Y8%kVHBHmfd80Zr2EYwAIHx7=IAJy{!s^e$qPQyFcS~^po$bAG_mwOOJf~_t=rY zPh|km@0wZta7bWQ9SduCW&z4l&Cv^ohiNPV33?>^dkE%S3Lqk7ENbZ+DZ#NOQexZ{ zlSI=gC!9y<9pn<5z>fn%$@ z=*U+w(Ju8kI)d1m?LK0?i1gklQEZ_dz|)gk+NbT`zAuOKdu9#v-@X^q_JeC?S+$Ef zKzO?|dj!8b1V&U|`_B9Ac1+vv&-$63ee*p;@xuWybb49WFX=Q8--r+Ldx$OWXVJfz zCCTpeQkSdiR;|1Xz>zkW=}V$>I86t;d=>yYfAHgIm-F;rVJ7ne{U}AUKmh?;(Z{BIX)Mb=lZ(C& zz?XW5C9P+`OtF}X+;f^!%|f_Bo?H2pFi_LTWaEGu~YE6<>o%RB4WH~L;BqxIFv zP}GP2U=u9tUX$1yiPPH(2rJXG1C&)0?A3Ci6h(^Vh<31AH`$>>CCeQ2E0t4QHw-jY z$(aCFcoIMw&y^iEFz7P+nYO2ux?8C#@yy3aZ3ip;B%*0}N=7JXKJ#h&h~T%)_#Uo+ zJ`Y8VH(j-7joYfU>7OX!5f2WTFYzzJq-%AMlr^5LhF>iDcG66aGQ=D$64s&PFXfC2$}4 zXF2E_Ikv1EtA~0w9eKpe4oE`M zcdGeY1H32rmzYm70J(xIIzC6a;Ibu@og6`?G=jMABf zmd#Eb0xSm>VYxBtBC;Q>3UebYA@37WAI&_3WCOZE%#aA>>Gxo~QACVYUVMXo)O5n= zSdZU!-S0c@x3&3wxBb)eVR3jc3OpOp_)%uag$~s7D7=`G@88?Td&a?czNiX-tWXGgbX(HeMTmcb)OyWm-pFVP-Q-0&j#gWNJ9=!rB_N8 zwMY$#jl{igx*uaS_~<~-=i~p|moc|Z0PP0+|FEtb2fz>LQcWrBM`m>J-#!=c?}rtM zJ$UfIzWL^xK9Cyt$5DW7F91FY(Enm4z=z-bm33Fth>{y72<-6^h54R+b|K4%qlZHe@XH zBu*f{cjH*n-Wxlk1dXCJtyNth2Zd(A0vHHy*p~}jx-+OH!@fj?d*R&z4myo_ITw{F z#XF`W~9u?}l6M(y)^6u|U$uE_iHn4OqNO@OsDS%0cTBfDhnX`|#^*#mJ zb{6AjipDelJxV-K;YFlV8x2Rzc=zCZMIS}K@wm13k*&-tOGQvuU!KruH9S;zT4j~-T0($SOKD({EMi|g5_bde$#R&Lwgnw{h5&&_DWBFpY zeeYSS8okWl9nSR;U2W;Z5ixo_BJ)wc(7+z_q1Sqp6^vJ9*;sqqkT%AdkxZwtXh!Ga zc?+vs1*0c4Or!;w3_d8yT8h$h6gtW$?rilz756FPMxi`&DbwdBdPbXT#J2>nd9VM( zq6v5V8#_E4{6S!aI>43(qJ?fZq&Qj*%5CFW$2;zv5Zz9RhraSO)V!fnLv01%^jbp9 zf@AIkKpN9B{PXg*G#ZXvZtn%)p*K`?m(#J^ew(U4wPW?#CVUO>kKOju)EbN)(fm$K zPOq1owjYss@eP$FHr(qVzcXq+9`haEkPmC~=juejQG0NRn3qjVrSHtr>~}aJpwBc| zEB0zAsax`81H-|r(cF_SGMOL_u0i>uUEPW117~qU_{N5#Kf)1>UQLetJ_({x^4y;P zD^Tkv0Nh+ZpzFo~@WZ>*y<{9TgC)?V!UFzrzyJ250DC&j0Kh%~0?Ta4@AC4}p3U=b z7IWi|)xDI*X^Fy5hdP5%(j*Y5X3Z%`yTD3B;JlnuuLiE;e9OA6ZkQpuF$vZ;BJvQL z)tH(zp9D%8vUH{U;vHi`!`|qn9mSPf*{{c=Xk`3OF4zGWkWmw;mjG(Z?|bsy!1YHV zLuLH+qgZICGbqaObQ=`OM?7RBO->XsqM4M{dBOKnINg)wLthP&Z6!!`^{eh}YH*n@fS zKo16N3ou~7kYxz+4>**c43n@#smGK7fy3quP0kOyvSwN{&92O;0g?C@S| z#TW6#I{Rkz2-I}e=8tm%-@;!0)PALj68#j@z{g(> z4e*hLz@DP2kse?^o|7T~^AJ=I&Y-zgAzdm0)Pn~m&`(wJLS-&d9=ze$m4D22A2GTJ zM(P0eJ*_gZ*9_e#5jap&J(t{B$E#LGi+9lY9V#mw7QV>CKztg77Pzad|HHjI2wlE$k7TUI$>e0LUzA8Bc=PDm1XcrVS*HnG*T-WDcg}oGV@MUYC#AKTarlC-i z^4$s*?Bu>imUbdz3dlM0t00fKQbE&e1A$2N8JL@h znu)?FXeK9y{T$6obSz>SC_3-xFZ}&7v+x}@M0eCRLlV|PI z-T!e6On zH7z1zC0k^EXWX~4KnK9EOf#*;al3wzltkBIT|7d z`p%bx5U7ikB@!UopIIzhs8^0R0LZ+w6`Wq*D=!?VSgG5knYdlY&4r_HK_nH0snbVR_dA3r49^~kv4%F#Gzn0Q;|2p{I8C~8FoNrik$@uxdmTbCAcCNPpsiY}i_{ylBnuq* zquypR@3aoNTqXDi>@e+n*p#P!R+<+>QL<(rLU=kU>X~pgh-0X8DtKawq2Cu!!=ew7 z#pp`{7FNeVDBU#2f!j-?zi^)i9u&B#aHR1P1!&yM?o|4d`dydcWdPH?KD1s{OTGhb z!*{aeD=E1d;43KrFlrZiPx4qkl&6xx`LOptM-?bTZE)fbQV$h;jD~)XRyP%|N9F{> zCDx`C;PW>TFV=s_9?Je^zGss2Pr%!9`HQhZOX&DCS1cHoRIq7J3rA|NLC*ca@a3s9 z(^x}Qlb>0PQ=cK(&>{!%8myX}*=sgFLO~KnkeLYwU)D0kWq6;3Kqhq+q;yJcMf7)t zH--=RWFR*6NMTx zdmV$Ny9$$r~&>UT=1V}Ep^DyU#5T}}xQN}jUtFchT4NtUN*5_TN{x-JT^+1MW zXAm@{c7Ad3|7>4820$zb%8n;j*H87jQUE+>7bezszVjU+ml@r_f1fljzx;AL4ItJp z-~ZqK8VfuKt$2PMV87Za0PX(!>yvvwbGQ-n|Dth4oD1bkfiY7ri<}6UR4jg+E|N^k zQ?9|$N|y)}|G1dk#Y4DOiVIy(JiwPKgyhUE^2V~3U<3CpmpdK7RV2VUxw~pw{TFcX z;O%TFvlG#A8SGD9K7J@nF)Vyz*=B37LDGqQVm%=NS$rkUy%iY{@$|Ana;5$WVVTmV z&{AHPqErztf2T~ccZ3j+HX)^hzfd0B~zu#}CG~{7fHYmPdC&7F8+>cGf#}du;Qz)AfWm}6Hmn#Wbw+zxJ@AZX23zabK}`Y8)6arh?bkf>6=3 zZHvO(eQYn#P}X2*uIBM0l80p<&^jga1Q(vjr|DZ^8?cv~V^98a%iZ?d-u%Nsu}(#2 zw%->NgwFxEy1RY%r1ayEJBaTJfK_3^$KL+VKP&?BDO>nqu6B@bI=uNq(STMW3O@-H z^xem;OsnV)%Ez-k%*{*xvn~#TTJp}}Ao&G(>s*-5KkX+ed@c_>ReCV&9NS~^>IcWq z{@r$qVgM*%nm<^9SJ!_o*Oda`IlFu!$8wC@B4zz47kL46PWANZ(;hEiIt8GA{{H!= zZ_Bk8{n(LpV|YioSk^cTnUBZG^@;>qPbVf5)1ViEo6(9u@}gpy>PcZS>BkXijXo?= zq;jciPr1TkR4GPsO{~VPj3)daNl-O^M-zESh>HHMt|>t@<`)OBtb-Z)fiQB%9wk_S ziIhZ#DyEo|$+Dfa_=MUWuCK}hm8V;U^3VI;+EY?Zi%k`m^tT5e`H>?~+0yksU; zwbG(Q$H=yhIhb`aUy+c5CXuYTED9~h1Q=sX)K^8BFd@Sv&Dmm`nVk|V?kd-1vL8t&@;xoqfidICX)G_ zc&Nr4Q6k9z!zpHH0MK@mH^6ArpYrlT7H)$VzQ83w5|{vtF4WHp>ZDSw=S%j%;zYq~ zIt`ZyqUZ1RG68)2*+S!b4@Il>i7NZ)0_c)GE!V^1KQF;@AYlsG-5eZx?)UTu4 z3SUmnshZ$AfdMbY36%I!N$5Jz=t;S-Ov9(1b|qxLqg|+Itf5)?6V@-eGE1-#YPZmu zDS4onSdSLA5Mth@f4D5We7}_3$bMXO_%*2O7u7*ex z{iD=AuTu;|TB!3JCqqDpG47P+ecOY7{Zm%>~%fwXgplZ zt?bRWVeDY5eS&xe$nT)vBk_mzzn_upd+$9@9f02*GEGu6$!#QbPcFS6Co9xA8f$#t zYws5SmDx4(IsdJ7ss7w+uTDJ=Qt8-mJJr2+HHV#+`(@5vUKdstw73LA@vMU$W2Z}R z@X_pV{7>HbtN)+ZUw^$BAN94@URxdfo7riYf~)JNb6qI_p0kVR@wdPIZS`P)?dqRy z{cnE=3fKYx%8eVts{iE4lb+b)05G@c@BN)e@4oqG?|f}AVb_wLA65@)rDACc5t6jx z`!3V!++S&>LKPKDje7*UcG<89X}%i84dEz+vs{C-6)w8q(VQgeMEC1+6A$Vd0>nZ> zK^NPsdyKj8o`SH~s;567V3wZ>fE@&PpFEWtw=U#d&w^%yN7p)(HUx;!vI~LvJr?^e z1g#`|(SlOQ6x0!^g}Y^2(kU@zzx~UeaUViK=_X!AjOr*PaY>9Pu3BmIi84b|dJ&nV zn&}#IX)M7xG%eGHQY8wG`eHPwh%mq!V-o@!&5Im8Qk4kxY0iq#mI3mAzXSWb^09nH z-}mniS%xcvU1?eb?Ny3(ewoIO@zwU`yFxrLh$CaIctf*Iz2^8~OyJdgikMXa{j(eka??dYaQ_p}dgJ ziM>#sN_6Mn0?Rw<75(L>ABbhl0qSq$>jEZ3_hM;ZyrS@^8m!WM{M(6?nL+XJ%p$K* z)l~Mjdk617aXODJ1WDIbbH0R*!z_>Dw5%`6H|h;wHRfEiMPDb59spUC)(;VOk&ow; zHulz|!QL6_J&531KKi=sIYp*lXr#FDR@N3jz^t!_)AJOB;J+&Cq&dK7I=jF6R z=a?nUoCcWQ8oyoPUbzwl<}>aHpQD2>C7AJYSQ#H6LU{e3Kv3{RAF^n)cbBE*S@=qY zMu4jXnUN+(43v>Zd@Mmss(?H%p#c`do(cwYAGbicnZGO5p?AUJNRRG;R#8s2Gm9l= zJ&1x;EhYkGg?tFuRoYeMH_;7smkH0q)J|X5);_2I6(~=e|FGe2#tih`2w%{5rP$;CMZQBEUv#$FX|- zI6e#l2dPQDY5Z04p+B|Ui{Gl*L*<^os~S(7569B)eGGk$%5-6*%1?NKSI~UaT3M=; z!l7d4vD77EP7~=81St4~dSK|$IF-Nq_`$#WqaXc9HwA#*yLV68UyE(ljso;NO|Gt= z`gNrMc+M_XD1Y^7Z}uQ8DOL@I6|_JbH5PU*K7wlcaoHl1tFg%(ly0Fiv#e<#VY~kA)+PF9~q1# zx&;P2M15o7Ugt$#Ld%SmC9A-6p`pQY#*|wajKsJE*(auyXGZ1N&O6ZtW2?WU0HxF_ z5HHqKErMQY7n(HH=j4|IBnhyjCyUvj!5U?<5H%zhf49&lzjZf6Ii(*9UT9jg;CGibw+WECc;)(I-OlI23aH?m=SjIg~@eRfuLvG+Dfi zMV0!0NW^F>lvAKTXa_~ZpkIFOwWZhDdCwvq%+AYLP^R;RGtC)T`W*f2JZU)SrWHTR z)wBq98XNLRaJ108(}_P|EC=fs@X2H}>^;Gr3XPV1|Cx^`S+g(0qaO<2nCdhp!4b)I z9ce<;=IvlIS;T#<$kF94?7Gmi#oLjbTql=(1fd;)83w2JdrrMvuUho|o~GAlY#1BE zcG29M;61E^8vZ=`Ac+sSs$d`zR{JqV0c0TWk4ak|N;s=qE;0B}r?|z49dpSfx6%s_ z-T_K2HJ-_vHE}5Ocw#(MuEzS0;bN(WMZKe$;7S6FsKLK!tRi^IqH3issdR1sB-;Z&c!_sxoxzud#uWUX>i2YN>#WO~jy4KrzCe4nmLx(oG{ zX7s&y;H-H5$@=u)_*d`!((iKZ+dmEb3%zx9{q(OZ1;F!n&68i>c;k((L2K8h6p)LH z3;E!K5BhAobLWmde*CykDp>#9cRC6XpG$MaX+J&_yT7sZSBDnWgSoy{wm>Jdy|cN~9ZLG5wE0JXmi#!(CEp3i6xBwn^faww9|U zU#)=1x@Lh+7X38J$)|()uTq55lfqPTIJj_f!qZJiV652{?S+3Th-V=U+D;=Y=tva= z_lKb!K9bA{W}E>1PHnV#Y!#)-s3Wh#^HgnM{;q8Re*^k=_2Fj8e<)wKAIl5N!x~?* zP|_zS4ML@yJ1rKfgAu7TU8^H6%Q?cpH^piRnkiLcY!4WB!mZrQ&!Haz_yDpRV?IW* zCct5cH-1 zFvk`Kr)OB@K`$X1`|!(vfL?ElVH)WV+s%Vz*=Re)ArxB?{1CK6U!sg9d0Qw0&{y6* z^iO{lIAG8@f|I((fIH@nwwfy`qTkS6YgqG#f>M(fiQa^P{ZLS8PNm?Lv|1`R1lm{;;(ukPdNL>w)?kvchkZ0mV%cP7AR?(4h>k*61ZOA~ zd{oU_Q<&Z!0~F#-z5>Ovsc~!6Gv4$S*!#BRh-PE(aG5^w0+nT&Xcj3)X3bNngNpK+ zXnr&Tfhp8N`6S7@=4sF`8f{RbDD{hRSDQ#Eb}S0X?TmbyUbG6$cclhRHj(fo2sKTP zji@Ol88^+1H; z@Ba56{CodK!znH9*k-gu5I}H%tLr(st`q>z*~N3Z?V0)Zx4&(^4M1Og^;Pkc0OU(w z`jUP0(MRhB{=2Mr^X5$)2iPas_3PKyO$iWk`n7AJT7l%>HP7J|l0_ThLRf(Nl#cmV*o zdP|2qpeZHAn22hz5;$p)luRNh3l2n^1jZ8oLZ}&Cy1GD|g1<#2P!p44!V!_l-XV~7 z@GdI}LKX}e#HcYE`Dc42=%JdD7kW zUzYde6@9NCulMry`GULcb4xG`=e_eN67JfoRPzL?1Gnn{p`M6?!1eKmPajAakIPgl z`e~tZQi!n}*He8lh87dAE6#e?0@9U)i%?GJC}=4(O}RpyP^ml^73eT8E0^<*=ZrvE zU{Qt=_~>n3a*NLbr0?}RfKHli&U`Cv4?r_ChmbDz?#I{~87-g@8bP$}JW`=FakZ!B zd}?V>H=}w9@z*?|z{kw$?YFvxAOMp|t*3W*_xxyitrALsO#{ ze;gXXVfh!2x}Rx{K>t`~O_H(XZy#TU9>#rd{GECyWzZNAgLl?+HjSsCv-jV+uAx8> zsKg5OC7#K2sj93y`A7XO0r8~_PnYveM2Zd~ZCsp|>mZXSfzK;$FI6iK^iIXcvCp4X zCB0G1xs}TA{l}mDr~mDC>)m(X?Re$&*I(~J0KfIEZ^>Wy3xC12`;_X$= z^w1Tvrg;*8grGPWu3x-hgL#-sK+?sj)N=RIOYuq-iY1&RX^Gs!(}3JEAwE!M5PYja zz@p)?G7eEG-c4qhLPq0p*zZ388AM0xN6H45Z|T=HUzZR`a~(#rwvPr17eWJO62RYA zyJYRYz^41L(`)L*zKE`jI(rP%p7(hN{0f;>kA|VzPP0$P>PL%@nQC+5f7Lk0H z4HI=y!3xE7Pb={Ff^rur0N(4Ly>2IUfy|^60Tgc*qbm!n1p``_w8-doC zYZh+w;^h=_*_e0NkfYN0kNS^BEIYJ7`!H`%w`EMcm<}WDsKY^oSjKQk=e&?d{Ps)^ zk}gUI&mZ;gN!%HyQQ!>ph44-y3PcfB}O^Wxt`bB*)s~@k)B!lGV8++zh5^VZ^M>8C&pB9_1R=Yl*$~-pB;* z65t+?&OG8hr!(fJ>Hr?ke1Cnc2VLA;L};JBO$q=g1%_z4#JZB;G|~>PY+Rm59Mk9A z#C%|zGfmG&Pl1Oh%~I|eo$Jy&{U&iYxET~lAG*V-L z`rA4xk<1IZ)G>}bvArS&i3shXhu9{@Yl-s+^LQ#YQ5@4Z?|Bo z^t#*rP2Z>gqPA%Jb~tEPC=IuoU`3lXf3(9R;KMUCz{m0e( zcs>7=p02aAZt-7(PY+h<`P2FxVu6e`JH!GS?*+_C0(r3K*N1r9whG=_f0naE`p3x3YUfK|CiaG~tZr|2EC|6Qs8K#CWMTRA5^Z}^94WQL6 zd64-V=iTJz-}~OjZ~b?E@xA}>chP!3xvanT{qKLj|FvxZt^~Nco`dU30q~q&ZH|5S zyWj1z*U!+L=e)h}!e(=P_^^Y2_W;0z>stVt)xRZl%YO&|Z5zOY^H1-+dh=Fe-hBaX zXF)efbDZBSC;XEn9RCzwD1vo_e5hpBs1b-Pg++)cB-o??IotO<108}`MBc|@AXbDH z%|iNX;Q~QIZnQ}?T#3OUhp=qYl+>NEsROGPs`giLk zM#=!m!mD^)+TY$^DJB5J;Qq17r5BeU3m@vNWRy@L;jIdovF1w15meS3TM$1Bj zb=>CHX?)fDFk4|5S_%)@xk8qpXhTRminfpP1L(^D`d`s^y9<8<`aEPV6%a&9x(u+F z0MblK#C8DI_VdsIhDCc+vcGJ9Hk9_af0vLXS;FVH@>!or;V_YaddyjXaw^aB(WSPD z>xFafZ6R>)-mqbbmgEa)znG*~jY>rF&$^OArv+CJ#nrf=(w}16S;9Kfc|prhS>)6doaGu(jWb57P?hE zZ|@&f0QUPSd+VSL@6&GrOh(r4KI7y2N>TW&DhYCrzQ$+I)@ZQ%T95HXr1Ej0lg^`G z>D%X|2%1#&$w*{5qeL>#$?~nS{Ozpjq!hroIx z-|gvr3qXH;1OHi-tLvwJT`2&b(+djx<^}NUzy9lspQYI@^OFD?_zxDkf&V7Q9&X&Y zfmi@W#{l9}Tl|1GAARuVKXvnEa^YJ0QGjPDRZ2+7%&|feAQ>X@nDF9QrnpgvVB+x> zt2hglF6fm{%2G4)6i6h0XI(-z;57NElAzu9+1vOI%l`l;BYCsLofE+7{M{;8L-X4! zx7WuTu>3^c*V`h&Qj@7lZ57Bw_*f~rv4r9S!pO1-wXv7WQt(Kjm4y_5h9(HFybgMO zd3m*<&AiZ!dT@_uY0um?s}f)enMI}%IU$D%)gf=8o!RCU(o?k6_&b5>8~Sv(?dv<; zZU34+k*~`?=-_{6IS*Qj@0I4^V|a#T+q)O%!bg3noq#AMe`<7qPo}rj{zQ8CMZikz zB5F_DtF_7m=Bg55p}uA#63UA`Uznm9Us|wEn)Q-xKwqd%g164*(nLL4h)@x9I z^v@V@0q}$3M5C14gD%c{ht=Fj6#{^5szM%9cEUyhUqu1t0qBq&kGVwBsDKD7M6E!g zs7&%)qjcO9^IkRw#*&X|*$~jCEdN3`0uXEJ&`Se|kEOe@vrZ^(rCgc;8XDJJL@Ia7H=!o$GP$+0ISaT1hU_bras8*cjH)=!{+9r$$Q zHv|(CcydS#8qn9WKbgk`bpwy<^rWUKi%p?pJ{W6*lfkD?Q5J}B@9AabiC$7zC=QHQ z|DAg1Ga3@yJ{r&Y6r-A1IkGRtt<+gNNS^*8F;6`|_MC`C%F8gRb8VH0$BYJrVjxm) zH#Xzg!}r!t|2O}G`~UaJqLNi+2>GQJ7#hd;eC&$d7Zs`_Bm$k)(d;xe^3n1$ER*CmpOI|zvNIuY? zooZ~7fdGAx)dYaHr*M%JatbqNA<3)GGUFsFc{&Z@F&9W?@LI~1nZ{GzZUvDMIIu2K zDkRf{pj-t?7s?@#rO+I8r@H8nSS=JWP(b8Dcq8`bzdPLa`_X#ucA(F_ut?o^kI#PJ zEcVjRVuF@j(!&J7*@T8a(v=acA{=RdH!TLRU~G+Vi=@LX1oUM|8bhc(IIRx^aOR!K zLs_6Sem$LJI~I#>8E3w?-wRv1V<-oRM}8a(aG{B~c;f!Kr~_wL)adDqkG=UOWluip z7&N4DwRl>L^@B(S>!5WEV~etk+mH6Rn3Uy`*3(&<2mA_}plpmY#E(ZE+Pxm%VWoNE z9!BO3GRr!^vjIxM@c8MI-e-g5tjt#BZ*R4y(`ZWo`k03as3SiI@*KfF)jNYaVU_Ou zWC{9=xGo9WHS&Xk0HEG2`~l<>_=8VH-edeaD_HVb|0gG-4Q4#1r4G*R6*c2gk(1Zh zR2Xe#R*T6p8g8>1)_`>&@24QG=rhniZp9n{cr}Cv5weD(>S@*Wc6n7K680hFZOB#* zcl9{3*K*P(vYpn=Nv%uc-H0#_3WO$AVcqcha}rD0e&87egt6=rqZ*wY2`F`)8tIef zno;eO4T8G0W-6u4JC}q1>MW2NIF)K?E$zwrxy{sX6GBC_eYv(-^LwQITf=?-Fhulp z-5&tHx$OgRI}nd7VVPgMtG>kE`=;0&`|*8W{_1Y}t7y3K_xINlvA@$bqxfT}g9w^H z-^pD2c1&+MX)?$P;uK;z@5_AnnFJp{c^=Z$T#i%`QBoO1;BH7F>`1~0eAv6keuUJ%b(JtVB+zi=#M*~dmN<+L?7uY(~f%|7HAHCFzfv41ZyrvRTR6CFnKiiG}0xOUrv%w^ITtr7fBs)U6jtf(mED z`5~JCsFrDZ7Ai03NAi-qyUwxaozDItfb$ud@OIX1HBO{2NxA{O4RVmXet3GD?mK@Zd)3N)$m#b2T)EGlx zUqZB|e)XYht_0-HRqjX2@5tXpCs%w9uYtaOU=0}LiW?{)OwN|ZhKJ`t&%gC?x57aQ zpan6Fk3LHa7A|e+>ftAOKtI-I`A60L)K3x0D09!fk(vyv+CSvz0%h z@|S#65p7?>Qy@PR+$PZXdV<-Ekricl4;k{V^z>1vBR{ycO8^C2X58ViEGX7M=E-B+ zdy1j1K&67kN^&(&(8omIwO@g~|CYSJ1{bgpOMPBxobcowXv6koPznUGmhkN9 z@%}Gl{qaM4^0$8T;+_A;|NH3=e&bg@`Mn1Gk4c6y!)?PSJ+p>c8uJik|;P%Q|cxMZ|}|32xlw`NM)z<==B76V{Y0tjLOcpQNC*NO~V}aW69QY}FMdUZ=0E@5rkgIQ@|} zZ73{d;JB+OIbbO&8Z`9JIPJ+F#X5rI+0qW?;m$ypQsYt2;z4jyuI4?Nf8+a<=gwNp zLQ&*TKeL(^^<)9EC451fHGc#5@=>?wzbp^BRsVVe`Z2IlhNHqEphPhVb-WU23WGsA z%?rWx;Cc`72Km8lZXueeFW(233sxULp~R4+bso`{@9IJo7cIbf%!^b70l))bhbz7l zXK@#t*pm+ewPM*_-P;y`n&wTq^=m|}mm=6nfNqZFpXvw+nr6IF9YCJPJ7}Avia$K- zmUbvtWRw2lf~&Ms=3NVBksVMUf{B z$Z8}p4Z<~f9Y^f-w~thrqWn}LDK+>W@b1_UYrgva{0;DXSCclcU5y_cj~E~AIK0t_u)4>-dLcJ`K|sDdRpEfe5XqeO7YI5UP`i=VEN)c@>Zhr9H7qKi0R4lndXR!tJs^6obEB{We5C^ zJ|}ZOzxWJrFVXg(&#V}WCeF8{DA96($IMCUjCaOhV^vl+B0=qhp3v2B;B=1FHG^MH z{pTtH0Q_ji>Zz18$>Tbgi~Eo4{0EPZPwu~a@#ycrb^iX}|C`6(`v-sTv-=rbA?;CZmpkw`l(2A33=s}S32fs+mV|gvfcBO%&xBI?7C6_Jg1k78Z8Duv-aCN z@4RE}EX{VbM%%~V?)g!Gn20SH;4m|LTr2Sji7f#B+qUF%C)f;wk-g1v3hlr$vmVzLJO}LS!HL3FTTy!h#6c4%J@{qoI z145(S(l6oxQoXrU;S_x(6YwxYJVrZ5X0=wj-qq1m9w? z&TAMJj?#8z*@72HD|E;nk`#P~z!XH|cT9xF1r{X>sF3^db36b9@2tndfOk__~Tm_=wHAx(08`a+m{-V+e^v_3XSm7k?`kCIfHsGAGd z$P=IDZ4eqe80)c}!~1P1JOraT=YN;4G2eYqb=vh~MJ(7_8UB_PS#pT_Gc8HbYU9d! zhJz*Ks2lf`WKNGJp#b5i2=me!6@R25@E!m>Eb`)!^nH1vF?P{2) zk3_woxKPb@s=_#}!pec5ha}%iaNuMBzZ$0N&=80aNqziC;7y75F=mVk32wkP==(^V0@~(*+2b zi?u~wwCH)sMr#u~1N_r`Z@ndJg?lqH_Z*}7K|^j~S=fU8T4Wah$LnTJs03X3eBK%% zkzM9*?y8UR!Rw29;=T|6){70`%i>4sb>QFJ`6b8DU_+~0-UlG-b?+8<@2|D@M~{*p z=iU?G@7DVO|1#Y4j~>7;0`T>=jlgbm6n~6GGtn|8hyiuQ#_~)+9OOag4u)Ng?gZ{J zIrKD>G8al8OsTm#mgJB0!-^l7ofLIajXec{i0r;tGTDzSFc;*k23!EwKq$Y&9R}B& z|0c2K#GJ~sf>p7%(DyvHcPR(qEtk;-8+V*dByS5b#(KF&wa1^W7xy0@pT7A}KD+<^ z@ss<1-5JS#j=5WdGh25$Y%Wa-h1!ulCxo%zx5icdxhYHe`4t-&S;2pW=9ceFz27bV&>5*Ec}>C*()+L;XiwKphs!Qkk-D zCPy7fsKSmk%~HetZY`?*a9q zzcIE=7zdy%l26D&KR@5{K1g|AP^X}a75a0mjiA%i-#IocoVS_vEGiM-L8we|fw-UE zVHx{DNkGf7Gb%DPtl76HD2~-TdQB{OLd>}wCGlJ7+2}4Z%$VO*j5`&yu8vfIf47*c z`=hwkJ*@kd>B4#+l%r_-P5ns90N<;x*q7hku&r;~qMr1<`lQSyi#Le`~no&Ye5<`0?ZN?q;YAtb%L9GM0Sh(k{Ka{t&M#1;BH9fv0)Y%zjHq zM)8vXc%n)>3UIt?h6ze10rbCi6kyBecRqdi=0A4*#j%yFFGM{Mpj?CO1_4x3V926y z-vg-`Eh@CwWLucQdSb{gnihXih}nP~=>ZUBejeZOk`Wy3eNlL+82kR6%loHkipNFRMZQKBr>TKfrJbE$wf&Hj z2I(Pqs??=LPZqmqn9QJg+Bkot*T^{JKRIi4&eD=LpcKMsNC2zh!~|~${t+!8rJ*}aSNT* zUkC`cz(PL=5PSP+{&A!YOxY}ZBz(39fVaoJ2fC}g(`2E}M14Ye;r9;(Xy+J2*|6I8 zzEzF9lD2gmD-q2RRM?+Uv4dC)gGIqjEapEYE%QY^*1|zjC}Y`Kd4?J0QiAv@H%G>V zGsv=4ueZU|3573@tOQ|K`$o<3yVG!0?X*ZE_ILeBd>+1v7}WMAGvNjGi(UvdRx3J=<`c5gQ#(fwn-G^WO3S>pf|HztHlw?gxCN8AdH^$iFwJbn z`wXlJAIqH93#CpE*5g=AaTk zP*@H;affi{>`X|dnxd!jorr7a>;G8IlIbM5v%`dVh45U6wpqv^MY*9#H7QvbJ#VyF zEiRo-S%6A{T_tx#t6!%*KQ4o3Y528f)R*sxYv&{G4|3+al41>eY)xs z_+M>o+l%|oP>;tk23OZ^wcG60Z_&4|7$CYBnrA0?T7#Eh9OPKX%rqyJ<;{|T&KVM- zi>^%Oiu=7#y`)|e)u+7dw78R3j8uluTX1~{Y^smC{#dF>QwiPdmtedhZi^`ryI(@Xg=4c=z6~JpH}< zZ$5eNkuWc;lx~2(DFM*Hm9n?ZaM*vht;4*9c(eQ?9gZGfH}KyV?Js}%%Uy}kJOCQ_ z_n2i-?S^B1{^x(*KCe%&u0Oo%sw1A$Yhse{AYSP6F#Vm~x^?TYY2^BM+`E4L`ttPY zQ~ZWM=khPT{MxJk+SmSxztSRx91dr4cITG7vca_5k2g;6^t>-_ST2JPmgOS2l(KwP z8$tI%4Lg2FXlxr(Y?{c6?R!&JJl&qQJw**He!AWJZ2SGB-xp5@X`8pkURo~Sj2BXX zTCu3>;DF6@_hPK)+o#veq}S}ce_H?j)bCwv^ux1e_`6s~?${*NfJ58P`@X&;e{K2m z^2Ba#O+VWd6xaIaW=8Pu+ox`yOZz;NVWG2F+Xwg`WL#aE3>PvB!6d$qR+6${U5jL# zi=a(ZvUpwzDkr}isQggZ7$=mUiy|*-vC@=jr#N2yv+< zw-4ogF_AgAUkr}+MQy|~2$3>rVw4Af18>JzR~j?XXTtof|E)BRWTJ!M9X!VNYrnw& zHTjTATAHKNL`|pBsUe^bTb2sIKlkbYjC_b)#EwTJTL{`<$r_kVEy`}cn3*n$4zmeK)zX~qQdMQR7z&S(2;BI`PR=g(Hi zal;$O4R0Lz-Yc)XvTh21zHMMr0IZt=0Quy(HO_YB>iVf)R~`V*=>`@1B9X5l}# zZ{Lo^U4|n1Yrd2qMuuodEh} zWWf7YfZwREdOaY8lCYt<5H)cBf_x}1ZQ%YZ-KzhgTlYT2E00K|?|jatEYz`7hK4>g@?o9e%pmw)SNqyrPQw`#Z|*(ikV* zs;mIHIZjG|Nx!KAn{0)FkZ%?cUL<@D;mQsW9pIYA!Co0m$qW!UUS7taPB3pqfLn6x zAP;YA(%N!NDAC3{dGT==j1S|>27qU6BWS^s5V#SiBp?PuPq&WW5x(5d_3TISd7Zid z-xNKjCnKr?OeIXF-Ym^V$M3LElBV7dQGiH9QZ_!-vTV?4rSoG?c9>w|q0_bOXXCgDi&`FAQupQ?XeDTjj(Z|BY6xy+6NlUW2Iy}#V1G-Owm1LQ3%Y&ZrpB2h zz&9t^_WNSRI8p#|fO3f=@xpRH>eb!#*OTCUHo*VLD_s270QBpz1zz@Ydp5K2ox83PO`5g&w^88b#=#i98XiUCX?>k$_%%EdZ`0!$@0b{d75BzXhHT2K>fg~VLD zu;ZiVw*S%b$-VdO@x6D~$M>7t{$Ky}2XALLL~^vT0ezia`YByhwOQzqjui&m_tm|F zS9)h{f&bd~&4?IEfX(v1Hp{=e|HA{IzvKJ=`=18@>}9(rv$K;c@c+DAR|Gv==}}c-B#h4Xi6{Mpx6y*GQ&IxyRJ7b z@=Btm=Yw;D0NW_XGX;1-zeU`F_FH|tdzmJ*Wx%YoL85*xtoisFu?m#m|oR*MCmAC-&M@xzYK=ukS0E)#d0kiM|M0RLs zTp~bMTK{>?O^#b!+(&`EprLqdgj&N|K6owp$I;xj9JIMcD8`mR_dzA9aC%}F&d7*< zBEgrb6}33cbv1|+Yn7fF6jY`~PSZ2s?3xase^-{<&8j~F@o^A70O=9ZXrsx+anRbF zs_SU8`RO?Wybl7l2>X3Y#rOos@78~DFMv2IZydK5d+`UbAMSv$)~*<P=+akO83B zpK-0`z;r&PQN|MLF;H~kmefb(ws-cTIcMiJIjbv zcFC{j1z>H}TSjSwVO~eQVR<+28c(sZyyVKqyaQFnnCo$;6U0M5TaNtkT)>8%r(!4% zT0E8GgNN(Wdym&A_aAP54=x_x|JCD1?j9Km6-T0q`7O@Oo>30NX@*=bd-jnVRz2Yp=d1FeZ|Tm7W$S=QwCSWp!7AL$ah$iP2!e+;c%w=%KTUe8!M)zX;y#AH zMSaljgVHz`Daxy;_cHwk-Bog2Xj=1IwEY#d!eBXR2kPUQ`W(~&WJVA{jAKk&&*vZm z>___zeVg4G?FsrgSj1>vs9q)!xUWMUOCA*C&(onfF(xqpEhv$6Auu0YDe;<*6$jUW zUo;w=fIp+~3k5U{1!uoMtn?E30i34`zt0r6I{EuLEcZUzR45j}s8dk_fT|J(VMi39 z6!3b20|BIml0l#t@ah}W#g_wE)`Dg z7WY2)T<|VR44x1R2@C!T9!5hJ<30v=dLgK1ZLp?8HD*~?6)i9dbcU-8bZJgjlbDa` z4lgkI(^`=OS5h@10hX<3E>j(hdIlp#vw~knmz4EiL?l%#M8oVt>Ln3gA0(dBAfY;m z(2CV=+_=?%zRArORW@+1+wTVY=V<%tK;ABV0k^(gP8}>K&>yb$?x`{EH3Yc!Yy$vF<) zQxu~omTJ@?hl_!cUs@KlMwbFSy#)5LS3|6W7VbRiNoM4jO0yNeC2N-;9dv`TV+A7| zsr;FBPbNQJPf!x~@Lr{Y_b8{*PkM<#_+m`sChYJHP+qi;v#=t@HQZ z{Qhv;e+0nJpSS?j0pdMCpZa~!*BODFB}HtF2Ps{qA?W65t!(_(s3Af&V^( z_#}W9h0~7$#3YVwv7S|*^zZ;^%;1CLlY3u1yB^&BVzXiQBgtH}FeT5kJ-!|yR*H0@ z%n-%-WjgLT2ew?8tOt;aEkc&oE|F>}>+i=Rm5X4h(@8zqB0zBA|&Ng<_u-j#>)-@W+1%Dv^!$lulfntUQJNeW()g|b96 z-OyZ=r-WmHYM}n>`aAveu5Mu8?ssecjm^@}0$R9zqc>EFGsQ9&?e+83Ih8z?b&_eg zK+apJPg;t3fO2{z62QLc3wa8QW|C*8d%Z*>a9>M*@Uh$X$g7a_kGdxvAnVNKir1%O zHTQaOC+m*Q!V)eiVT8hf@2QBAqCkS~V_bnq!_F%N&r|?ckax)VM)@P?o+cfK!XigW z+E=bIcqIY5nVyUtECXX0 zmG%IJi=R6m48;Hxd4fh$3DV)d7VMIZ|$ zfHc=XbHM73jWt$gqStp~@vdXgRG$gz*1)~*&+mcwy4(H+@(*XBt#RGT_#XjxY!%?f z5!7dOkZvO=;`X~)_O&Nlb?y7{JJ=V1`|bH=%Uru3g&(sQ3IZ^lI9d-)HNmlZ7KZ>^ z$~t^hZ75Yj*CGW8Ewd~|q%>N#)@1W1J@07+a|OR6Jq??D!NQuZNEdx(B1IFhUuLvn zim?B=V2_@Gk61DcpLagbFdm~az8+*@k-pOj`;gR!M6^dROY>O09=LIh{6R@3)R^O; z5JWjW{ZZELw*PRGr{8n8{lEF?@7?>})3@%+&0C;6 z&~CV;e|2ME1otEG->#z@4gvakAAh+1H|zhV09e2L89*pWOfD z>Uw^zD+R!Fe1*c_`OjwkXC}-i0mP(t4*(J?`aT}rCiAjQ_@zyBXc6B#|Mcyjz5Zf% zgKO;dXgv-9)~RZ0*|~gC$;C=j+FNvC4Cf1;AmEaQv^Ex;6w-TET~Llp9bpKhIJ>Mi zEKO0$wJb!%?ln?+wDTqx0O0q9vx~iJPum;>j%c)l9o)l4%aD^$a}$z=^YXP${?X%a z$)8$(OMd(CP5HsuKP?{}UL6tAC8MOTybw8w{Rkkrwps1(*az~`2JXMSzP*9{59BM& zg@5}ruUC*c<%#H!Jq-~$he3E0A6=b;15jYW_63DN4Ydo=z0hDhTcS_2fPTb5;2zIo z-%{}s`FNu=!N_<=&~A-9vJGT)UtB&iiM+WywyXyL=ROyBgoFU^$Lg^KUxXDT^WWhx z#GKsX0J>YyMZHn+T`S;MLSdtQS)L1rBkeNAcE_0Be>`r3=Fu1E8x6O8#6(bcS5Y5R z{kT2Q&C|mJ0In@{>{$RJj2^^Bh~RllD`Gi#UM5L&8`z8%{=!txu>jeR>}SM&YLtX^JKjzg~3P*aBq>W-&fv)-#SPQLHFpML>nBeD>@!RY5;m*ZshHw z(UG6zZ;&rQrjP|aAdKJ$J!eTn81GG2(#xS^kiThFHpChrh7OP%x8nihLy3y!cZ&f{ z9smZA3(hn?d?T^h2{-{a_2v$GQ&h)+>4ODXwhYTa^0uIvLxhQS#!$|(vvf;kcIctN zVMH19NDO`xngl4rhj>|VY>X->ZxT9&KZ00J!=O;KTjk`+>88P+V;rE&p+Q8)j*{E= zwgHRszLWM%3FEroB40M*QIkPZ+ zLUDrlD9+#0s-As?rJ^bhX3Khv42gcsrOtJT#D24pTHm9#SJ8{=MkBr2>v{4bsNOWP zEvP-->jPl5@KLAO87+g=Ct9c!jb}(vah=cy{nEZ)*t(h7n%n;Q{kA{-Z)Q;A$opk1IIf$*+W$5Pq&uPRNTw@Y{`_a2^{@FWUmmc6`ERyzgGcMg=v_gxz zC^JXl6@^5Hu`;pfs3gGU3Z^cY5;uoc%cZLxpbEU%QbzenNmm!+*fUo+FJ!hA^^^oq zJ%q1{q*Q4EaQdghay**vr!Y-`q^_7o_ppTh$&0_&|2|p1B<~zv-xL9VZ2SA;a;~@J zsodIt{-<*5_(2Ewx7N*~Z|`@&e|xj;E0-a1LZFc0wBC$p?p#TkEWVoGvm6udi9;zR z1=~SMmD8e?_R^znTIyBaQS5{FA3h{?ZXe2XMp zE=#s;A+bkYvN$Y00lkeyX|U7A@Dw39#_d}mHLC2o%%civov;0d$;nEQp=cP_@T72g z3|b=-_kI{-^dRX)<5dlsAx(}wS72$@mochwo&~Eo))yacsOqSysA&@r&vMZ~6Idy^3ns>Z` zX9*}zHPek--o7h(6hcj%fS0gen?)=DYIce4KSZ$TuwU-8CPs`iP|8o=->T zH4A=++U;1q2*Ov=jZtLYNRv<=Gz9_1CR!@oG@@ydDG1O)VJ0LawOi{%7>p~NC__@QZ|lKS`Nw*PV4pKs^)AFLm}^;=Kgz4y1C z{OIl9(GMR@;J&|vm|AeXXV-m7%X{zf-Tb`*`lqPyd-CK-|GpU(kImxmQUCkBhYuh2&ksKMfV~77@Nawn?VI2HW|XZN)copt zj;^Z?d5*7OQrm*`-S2*P`R(8S?PXH{ESmyAzxK7S9UeS*u)OrrOUpI^&+gv6dwBHd z(P7ijoqgU>fbI#3BKS0PJSz7Xv~!Qdk|l@=pU1mlBH zhV20W`K4YWA?Id5`C%U zau28U)hw({(bw)G5cKGD80DqH&HLTc7JNkWAy@(jK(9Xj#=D?c{tk>spdKSQ z!T*x?WJ)*h%P-$k8K9BJLcO<8eTFB~FbR6vhD($~zMH_ZV#g^eD=v=`T@$<{Xf8`~YqxrGN&= z%JnhZl5Av@q-4dTRZ7ANJK$bw3$>8N^HjjXlXQio!2{WH7!;C7mB2_ehB|?3P72)` zT7dV)Qk+gQURDKFURClw7{ARp!hS)QbT9Ng7EDu1+gj3e+c&-a!e-fj(d_yS4Qsw{ z5*X+c-+M(zvF?^17WS2_`@>Z~?}Y`wp?v9HP-u z+p&7TbNuj8PeT@V+B@HK-8o(_?&CYBpYrL%flI%aHRl~J{moi$>EOf`{5iH){1(i< z?V9fKZ@BzN6#o|WzX5#*{wBHaza9B!ckbLdZq|R^8nAx#t6yE;efQlX(r@5@^}YW_ zWfVGGUC+n$`5ffx`e|P}{Vi|2@rG_nfWtQNmTlrSP~ZQy$$8i&XX8K&{tp}Yk2DfK zr?PAeX8Cvi^uP2=w^sXl+lPO+b;Dk`@q&Kk(LwCV)4s2~i^u}}b9_}?+W-5-dnkgS7i^~$dPy~!N`;J37G zt6{I1wa*RcZ)-@?nGOX&^H8+ST0ek)OT$Wo&M8}7Y7tY>4G;C|ifTIn;v~xouQob; zB5i<2v|zKp3Vt83=Sd4Bsll{p?FxZ4}J+jKNJ=~#u1?(^yEAjs;{R-A1*@m_94&l z0uIzx^c^b;*!NedFPjo!Rr9!&tT-5;AiM;q)0f($!AN*MI$h0=#Ed!+Lgz68B|;fL zMuUy`K#Zgqz)C;WK@%nF5765)u-B|tC#rv{f7fJ{Mr^Yx0w}oXpoENL`G&{QFrp*M z!;bst1=BfQQgAQK%oMzOIP|GL)6)>ox&MK$BJ^upiIp2A8v5Ao+T>)!H z&KOwAV@ssF?KjK)%@<_3akKBy*IO@|Y(QVgZ9hOf7Om9+ty%=*Gs$E1@(8`I2pGS0 zfcd5X@IC%xkG>#4pXc3sclES=FMpK3qIF(Aoz8ANh@O4bS@!w&iQYyUt!nxtcvQ7Sa{A9D__ha?e$M@c~eyrX}wEZanAF@(PW9-uZjB8c`2#i_P#T zbf4cdu0z-G{bw7tSJ!{e*VPt)=l|-wY}2YOh^W~-0NOo21`rod@c82izLU3oeDUO0 zZ!Xt=&KDm&*9NT51Y1v6M8?MpSUy9d0rmmtqFUEBq!5K@R1o6&`tAC4W7r5G9>REq zrA2!@E$bf1EA2X80bd7 z(Sr6a@?MY`I_(QYEs9_(J0oXY3kc2Ee=uK~_mu8VS;Jgq`7)^cB684=*$#KF8}8R8N9NpaA| z%V9)b>Sw__P{~oZXz7Pumhskr@ekV2+S`;xiwi3_-Z0uCQj`TMmA*kzHENp%$WV6^ zaSSPEF6JqRb5K9D#si#2) zDZ7gYF)O#P{6~q?IoJ zqdhtTn3}7NoGvy32uS#kEYSuBZW`7$v@P1Gm5X(XLr>kI3>fpq7*}<+M6{wc$Jd|G_5{P1g#HGwqg)To zy7{rYY}L={MJ?lnjT@JJo!qD0JG-V0=r@Z#g7NXOdP79;x(e&n&61M z4WujF?fF=}4)l*bLHl0?z&|7Pdw!ufP(<19V=SIUPoP7fSLWb)ps!B&ypS+wkGKL! z%6uH}NRAsV92|0xMrSA0V+@vk`ZVNiXLgi2O=Tgz1yVw$+PhNamUT}>oL=%4k+gqV zPZUgm@1QrhM*iymYL}x{^EsH$tiGEb0?b|P)W~De9! zzyIXTdo9{NUfDpaPF8)kw3qwsYRBa9-u=n-e$+t3=Jyd}OC(o6j`q*MeFpK;3ee?d8$Z;3P0ghcr0muYYgg-`)Og1OD9;z+L|P%)NW}ZVUQ%JRA~ts^X3dxeOUL;d<#Ikcc~WuZvpr>fA(Mai?8X;@AOP=+>mRxZ^>()+-W{QV&_Lm z0PvG5pLr2VZ$}6~{ofR?!YtBknr#a}cc>R34*=_10ovcw?f1EKPXPsAk`z{>e33s0 zuYpk9#G#{GKrj5}g}e4&_`R_B3$_J}EdaQG>}lPLKs2@ytX@+$T!h@WIyGbnbYZzq zumnPmk2r!)B=>|94YWwA5;(;c1=NeBc*47|U8L$j-h=?KWPMU1$#<3z z(Yy|Ve#-tUc~M#D!>EJUiN}WGhgk`(2PI6Y6XurBHQxcy6&y!8;<8vHV_fC@S-q#l z$3R$?i3TQ8(MMp5yqjZ(EYyP8AFUG_HSx|+4Z3AqSSh&gxsa;BWNG&JlHZ`S^BD#3Io{by*EILgV<^|CgTu+{#G5tl-m7njQ(1jG- zyGVEYdTq1j-`+rex8!dC|JIjGJlcL}sz4hj$vE+bEcosA3JZPSw-SJlqU^_gaf|=D z-L`HKb`Y=T&w<{1@IDL}14%3gk;EWSCc{kbsVnpOB-HSb1lV>x{yefPeWzkBDPBf? zrVDvo@aYa|715pQ)e-oU$z%CWwr#LY<9ku<96v4ZmFE2z+P*SSReU6fAqXF>ukl`t zI zD+1z~-!qxmtkmn|_jHtB+2_ysUy@I=+Lz}J@^Pjhyt2BWt!bqLATZAi za8$6OsZL6UxmMl|!D1!_i27Ot%+tkwj|)6tfD^R=#IWFNdIa=S0o>Bpg4T6wFoZ|L zwg4-8qC0?xFyjIpDyW|SLJh&Y#R}~Y7pH~@19g=OAn{y+UfACaO2I<_F8U$MJ0TbJ zG3e<@+TTH-V9;n!zL)72l3)+fPG29em!4Mtg~|~64#3~NB205jgOX)i(-Q*D*P~pA z5Jqi4nLc}XUw;5|SjeL;mY-g}8|ypG52X1}uZOHsEbV5bB#6zJ4xWuhu=2Ko6xhgr zKE)>U?3V23p7(G!8Fj%?e@;;ca$YB&o&jPd(kKQe>MRU&qgFDEbkTG19rIO6xr@_? z0`55v7%>Gv*xIJCSVy_AEJuQtSyf3aI^3elpy}M#0Px3(t)sqXi zDdL1TLl~hQQ2^U0?g?Gq9&~MjWEJ$2S^5L@n;P|$+&6Cwwhgj2Dwtp!dY<%6A0^u0 zf)*4WY4PG)z#dN}~Y7usExdCqgu3-15p&MERUJ4DxxLYu3!v_nS*~CkT=y zO!OI|iafw{gFe&=#;+k$pA4OTY3ld*Cm`q<6gvyxwslVV@sZ`vkgT|F`FJ91Xx$ zozN6wPWFycBTfXl!@W|CDEu}>_BXcXQ(qbCAW~-iI#rhkr|nqr+k30a>ISe+ zY5V*5K6&>Ve{cT~*zdrP6=LLH+NoM<2ZTt(z~K`5ryp zOobO4s=XFM*9wDkfQeIyrqtDc1R8us!}7U>SR?@sl#kew0(nRVgC@CVkLSy@@`RW` zHG|CEIj;;bdK7{O{_Z#;Z~)Hk;vV01?B_NRcI0-9b=iTwrf_3L7)%j6>t=D<0K^re zIwAE!cb1?|t^u%fqQO}D7eb#b%V>56`9;v$LutJ zma;%^h+N}d+IoHL4Cv)TA8&O)9SBp3^u{Dg8;TnkZ~J!g_v+ z;VTfB6U3z-R9M6Z4=S8E5&Tfa0*Z`zyts=lzy#h@>U96G(ijcvI(Tv)&j!n&0!L{s zN=S^Uo;+}@NRbz}!nk0i_Bss$wh1vlGaks%=A^kwDlTHqMm;5X7?jXnC(Dr@`W}@G z)R0AnOSxrzCC86>HHX_3c?K2WlstE=TRqrb+n;~y1w`AIh_){h>w5Hk%l>#2umyFd zf=K(~LHQb=Tzzl;+FkZN$lh_yJ^5x+a6VETIG~5(U<_CT`WtKulgONQ)U74iX*-$Jr*46ggBY*Up z2j?@k%(shz@vTz?{@MjDDw0vIe{bbA5D&!w0RH60Kj+7v4cLpj^BX^dA^?8?`fl+z zZ}++Zf4O`2u04A6Xnpa;7uSzJ{Tr<5E`uxO6KVc?#PA&gc{F|2Pd`-UiT40?@V%;LqH7`NjX$pZI70 z+6MgPa5%`}_D%V!z96?BZ=9epoQvZnE@=>0T!dE06Ouq@YJ@>bB`M3|6s5KhwfF-U z+viqp5BS&I{(T$3_I(5f%s_z6_C80hpShz>Y+h%%Ris4bHxJg=wh^oI3Hf1q(~vByVxrQ!1E4*f`pu|qweh=-s(_d z1xWTQD=46x0qKx*nSlJ_>) zn73`7WAQy2qP0FUAqmgGO0C9srS}=s2lN2A7FhEos9?r`e)N`uZwWO{KqeIlVBhX7 zktegb4a7U+!M^Ff#uLzMdr!k1-b?1tF?ai)s1yM>LpEoonVXI!4W5cxzR(#2Sk)K69$7?!{JX9f($at@UWgjXD$$O@TSZoQt`McJRJd&Yb7yCrP{^_0H3>4)>+oX5^S{<-XD-rJ0V){KI65b9Fr@*Odpr7vyT%wC{Z9JMv4v z^h@n$tQBAV>Q@mAaAr!o42gn{^!M*Q`S{UOv$t=Eyb3|#{MssRn@LwpEMKf0H;4c1DCyQGwmJtIdW9(SJ`rxe@!(`1IU_;LXbb=0BBiMHS6qBk_$uhsiASf z3RYb7)j_6&HeNv0p0Aq*7JomSqW$G`b01#->U$dAU#~d;hV|YOjQcYv8W2cMX9b17 zhvj>rV0a6ak@Z7+1>WP~=ct&6on}KuQZe z@(gpRwa|glYPVF6MiuPc`%%kW2%xGOV4qlxDBSe}2c_DL-?JG-IFCgqpk6*!hKMeb zjuGrhrOwwf4=)P~LIUwn6O7!P-h&>FR5X*!<1}$ko zCA$Yy1_eyX(&fP$|4+1)=H34lR&6%v&o@}^RA8|G1h-eYDF)nVgwUY zmj#*CiFFxp_Uv4To9ZB?sRO}7CmYaj(e@wvv3kG! z_=mp+xBY3ad}MzKkY^Ws5ef0e_&)8qx1D!v`W^Xl;5~Nze@1XVzBoNA1}Gi1kjd)gQFY?;bO?ekPbzJ-MwfXoUgR3 zgshXVLuA!1Z-n3;*2R!Qr$6^tTox%HU#Jo@*X4za)Arx1Q57}9fwiaWnhSON>~0q> zMdBc*6g));adoeN5DHA<{B>}9xP1>%FvOuzHstCQ77MsluTZP&nHI}nbe)ScQD*xG z7Vc#U;fJ9~!nP27IX|SeLJw9faDD;MJNVD{MnH7w$`g}n;dji?uLD4~WV>Z52ji#@ zS<611g9YN{g+NjV`qcLDV2}YT4oUd|+&wOUOTMAtP*-f^aeId8;rNK4w$p6&cNr9b zmOYPUc%q=ay=*+UUKiOr7Hy)&YxWMthEKqtX6~EM`DgSyz&yLyLpk8T`TNML zQJwba4sU`e$BAO%X=HR@w9hSygKv--Rr2@XSEC0k``w64U8z7ubj)mX zb?2Ce8UlWR5>cA|Lk|Hsl6cAc4)fZTpXiTb#TRs|YZ#!FAnk+;^TRPha*i_-bcx@A z2q{7s289y9=Z}hmIa&h1PQlt&njAYQ3UU*At)CG5bw3$LKeJ)W}uOuC)MsX18C|4)SlbBlbqL zeO}5);S)fA1w#mHyr&tUe^}PL`~FekzCYag*9QJ&J;I%Tq#eiZIenV3zq{>^23P`p z39yf{TdhV+IN!dMRG+VT9L8li+W7Y@}i#n_! z^GE`I_0g}sonO@>3uBZLC*j%Ke;v&peYOGpM{<7e-Q&k^k=ys%D2U3ZiOh`b-772S(G9FQY#^LsOB@A>imdiveJ!%d$7e*1?#0^C)Z`Bz(*b_?!yiUn8~AVU!}9;lZ+^2ICu2C*wp?A$>7{aYeGx9+0?@AR z#(&940Nw3>V-kmrNt|p4@Dl)V5|IIi4g}?aP;pTVR?%2bP>zh1sM_&EphS+CM zH_O3M5DmUZfz{6+GR4WL zv0NQ3>jN6BQp_0rU+n)DhZb>eyQhrE^wggIr$P6~j}Ju~(8*0MViY{jV-+Ajm2fu~ zepkq?-=Iiv;2c7gC730J1iv>c3;2`tA5o7Ez?D1?C_NvyCo1HU;z}Y{A}H10_&u#I zjl%Z6r{8K2J_7hcN(I8Z14cPi^%0rM0i}0k zYL^Vw5~o*KesdkbmvQX3>9fyMLq4 zf!KF%R0SKK(Z>Eeqvvw$F>+62}fHE08%sgtABWn5GS@Xu1$K^k%XsPF%h0d4g*9WgwmSx z($?L=ygcofg9^tFA{uv*b>oDifvonU;up(Fp6zJlq3wp|n`n|>2ilI5pqaXQhqv>N zPg_fV>yCu$hRsx<|8duHD>aH-V|tH7y~?V6|2)7iv`$4)RKm0T4h&=gAQny{MdK7B zFm@N?#>+zc8+htME~9J@lhUTzFS6Jjt`8*aL^K7OkWG+_T;42*!?@|gP^r_>Dl1tGFx*jPOP`)`>j4`AJA4_i!UDhqD{MO(*E+oDo3Wu(NcZJf-8$;ayd6&`{|bXJ@n%t zWBq>NY3mzFa>)$o^F1We9?M=9a6;@HH7Xf*e<_L~8XIfX33uEoY9e1@W!y zwT_FC)LijNUI^lyh0fQ1CqPN|*Ivr6^RJ3xiF(oai$4NEwu#^K`8OMjZq>1ArYKrp z-goJw4X){c?%OsuJ(Z(lm?}p)-ze7pDbKmRNxERrDmj)}RDKZilK{Yst zM42MJ7Dy9t{Rz#JFxuC5rCIb6Nq3n2BHLufXX1I8YAQ89*EC0${Ycxb)P9k$&635j zJ+-y6yI&c>+1>zxHwRDcPO`EzlJft%%BoB<#L_pfZ^_6N`V*n7t~z&L(3 zzU4<)(vhpJH)?UHb*N{%D*WA%xIoOPu1Zpqo_sU!1^x%6v@E=RS3B};aFh(6*fYV> z)-zKYfXvPK?hQ?fi9?g0#-ZD{7v`_`fouNkSA{kJB|p2yWF#gNV4U2Z_JqTv+aeBT zscB3HTSs5oQWU`aUXvH=EtJmvaTkcBIUWsphceQl&kfkw!lj9~=B}dI${+pWcfnEDVpHC=heMpG4!*-t~f}fG;m3 zwx~^Xjk*A)+mN=GWo!Y{8HWAPFVA{4c73QhDWM+sTbl zEp%r+jkTP?I{_&QL&5d*ORPbDOXxdjzE_XEjAz7OA-`(x7t<56vmdsqFaG;lc((VX|v~L_X&Kur2$fGbWf5?b{_p3v)BaxdT9#IWa0T#@Q;Y}&mPRRuFpxd>YDd; z&SR$9TO(U#OTICOibn|sBPqWZ#`$N<*#%|l^RyV*_1kLhx*l1fr_9uNSV;O}$0nhi~}s z=g;3%>DNKt|7vJs+Es0ECkR8IwDXbs^zUP4WfXI=SgO2CCOtPn6;}HF_ zu8a#ya*Bwyk9;dKLFy%==Fiy!n0XJ5jw+tA3`i*{E%aiIU2j%{@`<7!r%UyahJQxQX}B;MliooA6n=XUW`;c-ty#%~KYBHA23t#nIxspEh9f+Cfw{*=#-BSgPOc!b(TLo^i>?pDQO5=V z?N>6;zy%TQ*&T+HdI!SV%~_a?Zvu+Ey0~7`O6fZ+cFt0uY=?iL zO*eQ~MDyp)Xbm|ndP9ks_HqTN_}gEzaUKN7J9gBUbGhC~Y*X9$Z`yxX`UIc-;m`ND zU8ujn43CF$pj9*zm9MY7cblo@xO)>LR3)ewErfueX~A zkMMm*lcsgrm6I`w9a-oL58~c0jzU`MzSzm?*qCuvplDoN$}TTw)Ux6C>6r1Ka16TZ_+K{~-@)~SkQ-)rghq=hh z;|0fi8E=Si^kwBI#z(IEb>x#C9J{x532eK|***}+*q8VaEhDw}EP8SG(!9`;97N(f zffe{XWE3wZI>u1IxVKRdDItGuGU4YHJs~r&1Ot>t%{9Raq?>VR^ez%U+M9oBANO|I@ZIN39jt`@W!5 z)de?o&QEe~WIE{?vzgMOA!&PPL)N7!{yLV3=ny@90JH!hx^5cyX?go}WfGQ=O|~pU zm9UBGtJiBq6h3MT#g^O~;YYoK+~HcWMSY5X#)bVY3_Uc|0${@Ot;6~dk${u+4ocIy z@P#m9c&wj85zhyGpdH44ROfqI(CAUhsr&rmOw22Jmv>nlTiQOPmmXp81q?Y69DN}T zPmtp`*g^kBtY3c}CM}V9Hr(9bR#09^uOA&OG51sB-J_2>4;KyQ1RlMRzA`pz5mJ)% zh2wG`VYBh?e6r`af8Qd09K}(C!%35+1mW2;QtVDC0Zu$6JAm#{NJKbkT%;|*{qXGA zsx-loVLNn@=YZiI?!I7Rhj|Bb;KMW^@Y*c+>UUN8l^8Cn=Z|{0yLf}i#VJSO6zvWQ zuYV={9Ci7}`K5o2jF&oAAttc}k#|NgWp0#t1WX9-6F7sZI9vHaY`Zcd?=1$$m8^*_ zyAWrm{&mJM?(b4v8$Iph6Q|h}81_oy@qKOHWi%}XNjXD$HZ0RF*zAEiB2g`{^Qos` zC{SLqlaNR=uN*c|(&^wFu~qzwQ6!QRLQ-8HrvcV*16Tl8`2|=ICqxDK>M*6gmbG>6 zGN2JWo5c}&++{l2q^*X>y}d4P&JBK-^>0=>qED|?Os?mKitmlN|7H@e`I;U0Awh{` zp(V5k<8%jF<(7_vK({5r-9xA=>_@fZ(Aeikaivdi;SJ29{Je|>cQ-e|SDmf{vfycg zLQ4WjK10Ut6VqFJmF(xiHxi71J)A%bn~+hLH+fXK;?rmszMfv-WWAY&7n9+~N#WVH9rP-II@g!H>>l9H`^>0Yfk}>VGGDx~7eudLO+M!S#egT$R<9>l?Q}Q=N_Gb8BhZ5s~N2 z6iv(~S0krc!J@H*9v>A1rBa&%$oR%}A>aLzS>5pOm4X+|dVPjaez`5S`j9uVZ`0H7 zCIQ`#Anx(6a%o53U0r3h&x!oy)$#Dm`GfRuUaZ4dipyGD3>}{z!|l`kmlZtWcf3@H z{GxsO8y^=fW9bfS`J;T2btB4nswV3tT0Tkn&TpsD< zEl~r4FMILIaj{k>LfJ2I*E~TA|4WIZ5yH~Jzoj+U2O~?_VqX3xoj}<`64cFb7hNq1 z6Aw;tkRu{}6`UF?BscfX>Gf>ayGD{Afinb|S-LDJ4RHa|2vyl3Jz=OgtLZy!=sTTn zueUo=_0gs!k=tWP`G&PPa3<-5nH63dT6=(@3K7>&>PRG^B_v+vFDtvay6IZ^4r@r6 zqmxUzNhwGYnCW+*F!vACcDfQ5OPyw&R(bPs{Qr9fU|6N(jR3$?m=+*RM&&Zn%vLtPc351kiM^rS-e%-|Ch0FWIjrM6pH9W1&f^9!fG9dmzN-2z;9GKs-b#b)+u8TB00%C9z`1B?cC(x?@fXFaEr5`q)g@zK*N6WRDz2yn4iJh z*-)YoP{}nGs*kvlaI1)@#(N$+)1RvO-D(dFZyYzc_TS9{ z5qo9IOYiy~yroOyABUEI8dZb<_Gmu-;wbh;^2~hz-^Ki|VZtv;^tR-T@Ef7wFYg1j zz?l)O-~R(m;D6w%n=1|EBzriwdlbKAwoM;ud$UV#{*CtO7dR3>4EvT{!j|XdVa%bU z>y{yONvfYIs;s!?XYE6u(_Lss@$jGcS&0-bplA(EEw|EUPfTtNAH&l6Tg+WujZ1pPb>0tH6uWE!&+tAfI4$N1l+mEb1}drd)C6rjSgK$*w8>@um}Xc0QKhoB<22 zLjE8cK=y=Ihs93LVbF3Mc|AO2?aT2VF-LTIOUWM{^!Dn-yRXS(gryo5{*#Bu#gg{# zTQjkJrYqK)aFJNw`AHTMAC|;Pv3zS6w=l&r>DP*)DE=K`jc>LUb^13?QaF?1a^pqc@ z0Y|^Tx&V^+bg>}Yd1YNbanU|2g;?GDr`*$?(Vb&@@h)V*f&MI@Tg47{iZUSJ>3 zZkXjXWBQ4558;8U7;O)tGUGYhDVBOI+1Q?{iD~z9WRka<_Q_k_J@2vR5jE6*QRx5w zi^>UqRn#0rb-Dvig)>Q}K>r3Qz&$3>20*T*Xa_Bt0zaLhbi15iL6HOf0+4=x_PVhe z2UG(@f=Pb_EFLx4R6@VV6xZ*eWMIFn?+J|5+}(?C2qfJEgtw4hIs=doS?Rolc`e*n zJKn_aMOrTzN$?FATm4&hdYNOzn>MHJABzyljC`eLCW`{dBJW>UlwnDZHM&}{g!w+f zN^`hUpuX+q?&G8n2;oSTQSHF4)U0*}TL0Vq5XJtX8otPCIG5$C{QyNUPnjp0r$5a3 zgswcwPx&J1x}qpE*bV(j|H zJsLeuD0Z2#PoX{na$AZoQmt6ZTnf0L?}pkOF1xfTk?_{S_f17m`dk#O zcFCo6=KGmYhw8pgW9S=r zrf!M*P%d3e+jlInr5ja5w=Z);?5lNje8e};@6Gdt6BzB#ZQFIoA@TWT7xQp!H_~vX zD+zfyWZ%M3?MMwR3h=W*2k*tjZZ5$RzJQ+@OfMXj-!{lq$(5vN! z^28MOOz7?a@<7_~tln*ZK3c^4;vMRAq2df%3nXQ^z`~&v5ik+8q}moL%0dhy_7~KcQOk(*`2lz#7c1wI@3zWijp|L<;(- zSmB!X`DP(IZtEuESIL4V^_oz5(R|8>08sAn?eSA4kR%+k`D6vXSaLj*uoHkiF(s}d z7bju7OI;5PDpu9|JZQZtum(4pe|_Y7(I;p7G0BZ`{hFVP!)po^{OF)aoqk1;&CfSV zvND!0`?r%`vRVn#zf&jaR`N8@5&nhBw7qBCNCQxfbDq0cypns%S!>(98@#r`q@;|P zOvBX=r%4aS1&d$5WHHKm9gIbGF-5Sq{iRi_InD)YEs3(og@5_;az-dqOx|REiN^a9 z?o5zVVZeK@j`h*R;`EKBHJcq7u#JFa`h82lXQcOJy$BzO_N#P)`6sW0hS-a;g0C1iqg7;6kX^zM3nxhXi)M7b7+wNlPTwKg;havIU=-hzpQ8hev=-$Y zUBQtHgtu|xvozcE!&;PR-HW^wgZpD<4~3*y47`2|CM*KqmFg>07hfleM`=IXJkV;1 zzcTShKz%cv+w@cSBSpn=uatln52`BdIizS!$A`ZEDb6LQjFg-({WUI9oLvx)N){OJ znD(vVQrlPQ-JtV&C-K^Xf% zsOQF4pSrE!rv3MkQUIDMaj*8BTD3jfgEC>j*k|RQ6)FM9s<}aL)Dgdi+1S_Aj6;DL}omD0|xL$W$w4p9r+BW&tKdH!XMKphlC%| zy!{Edo1B~ggzA5PGAN z{Iqi9st^KR7_V=W;zvR8${E5kcB^LLMH5WP(Wpz3Q0wz=6{S{p&i;M8Lb{51WE6>AHVA)`nMQ4X4DKi=Wz49?wjH(4lH|7 zYK2@@3y1lcj>r`#PNTXOON>^uHt-LT}D3pPl8ux>R`+@T77;faaS7 z1cQQ#*>Q{Q6zpsBr1WJfPy1~zlkN zBhZD7-AR3Z$S4@mk#^Ui>4@WjZVOH*V9X6nPEM~NG9|Jag-(+H2~kyD<@ z&bA(B_<=mg$bC`tU!0G1HtAOzEVWIc)bN^L@RCQltWZ96)vb1s790iomuE?jRJ$T+ zH7}-c*^OLcl~{kNDfAgNcc8_INrP~#^}YB@IU*~-Pkx~fTX%XmFp&WiuIM#W$brcQ zr=-ot7o6JR!z43(m>4*!7pci?_U?U~LiHck{AwX|X>Hj{y|ZWBRJffsk6gZZNvW~4B$WEA1>&8Wbwm5z;ZOqf*JuP*?PLRAw^ainwL0uU zMB2#_97ByZ$OB>Q9P)67zx5c5IsV_;uKvD+45cm~bbl%&n3U4=njNIU3>5SM59~L zAJU7PLzTYVAY!X_Dp4RAwFLXe!`q_<&{mwhX3A1ROCN2m=YQDVpwroqotS)pxtLv7^T>5&TjH>eoa1sZ2+i6jwz>Q zQSg`W=0U6GgZZ>v3b#^A_x*uCqKo|3i$V*f!?WoW-k+zd={w(e_E&h=*ygii=HOG~ z9rWvR)RV5aA8cD>Wl|(Qn%4za{?NZ)^0e!pHLu)yFi*ouU_;8#j#>;Pe-9GO^;rkf zS8Be<^IoluAo(7+sM8;7Z3v)3=M)<8EkttM=hW#m!%^@DF-)r^!(5Uw@LifWz@t zExK;?1S22x*p@Jt#IQHFajR$R*nGBJBp8GHKDc6TO)|lhf?joCcJwAM)coo&Nh9(E z6`A(`shdfRBIQ#$Fyhf_;|3to(QJ3Pha|=6@(v-i$*&$_USf11;r6^G3kapOSzIwHB_LC^zZ07*dChVJMBwk1Nb zA#cz8ryx7qb(R`b2F@^7xaeOBUQJJxluz$l|_VRslh88+x z*OirKy5d5P9Z*5Rf_;J6Ni>lv@T(J2eE&T}HA)j8IW_A>g-k*jN@eg)VYmPyk(`e| z*d4x}Ce#j*gzza^*rsr!BHumL+af~YjAJZ|t3*U4`F`eI?`SGxkf&$ieYzL}&u$Sy z`wo}nRax@B(pu21LUE*XZ4paQ^hI2-3v-F_x)J0ghWpuQ7TtKBz&%?_Es@X#iCch0 zP%v7=70z^cB^dPN4wnb~0Ps%o+=9)EX{7cI2o*|dcK^ifDrL!YWXusux4E}8qUQ|Y z{Mc<@-Eey^-mJnJUsnO)e_KvMv{qkYLTsmA_y6**Q-D`v#-PKyKlcU9yH0leDpl5W*m;Mgs3^S$g%{GCnns~&zoX}jd$;B#K9=dZ-+ zPE0~)YA-WLtUWMg#(`M3#%oawcCt&=I=Kyl<;$ACulaV{$#*jV?Vqr@WiWvjMFNND zR{PkZFql)-vE?#guG^ySf)XJ)GoVY2G+oI!jBbw*{yq(xk(bmn;BB z<1~V8;-57~e%~a1$PMTnpetD@k^KJXVyfcoJT8 z{|damm>1?JO*7^h!<4)o|9I9@jT`zb?YS#eQ)HT@byPZFm(-vj25<>oQ0UpVYu89b z)Xi%saO)r!aI31VORJ%bXFeqwlR>yKmkg%zv?1LB4%+AIeQ8baQ>u1H38UC8aTELN zrNjU1kTNr#n`jhW>6E6gS!JFjSdC&>J#^iT+#2y@i)7NqQdc1`!~RkBJdl3H2#~I(~qKxY&)F9sFOFb zmo`DEk5df^Lz&?)?FW6JvY+x%7dcu?>vjHr!Be+z=MVsy72qr`!$&;b3^>OVpp49EB`4m-7XX!sx=& zlHgz`r=YyPzsGM{W?^|Q)Jp)5Sup)-NWUP!oA?F~d^q`Hd751EwFJAp<$v-Y@%8%o z=>Emv+`utNYhKa@I-83-@~xP(1O4Lv#Wiy zIN~$lp4RP-H2NKOc3d=lf0YoVT`PC)`uJPK_O-`)vY*~Kz$!m^))c@E9+(}nFk2W4 zUS$AGr}C>-zKip{_gwL*?YOQ;k{s|r`)go8)D{dj;D1bk6^7hY2^E|Sm6xZu;V zXpn!!8>HL5)JPkOwLI#X{?|*iOS%PUIzFr+lKhu$gLBLOn@@ccSro}W@~`T9!NBjE zRX^_Q7SOpp*Y;lbUZnLvw*IEO%$*EX+K|-6%7SKIJGr)%8He+|d1S*5)$Ms6{~%oA z5d2dq@b;Qto9A zm0tqCmsC=>WbH^Yt6zELk!_*Bx|s!w{AOL>xwOyBv?DWCaWaiW&$rAW+Gnu*Pb(La zMO$x?An4p*^^0O#X_w)M^Avf)MiK&oa^i)8s7z&^F2p@k4YUi-kwXRJ?~9(n+g07L zqT9`x7A@AStudag+U3#gzj23}pmt}qlYk|G1Z~R%M3{<)>(TT0z&^EjG13U};p(tA zk`K~#wa@M9@EXJON?9X+mTohw7^R zhWZKr!ud!N&x_dpj3p_}pMcc0n+e2|&F`T}RO;Lul5{%g;tVHhJ1n2w-~>O;L7}jt z?u!`s`={jBv@LPkEx$Km;ibhhaXCrmwx?%jL3A#XoL_UvTPcL8OM5%Dj>mH%6$C6& zipjOWGmYp_G8HY3*e|D`y47A*Wr*}N8}7* zp}n93uY62P`QKUqz3%C3eH1B}_GB_~{19_+{$dcEe@&>v1)2n_l!$@%{)=o|q-L>) zUth+2zj)Y#9bElSJGydnDo2K*aPd>2PDCdDtgHw0Y$h@Wt|8oHXs2Qms&C(=0mYG$~y7QK$F6Cy9wU%HB95Mc|F&?e&BVme(}TdbO+yXrOyBW@mum3x}~VmJ21pi=Pt zm(GqR>*1oaun`~TW#pV_$+)kTRfG|M5{5%7ag_aRx2*hXq~xn23XkXZ>}n1(E37 zSoiaBs8U`bh>a%L{%IlGHz6ao*;?JxSk zXz=2-9xU)lbF_JGDA19EEwe*Qm#ki~$G%ukKdL}HxO32cHR0rhNc!yFNklE8&V3Gy z6@va~0cIZdpIL`oO;Gr#csuxbadw$r*VJ*~wxCO?bAXtf<6a?q;DXseh4;V(@-X>% zU+G3+q9w>Vrq;QWLwT+}-zsJFgDvNE#smLfA|5B#S6|6Gsdc_m&-t+7USUr*xue~9 zsbcZZ;iZ4@-Iqk_$|qrR8VN_nY+#=*)YjzbL`n=x*pL?W(ZfF|Dk6hD^o@}3kZT2j zc58tjdRGX$N}-?9a_$|(N!-d$a>ieT7#Ma0^ zi^G(Q;i&~*<-F!dr1>`+%hSpqaHFjLzsC<+)K9^kS~;2iZrTIgk*AU!lSof8v4Wmv zK3f*apa^DNDgFLS}#;(2r`pdQ;||4SKxu3ZTt}Wr;HVsXbc!#)UY46-D8j}7YRHt`+W8gO^(0s~#E#Z>|MftwJlpYT9?xDNg!f7%H`9=!VQfHQ^Ckw`+`31F(X_BqUL2Gj%iutV~ zHQaAMBPQeyE2J2zWJ5Zi1XcKzg9tyLLzA=1Z|~C&8Ch|$OI3|Lq0&6I7>+Q`pokq+ zq-NM5u}1_G+DJNYuz{4l1K|m$G}~05E?5f7;%nTJ<#sS18Fn=TW!Zq zpy(FojK@L9%gITJGdqN(Zj26G$o`(e@WOHEz}_Yia_k_H^SgGveila6POm_YHel}w zs^#SF5_X@s8vJCWJV(z~-UOKCXRNv_9A;h%wV^CJorEW8Z@d{GY#BN~7R(^EKh(1w zMLFf*wp&`r&s>nLbxuyhe~XWrA0Yupu?ZiARSX0rfWB<9=>RzO2DLa8Q4o>4=vAP80$iq$A6y>3b%+reg0`03(6xY?@rdEH;TDoN*0X&`AKd=haH2%%W-jmMz@Oeh`vzq`8=C`On;)q{&#}1&5tjuY0g>U+$3yh5KndM5p z*BoIf(4Mz3R#aHK<9K{)+LMcW}5T5j{lJD`&ic|4tBs_Z%4y2Cn z!Fxygg*=EZ@(@{+{U8b-1##v(eLE?Dv60Ve6aQ}Ik6Y)}W#%QXPT?=Rg=r^0zaS(& zZWEP?yxD$P>21IAW?2q-m)9;%AE8lX`1T3r>nEohJEvEry<)c6MC0OFnlc~fKgmg9 z$>_a1_n#84fe&XrNPgY*y|(MT_7>BB^}oi<`++Iy=m#O1y#1QH<}_~J3?4_~Ude8c zl2Vea@wR5{861`!0syc~c z7sV``^a&N9Yr9hxL)~j(-;y}%FU)ocu&2tgL&q4h%(+uIOTX=Gw zi#7$@`0VLM1#C=0%p!)F=+ zmmOccOScG#VE~)t zj?E>?QWSuLGM$&@a?u6aA0|K5Iw=IK?Vgy1hd0ZGsxG2l#u)`pxi{D22!Wie#?Q)_ z0MQA#@74iSkI9Jm&40##YrCP1a5~_{qqkNajX#K(@)q znQuV?3g@BIuWabm;dP|3d{u-^z+NJC=t*fayOLdp!sXgi)5;hoDZq2hmF&2j1o3w! zN~Xv0U)q@YE~|fjxS-B?r-OLi(8^LdohY%Jsa7j)jQDjzgv`Y@} zSmJkD2~vPMAU+ncIaJ$(-04sJ{5@H)PhKjNQvX@6&+&G<|NNrSlc`GyjXzzwt*%)5 z^pfJ6CEAc?1nCSv)v>Wz<4Z_Yl-5%z-~ zO{@5jBVZIQNF=`VY?X*UKk6Yw!eQQH^K?xMkGUEGeVu`)L10|YSkSQHy-F!;J`sw( z*GrXnn7W7d^`Nv^&vF}FKCw0a^b-+9$`N^=!R32G`m+y{%p2F^4CnF3QLONtl?DZj z7|yVc#IU!J3LldP+2f0}PD%YTm9}v;Xy|`LUuy9cFh$biSS&=3|2W7?{QGzo=`xmj z%f$=c-upXfJ{V($@|b2;c!hR!qCTKTkY4Z1|2@`pw6&LF*9ikgVtrgRDn1>1IDBRQ zw9eZBpAiTP1Ng@M{452$kkl!XG6a$_?faD%8A67{^Uv4l!*_D znljs`62dC3NXRm6;N@KOZ~57a>lLKMT(_#wC!8P`21l(cFXKA9=^MlF%PfShBNusZnDX@!D%V!vu9&Q-!P5&<2pdJb_)9b>s&tSGs&N)LEb-oF%3=&_Cpm zvc1(=W46Su1NHKBReSyXA>AT39m7qHt4l8W+&ls^<6g7x+?xv{ykC7S5O_|etC@bp z6`skJ75t&I{O8vX@r7cIUm35z{39-6E(q{&pKyI#XZSlzsIy|z)gz~O%MrCJoX%?y zd`YnMh_CDo;7QX^+@V&0sXXRZX@s<3s)NzcRxVl3Pf9-{w->t_VZYb<0F(5$_ScpF zu0{eeawmOh^q8nH^X(3&NSF5bujenwC~3gkVEFDvXaU;VALDRE{=zwhe3k3*O-Q#H zB>pR!!+#ZK5h0ix)1tf>h_lMqg%3HraMsY&3)6m~B~VEe`21?NC&*!ZvK~OZ+5l;n ze(XS>Z=a9s9=q@Tu-USF9ah&?3uVyvbgh>^)Jj>HQ#3@% z3IE8XI70%gsvUy2$tOF9&c!}$U+deLX;c7gYxHb0gZR~eu*l&OxAPCr5&iL~^TR8I z;d8Clqr>Wmv^9*RALHnub|fXSg>X?)NC*SLYF7+3`uaiRUnq+eXEKh2XM;%4Ru~FE zIMvs7|I1&p?|~fj5aA=Cl-oh*iC}73Ogi7GjHAvOe%!MM6Vp$cqlop*yN$8zr{?|l z(@A+=#6Xm~Q*|gcDq-Z_m7{Q|5kP%&azXs>tpDPqPI_}pod9pfFmenzNA7q1>Jfpr z`9320y3I1tO#{&)w7rJ(-FyhYWe4(iB#9rs@1aGkRDE`_yB^#cc=)6JAnb}EFkeLO z)`#r|vs`~}&mH+`bbJ?wiuDeys7*IKfJL)+|1-NFu#X1G|2xhNd? zE|1AOg>cJvX7g;TJS2zluAZ&p2L>aWbz@$d>}6S3R1%?8Hlwl;+hie5)v8~ERbPv* zbQXR6`?{i4tE>f^ahvy=c$kFIla5L+O;tu5u%Q%Wdt&Iu9M)PaJV`y4wC%z3CRNB^ zb1^4snE_q8yI7H9!2(`kTC1HY%CJtPS7}Q}E;QE=yOzE5x#H*gYTE4>GwW?S?h$j$ z15B*@cfeQfZRX=w^@lg;shS4nD+ZewArmb5UBh zz+`i18j9LQspPml`RYg$DQ3!X^UJKRl(|YJkD=X%5UxS8}F{_BJ;mWbPM>@4viB;h(&k z;}an=34Wl~oPC*vk2sfUy2c@Z4`S2QUJ81dRwS953Zw^8YL z75Hj_l4_Qo$SI@GlahF-Nkeip1FWGbGgol%m;8@P`IaNUIVYFn{vmCv?CC ziWpSktQ>yhSy^4oftC$1tstU;?KIa9u$E7I0t3&wp@~C9bc*NhW-qd^YskZ{SCFjq z#^>hL-G44)G$^+No<2(Lfca+&!5YDv1eGdG%>La*(s~Vtj5cj#<0gJ`f53%&aK0QX z(qKNL9Xdz-+=FQeEq2GncE@vp9~xY|8iA4QKWz?vR!3Ng`)h;cFTN^#!37#z+Jhf{ z!pI_E>>X42oh=wPzq!MVti-KDYH!d!^1uH0P0PG>snDIrNy_SAS{=>~_EXjGxK1s= za}7W`;N=nmuQ7I;8}cy#`@9@%gYP=%v%m^noG zEW;jzzKZquaS*~X;q^J_S=TDS)}i-PFoKpHrz!7?)IHP)$zpb>`japdqNL^D#Xr1`|pn-@bRk(S@GD73P zcnJxZL((dm1TQcOtOFviOmOJrCe9W@&;9%OKYWAFq(n%!fkeW;7WKA=!DT0i51*{6 zJOp&lbBm_(1qY2M*OBZb?$N8W@jK3JQ8;^1C(}H5`svO4NQq}R8I{X2abX_9zV_NR zI05*Lt`+Zb+qb&2VgK1jaMH`NA5dV2*_=>B9!5?-D^)xBA z*PL{5^7*r3t+!R6UBHc5ph(8%+1nUk(U3_wOZM0gDeTu43E#;`{W&lKql6qw?pcD158_y?nQEWX>Tka>?HssF@B|*s*)HU(KCNVb091T-0G=&X za0D4!2wnS`2^P{QpT?)J92n&P^RfH;HS|1zD`fH>`1)eE933(sar9&Z zRDDR~AW=DAR79)`74k(4V3wQxTXBjF4Cyl*C)_xGOeG5#oiD3#x@RvQANZ;hVIhMG ze}Er=4W}krWQA>x;tn%^6gjeH5vh+s(&FofrN&@r!ze0H{cSlpsM79e!;hY($~;`3 zSPeo~HxIs}%OZtkAz+k+lZ{3n_McNVVaI=Mrq(mIMbV%`(a14`w)EWx3yo#%3m#~a zP95|m>l73QZjl&=47XG?`8iRGACb}jo%MQ7pF(PcqUVeOrse-ny!>R%YX}Tk!W#mq z5L|td;Z;N*D?k_!yAIq#pQcg%43i#{ZXzzVIH5m#hQ6HkK`vOGRpin6b8T?kuX+CY zliHm=N&D9?M{lHd9B~&gI@io5(p;q`!ADg6_~2oHQ%i&}(}=qypr}>T-pCgjO5I5+ zmARQJg^cEsPR>y}i4?Hd)5tX_xh%JM#pPtD;O4HCf$jhu`lIlcGOShxf~)L-(E8TK z!K?QMf{L6gy&=3KUZA!&KftLuX_ zPkfG|XYrf-H*jm5KEI_x_uE9}QPvm_yx`jYPu#9FTYF*mn)7XgrhAFfuXR7Id$O6| zS9!-B75nxB)0A2RJ)NUkeNgT3r@lBY-s9D?+i_rBlakL&4*jc_tzNU)r%p12&*-~- z8;`tP{Cc825wqyW?ZBYlJhTktO0Z(7QE|jkpRecr&{RMvy!Oc9ivmBqN8(&o`AvDu zG0Z#wjcSI#5T`3YkeQ@a^$@vi{9iDo@`onpthi!2BkIuw?LfQfqrdqN7J~wfUF@vl z`-WOe&(>Vu-;VqHD@>jV=-1Xr(5i{M9kB8u&>m@$(~PYAujVwZT#}(UIvoCEV5If8 z;1-Wx-szaA5lxs(5U`HXM^Ui%i*njJpSxS0!EysN%7m#lB#=ADlW>$+elY4-qlZHT zM>irf<3G{{jZX0C$w7zGAs?MFROC&>ZCDV^MU&(=p|kJ?u5)6k&BW z^fBF|AEfR6C?iY38L?fcG_x**yamw4oTT1)3p7UI6v zB=RB!i9*NC+-e>AT~)tBf(^S6yhCbd#0|%bj7U{nwgEk>?=!BLbL-~(ahIoI^VpEq zja!*NZSsoqfAAlQl7C@cq zxLd9dMhx?Sx>KR?djT6y)1C?^#at_(L|1pbP4hXA!i;#8eY=^FTN+UQ_^FC9EuVNz zcnuHy$2zeDW&SWZMMt5YDEE{6b{;^ouqs7z(n%3*u$0`9P2_wPZ^j4hR@Pg|RA)YZXAMB8Yh?4_;$LQfJ zZlzRdiMwserZ{@~*XDc|x@z71JnRZlY3J=UmXI;8&-LcEf!I^)Mjzy}QtypmfI1o? zKya@&T~cg{om&t=J6Jb1!ZQjwBUVgp3FL697ZbSlydN5z?(66wx?q;zdC7JT=)e%JN;8=mu=*Ex5bJ4Uiodn{H9w(xDnmK`_q2kYBGOZB)7 zIEz`H%D2}1x^1@m6<<)-BcG>x8P_Nx!w>j&AFMs35_&X^aj$Wn@4xr4R;k;*t=6b? zCT_VFad0v+t)f3D-aBeFcd|q&zfSy-IOG?`efvXomE{Gq`c68maBGU>-V zXoBP?%3v<{#L=geJX!hKiZ{dxxqU_!C;giZ5U_MH-rNx;6fwLW=S5gQ$el!i6u2iz zNycL{Y_~4W?{E75J1u8pxjb8Uw&X+o^ zC4cK5;C5=oeGM1IZ(#)6fVSbOgT9~CL2f5bwB1qA-5Lv8gggIW6!6Ypv0E2{3os#E z2~={q-x=q&eh-12l>SjVmGS`h*a$=ArgHh@M1z-r$vkidQyc|`vOqaIT~Br$@pf$n z;nw3w)qQgwgt2o8D6~`KP7JvL7t7;Z{GJBBO7`Li!?t+Du>;p#9hxc(T1iH%p zM5e+M@HP~{uvR+{csgj@G#ahMZRbOA%>HX(@E4~R=thbJ^+ZQze78(Dq&6RiMhX%H zo?tgdwtvOu=bzkG6K(pO9yBm@>%GEE%jDG4HRb)>fSxAmu{}(Y<4RKwW;q&C>6DoJ z`Ap0h&K59Q$fkSs{7W*+r!)jdtCtk9bf+<}`Sa37;%)VXD2qCyU+O2+H-h0u#<_Zi zDeO~NA93d6rt;jCh1HYDzdnu^FE!Hi%3MTm(TbUJ*!l<0W=OFe#1BX8UyVUKW5g8) zMmGMGXSjTqE?*zeZ*Wnu^|N-|V=M9WhBQSgxv=CBsp`d9T4?+dz46Bz?E|3n=6Adi zZ1}Zxt2U{FX)2S5pZSHOVweVop z9znqLb^-%7SLD;8#HHb1*Ir|mP7l7xlegm$JdqxAPB&J~tLiD>a^-aMct;7DHPlsb ztVd&)aCb(h?{**M_i%#!Y}R^hqiB42J`7q-fS@JojshazJrSV~^B=!iPq55KGdv!a zzvF{@Q`>!a2X<}M=NVWh3$)7S&5coq2m8H;!yu;}*pp>c`{kh(IPi4qA>{zq@EKu( z<_wC2wt2~1bh!LGX_36adw}@y(+%3&&*PO*HdQar9w096Gzbwu$L)k;fe**?ecKgk z4^#S`sqc@95J+vd*VpbvP9mY757MBHxyKBC$klim*iP!p9tdBx`-dWf;91B&R`W$qTS)vaAQK^C|q#y9LL?(m*peA7_2{2_gT)0B#6MIohIsf`r z8rHO)klnS`5oGP0|A_zOKPfYxsRpi<-+H|=H+*8*|4y|=CdS(2+aKZS`D$HefngNY zJ66EPu2X9t%_H{j?f|P?zTu5s8%TFl{>MfwSGn#b*V2Mfn0uIg7aK|_q$GiQPe)Cu zwRt9_Q+{nTXeKB@y_~B;Xm_BQ+bxkI>2zjmBNT7ggUZ@4K`t+h`M9J)^G7n;S8|Tb z7hKuAR0!@678#GJDY|D1YWZ!ao{W+C*QNdD9)Ly~&p>#{&IbdHSv!TfA?N7R!=L0= zeesG$dnx%;)Bo)cUo{|a)rM9vvW1mmr(C$&Tjg)jlSSh``1ak5-J}wa?3CB2`DhRy z_LW1bT_z&t7VZ4fj(W&!0aHLfesyQYobuwLFvc(1aMGZ2fz_IMi(ktw&=3p?n0t$4 z#qsO+%jqx!jq9P;s`d&cE(aDC_n!X;5fa{MT6*K%k@a}hRth!h;pJ3A#H(M1UYf{Y zFQ$V02GQ$mN82kgYP+9ny{0vJqB8V)h3(BU)-Vkoo+$s4QDQ=~m+gOJQ%4%i`vD3% zMHF~j=UE9%hI4;2Zr7hWUgjXMat|$6;Z4- zh%Cb1_Xn^lT3@^n!ZI~&3n!*r?tq?k^d}mi0#27%&qvLlfU+WCao<7K=}dn)$7y&8 zlm}_huglHohQC8c8BD)`@!6NJ7q2!rW4hiV_lgdMlJjf_h$QIr zmVLX6VsjFNgYCvIjconey`hD7%pNEitZTQI08+W(iZdXQE%N!^0$!Q#xJS%XL z-6pqo=6=VOIf%!3ym8rny!~&qHFI;SZ7J=CrvQ&oAtjAeHaLY9RV?g#z;U(a)}vjM z#>z2Y?cmY2Z2T`i8~R=^*j1G*wqn7Hy@$0vU@TAWX$*lZ$Vn}Gu_Z!X zH+U}mBW#O!zkSLI?0T3E))RZcmm4Q_Sd?%sS1pA55wWoS*?C9hmFMu|woPc#?_pDa z>8xh#C(zsVo|#;xs!xQ1aE3Z{4sk=2)crQgJ=9I%Vy$)Grxpe)PIsRxun4^&I6N~N z-@6x_c--y#g;OIc_-!2rH%@I2Y4G4}$ne#sB<+KV@0D{0%!G zQfA&)WpT2fq~7;NJSFgeo?;0@M;(OrZB%Q~IA%7a$Es<39~Oloa9W6GdAdM;EXpT7 z#C*RYcv>P}`g!)frA`S=|A+0+tFxA)N90}tyuU5zAe>F+iT&%H5y-`;V(^~}hlk@B z2RfBYZJXm!x2(9Gf_bTW#KOA&JauStG!E`=SiUNM0%Xyvh*V?ed~#=qK~!-K%j)e?>u`oo zeOw56@6iVQxpE6`SKzbawJU6_H)$~Zh(kJK=5?f-NwSX4>1cJcpKH{2O$-cn3?ERq7`<`eb>dZ!#?ap zKknbTSd;4$F!kf3h0=h>lr`6^&a0vh$Tv#!Gt8T!9*@hQhBvrAT@3wf+hlRGLBC>G#y2G$I@$o%yA4sD zVAJ4<7`(zuxLEerds&q6eN&v6fX66!DSFSvnKs>-bccXH>dex-aiYH89R=fOD0Jv)H-Al90F0LmWK=b4!Q7mVLHujGa7 z@xsx6b6(`+$DpeoLWT;Qe|rhxESWexg>dQtRVtbdYiH1)|Ij2KTL5>wiy%ri8gmkllVfA)cmNA;u90tytvWj$JI(W zLSvC8^9Y#eh~o^Y-A{R+W#DLxOv9F-pI_;Si05KAwt+E@`QxTwI8P-&hTrYNX5Gut z-q-hDu?>PW$E=RtB@O4?rf@+pB1PMBcmwrnMd&(77aR391s;JpV;Z^7$0sTZSfW}r z2N7zob3ne{d#DtPd0XPi@={AWu^T6In`HB;NEIW~+M!d{p#P9J_E5?1tQFMXu2wYM(PT7=sVL>zIjniz?GC08_I z-D6Q+bdR~Q6*kfKO8x5~X3tYC!P+N(K=x&fmYU)cW$?Fw0kYtUmD_)Zo~C%4ShzAR zk0}BHF~MD7V0j)VXu*tI}#o^oMYyzjC;@i$c+ zd?8!2APh&v&Aw9*Zg&r9E6}n#7`qS}H+1!|2Pt@iR}v)2=<|la-L^gA&*9FFIFWG- z`oE74*jk@YE(uc`*DPF~u5kURwIqHUH~(uph^s2Sy#Llg`0531=SJw|?z4GOI_vdX zCKU%*6@KOjr&=D`?CEj209&7F`02C+r@_>6K`d&Q%S1-!fA>Z@=e6#|b|6!)0B{UY zLP}IXCpP7MnQVj{6D5UZpB}!?=BV7>Y=uS6b@Z6flc&kVzI2>%fZeBDB|O95kQj=g z-2My}brin3xEx=+5U93Ak0Ogo(JMkpCoe1&%k9TcB$;`MOX&x<;gFwG4R1I)7l71f zMUuTdQ)RbJh&C!$O9tS@M+eW(A^Tj_k2Qwj{<=cALEQ^;@{{4V!wQUAthg^<2M;E2 zq!{Gz9wah;A#YJ+5UviN0YG@7M==(^py$K9wL0V{F~%B2`;%jdz3gwRfz*G`pl<}f z!LHV&Oq%pkyf`7zRp3Kp*8b6P|3$66k^biBAA0b#l+Yt+P-vA7c?igCrnbJxSyx{w2&`zEqp@wr7q*s>sL|Hh7@}~{9!TqDb%t1wI=}j!HmHOyrvFyNc~Unj9V#S z-au=&u?iqtQSGC5>Ps$oC)o@oWD?2gAL=5)@gvIPPi!bhSdK=>sg_H;oXM1Uda%fR`Z&LC7LE6>xiPG?W)SX&NV;m3Aeti8n>=?7 z7Vp!RC+20HW%x9l2hAk(1IK`wd{vTA&(St6zUrhUvHOZk@Jsr|KqwTbnG*PxK3 zuApv_vMY(MUo9QwD4Y5x>s{{)8XF<&zeTcJf=7Ojb<1Uc969q>p|+D`H(px2?j7h8#PF%*~ysnA!gyxkw7|!$$#=m$WonaJq;Y8Ny)r%mGSmLMZ-~_XFwogfy;XLwWYzz5y}( zkP`(m69P9E*b5JXxzC0(2=)!o$(Z_@rREKH(Wk&C}}StKA-hR~I6x;ZzGR6CtE>z4hY%joYk` zb)`yrB_z*=Wz!I%L#LEG(w3`+ zFgzk7Yb|CjHlj^Zp0<=<(c4`r&Rv-LVfIG)piF&h`By&Yc$2T6RDg|~hmifJj=aw1 zuYva8l**q6EM0bWhR}`VA(%-p3>lv;{l9nP@McmEC?GYLzL4Up-V zyGWg}KV(xi^qp6v%|``wA&Za9x{ZH)R@72oHp*ra<^GJi>smW9&1&zX&fY zUNii;%MP+O#{%hcSptb}A$jtm4o&nB;%)Sm1iv z4s~5Jf*B&-Y>%2ew2bk8LxC>nTdCPUlI1GD zt~l^FC?G}s{qp{0+`_fe^i_u7G%x->?d9n<{6tR9s_k>hbi*@XVWLOPcznOlFy;5< zE2i+;54v9~?nCA2$jN(*gIh3_VUGB;DgShURyClGPx&z*0&mVhHpF9RLFUNS{-oON zR?RL)P(6(QQh8-wGxd-J!W})loUo%x`leg*VxU$9FP{&Y-f8yHPaB&;o3`ptw_Su$ z_%JA6klQ;Ruy4oid(zkFHJo{0D18+bxIbBot3KFyg1ux8#fteVT2)GBV%;oqiNS%| zde{oi3He?y{6YC-v`-~NF-HT`+q&da1)XA5kQwb6N5Q(iS@bRmN@Lh8cNF zO@4nk2a>VYC8%86mCN@{^##svQ<|&i{$lVyPt$nM^nCIHDsW_e8q zzaVYlRRlkb3&1^<3%yC-V(dS=z(8i4ZL6xI`?JTRH+D7iMBa?* z1AlS1v|v5tJ5l&r_HeOkd&-@{TV>fl)&^j&&`6Ezjkmm7;JA_TwHvTBi>erL{kXPg zSV=p6ZHIW^h)Xs*I^67;tj*2OgZL7+9$J6;e3UT7v}p6GBMlG)d~7-T2Q%&u`ggKE zyqf0ArO#Mw{(CqAF1^^lJ}%7LfS+RHs@lp`>J{ z=Y3q0_-D+S%&R!z$kd<*V-NS7+r$A+}F`F}uHu2)pm_GeG(2<6(W)w!_fu-p#zC!Qsn95vi-Q>$A#NMZU z;CTJNzqh<3TjBJ1$_2H_R;j!Tl;K0ebD`I)n>}- zHol^I%~yfGw~kq=TX_SpE1{X&QYgs1+lBA|Q~a6E26X(q-UkshrYlx1X+lsxjrrE9 z^m3BGnQA}_kN-Kk_@-&}tZ7E38|e{&Y^9@)LTq_sLd-BA@rs_l?v<+0JAj;#$tqUk`=3d5uBmkT@N!um9J*kN+xjV6Y zV7>A)&?o&}(D5o6FjDnuQd*BCdUP*=h|M-;GTFmk(vCO##>gbeTt0L=m7IY2=Wb;n z3&%C|fH!7W_rk%z!=BmYmrp3}pdT>PLf$4lIBs~8E2GL7g12wVfUkbCQYQXb8Um#| zlYQ41cKBLl#R!Obgueh1%we1BlU>&Vzmc55SemQjg~s#KqWI{)ZjY2NT~z))aX!z9 z%rFx!9I*>x(Y7seyjAYEn}*l1Vu1$cXfGiD9>G61kDA=3e1Oe(1u&JOY!L}D;K&7F zkEbg$cP&i3^1v^L!iB(kXRM4MONwLW)LPdSVTYS3DHwT|=0y#3z{@PQ7rv5{FBjxk z2#4rKV$(ejcL~9}U=Lk?IhL_8+Ko4!V?L(Z1F0%QDCzT|z>oj-lMj?leE27(XcaNF zO$v(?uOY8$kxJ$;$FCYI@XQ-O;;WP@7nqt2zaJLoDfSqOmKoC3-p<2yaToIH9KL$R zs@-tr_sNR$g-gTxO3oj%UHUf2~U|N+iA1RDWYUeq!jBTvsvp=S!zo~ zyMh4n(j7@X*YH)m@{hb4Z+7|^pi=yfca8DxV}avmx(A((tW5ppR>@c0Su&jgRke#0 z{CX9bj%l|UNRcrAM#YmA+`un$FWQOhO4MR^t7QvMgjYl_{2?dVahCB?H#D^+( zDj=e5-f>)6vqdUp8AS*UFa5xFF|Fmu@3I`AKi)DLlA!EZp({P;RiN?!g0uDY4Ld+~X^6qInrK68wf=OV zIUV$ygemYxsfCuYl)}gDL?2LoPwXY18v-Te1m<0wO6K6h_s9W_00}ujrFiMb$?MH& zB;E@ibkuik?D#4;ilzZhnsl*mk#EUYV?BnA4t&-ee=^1i#3N<37s}aa=RPdFd_$4{ zW;ZTpIUkuE>?%gq`q#nr9YBpDK+BPAEFs7Isf*MB?;tX3uM&h9@fGe^aQuBVLs684 zuweO6LslB^X+~4cq^8HNjHu0mFGl2KyBvFqHhp-nZ>Lpd>1^M>Bt)ZMyeF;r&-#mr z*XM%jT9&_5a>aP!Na6&J-QJ>uk)#ZJc+>arDCT@2}zFQvA7=8>H=k?6c6A>6`w_8_dCV_ZTr6*@k&#&r7@b>J}-aQQ2!i z*C@HhPo&4c%X>sCCwtAKFsPE85lYaFgAX3SYy4TN4DRe;v3Xd# zF!LZ*2;4O64&Og31EMSH8XAJWj$btOx`V$OVcLnG<`K#ir-OdK_s$G!lL7^>bJUH^ z->S+|{eC9i{fwaq?PQ9$EDZ=U+ImS!ltM~tNt>q$_*VevA^;7H#Ab~lUBDK#1R*M) zr~^N9N(5p=O!D~kX>cw+glJG8EYnpeWJvzsq2mzunj7mlRp8XK2CzDgyC=rkBZ_T7 z(1)tL|K&9?nMdMfHyC;?dfP7l##cucyFxK;JB>dyZ)!L4zF`n9`#6F}2Q*}^em+4e z=`2WeOMdKk+)iD6&07tLBBJPLBZv~1OM$tcF``=&*D2kGd3{*E?d<>UbD7MIXCJDU z!I?L)MXM}H5t}^}Nt_m?p>xbrN2V#-(yY$?@8lirBf0m)o0ZA}4%as5+FBy>j+L*C z_*9B8NZ&!MP$eVvN5+Lw;wHav`p@?^4BhbF$3G6%IUTNdgeKSCX=_*v`9VZJmrnCz zI9!xG)3>c<&{do2c!pN-+gBmMc8H@c%%_L&v!RTY|2zRm(GX$D$sM5Fxv~Yv>r@Xe07@g~`i+E?ait8Kc5n})D5zJL!GNZwjWNW=->s-2gRFHXq1cARG z`kjQCwuQ?sw))GicLtjcV0(BE;VXMXrLmv>;MdQwe~l%hS2WLQsuAtfRmIC9I)ZyO z)x5)})d|!qKJSJ|;+@3y36O=zYLK*{pi1Xfw zV8V52AF|=3TDQBbNfra9*)G-d_zi}*omg33X)GPZ3EfQLK~62AbVj7Vh8e;u{B9Hf zmkl}4{^wlpP=kP`A}1AHyb`_QbjW{Vr#%9o1}*rn4UNxHyf196G{7LSM{b49d5Qsh zP6@VrQscuZXaQOB7k&BehmKAE96mK&?G;OH_eGY^y3bTpG)|Ik8HUTg&;mkm#23qP|e-P(grtVY8?-~99^ z-6St4=Og4Lrrq97w=WGyFJ>~SGJ3|P#4PmstXnU~>E}PWkU#E^gzD}WoNv?iC$@WE zrIohu@wa+T1r$X=R#i5$%lVI8S`3z!1*&6H6qxNk%&H1GxQ0j1_6{19g%4`BWq%ND zg!z@P|FblWYs&xSj!YuxUNI%OzuJwSWh=lO7czT~^NKtaS8G4Z&FBpNx@^GiJ=%yB zTwbwWfg(<< zMn!T*$+2O}PJBOGy0eF;*J-2>W&N2&zSB_*=*bv4#JmZ(c&1e1NOlhu_UAH9Wl;Pz z0hie+pdJJ1pxU(1-E8mDc+Q*rH}5O)E}H8F&gly7Hp=v2%`i14~fPO8pgAgEO`{^%qzm_fxFAgs@pZg=rCTw&4s+5}NtIi6$@ViTTD* zPRJ{9+_W_+Va+8wVk6cIF`cCs3rY(10=b=UPQ7U1>(^<3rc~7Yana_!htqnV$T=S+ zXu$`(cdd*eEZr~fgk_?Lc732dS(jZ0koq9;u~}A~s45x%^=bbADEpA&2YBGl37eC| z8WSaXC`d*XaQvVB@kKIkX}m|#FDpJ{KePBuNL>Rkv?9OR#qtyUl&Ij3IPNafa=LPu zfMo@qtQBud*E{bhA50o5d)hBQ&1O|}nhZ#iTXd8DJZ2d@{c}Y#C@UnE`RgCBY^!d% z6&KG$lA%NU@VLU8JeI}~7y*$Q_k}A)_V1`Ze=;?kA5^nV7N5q^<)wOqubAMwAh5VI zFjiCdte(Cpv~E{ha54aH{gs@1pTz2QQ<4wT4+Pk0xVJ4Di+4Gp^O6>w$x3Ey^5=^k z7p%CrA)^)BU^@ETq`x%JdHYOE>*R;#(-lqPy)X5@WoYw06P|0&=80_KCW*JsRD`bj zRnM7nt>q=t53NUhJ%4A@EJt^I4l00KiEMMapa$BLac?$mEI=1Vl9Ih@JTHar8mg#r z@cNNk_C*ukv{JuY_p3cn2pa@f9Bw)%(%)6H9q%7^Ts=^U`XN$V6V=0o5_J{c4&Cs_ zf6bjmLO7d~?`5tMnop@H>~<+{`kDMbvzChm6eIq4PNqb+=}c7ipO^2ZO)S}z(_fdf zp3nCnHlJ0@rB{K2QhvW{>Tkp@qaMv=q90qX{MB5Lc&N~}fgPWR1YSkg$-;wSS0fn0 zBno&2W1wLm<3G%Ggg-68joC*K?rFog=${_l zet4nFH%5iw+I!v}D;?z8W}yB}#=|y{R>j9_vn20wyOwIZo)%{oS&F9^7vC&gX6qK; z%Q~*V+;KVuRf2&DR8EE9`v+Fiu=plad>YkSitqTA)9Gloabl!1Zuwp7(ot)x^;=Qc zd^!N~M7?lYE*{~0(%aa{$^4{N0GV1*3u^|4I27e0R8bB$&|SGI>9aN>4F4-=5fZ8} z{2dqddP_%$w2n20o{le}ngwqv6AAN^=kP;vzJ5Y@K5-8W%*Lh-Hxvwy-vjvvh$>xc znvmHxnTEu7XJRy6_{QA*Y*_8LGbj^tg#NowXx15f<6trPM^|K1(&W1Eq?WLjhgYco zx-mH7u?x&Tl=F=KceyYoyj`7=@JnLYuP_l>ra!dYU{$d@=N<7S(c7tT=mE3VFnRuK zp_LtN*UiClLlF^Q_Hrl7%RRTn8Nt2aqUXmF(w@(!*u&$~%#MBAo0rkdT}9Kku1%xZ zTX=c`MsojkG%NWNuQf z5Vr|c2z5oY*eBU*vy*qqhJ(Mw%oIxov`o2`ErLr zv5Spe9Ab-}7OZm(mDJ;Dhh9AiXh*Heezvm2%l(ZN42jfwGJf3=dxSuz35zZOGshBt zDcKaXmc0h8sLn=M*{`A!<$PqQLw**RXQFCfOl-eHu@~?{Fmy6kr!>%G^ARWC8RPx= zIv+ZT>SpS7tK!LU2Y;UUHm|qHDz4V%l2nGljFMXft7gw}lK)8?T5lMU8dSMWo|ptzU&ky95EWKu(6dM@zxH{V;lhK(KBkoN76AcJSXu2 zjFZ_P0=G_?)`hMmg6@XkpUZ9X%Ku0Hfjm@kZO)lld6bWD==!fPj0g&Py?{@P(SD@d z_U=PG2=jDwu^zxTT1@>{o%>nyv)e>k7LH~&fmklIZL+zI@EJ#Athy?_Zs|w@Ly6`c z;jekWs{mEz9wW1VEnSH<&2CJwY5GR5N)*-{1>BsCmdZY3 zT3ur&4+YTQIF`pfUw9?+#y}$YY|k>U<;dQxK?&6OsP2SZqv~G6!7iVmtBBrW(&*f@rk{r48?nrvUR$CJconz9l^)UzT-zW@9F%R z^DC1pC|}$NLJHqjS|Age`houF9k%Fi<64{BJS+ha^Az0u_zL)~!H$zr$x9$tZ?&vn zT5EObhHJ3F{+1N5PFEq=y+4A&_KLMY-g}Nhy&=NsIPlbub%H57|#-jq+Cn6(eMg_-OLy= zmd4fnm+TdKxxu65s^mTdIZxYQweJ5bJP0|fR&+ZTgt0JD^1_|~mo8wJ&k8DcNl1TZ zB7Ha2>cf6gs+u5v{2@6Y<&)E(d<^!BCTf!glIPa#hD{NsJf(P6U3{sv>+=+<%;q00 z_trAkhps{HphC;tH4Bg(gxr?Y&6O?pO;#{=Hqq2DsmEE*f71AHcw!q5g{5cXF|E+VlBJu`I{GPt zo2N!Sy_Bi^=Y@wR_3UHw9NyfkK)s6HSVx0{874nbKe#ei!X2vOrBI{CpE*rdIj5~^ z`{{-}PiqfK)pzEG_uQhK;}zvh2oX{y`IA|3{MeT{g2?2Dp7^oWLdl-@1fqMXW1{3p z(lkxqh(rDF_xBFhtOGNx#th@XiI1ae9p2|>Oq*Y;+k*VA-8%YyZ;NM@-#U7f%xqj^ ziOqgt(tx?odNvir35Cnn6HF&}jf5%7edB*sihQQpt>0ckIRzuDl=0||LZYuuj@Iyg888P!-}HQykW}USHc`{KbUe0`r3^#g zfKXWXA_a?Yu{LtQoqaA=qK&Ss_$l5C>>3FEu~&0PUmkOC;^zUxW;PCBF~rdY>|2+! zZ^4n!dr3+pJz*+WhwFvwWesS1h$JU>0)uoi5)pDFJy*EyISER#pQ_1mgfaf!wkb_` zMUTxl->pl$?~Ay|jpU`IrXw7ebeImWzwiduGUJ|T+D#z2n+73hy>%v?|L(R#+NNvo z=yZJE&yb8bxR=YrG<%4yO2BS0U^9HjfLv?M0Lb#QdTRIxCq5z@qSaisb!^iB<-07& zqh3#ONG{1dvtOL^;=d;6zb>3cxyu&8VQgQ#Xn${iz5o$V65G?kF^Hui0Y@D9y({Lb z+PnM}m;Z}%ITax3L2m;BkTcSlA|c)_K@rsZP?CnRD29YNacC9x!`8V_nyxjDme*>~ zN1b|i0Q;M~Cz7n4u)Ght+4SFEk!3Q36qDoAke4U|7s%%rk4keHx6S*aJDa#84)N|h z?`oY>3X;dvJeQ4$(o&ET6(y5D06iPt-|n%^UXV0Pl%HsIXDY4oj+5PweLeC`ZF+!1 zZCRas(S`OMY?n0>sKMkq_?kP$M?t)~;RB=>a)12(M;keU=FqgdpA|AEO+}kq>itAP ze^^#j#*OU{3G2n}!cT2LR{S29Z3$Pm2mxuU_HJQe@|iYEA-6*TbuT9O*Cn|J%L)?R zoSDeGTnHS>0#FvnvZ*?WQMugaMXi3oTRT!jRXAT&yKu2u)&A7Qa+p)KXJMQQfo>x> z)rDs5pkW#?#!HkFIaARcl5KC(;pWPpweA&fo&4?Np2us6w(&JE!Y}|Wum4fafN*vo z9z-rgLz=`2;%RREHucLt`}XYFd9%WHwpEA+?ql+e=d(^{>ql217&80zphKbm-gwI# zr(oPiSDq7U#@hE#K9~o8(|$BLWwwhqE%5dH2m;T0(l;Bs@(=wboa``8>_WY8mo-@j z;dfxd7GTLm-o|tFnW1;>5tR1c$TV8qx@>J4*~!tL3sHH{!yg)|2C_ftuYTxT@P?gaVPTTX2E7$gCPH{~bkFRI zB5}*$vr*m)r(u$Eik_ZCh;|5tyPo%(-`%U}SarZLfG^2I>EPxx!_ z|N5g;*#GKkleo#-t_9maW!h2~Ts?hvTASbT_yG0R<(i$sPTW9Q;`VB)uv`i)+5b1| zR3c@E{|bNC_@BV!e`cK(kT4KgKK^rX{#nw=!ZY*SnL&769naH}{jCk9XXv&VKLSSB z$##i#l(N6BZh*J+s?~l+s04zyZ`86jv*IfS8xZbn$Hg+d8m`N&we8um*buuqbG&Ny=B=&9 zc!KvrPfuV}Z~_e1vXWRpCl*O0H{<1Pxp4ViyI7FD8*2uhsYQuBL`UrGwg06*J9SF` zoR`Ad&M9Cpx%y5ohDPYJBzDo`}g9)k* z^LcBbwI0o9>-^oWf8;K_*hdM(D5hxU5LTyHQ85l}yrF)L!8dn|xo?`vdt6hwR#NPVhh#xub;_l`D&UMH%kO%X%*`UJq)%09RK~G+n*>VNN*I6UzYz% ztaMOl929$yvk=D;LD{CR-t_>jvV*_t@GDCe{GsZsoWDXFg8_-|2-r`&;)*2Qg+7Ym~+|>^ZVe7vH<* zNOaf=^_Kk6z37K!388))rGV5H%1FDz56Zvw(YTq&HpWjRT}Dg{BI)2B09-aG_sX(^ z6cyN5JUXPqwzF}7nRDS%J)Z_6+j(vv%y+AuPuM`BqzAHaFvBs_cjq_q7iC?*Ef!cY?D4Uup{H!0~7J!>*3*a zFHND4f0s#lpcZu*R^_}McPpWgzIJ7)zBto*{Vytl!`^mIBL-8fyCQa!yu!!aiB2A) zkl_xup~!NDn%SkIzsmviwuz(j{SUQ;#a3S+IcO`EClltF6V{U7O5f|1h@27Udz@R! z)tZRT^S?m#f2O|oF;_<<{?}k-t3+Rf!oXz9XAjpe!%)I<3Rkp9f(Ux_Mmny8=b_!2 z@s~SHj1o&DbKQL-O9e~`$(aWRQPbk!naM86GshI^pDG^V)3wMJ8#g|L_S}FLjBZ#` zcygz#`adTUzh{Z4eu$0W`1B89Mdm&~NGR{UXrgP%TGV;{e9&V#DlF3C%p0`mo^3WD zV;agesOCvwc(jvR4yRYB8>ZX*Fon$VW2z7)h#jAHG!k4OX?M77JdZ5FGre+^wUP*m z<@#cj7UKjWsM)dFO6L5kdH0$XcX1aRjIt_YRE;w(z@HpZmsYDSW;6uVlhA7TX~YOG z6dmpbm{5W)K@^{ji_VSDN z_FendtdpV{@Z`VhD8D!%h-FEz}V0TUU1d}cfJn&3W}5)u{W(@4F~(q7%%V@f8clHi%T&u+pC2YFLJIB0p`(MI*blhO^45PRy%YLFPNTj^Dz7~ zD4aIPAq3st2siBCHYOZ3-lYwS&lA6H-thr9TnrZOSOI`C^9H;1wLt8C7+^+r$oILc zQgHun$9k`*dC$=sD^K}1)7Xsmm-bEzIE~yf4Qf5salv*u{xyv7^U0lg=s%ggiBhj>v?3!tSfLs5T->!U^onS;6{?fRi_CAt8tnW%Ct^+pNlv?e zT-zum>~61|!M&Z81vWK}2}b)dMbYQguz9ZysNgq*yO&;)L?4y%n?%QXAEc zTU>N-3pR!q&zh%()KC{4q}TJ~B^OpMtC4EmUV?>npbZiBP#XKcQNM?u5-E`CwFuK-MFp%^{ZO@MCz-?K>-K!Vsg{bcUTl{FYBs8Z#3p&B*i4; z+Qn#&ATpe%ksj6upzB^;V9$-zh1vw*3Bp58P2#jh}yEpfA41Yjj~WK z$zb;{s*j~=A`ppR6JeJGd5_9LHki>W>tsu70GHyHEWkB+CBOO|ii{~u)e7_bxdb* zLU;3a(n$yZWX@tNL&0Toor^FrK=4<9#X^z|>qQt=M@x#c(S-V56-mi# zg#Gca#rCNhO?2**mYN~$=f)MsCQyFv%I1js^)1(V5;<{GM}&wbQgh5pIeP;^q~V@V zZRZd6$K9wIY214;-SDW2v#$s*{y`cPG+-|$5cJz+pN_Md!Zhay)#k^jzQ9%}K6I~| zM`hXgrX|6+Cd^OZx&;38X3Kw~h{qr2++acAZ-b=rCSpfH*NQr+(1#7sQw@{7*IN|h zJHa%M8}mx0Su<-9Nf61|Q60%eacJXI(3=^9gA*|dR{=2XwG;3x%R=v><8I>>5^aTi zxscNOi5?Ic&|>|BvqWX4to+Ey;4+KUBl(V>ld96-S=_I=!~^8Na|DNNZvnn1#tdsp4P_m~uX2)PCeF7mUa}gfUp4EwfuZP%B-}hDnWY&8`d`lX z+)Ah>^jt*T!x5kUkom}bg6yCVB%{Tc6{ys`_=Am{$5f!+BU8jd|M#Cg@0x}o>xNNA z6`~=vNj`7Dbp`*z;E0z8c8E^g;u*43Nq3mKSO4`W$BO3>Lks5zRpEBCQR!9D`VQM_ z@Dw7aD%YcN-#Hsn?nZdDS3gUpBj|7S?i59w=@~+I<48R*apcK3T#ZB)OO3-5^S`)S zb|@g>ephohUmPeb>36?2_aHE;b+|t#j0@*i=ds|4_g>BTpCVbbKoxgZFbXIA_r4R{ zgb0@YqAb^MtkUgWm8?|Hp-Zza7cbc*M7o6aDz^JISCuTj-9gbIJlQ6p^JX51+^DoA zVTHbl1BW^ zHVj(){JsAbv~oe5fFyyr7xGob;&rCO$kkwrMP)m0 zbx}wApscf8!ffN1`$#vckH>UXAQUuMcjCIJtS$cT)#1V&J+Xb$yKk?rZlC@&VeT#4 z!C9;@%rT{_cnkU_>ame>8YV9O5*d26^iY2db#A&VY2R~v5LeeU`R{2k;vq8i^XrXg z9m>A`F_v%WC(Rv#mNRz$efY8CP{_{Jmpwjg9>6RQfdcztQX`4@&2 z`oIvxmY!~=Eeo>S$D}d%ZeAA_y_>1}qvmY6ROh(JerlPo3XYIj3wYMduxWAerocTf zTE?b$U2LP~KUMRaI@V5sK`RG%_gNp>Xr|yEnysP<__)vSE-wxh#8Qyw<8bP`OZK)8 zcjG5d!C2+8Kkf7@zSyV1xie}$w?S8%Rky1y?9TZ3O5hY7VLWl@G}Pld8u2PSYAA_8 zgQJTt^}@iKj1iiL%ZRg0Au*9DZ*}Ks!p|szp9hq9i;o&1O5mtlJQ1vRA^!iK1xAcsI@`+Fk8}NRNEOh?=m#j3Bl0aK;f4qNNhzZ$;J?Yc zPJrM`NSl#rSo|L8OmshQROaMs6hy4&hXA-4nsp-XJ0p``rV(R$O zuof~D3qMs>@tOO#+Gmi-1^OI5F~(pm(s9fxNB$>89WttcSSe=TcF(I89Pba%jZXoh zWkGwFnIDN&F(qOILtwj!+El>FGu z&x5{$cyD)TEy>!$lR)iX)%hfIH(G`Ys|7LT#{3Nfa`GTbpx8+@g1WN7M zbLSvkjN?{_l&tqEy-ILQ>oFxjIlrMuM*C29OjDE9-lzH;hNhq)xPS}iI~MR{;3PZ6 zS7P)~;L}mR<6zd%!)2=)-3aWXSh*ck$$U+by&}<;m~BY*+ObKTs3{>`zrtCHl~sa5 z>-qO3TKt=<71-{J?TZlI%$Qd0`*a5mXrQ&=^FLxa9mPlcGeaO#2v79WKveSc=bRJc zJ5@E_4Lc7RtSeIx-;g{v4=@y2}j1K<{$v*#qh?F{~C zs8L~tD4sBSwVfrl!Zo0hLf*Cd3aEU^Y&*u6zn@iOkGtxT* zoAvBOXr%N3GC9+|fwoj(MbZ0>;N4F;tgOP|Dh1`*SDw#XMs(>B)2c5lXzP!wwG6sj ziMgLQ?3k`Qz`ZcSkGPSfu9eC@l|rb3#K?Lu@0CjL+`h&??H%c%5)bT|OBf^15P49+nY{~N8t-a$5l7|QFP0%!8;z2MK8Ll&%v{K!&0r~+;>wS-x0gJ z@CdnWUB(qdFZ-ki4L*o`opTxF0;GE#%D)fq-QSd@c@EHe_v+h)LpaQTgE+e(#m4ZPvRiew8jl9 z8w14D3g_i^>KS+MJJNWnxijq0gu7&w37EQwk2^ovr!?H!W<-X+ta1!jv3>qz_(cxz z=l10@Pi3CVFTI$omA+M>;IA++-7~$H*{Id)_UxrnkSIm-14pvpb*PKL`%!)x#&24p zT_|vN;RhZS>C3tuBgADp2M0Zqk;OxPk7hR5WA(aZrC{Zu$LfhtO}qR^z$v`ZBUO5| z(gvn3w)sNVNQ2{oFNKhw_REd%H%-((v4Zw#blA0K4rtludVpYTaB;uDbQ>a>hM+eN znK*Q^(OYm9m|||8Oh=~6jACaW)%lK|^{aA|mhu*)j4Py2S=K4lOn+UCOe&@`fI&~) zO$2@_D`zVcV~k@R9p)$96?=CVsW%}}L$AA%v z>B0>r^eaIpt9b|GvC&AriDLOODnhH&p@`?d{l^u=MYni4itM&i;>Ij4=x|FQy$?L4 zxTvcwdCxze-dm)XtIW_DKgyUk6ceBMe;5IojlUiv{i`C~o< z&a2lRJtZ09ANO^%N(4 zekAU#j!D_Sl2HnOvCp=}dis@0Yn&+iKSQe z#$woPcwfXlRGV3y9umAT&y$HSsKG8%7T#HW44VP8g}=FV@(LkB488 z*w(~Gg@>`;0tdp12kOVsmV_stwfFo`{a!YPkYI1Uqlzkq#5@sv+>=BVH#IhMX8nIXoC3Y ziAfrk%#~nHOV||$$MLx!Qr3cmM5(+a%g;fW*ey+&Z2dZ{{Zk4LV+!HnK7#2NAF!;3 zFD=`UXS9Er@q&y)>*QN$)6McjcAb-T{pfmmuBDv&DCK66pA_f=@;LVcKWRo?0~7kX zHX=jQHvZ;z(ap968Nnen_>k1!L*N>AR7=z`%tiVTes~La*yy@~9x6CGDqp|x%y4+a+J~Xu=OSA#-6L}6iI2N|I5ODbI!AK} zyL?Hr4V!Ye;mB8CuG`E$c~cJS&gO&mtn&+Z?*w2pZ8%uoZQyPY6dt#k8&C!+$XI%o zRbEE;PnP^T`mUICVX!PTbyBy$>D@bqLwlIw)XyLjqZE$X_jM1$74G-?LH$e+9q=XN zTPUcA3lTW>gy9!gId1NKX|IL*6Q*XizID>04e9|sX%NOB>_kOLmySSJ?rfhT5a zuk?T11hSLx(}nQo&BrDKxCd!kSHL*unBkJ&nYYKck+TChzEj%lDXuj4j`m7Vx z5VTcQ(<==9sM2Q0mWQ3TkoqZfc)myv8^B-IjVPK_YyB!tH5kC{Z2r6G-sU<7`qXr%o3eR=CrNxG^0HbJ(vzNrHpEU6_2~d2Jrp0z-v$bSj-h}C-(^VY1Q++ z>R;4a9&oq0*7J~{Zq=+9#v5lAaa6q68Oyi=vC0!RKwzPOOK0#U?Bk}W3N!_c+O;CRX`_SSwv#?f%6z64RlxnTF^DL^ zx!51j%a}4e4s0Lqh;^A0x%tg6mZL*&xXASeG01ANZ_u&3NyM5Wxj6+yCUuRJH9v<^ zqq{5Y+Zz}aZa*D-x}3w!jak(JxjyT9caNzqucg5r*!@x$zhn$51QqEb zl{Yd;0`0mo_!*BMumkumi_v9a^bPlu)cmw6Pfl;-g;33KiA}xZ2la9;r|PGYcsp%` zs5Xq5PCE_z3CFs10)m*Rc|b%2rh+EhbwYCYOYoyBcb1ejd)y-ozAOE?zcr*frNzhk z#Ns^9`<5%64;bO{Q4H*nZM=sWd(Kh$UzHK4{y)bX3yxX)m+8FWESI)zMp+nN+ka3< zWSy$_*Wa)a-VSfQA>88|0kOh9q6CHA(4|J>H^7?h#1qVx4LEd+bYxk$6|V5?P7(U( z_RQ3w&t``ra<_j+p^E305TTQ<F?vWDEITqJo#JRmRqb>FqJh9;7v>ZNg#>+EwCD|=GBpn6R$gOfXQ0VD zjPsN;`+0+N(LTS@`?Urin}cMOI`ZGD;np#gLPDQm+}n!X>!ojkJhS!la@f*5x;i$M4py{Io2n-f=J2cn~DRP%Jb@ z2)cx=B#|G9CTp7eh}xK?SRx@R-r;XnFfzLchRV+#jtbRnJK@b zKfNj?*_ay;IRjGOhPhRnwaRMZ*Yv;_^Eedo&NdNC!dj8GfRzbM*=6dm{LCBYdndkw zUUp5jTSfRAra~FH%jZoAYBLE9=QTmhSr~F$J25pi-K>X^D{o9Q-Lc9OoEeH+pxeLK zO@3^qi1Wx+!5uM*V$U+_DolYfAU!R0fQhC<0hFu%9SaU4pG=pkEQHW0(0VCeEci_W zER;-E5K|>ck*=diCu*7Dqg2B<6yE})9xe^kc$K`vrKFs-7+><$n3d!L?FUr|mcehq zMd_Ez&4V;%HHnUI^~&deez6`8W8=wL3YNqhSKMS`hA@x)ldZ~Xt!@gNOKaX6bo41X z({;x`yWG;eck9Gu*+hQSxZDQp*IqExWd@9YxIL znbqZZ-%NloD+$W-^wcA16e9Ap&xp3bL_~MC=9IfPBC*}YbA;d2G?fH+Y<%z#9`ab!~1@2H})RB<4RMa{rjc+6!s%#xYi` zEGFOAfHtMpN^Anz_h+^4#N^WHSRS5O^QeP=VW{@{m(BHkmmP!?CV1_dl4XZeniRFd zf{Cj;9EJlpSRNuY6uauV5p0T{U4VY4ISukSVU&%Wt*t@cm)U8X{e04h>v6-=8YQaa zY@n1m!-d2!MjA)>o~F(?uzbZ7BHgI7V5V8~vx+t3NFPJF{!X}GaSV}JhDW4DNZ&7% zgX+~GSFYIK9L3#g6q@Qx50gWZUQ4Ha2ar!Ge}X!_pqL1HCySVUW<^f)ziFj?Yc-RQ z$pvFsV~1m&PTc?0iH(?E+I=>MCz|Vh?@c_`D-Zr9Pzy`0T_1UODVw235~3QN&b$;? zQc^e*)(%&{Yn*GDbUx3-HWtzqCn3F}xV$_tW4v(pk)^Roo4&5;^Jpyzk;4=IY(L(0 zDHY)msij}K#Z`I~cqFY!376~DS6DfQwRcI*+*i_jRnx35IlF$de(S@S@uyhtBa`A6 zk9Br`JsXv;=heCzqnnNfHJMaj5v~=bKJ-<+rddC0spvcswW3r=s zKC|Zac}vg2r*DUF_vzEaK9|kruk@z^ZK6C+Jjgj^pL`>(SU=$J`>8SV&K$IqB5xC~ zU-zM&IuU1g9b9gfWk{C_wu3HxF?gYK)ra2Zx5ykVv|i)4B30-M? z#+nT%5Tb;MMT`tyZfCvOtbaq7bYi6U_Fe^chu;tBRe{&Ep^rT25{9wg+Tg=be!;ug zJ`4nd$wz)y(geOs$B+Oo2>=RXJxDy-?bvf3C3s4Lr0X4`aslHCX6;>HkrhZeG_|Q_ zoq9>YfsOw8GKd5QlUu-)iS^A)WneJ3NZy&=8(Mr79dA!3p zcSkFJC<2a|n9#SI1C`(KtcMveQI?c)KKRHBUMclxf^J@a{<=PNf7n&R=kv3gHF#!* zqHkgu0*~fPBVSc9ABSukpJptcVkR{GO?E8bX*7O6dh&*)?(Sv5YT`eGdRC)=_AxiP zeuG~#u5-I){KTqj;?I3^#-IM2f8}`qB&&AZLmE`|IopfvPCt8}LX33h(|W>uO^yH^ z{iV>iM0Q7Hg4)u>SjB=*zCPIO7kkFcF0x{9JrRNuRA|toNPG7eXTnc2qv{XN8xdPB zL=M2RW_EKAmN$USj|5nAZ#JRNf54S)e?XjmvqD}e70-8P7D9F>9G-=c&Fp5^QV(OGG}{Yu?A*OPv}7sH<=M+R`UK(>}u zw*!R0FJy{tM~12~>iDWfC>0lfee}OCi`I4E%TgcvTCQI2#h76dRQ;*gHx^E?I!O)I)jo>?}+Rixtg?+ z3WIu+jGR8=-=`mX9&0IxTXUD}?VFkyY5IHWg10W_KKx?)yuka;>B_CTf*$Tmww$vq zwo&rj-H{@_WsbA)Zp3LHbJf<2K8oY=ppaD@q*>AY7pC8;A4of5@8N!?p6aZ(a1&Zh zp8!&1XDR<1BtLpO=wZ@fi>~jH@@4w-$zD4FYGutKe3bmgXi;-rt#BVP*mr@?AMQ@0 zKJSvOq0<(i;@SOF2N^!8i%o7mzi~HszDmE-m{t=SmdMG~3wO!Y^^y*`By@=<;ippc zBv-{1gK*0~rnz}mPJzZAeFc&t-Z!>SChZ4r_Bm{KKc6iZe*D%YKirWiNy4=ddiu3= zG90_gA-9Jl|K~azbtAGy-Gxj~a4g#Rt}%~qBx_QGDl^i!A!*33%#??y%@nM2T}%&~ zCeaDbF}ds6a&Gf}J^AKeL^^v3aqaohsPJdjU%u0tZU=3YzhlNY#uwN~g4Iu3`b&qS z0by}vC*1*PMLd7pu<>b|z8>VbR@jq#cv}o#cY$r|#7%+|9pZgHvChmW^cxe6WI_iP z%*v340!*=h+N~%8crci}Vha60BUJQMY2}-le(OuD3<=qwsX992Gdv8kT&j8641=Cb zmt>ExJEU~eE)poBTGSy%C7zDm)hsfZ#NYoY=3|1qxh=+gg*y51s7s05Yr*#toHNrOcaQdfd31Os$2J!{w#}8j zrMh#?KyLl+SA2VE*HNIv+2`xNzo`hf;oK$;gQE|7oO;>*!R1y~*7I`QluA0T z(RZBG%6%!I307e0Y@J$CJ?1uiV2a@lSSMh%-+L95?B=!c%XTbmeu%-^bFGLscsT?H z8wMC2eJdYD-f3xu?BmFIvYKxm^mJ9mY(cjkBDN8EesU^h9q%l7bu)MkG5+=R z+5L|Q+T+enc;Wj@=CZ&bz{xATn;2C_CaJ zOb&tntpg$*wXNv?LVg=YK!`ZZ;bb*GL<%38t^Ez#^RNM86$vQIm$8n)H$~65Jr|Qz z77PHBbOZhc0&r6-Q)VG{>22cQA&{iur~iA;&Hf8_dWm+Ha-OPpUXLdIhX-~xJp`U( zd@)^Kz-u+~#0j4d8Ae@3;&R8=jC0}a7-!5VrE2H+*Xgi3b&1jT1}J^l#>{rb*Zi?l zlCaBR37eg$#>C@^%W^v7kug@;*==%cjBi5)EPRuHuvQEttCNLU6#f{~uG(gO@^-n6 zw0uVyHMvf~OAsi7+z{BM#<|^bKNoi1Ueo<~AjjwZ=KPLo$pEU3_1t?at!cTBquKW=R**$U6HHmxRkaJ4fF78p&&( z^vGczc0-IRPPZ#0n7{{p!X~FmaQj;*6>7LAkJ#=;pkZjg-hSZSoShU06&ybT5}?mw z68Ya_*JSzc-asp#XUd=D=18M$(gnUv^U}MZoBmoh=ukXR%glUUReRjLuk{rQKrT`K z3qvCP8op@N8uDQ5)UH1R#q0MRlbX?e9KtPZ)mRqj3ES7E8B=U2CU zi6;gx6*mnB%h?)l&`c1$rfEEB&Ug`&hL@L34>8sSHTLL`ZAS@wow2@(VzIqF+Ka@U zgKMu6n2~dRA%U|I+s=8B;yS(FrYAhUMKDb^3@@u>#1qv#x9E68$I~nDSq_2m8lHMlB@DlZ>E#6 zKk}-CKui;cn>D?7IjCRDDBOz7O`kB1yeL3ov-9x>U=p+5`Su z6xR_%XOu^) zx^6ULRbHg^&V~Bl4U&FAhA7{dpMxdh#hGBwudqoHJx>GqZkP)vQ}9k2*7zCb|BWcW z#Q-Bpv5~%T3GwWivG=T?#yg;DO#G9m2l66*AaP~w{7b%y5(Ui%r_k*U>QU~|aeZz? z`QWG{7ibs#Q%|Mt#m;6M_DQnhr`+D=??DFo>1rtZtuTKUsp(=1-}i9&1L0ENKU`_y z`_QxTL3-tX$}uvt5gsquRK^zWT{Wr56yML!*>9WCJYX3ueb_DYF3llahgF8l0!gxp z-MPHQ2NX(7Dkwk{cT~JJZH^%mvwTib+3M12(feP$*m5G_n~`ieiImxh%dVU5YYbKH z{X4RPdu77Yw_aI`9aWido==KAd5ANqF&W&==d}*`?#Y+>)?c>9f3>*^p;5PT&5tTR z8NREOvlC~S=8=8J(tkMW?TT%aq>Wna{v)0{tFuA54ovykN%LnDw%12L~(pSg-A-}?JZ3BJ|zCj8n24)|QQ9?h%AgI5-_Y3SG z0O#dp*HJ?K|Acp-sN=s8lewfSKWm3U+l{m$+6(NFQ?msZJM8lvd=BaT<;+Y^-x`C` zQmHpTE<$lLNCFbS8gOisYh_H23&GC%&Gyp*aPa2Mb?DJ~6OM(NxQlAyGSxcv-#!M~ z&-C)v>@cUfZ%x`~+fre9KiLOcK{0xF?*(sL`}i>QiIIp4Lt0v%M@I69m0aK#s>oWd zGa5;tT&#!luh*pdPj!SbllCh_ic=xA-DXc{5B*Fkq-Yjg9{(D;E^a>l3e1?voLJPM z+Ptw>=hq%qfA)Gc{bNV4)4vp~`8VOMLb&}qI)@e0`<&W}ZKthah@tYAcX+so2O$|r zTPF%9zhL(AQABUACz|qXm(SaWzxTusT;d&e*HTdk#~~*^g`!+GHBz3@g!sU7s5HrBY+fJdbL64+P^NDK#wZ(%A04T4gA$aAEOo#92=!rnUaXeZw?2zV&v**j` zOXO#BE!Wt<%!`#D2}>gj91(`Qj}kG0G@f*9uFn#_(=W6IRpQoaLwchFeh5`^c4@XRSepu5V9XQ?_f&TofLW7EE$eGXHki zw|##$=l*kg5FMD65aK9yp0d6f3l8qQ!@(c%b7kFaWL~&A+3dNg5e%}amR~4_@d)Bj zrov<8t|Shpf(u#hz30+szU8nTre6{&2gN*@%MTYPymTS9YR1YmHqrgcEg3vL7`?<) z^4r(6-*}^4*8N2206*WB$$@U|;xMBkQ_!mS>LE0QUe;$ZyV*_1N@{`oQ3o1*jtLMH zx|BnzOk@}dtb+`GRv%oLHBKT3}G03AUbx$mS^SNfxtc{wFdM5pf zOt;-tOwGyGRFzG=+aXQ;gBiXUxpVvx!zjqo8@|U2`AWt4xw|Re4jV=Xs^Dv~N}j!A#y5AX^5vrkY=4R^;IPV)bnmP|7_uwKG&^7`*FE%1-!Z`jOMZa3eHS*9tA zhEYwSZs?TD5qt06I(9jP(OLQ4FBVV#O#d;yb>(hro#=B|#>GKI)`rvFti4R{8Q<5u z5+?@xMlJ3K$s)N(jgo1eR5=*{2cQTSvQdRMdiDZj(48v#(&EW}dgy0|8W~;WM22<* z?JYDEsOGa8!2Q+&_ehq_Q25K_)_CLOcp{#~fD2GU31*6f7fo6WE3qI5dFR{IGnqdc z|9h+HDR=*S;+!3c8f$&C=~AA*BY@M|sv%hPAoO-iUz#BYgF(My)HNpgeo&~XvKI9h zIARS=J~N{-e6d><%)=iF8QqAA6;OH13)){A+!z~m%m+a?6bGTCFM1t0h4YTmG<-22 zkEwzA@v~X~Aa)ee;PurC?O#DW*m}^l0es z_W%lRJ&~jHC=a+x?YElNq`9K)Mac-LL9}bxLC}Nur^n&uJ?Cidt0hUFBvp>Fe2NdM z^f?$ErjMLrA}+^cA-6G_guN8+#n ziaD#jd9u0va#=1;czoxbaAa8;RAu!vcF-2hM7fAbcEg%A0-M31Ge$}sv3cwx=lV^fehU==(vTK%UX`Zgyh%MzR!{%(k?}^$Gm7j2v=~_yi zQLhs*yAklIQU6y*lPXP_NqkdtF$V3U?~xxKl?s#=2MPZfWk4CWsyvyIS+6<06^|o{ zM+)e@UU>dPzY9Ech;m$X^_`v`Qp`Jl?))oNK3?rP(AsER<_~kb+t1^FJPL(gYV;{T zwL;~f`X+Z5U^B0$tYC&sS8c=%1~M>+&Tf^d^X@sj|1IL zB=U{!nu=k<+xQcPEq1I_HDbBQ5fJIjZw_yt5iA?a-)pzmp>+$ z_u2pNY8|a5xBF<(N+(-9$E-NVOEP)nhJo@@daFx`N6!luncUur%Qb69rW@+$yQar2 z9#fkB`L*M?SZTXGSTSaaF`^|n3s;AO9KEwVo2q~r9tC3$SI|@`cN?jG`kX1?40!$r zPx#9mp)NDhQHqTv8DE!@coR`u6_<08>aud`pCi5*IaOPijrDcqp`C~V z{1g+Ai}V4!AcsWtaph1m6cj~|-1V}>L{qCC4RrjA1tlj7N!V#@U6DQ9%f3?=;(f46T#?OdIaO9CeG1bOfc&Q5P-kmj}@wwWD<2{+A%dXmb(*B%w zWOQ(2Q{M9zE~VPlnbfGBtx-_l7L4x`hJU$<4$r(P+>V;@wLHwO?JGsqaN))el2c#E z38Me5QhODcpT!LC?V^p3`=1@P$noO+`3Fydj4N-tnbum?lY!&TbZ{Re@ZV6b4d09O zJ~;)i>Hb@hS*n66fteUzuud+?y4gK7bYlN>r@aogGx$0Pqr9v7hvTAK7zOwm-(JD#Q2h1PM2ug;OZ+^}e*&zn~042-}cMvC= zH~C+BOSV^TG8t?}?8Z8T>rK?o@7a2462EDKPLoHEMH}s15mY+ed6gJn2&~7yPdND( z`s9Jq;`7Y?kdq!2B9G2jiB)V%p8l-I?qAsHvgnYqWg;7zKc({f1FSC zw;#}PEKKHk9c@BlWe#@`*1TP0r6j4}Hf#;B+x zVp9kU-7Rhi-E;aa9Eq44Tl*F-{*0#HZCe5VB~2wyw9KGxeD++CC$EHugQr71N9$2 z^A|XFvI&6=N8)N`(v21^^fVzFG%b>Xi??^b$olbAP8?iMv3`2z^$u&HqT;a2xdLal zfgkLn+IwXz895HWP{*}diPCSqyh0<7fs}v#0AJ}To}4zGs2_}sq|7&WdkG)S@ia0K zegt6JQeUH$3pt37(y%!Y&P)FY?aL_iC)?wBOaE|a4dXajNfse!Im?~u8~BLRq1iW~ z4l7C2!Bxou9S_Rj#`*Ocun!ku-IE{gV`G6yhMc?}-!#hpM6G-vmHZQ(oat>N9yz*- zG9BIYybw9Mmnp%pt^g!_hGtIyR7nY7xT$GBe0U3GX%Z=A9F283?vo>STStHA^C<`d zXV%j%q+Mi2NEs!T%dHB3+s(~JMEI9-JR0QahN`>%-v^=ef+Nj-QsO-}mYDaEBz{+RH*&-o1;8j5Ko2#r#)wEIBP1zHPA`ZFJiJ*Hg zqP>+gasZ~W6ri(SzO14}(%BXW1+##D;&;Lq5i@o)_-C{70+yzduYTNlMi((~mcpBYLt-Dq9Ejv#_oC;JkpM>a!g>;5zw8JbYX8d@LH?$*$ zn8fNVIW4y%wVfEj4Z}Dc`gFa9Gfw5Hu$DLbZDscYr=FkGsF-Lr+Z2eShrTyIKF11S z^-fY7k0)Vu#s3kSZ_orP9?~Qz-LKWP&8vVU}dP_h|rCYbdrSm(Xx- zxgKLo2_|fCXyVW5Y>U=KMgtSIqh;)UG0L|R=*eC7|J};=cdr6R^h?H|0w2(8=sbIr zVx87YT5Xl6#v343J`m9A8*EP~LmRmAr8i|(df1rek^=$)G+1eTMwS|LA8@|925XOe zCF?n-9R8FjXB{L;p5%^d=0l}xHE19Me(e?68AiTP+TiAAuh(*4-4nD|&R%q?jrS7gSMFjoF2yFAUpM&lMHwBwg-NLC~xk#Ni zpp(;)e#;lx=!F1P<(!TzfCbwmULd|io__9+AClzSMdv@N1vM&9@V$>fBjSGt@DHzOLjHj6 zWix#){K73O%#Q!+OshFc=xz}^Ut&e7LE}qHp&M(%mfKsZukKcSBpC5}QzC*)QG-^q zC3LeT&(<=HuLsV@`Y?-nL7yHdSr*>;<6*bI89iG=uH`^grd4#z2CqivSV6Z7$EJsZzY`*IA_7fJ8Sxm*NxcS zEURr25VDwv$7Zzq%s}tMywbZAM57ZigG9VlvL+mJUacCx}A?boJ2Dw*i( zo}u4gOC#4^_$6m#SS1CSz7WnddMI^kNu`dO>>Ked>8npT?BlT$rzXq)Hyoka|5_f~ zVe#&TpDfQ`IVisW+r=pNlf<`Lp5rCP4X1D3uQ9jKgXZEvQ36U5H$T&@GwgFjZu3D` z_FoWLoR{;l^aL6AVdiUMW9>AHqIa z6@a22aowdKQBZ;lr#%r_*_gaFuAJo{JU7z9oW(FsaS?L(N{{i$J6hZ7!r=ST0{jRI zB+9(6HyW}doDUDYI*M~w$s0+Y4Yrx#@`JryQRQX`e7G^t0A|*3d_vA(BD77l`8za3 zDx#(#-?k`)c1P2t4_DpU{>Dq6$U}sh=n!X#{_N4GA=81CyGP_~c|KZ%4lY=B{OQJD zev(yOqDQM7KUuM4(#E|s-3ovwOuLGn`L-Xt6_(;UJy$+2T;qocBipW5)J)l^=U^?U zIrfu5|MyYsFaq8_w zMxylb5F9ruwB7x}VaTb4W_DVx6(+lpQ0}PEazvtI@0WOq$$+ z&b!)EMi&@PR7UoiI%3Ql=c8M84!j~N@?0OzzTo*I{(4F0BFjYQwOWC^&6;|F8)~J- z$F4vnTg0owcs_JEF}NAs;^cnvEFpqF*UAvN0hrj^kqVP&E=OcKd-R!`gl5O}7UcCe zLWC3S`#L#j)WG;t%9+7_)rXwzwkA{p(ry2D5x~dFsD0v1iBXKzLwbS-ar0W>h$Cn8 zA`C2Ka4?t&G^DGHL!{%=!_LXI@5i|B8FfQK*(J{MF8~+jt12_XkmFB_#8%z;>4P28 z(OSw!$mpsOi-uvTly!v3H&^el9~$yAU?wiN4u?P3;cb?K{{X@N8%q8MZjhXMOk)~) zRekN<5BKBwVJ)*+mC!Ln9}k(ERr@i`HlmM~X0|DUvS3CMK$2L5Nsm?KT!?^lff0Om z2z^z>1S;n&V4=gEey9u5qVgSr8!6u8-I$xh;+%`cIXENFdb98^Y0X<9uD-B5{^rov zOX*pertB-ZE&_d8L#^{=(RsaB8%<*!qQBSQ6v4ibV-vaBz%3v2r9HVd^@s3H4L2^@ zaLN8Jb#Ucdle8QE%K8--r>AVijiWl@pf{bH2(HxG(TTl8k6l?zKEsScr}6kP@ot%5 z;w~$LDVf;Mv%eW@ye|w?VUA<|%RzN~!;C*{Z6Bl6?G8R{SoQ>OU(FUCq%zh=EI13w zr(b^51BBa7f>~%^-W76PYXv4qqAhY807hK-y#Gz37B8V;@5|aBk9QE4X%8H=_~?bF z(mq0DrX3=jksn&Y%+FOJAN8}~d zsp>)d`o@BYmD)biNe{W;x0LbgN9PHz(B%L7*hOpkceAa|=<;h`>IL4Y&_mgEYWN|S zH#C1UT)V@VSF)epp{HELfuI#ZkRvC<=AjhqYi9a8nO|ZC*E@jsjH0A@r~Pv`yEZ*7 zBcr}zV*4VgE{Dpu3@t-tT7e2`K~1XYXS0C!E<}F;g1Xtl8}c$#jA&5eJZ4u&??E5F zzA%9<9Fg)$Ba!SJ+E?H2J}Ml!L0h2Jd-)G;Rw-T3q@&ZMcafIOQ$UH*C@UCM4#_kb zMVdX-c4_-@o!<{e?CyxPEtdz*FnusPT3XgceVIB&FFFWGzY586iMRVz z{9S;E!wO95xhWaNHHlgXTO?ORLI-s6KpjUnwtdk+M6<%Pg!uWbsSqFQuVx_5hdTXE ze29a4C;x7>rYP7-1XTaX~2XV|(z-ahb_7W@$o9l~k#|5?=-4#fHSQRRx zW3c0U8%qD100N%7i(K^kGrB5E13V}zsTNHIIAG@>?X_V|Lw^nBn6fhes`LY0ibw|n zQc@hIk+}V)lA*$vlK*lNsPg->}tT+W?Im6{M6k%^PkJ>AR7PHoTkzW2(sl@lb>o|84wUkh7 z|D|iuj50Kc>mkB`GXX!ccE>n_vF9^|?GYX>_=Dxuuas_Z1Fr4~d!)3AKSTmw3=yN0 zvEL9UU~Wgh z^Pu{|h9=uaGdaqzx31dclQ+jHfpHT@0>15|^Wi)%dSNM0(uyRT!^ynVroJeNJHd=@ zf6#3KeBMJGozG77uu_=r0mc1KK?RIaVo`un9y?;_k^Qlpq5lR=#8ugQ)R$$NKP}x$ z^V&BF$7T!AjUhCG46qPCKB#v4u;HBpq_9_CrCoPyl0T9-wztnN{uU}`VxbvPQLg0i zY3`|wT*=a(qf7*jqTi;gaaqX@;!(^T-(5I-FaPXAPS@s-jBkE1sl=Szk!%F)H{k;< zjYW2@A2lQ`V*kL!EnN$ayUp-sK!uqxyF@T{cXDm6@m=jvg$mM{|H)cO%G#XbnPwPg zTgO{@!>K>`M+d`5b+u3f*HY|3+IWp7Wonvw2Y%!h4~-1YHfX=Mvqv07N2))I-Ti;< zefcAld*AQt(#epmPBfLRg&E1dq(c#6TC5?Z5N5HSIMUeHGTD=@tl4JhkPwqS z>qz!724fquJy-XAx}W>`3%R_Ybq3771vD{L3ON@Q0H#8Wdz;$bY?EvyU5e$MDdo-HB zKQo|&TVQ^1hudt^OiJ9xSrj6NGM93_pSX?w?AA*>XWRJVU(f|$7M7r&+oCRLlkW8! zsJ^593BoGZCfgwERHz{M%UH8z_Ozp1i@2~{lJL0idr;R|nf(vxBA5*+414-6(=5>f z)Ky~mH})MiIi@S_$k>-6upKXrprF(#gM>=)3-h<*>mx8*YlBUldwA=nnE@$Pt7>Fozk~`BM-4p>gn@$ z75+g=Gw?7|j=o9GJkx7w6M|k(Sp3`X4`nx&pVOOmAU{vPYZY))4!&G5+OyLRMVd69 zz7*E-n51hbTVb(0QroBz?Ix!^KWW_KO+LPwh2uPBxg(hNM^ykl-0x$CZ%$@1 z@|Bs@{b?Ja!o^aSg!Hw*_pltb;WlkJ=ijYO9xL6CJkz868w=;cQdL2z=!#vb-5WePXK&I5K;sXzB3rp+}F0u5`PndSKi6Z!1^v#aEij*3G)T zPx<(Fk$-rWZN``9P!ve~=43>wtlijtvPVs&A6aa$Ie3}4Ihgs%iz5+KAiwBDW231#)~MTf&xnHHcNMdVb~ zACxIihGz5B-O1(OTcITT@Z}|OW~c*7k#Tb5)SP`4a{Eq$E;~CO-R~R|3Y!z>M_K~X z9UgS0enKMWIA05<6K-Euu)6}BFls|6;-+R&$RW^^d!91E^bzgQ0Hg++)eghFAB><$ zN%6hQP#&sC(#$1_Uj28n2GJ4z3IBqmf8E#MZyKe<*QUH`?bg-;`O{NQE%Ae)rm;>o zjHZ)zFw#}jx6W)K<4fHH&);I+Nxu(YC|5Ktp8In3qiD+`(_{X2MIoDL$gJS}w&ap?DfDv{{rz8(4lLi{Z1XH- z)i-}^>ds|nNs`)LeVVj@eEzuSsi(J8y*2h?Ymsv!yAQP=^6J1FT^UBGYI)F0eofq} zFCN75S)543XRFA{Xw5ntn8Yw2cC!_u@OFrift?dH12dXgY@zSsJ#?xH>)Xqft`4C?uU zZGYT8)lyAcdGlP!Zeo}1hhzA+_C&MmEQixU%*E$0D`=0q$_}6p5D0_fF+R-6Bwz#! zC;+wMWGkKk64cU`JH`_1noU$hF=oLAX5chw!B@pkuL6KxEn(9?9!bBed=3#0fqd(b zel8LT{^mRA{G;(&q{Jx#3$8rh0n0><*QJ^PzbR0q?d(}=OQ0)C3YnFv4k-1}v~wj2 zV8-m7ueU=ADrQOm`zTUU1~p3ysWr=%inayN!$RLB^>KwveNMqKwDQF&G`+KKktywo zRFfaRyYEmpZah6g}+h!x?PmNlS?A^VF+g9ywgkg zOMv9$&*>faC1L%HqX8EMmhw!!di{dnZbl>NrHFRp016$N9S6l>*GSd zQQ+aV!>N-P-Et3B2RaW2zrXk1X<)CrA#;8lqcOCzbruAz?zo2qqyo(c=7qnHXoPUY za$)(hmKz7`lMwD|gfw?QQpSYJx6>|2;LxWIm@wz0<7$!1^IM9P`66FH1A63}d?D~3 ztC1RemDkJQA{a)&ew$^X`VJ84?`G5LCcM8p{d-67CCX0{%g<)QuozFMyOdBWfQeCg zRqY6BIq4;+o#Aa|?{(s>lkl#4_ak&(N2=Djm@G~=iB&_kSV+?@ENwdsyBo8N00hxv zxSEG~qCu~Htm-qmjrK0U2DVqi>(YWUx=)i%N7tF4`M($ixc_K!+C(2nE_#+;SHUC& z^4=Ze77oxN1wLs!CrAtp1{T)~#CuWM=XJTI0iE~X(iTd>4%lDnOTY@qhZ>C=w|3~< zRFT`)w?MCx?UBkLpt)4U`NqKGKmCKTrHu-q&cxN5QW1L0p-u1B2vMv#+K-FM3iuw%B8Q~YvxOS<|mW3EmJ|>{e>PZ+__Q28%fZTUKHp!=v#hsB3Ms@ zot8^QNF+TJ|i_(n}247-D4It@UlC ze*Qu+wXA*SvG*pfLoe7_FpBq7->&67tFKzfg#HSJ_`NTxkV0`3z0>Lni10veP!kk; z(FUco$Jdc#OFUKQ!Q`8j)!eJRVxlXnp1I}-mG9?_ZQWzMHPxX?>dCdjM2Z>n6~8T< z+~Sk;u;M^EN2c)wmVNV%_jQLBkwf@|U8(T$48u=9_C-#|QvQg=yhmNgXmp2aGXF`H z!mzzRkL7(9{3nXv5g0wbx%_&J2?9EV4pfB?Dz_gcQ5*r)d*w?ZnftCS3tggXgjQx# zt|n$v$(*(Y?Dj$hdImvy>zMfAN5RKreh}06$&-h#fKH_~IGn#_YW{UTOCk|p!!F*( zTWcvNw*-RK_RJt_X5E&jq|r|5oRvQrS67EJ$&0n+5ATNrO<#PQI@rG#Xxs0rRO_~I z=g;1CopFp+1+rQ`nCLIMD}yA3e0odQtA`dnosFcGCc+npJ&^<4KvCFh{O z5p8Avb>sr2gw)UKj(Mhvy~!Y9FQ8`9$AUsXr~tm773GQ#`|57(bW(Zt1wnlTlc#r_w=8-fWQFac88jUZ z<5v5ez47QQoD?j}|%*_t`NQ zv8bH|Xf73LIDvACVSn@nHUveC<~P~u5&q4;@AWLmqG-(`i*>%?VEKN9oVw|dd-2VW zE~L|8uBnNV%^brw^rA-zo2EjT5g;SoG)eH6XXvd7pMj9S!5|;&D4epb zp4uc)bR7S=l6s6oW5AgK+IC3{JOaUaGbiHr?^!rdJ-+~+@Aw&_gK)oXBp6^L$3%K= zvXe|n%1PO|Y(VBG7ijZ2D?29%@JxudfkewTkYop97m@x~5 z-YUw=qbSL}{sexbAKI*tS$C_4O=_FK+FsUsEEN9~)b&0q2DOu~wRI`UkU*4f2~Lfvw? zm*Qiy}0QlMJ;(UUdNyJlT>?DaBPu&3;{!YERGoc384 zFt!rgdNu2mChG%@0-3Cg-zVwBgb z;-7AINCAs(6{^Yha>@EsaDUx&Bx)8YGpQYNs6-KwtH6#hoq9wKr_dOyp872@i0ZC&5FN%l*M*Z0$O2Le}!K%lr+}&8r2wi_{wkl z^jl5hng4W3-S-0^`Px4;xcB?LGC&p}IeeT8&*%KYHt^@n-WQt#X38L?z*nM|KQEI* z7)Z8N1>l{ne{8$xfcr=MiyKUAbp=mop4XG~5gWLw1g6&oVXvpBz)9rS8*aytHFrzR zf?_K1qq>dH8XQ3BiBmkAC$V*USPK)s;B#dD$%qzLlfNdsv4rzK9RwM&2p#q_ci&eo zK7?VB5Y@rPhCYtWi^i&aJp|cR`j?8laF$BBW0R-R?-PuK;kj? zzT?1}N-b3ChE)CvbTK_3O+de9AjCX4H7Jo*a$v!DwOowR0D&EU9aKJ z$`p~VdMZ2u?XFD+U%c4#b5}ShC;4;dJV{HF3)MUt>H%>>T5NuIFhQWVD-BiJ9*D7jtfBAmwLijOokHJZkpr7tQgJ}8E>A3)Hfs3 zC50HZ8?tdHcUENWHMsAcO0_?LlXJo#Okwe7W6V|@R_B>8U)OmJZIJA7s?=>LXBY1Xn3uN4gTT>8vl0E( zsK;pl@w{?ROi(T<#q>B}Yp*B61L|sU<$10A+X-en3t1O?I1~bUlQ?qxmZ*FSc5TLs zyCmiV4|#_*=#T-eT~i1DHdGy2owltzhD`%cv(6>;cFRbw`IRUdY3_b<`s-qqhh}$s ziuF1P_O|D2jBJKM%RMeqlFOnlDOi>S`Z767G}PK;68R#Q-h2MxsWGPJOr#6JyiSmL z>uIPy_>e$p^${!Z;T-?d62Eu+ttmWdhPbVdq$4|VAX4>x5FJvpkG{D9qmN+RcPSzAt1Hgc8 zA+SASZLWYZpVkn6mDIBx6X5XZye*4DN4wtpgH&z?sP&)|PrfKA~^t2)zFjf;51 z-n?*VG*_-~z42bL7}v=qTYi!3;G`oEQ=h;MwoG}G_9VD4r!E*6snm|t2p4aisU(bC zj^mE44_5EiJ`mfnw4qT7dq`~trPB=NRvU2sr_~WluO>afugt1=xGgq*>-i(*sXj}$h=RW8Q^a; zr06ue0GNozqJOqEz3FGIvi#XW9-Id%m&83Rs?+u5hDwj@RNWVuG(Ji%RcO^X?o&Mf ze3m0v$7MREya0skud0T6-nC~g_~0xgd!eC93T?$C84C8bLLwyw%^(N^-d zY4efZp*YP?0-`eliiG4CA%y14gIRJlQ|T}G-qJW+ohgXKsti7jt2Mx)mALfVy;ilj zH`+sW3n1$ihUW8D#`RdM=`0dpb!)z?$$Y7~QgEgMH*#&+b;HVRv)RI8Prc8*Z+5{| zKaS&8B`@4&TwU#btr8JyM7|BgA)ugOe_s?19SLJK>Mf|_8T)~nCu2=`3D_@FPra+{ z_7}nIrTSG!{DUe078+vzT`k5+UOL3f0Vd3M-t+gCO`!SnV3kZne&O2jfXmzY)2FNY zLZ7S(=&8-?wMt=Eh}_r;V2sI;(mv?hgnIb!<(p8L%T8|la0It=Pl=E3kQXS^ zYq?of{OOZVK)`jfJPmJOAgDm-6Pf|Yqr$qvHIvtd z3=^UMII^ zBTjBdPXBnXzj`AHQF~+T4>it=&K07kWggC-PInllt5aO1eE_LP!=ws|(%+#Djo-Ea zCxl`Dvt*zQr=ewzQ|}?Wn?XICvB!5EIGaF^@sXt$S?J&i6rJ~of8jYx1bq2(oJ~0Bxy$0MDHR{zg2Na{~ zZz4g#_LLZNWO(ux`O|~_{qEE}D*~u`Yi>8ign8oDBHw}GKWpx}acl)Vx7zkv`Bi5?7VEjDv4JPuMP-h{j;7E~;^E7$B?n^w)COiXXL3 zT~X((b^kLd2l!$?yL)KGn=*H3e4sjC@>COZwb4e|Aj_g(%RZ^GGxL^+Kziq_kvcdz z9V96dI>@6}!ySIWv*Eq)#HT)CgWK87-ROoQf>%G$vm&yH+_lZ#Iw+C3%iZB%>DR_j z83>K!9B}R%9=P^^X@p9bYq@pA;@$M+AptN*M2s$EvD+8f{J8A(;clLR#qOY%9a(0L z(R8=C&9Xhi> zQ{Bn~AL6mFKXviso!{GZlPWqVKpvBu(LYaE4B(Th$#yl|l+e|1e zxZI7{`%#nvfDbP=Cp-+;5(o@4bmaLuhBUn2?I*{b#2gm?BHB!jShIh147_vZCO+-n znl6tTs~o~A>>QcvJ;AJwc;|HuuELR-D9;~k^ruLARilSbFk^po1VqioE&)B-0RSj5 z-0p&u6Wj6Z(ETl(mf{DP&iWyT4P)`l1t2TGl8=5?I8x=$`ta^g$3tccTeT$SKl4FR zh>jYt_KkTBC19sP8BdioLjr_DEk3ttqkXd%PGS`gwm2)tW?4u&Q7XDEl?!c@4YP$p zgYCloPAjor9R+Q<6c3CE8_9!ZBifGD&?90H<@e$V?d$iLZ=NgJBjPA#8|JSP z7VqVw)yI*Z?(eHV@8x+C#L$ih3-{)p3KQJnd&^m*#VlXXEma6~ZvpW6Py`_D>Z5go z!NT&qH{u9<-?NZUzeh#70n0fX*0jADDS=$ z;(Q?IwC*KU=3DOGH#wo%{Co`aTy_!9%EYDNL}$|n1PC*W$)w4zRhmr6;XM}5ao>qBV; zqBiCQf|=-g++*e4yh2pUw~_$j;FT(Ly-~~u-&wm<`&e>~g4hm?OeB5~_>Htap}%Q( zJIS=U1M~F_^BxrKWV!3p*mmu+0U|~T?6Juvq!$xL7a{;bvZnhC3GaayCahnv)nY6l z!4DVLJDuE_BB9-hy{Z=wrD%3r+ny9@6Rn6bt52^oe-W%UZmo%RfAhn}wxc%3N_{0OPG6+&yZi$__S52veL!Np@A{i~||NtTTN4R#EcYI&9$shP_u%wlFuR zVTs8`Rjf_?*waelb^~;SU}Y}6);M8k`$h+rXx7q z`?8a*g*6Krp6~@66FLdr-OXe3^fWf3KC4)&G&v-r6Oo#>RXT?UQtKM)PfAB!>`yWW zjfoK0O1hmi2PRssQKsi6}S_==GQG0*M>BH;sn{N7o3I+PX?n*mRd`EM%b8$SvN-SVN z#Mn*nQqu>?v#kq99=H&aUBijTOb7{U!t%TN^95f_h~C}Cp9w>x{Q6A*(2Ci&R97pD zz)U1CQCO5?6nK)efX8A|Nq}ucw?Cwh6bYsMn7c%4vMFcIr6H%5{RluCYF}_|AZ=>W zEe>o-|qI;l^}$;et8fl@I@n{*^1g z3x5dS^=OR%V;J4YRcjtMp7X9BpS=fp*9$%ZX`N!8Et^h1Aa|giT82{d&rZ_XBGy@c zI!9lEDs0^gd581x44BI3D!D*3`~i!+9=>Al6x~2PL$50+9LdU=umQhaB8>F7Ad0bs zn+{(xzNk0>{;cKHENx#&I_m5sP?ewj5=m%O-s&M626t?ty(q4Z*2^(?Li&n1IFkzC z@|`*)u_$!m!&1prXziC-_>oran;AkSKV>pIx221I-3GvPj)w?`;traH`}LK-^{nB$ zuCDGge1iHa)vgTGrgN-^c&VrUwDIGR>is7&gVdX!u|1UD-B9C7;zl;^miu;OxglV% zvTTpV%S_xnE4MWb-cajQ!>ILYTgf z_)e~?v$NY>?8#KgAkV@**C5JpStT$o_v-}&@hx@?v+yxo)p2VMkR6V>OZpHz*5-Kc z*}eE_DR`sS=fZQ}QON=HPa|_=m*NS$$97Hmhv#3G^NRZXq`a}TuOy|)69Vx+Q|LU{L z;O+){UYE+IPO4>wPToA$n%bzQcK&rBSYzv+gXYNQz&Ry++c8l!^r%3Yu2*pL*^k5# zb+WH;le@p1339Z;0o6Yk99wH-2|um&%Go(Fe(( zH}_BaAmKbfeS2kq>N|>enRh zN8$tE^{z)P=;mp&xP3wv=dYQZ631ABLx)EE6tnaf7c3T&$|XcOy(@?vG{Eiqipxk% z;I`jF_AiZM&x8elLTL~JW5vs?SwGw`*4F{;u>M^z4zo~Ik&o^1CC~??&K($I zX~yZAPB-iP>Dg|KUD!KS(WD>5I!TVTK5YOXJ~h3<8FNV=9(>;YtDeAEhz-IhZwU=7 zA0RNE_SS@4_Hxx*?&j6V|0bOHPuB)WUX-GxK~VX0H(T_(g3m&wqFokR3l{JTUay4j z0N6CGPkd{*{L*gon1@JKr~0}imNBD#`j2&>tx^naFzTgQFD>=6cGZ?SPc357VUz~l z5+uQ3C=iO$B{H`hXVG!BFpj`X7Ph!=TlW|=%nCcanudwS!G|`3+i`FS^iEMnG&6&R zTi^G|n2+AJ65m!5eqU{N!#|spFCH z*MY@A;@vn|zmptXdAe=tbMu3=$M&KGi`BE=@CFO8kCDJmkeX;~6~2CldmD{eDo8`A zo_i1LE^Q~~XD_C`4wmtLnA#GmMUV+1mSQQ6cOfHoai5Y$joWE6aulXhi zT2KKmA-pIj)Xw<5Kcc|#FGTQ3nx~%qD(mIe4jsP*f(N&RtiA_9Zh>7gOex7VeFXNz zW0DU6fGLE$L!26^4w#WV6XOU{a}thR`zr)g>`Qnx-nGzro!An--U;v1i>=2fGZnj0 zS9=$dACs2za6mSNZaDrSd%ip^IXJmfmk7kjB&PLt1C80He_YtKq2X>NUK7Cf^Q`B@ zUOqcc3Qs*ZTzUEdB%mpC1=qU2J3yIfYC>Qvdfg^m4S{_;2KlTlFr}Wv2I|`XjeUjC z+hC~flh!fF=RHaVF}p2ICutx#=B*HqnFZ*+J#QNsiJDgF?`GR*N7aipY zC8*sCUTd*fLLy7!B{YwcRScKK2UL5l{YYp!x&(MHvRRk=EA3& zpu{9+p02}zAhmn3LV9QngYo_EXZjZxEI92*XN%=Jd&oOOM9A3zsU%ht;Rce`JBz@c z-u&U(Z=}2{HK38Qm%(B_@{_giy3q3sk%VzI54WYxw-O{DIuMiMiHxGqkP7j zR7YxvL}Je@`G@$d&)FYRX%JtS1iRnOIX5Jd?^N>ptQ#d{Y6K=ah=42eF8L%&dGRs6 z_c^(GkMZFnV{TUykNUbM$oQ4t0?QtEzF|LT@Hm?`hnuBd`aI?>)QU|uU0Vk>3qQ3A zBnh9zcud)*j+5r*=#0mgu+E=9Mo7^&3RsM%oTititnSJ$c&l$JNlZJxdLQEc?lkp! z?gv?>wR2j4^B}2XnjW4_tIc+Vla>~2hgZmnuF4GUxug+a7eDNk)czfd?E>z|rbBtB z|6Bq3g)@3_~PhE65nKpZSs!R zu!D1Ljm}b{cfGZwC8(>hE^X_-PYx<}70+CT5{qQJhsTtLL2ccRap4oeCP4WJR zA?epzOmq{OY56ZO@zdi)@hDz!U)^Jy!$ya4ea)2^BXP6c)+3iHVNhU>wfSn6qB&jz z`wRyTl1dT0kO`vU>Jw@Ov;YFM@wDP3h2N z@Qxy`-38on;8C**>&89st=TC=;gFyY`?Nl^4gTwt2R1M4s&vi3;=xdTkV3anX`J^_ zhSuYdf!;J+`dn5@sA`V|vis$1i7oK)QL|nlBU?5QLI$;@n4tD*v1FK|*9o)`dFx^M znD$64uOc)`F6!I(vjC4xPq|&WTmQf)|FuO<8w(tZ(VQ`lFb~aWv#Am|&%@(vLG3vg zn*3QpG+3U|KupfT0z)vHfq5z5cA&ijo?FEkD`|jEy5g<|Aa{KP5Q7-syD`svGb#wh zj(Kn)*luTcH+DDUwO3yOctF!)spD4ywc%KwGOvn6*fKa1X#H zZI=c@6zJ6&BxnSU8YXuq!5WvmN&C7IIL10N@?R0DH*FQxcMJ1v6}9|KF8Jv4e5+}k zFVsQm_tN{Df=G6s)qme*SPLF(8!=PnK_02z9C+Q16h61;Q|h@fr*o&_e>W-~gpU4W zncX{g+9vFSy5fE8?z6!2ili{&m4Rx)A06`lJ7I6aVLpzmCiQ|Kk6{CoxU* k5j@BT0)F@yjv{{V#Zo2Ys(X|N2Y)#IlAKCNsBLDyZ literal 0 HcmV?d00001 diff --git a/resources/icons/rasterized.xcassets/menubar-icon.imageset/Contents.json b/resources/icons/rasterized.xcassets/menubar-icon.imageset/Contents.json new file mode 100644 index 00000000..426059c5 --- /dev/null +++ b/resources/icons/rasterized.xcassets/menubar-icon.imageset/Contents.json @@ -0,0 +1,17 @@ +{ + "images" : [ + { + "idiom" : "mac", + "scale" : "1x" + }, + { + "idiom" : "mac", + "filename" : "icon_16x16@2x.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/resources/icons/rasterized.xcassets/menubar-icon.imageset/icon_16x16@2x.png b/resources/icons/rasterized.xcassets/menubar-icon.imageset/icon_16x16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4088de4041e83b1166754881c5eed70d96bb8d0d GIT binary patch literal 656 zcmV;B0&o3^P)0KhebaA%3EXi|K`ND@R~%;GAH*fiouFIxvoLWIpsCSw+hMTLZ@+`uogj~sBZwH2e24KDs|#ikJm(f}2$xxh)8 z1$zROi}g8iJl0{wq|rDRW0uQh+1}6R^F7*@N+rg{UhMr=t7XS&8;QBE%u}n?W;nUV z$LW~jyq5}vg3)L+RNRJM4PwgLNgQd22TKS5GX@d{aQ&4%ye2Lo1cn^_2O+$mDa2&f z4f4%pZ0-_Q;GCD3XfWtg8xR}=xb;sWLV$8mqCz^Ij)E{0==T|d>a7|8N zA-F(sv6zZ3!cUTk;<~P@aBFPOa9u8J5oe-Fv)QbM{j2FD z{Te_-9=RbUBB~1xL0X6jU4?i`IQX;%=7*0sh4{KD6)X}Ju?Q*|rzB)1%z?GiSHGCg q<_H{MaPBK3`C)oMnnMHbQ~v{I)5G%Vdf_qv0000 NSStatusItem { let item = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) - item.button!.title = "AltTab" + let image = NSImage(named: "menubar-icon") + image!.isTemplate = true + item.button!.image = image + item.button!.imageScaling = .scaleProportionallyUpOrDown item.menu = NSMenu() item.menu!.addItem( withTitle: NSLocalizedString("Show", comment: ""), From 28bae7a3400e04154daff1c96838c417e5584b77 Mon Sep 17 00:00:00 2001 From: Louis Pontoise Date: Mon, 9 Mar 2020 19:45:46 +0900 Subject: [PATCH 94/98] fix: smaller payload for the icons --- Info.plist | 2 + alt-tab-macos.xcodeproj/project.pbxproj | 29 ++++----- config/base.xcconfig | 1 - resources/icons/app-icon.icns | Bin 0 -> 858824 bytes resources/icons/{originals => }/app-icon.svg | 0 .../icons/{originals => }/menubar-icon.svg | 0 resources/icons/menubar-icon@2x.png | Bin 0 -> 410 bytes .../icons/rasterized.xcassets/Contents.json | 6 -- .../app-icon.appiconset/Contents.json | 59 ------------------ .../app-icon.appiconset/icon_512x512@2x.png | Bin 677724 -> 0 bytes .../menubar-icon.imageset/Contents.json | 17 ----- .../menubar-icon.imageset/icon_16x16@2x.png | Bin 656 -> 0 bytes 12 files changed, 14 insertions(+), 100 deletions(-) create mode 100644 resources/icons/app-icon.icns rename resources/icons/{originals => }/app-icon.svg (100%) rename resources/icons/{originals => }/menubar-icon.svg (100%) create mode 100644 resources/icons/menubar-icon@2x.png delete mode 100644 resources/icons/rasterized.xcassets/Contents.json delete mode 100644 resources/icons/rasterized.xcassets/app-icon.appiconset/Contents.json delete mode 100644 resources/icons/rasterized.xcassets/app-icon.appiconset/icon_512x512@2x.png delete mode 100644 resources/icons/rasterized.xcassets/menubar-icon.imageset/Contents.json delete mode 100644 resources/icons/rasterized.xcassets/menubar-icon.imageset/icon_16x16@2x.png diff --git a/Info.plist b/Info.plist index ac805ad8..53e31b29 100644 --- a/Info.plist +++ b/Info.plist @@ -38,5 +38,7 @@ https://raw.githubusercontent.com/lwouis/alt-tab-macos/master/appcast.xml SUPublicEDKey 2e9SQOBoaKElchSa/4QDli/nvYkyuDNfynfzBF6vJK4= + CFBundleIconFile + app-icon diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index 9d41d8b4..4861c5cb 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -8,7 +8,6 @@ /* Begin PBXBuildFile section */ 4807A6C623A9CD190052A53E /* SkyLight.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4807A6C523A9CD190052A53E /* SkyLight.framework */; }; - 4858C9B323FBA80200A5BCD9 /* rasterized.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4858C9B223FBA80200A5BCD9 /* rasterized.xcassets */; }; 76D02BB22BFE7C9E0056008D /* Pods_alt_tab_macos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0712B3BEA2B3780398C0999 /* Pods_alt_tab_macos.framework */; }; D04BA004884A273D4D2D3EF1 /* HelperExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD91161791D42FEC4A60 /* HelperExtensions.swift */; }; D04BA084CD1236EC78D90A01 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BACCBE5F97BE9B6CA645B /* Localizable.strings */; }; @@ -51,6 +50,8 @@ D04BABEECBC6D922298BC93A /* Spaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7CF9C2D1BEC7C05AB24 /* Spaces.swift */; }; D04BAC011A71E0418154F8CD /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA9B93823398A542FF7A0 /* Preferences.swift */; }; D04BAC3169D54014CBA9ACE5 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D04BAE7F55A4A3EC5F6D311A /* Localizable.strings */; }; + D04BAC61DCCB79B5D436F022 /* app-icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = D04BAE5D665680CB4B13CA26 /* app-icon.icns */; }; + D04BACE5702CEB1819866875 /* menubar-icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D04BA399F1DF2C61FC2C9599 /* menubar-icon@2x.png */; }; D04BAD1BE9DC22C48C53D195 /* AboutTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA4A26987F67DD94C827F /* AboutTab.swift */; }; D04BAD2A7F2E8BF64EE982E9 /* TextArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA7C836A8CE8C0B8D128B /* TextArea.swift */; }; D04BAD451966B43720120D2E /* Menubar.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD905546AA93E5117B0A /* Menubar.swift */; }; @@ -66,7 +67,6 @@ /* Begin PBXFileReference section */ 38C426DAE17708EDD4FDADBF /* Pods-alt-tab-macos.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-alt-tab-macos.release.xcconfig"; path = "Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos.release.xcconfig"; sourceTree = ""; }; 4807A6C523A9CD190052A53E /* SkyLight.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SkyLight.framework; path = ../../../../System/Library/PrivateFrameworks/SkyLight.framework; sourceTree = ""; }; - 4858C9B223FBA80200A5BCD9 /* rasterized.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = rasterized.xcassets; sourceTree = ""; }; BF12DEA89785CA78B0FE2706 /* Pods-alt-tab-macos.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-alt-tab-macos.debug.xcconfig"; path = "Target Support Files/Pods-alt-tab-macos/Pods-alt-tab-macos.debug.xcconfig"; sourceTree = ""; }; C0712B3BEA2B3780398C0999 /* Pods_alt_tab_macos.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_alt_tab_macos.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D04BA015A45DE7AFDC9794FE /* Window.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Window.swift; sourceTree = ""; }; @@ -82,6 +82,7 @@ D04BA107C8B8FE7FF8536606 /* too many windows - 4 lines - paginated.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "too many windows - 4 lines - paginated.jpg"; sourceTree = ""; }; D04BA1232AFEEFE90D5CC827 /* debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = debug.xcconfig; sourceTree = ""; }; D04BA123744B0C27E9F54B05 /* codesign_sparkle_embedded_apps.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = codesign_sparkle_embedded_apps.sh; sourceTree = ""; }; + D04BA1C3E42AC44CA2C5D3D8 /* app-icon.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; path = "app-icon.svg"; sourceTree = ""; }; D04BA1D80F4EEF2A91BAD29C /* release.config.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = release.config.js; sourceTree = ""; }; D04BA1DF8CAB2FAB7FE9244B /* CollectionViewItemFontIcon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewItemFontIcon.swift; sourceTree = ""; }; D04BA1FC9022590D7AA02486 /* 1 window - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1 window - 1 line.jpg"; sourceTree = ""; }; @@ -95,6 +96,7 @@ D04BA2A4F257F4DCE1421758 /* Podfile.lock */ = {isa = PBXFileReference; lastKnownFileType = file.lock; path = Podfile.lock; sourceTree = ""; }; D04BA2C7B51F68651B3C60E2 /* 6 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "6 windows - 1 line.jpg"; sourceTree = ""; }; D04BA32F25860B686DFE818A /* 3 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line.jpg"; sourceTree = ""; }; + D04BA399F1DF2C61FC2C9599 /* menubar-icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menubar-icon@2x.png"; sourceTree = ""; }; D04BA4336B6004A0A99849AD /* package.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = package.json; sourceTree = ""; }; D04BA44F7B5E58A08416706B /* TextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; D04BA459034C1885CA43A807 /* LICENCE.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = LICENCE.md; sourceTree = ""; }; @@ -128,7 +130,6 @@ D04BA82F792DF53958D92572 /* AltTab.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AltTab.app; sourceTree = BUILT_PRODUCTS_DIR; }; D04BA8DB8AA7E5570DAC568A /* Sysctl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Sysctl.swift; sourceTree = ""; }; D04BA926AF41D226EA1ACBA1 /* CONTRIBUTING.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CONTRIBUTING.md; sourceTree = ""; }; - D04BA97D4F5B72B3AB87A4A5 /* app-icon.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; path = "app-icon.svg"; sourceTree = ""; }; D04BA9B93823398A542FF7A0 /* Preferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; D04BA9EF65B2E7AF9E3ADCA3 /* 2 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2 windows - 1 line.jpg"; sourceTree = ""; }; D04BAA34E0CB00DED7C04B4F /* 2-rows.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2-rows.jpg"; sourceTree = ""; }; @@ -159,7 +160,8 @@ D04BAD91161791D42FEC4A60 /* HelperExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HelperExtensions.swift; sourceTree = ""; }; D04BADB20AB31BF83593E0BE /* greetings.yml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.yaml; path = greetings.yml; sourceTree = ""; }; D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = ""; }; - D04BAE31C445719E8F8C60E1 /* menubar-icon.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; path = "menubar-icon.svg"; sourceTree = ""; }; + D04BAE2DC036FD84446E1AE6 /* menubar-icon.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; path = "menubar-icon.svg"; sourceTree = ""; }; + D04BAE5D665680CB4B13CA26 /* app-icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = "app-icon.icns"; sourceTree = ""; }; D04BAE757BB2B605234FBF58 /* TabViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewController.swift; sourceTree = ""; }; D04BAE93A5854C501639C640 /* update_homebrew_cask.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = update_homebrew_cask.sh; sourceTree = ""; }; D04BAF076A30A1BAFEDBEA66 /* 5 windows - 2 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 2 lines.jpg"; sourceTree = ""; }; @@ -238,7 +240,6 @@ D04BA1D80F4EEF2A91BAD29C /* release.config.js */, D04BAC02D60EF22D9CC7D969 /* commitlint.config.js */, D04BA4336B6004A0A99849AD /* package.json */, - D04BA92541D46EA4F6943A72 /* package-lock.json */, D04BAFA277EAE3BDDDB61110 /* CHANGELOG.md */, D04BA703DCD38D9757093312 /* scripts */, D04BA459034C1885CA43A807 /* LICENCE.md */, @@ -411,8 +412,10 @@ D04BA7568B7165A7726306A7 /* icons */ = { isa = PBXGroup; children = ( - 4858C9B223FBA80200A5BCD9 /* rasterized.xcassets */, - D04BAAE3B28A88C49177414C /* originals */, + D04BA399F1DF2C61FC2C9599 /* menubar-icon@2x.png */, + D04BAE2DC036FD84446E1AE6 /* menubar-icon.svg */, + D04BA1C3E42AC44CA2C5D3D8 /* app-icon.svg */, + D04BAE5D665680CB4B13CA26 /* app-icon.icns */, ); path = icons; sourceTree = ""; @@ -468,15 +471,6 @@ path = img; sourceTree = ""; }; - D04BAAE3B28A88C49177414C /* originals */ = { - isa = PBXGroup; - children = ( - D04BA97D4F5B72B3AB87A4A5 /* app-icon.svg */, - D04BAE31C445719E8F8C60E1 /* menubar-icon.svg */, - ); - path = originals; - sourceTree = ""; - }; D04BABCD12CA72B06290C248 /* preferences-window */ = { isa = PBXGroup; children = ( @@ -582,8 +576,9 @@ D04BA8D6055F6F2E42C976EA /* InfoPlist.strings in Resources */, D04BAC3169D54014CBA9ACE5 /* Localizable.strings in Resources */, D04BA100BD0F47828EB649FF /* InfoPlist.strings in Resources */, - 4858C9B323FBA80200A5BCD9 /* rasterized.xcassets in Resources */, D04BA3C24F4F644EA91DE38C /* Localizable.strings in Resources */, + D04BACE5702CEB1819866875 /* menubar-icon@2x.png in Resources */, + D04BAC61DCCB79B5D436F022 /* app-icon.icns in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/config/base.xcconfig b/config/base.xcconfig index c1356795..2252d987 100644 --- a/config/base.xcconfig +++ b/config/base.xcconfig @@ -10,4 +10,3 @@ IDEDerivedDataPathOverride = DerivedData FRAMEWORK_SEARCH_PATHS[config=*] = $(inherited) /System/Library/PrivateFrameworks // for SkyLight.framework ENABLE_HARDENED_RUNTIME = YES // for notarization OTHER_CODE_SIGN_FLAGS = --timestamp --deep --options runtime // for notarization -ASSETCATALOG_COMPILER_APPICON_NAME = app-icon diff --git a/resources/icons/app-icon.icns b/resources/icons/app-icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..0b8d312e446cf121f966a62769a149a4054de955 GIT binary patch literal 858824 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