From 039d918454adc1c9d09618f23f69df66fef09fde Mon Sep 17 00:00:00 2001 From: zzz <zzz@i2pmail.org> Date: Mon, 5 Apr 2021 09:14:34 -0400 Subject: [PATCH] Build: Remove OSX and browser launcher code Will probably be replaced with jpackage in i2p-jpackage-mac repo If we do resurrect the launcher, it will be moved to a separate repo --- build.xml | 28 - launchers/README.md | 11 - launchers/browserbundle/README.md | 5 - launchers/browserbundle/build.sbt | 23 - .../scala/net/i2p/RouterLauncherApp.scala | 108 - launchers/build.sbt | 58 - launchers/common/build.sbt | 1 - .../scala/net/i2p/launchers/CaseClasses.scala | 45 - .../i2p/launchers/CompleteDeployment.scala | 48 - .../net/i2p/launchers/DeployProfile.scala | 147 -- .../scala/net/i2p/launchers/OSXDefaults.scala | 18 - .../net/i2p/launchers/PartialDeployment.scala | 248 --- .../net/i2p/launchers/RouterLauncher.scala | 19 - launchers/macosx/.vscode/settings.json | 36 - .../macosx/16x16-Itoopie Transparent.png | Bin 1749 -> 0 bytes launchers/macosx/Carthage | 3 - launchers/macosx/Changes.md | 17 - .../Browser/ConsoleWebView.storyboard | 44 - .../Browser/EmbeddedConsoleView.swift | 88 - .../CommonCode/Browser/FirefoxManager.swift | 108 - .../CommonCode/Utils/ArrayExtensions.swift | 29 - .../CommonCode/Utils/DateTimeUtils.swift | 87 - .../Utils/DispatchQueue+delay.swift | 15 - .../CommonCode/Utils/EventManager.swift | 86 - .../Utils/FolderContentMonitor.swift | 111 - .../macosx/CommonCode/Utils/Preferences.swift | 317 --- .../Utils/ReflectionFunctions.swift | 57 - .../macosx/CommonCode/Utils/Startup.swift | 119 -- .../CommonCode/Utils/StringExtensions.swift | 106 - .../I2PLauncher.xcodeproj/project.pbxproj | 1796 ----------------- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 5 - .../128x128-Itoopie Transparent.png | Bin 12872 -> 0 bytes .../128x128-Itoopie Transparent@2x.png | Bin 27642 -> 0 bytes .../Contents.json | 25 - .../16x16-Itoopie Transparent@2x.png | Bin 2843 -> 0 bytes .../Contents.json | 24 - .../256x256-Itoopie Transparent.png | Bin 27642 -> 0 bytes .../256x256-Itoopie Transparent@2x.png | Bin 60311 -> 0 bytes .../Contents.json | 25 - .../32x32-Itoopie Transparent.png | Bin 2843 -> 0 bytes .../32x32-Itoopie Transparent@2x.png | Bin 5869 -> 0 bytes .../Contents.json | 22 - .../512x512-Itoopie Transparent.png | Bin 60311 -> 0 bytes .../512x512-Itoopie Transparent@2x.png | Bin 133970 -> 0 bytes .../Contents.json | 25 - .../128x128-Itoopie Transparent.png | Bin 12872 -> 0 bytes .../128x128-Itoopie Transparent@2x.png | Bin 27642 -> 0 bytes .../256x256-Itoopie Transparent.png | Bin 27642 -> 0 bytes .../256x256-Itoopie Transparent@2x.png | Bin 60311 -> 0 bytes .../32x32-Itoopie Transparent.png | Bin 2843 -> 0 bytes .../32x32-Itoopie Transparent@2x.png | Bin 5869 -> 0 bytes .../512x512-Itoopie Transparent.png | Bin 60311 -> 0 bytes .../512x512-Itoopie Transparent@2x.png | Bin 133970 -> 0 bytes .../AppIcon.appiconset/Contents.json | 66 - .../I2PLauncher/Assets.xcassets/Contents.json | 6 - .../32x32-Itoopie Transparent@2x.png | Bin 5869 -> 0 bytes .../Contents.json | 22 - .../ItoopieTransparent.png | Bin 2122 -> 0 bytes .../I2PLauncher/Base.lproj/UserInterfaces.xib | 89 - .../I2PLauncher/I2PLauncher-Bridging-Header.h | 9 - .../I2PLauncher/I2PLauncher.entitlements | 14 - .../.xccurrentversion | 8 - .../I2PLauncher.xcdatamodel/contents | 4 - .../macosx/I2PLauncher/Identifiers.swift | 15 - launchers/macosx/I2PLauncher/Info.plist | 48 - .../I2PLauncher/ObjectiveC/AppDelegate.h | 112 - .../macosx/I2PLauncher/ObjectiveC/Deployer.h | 21 - .../macosx/I2PLauncher/ObjectiveC/Deployer.mm | 122 -- .../macosx/I2PLauncher/ObjectiveC/Logger.h | 263 --- .../macosx/I2PLauncher/ObjectiveC/Logger.mm | 370 ---- .../I2PLauncher/ObjectiveC/LoggerWorker.cpp | 320 --- .../I2PLauncher/ObjectiveC/LoggerWorker.hpp | 144 -- .../I2PLauncher/ObjectiveC/RouterTask.h | 219 -- .../I2PLauncher/ObjectiveC/RouterTask.mm | 242 --- .../macosx/I2PLauncher/ObjectiveC/SBridge.h | 64 - .../macosx/I2PLauncher/ObjectiveC/SBridge.mm | 63 - .../macosx/I2PLauncher/ObjectiveC/logger_c.h | 88 - .../Resources/Preferences.storyboard | 388 ---- .../Resources/RouterServices.plist | 12 - .../Resources/Storyboard.storyboard | 188 -- .../SwiftApplicationDelegate.swift | 247 --- .../I2PLauncher/routermgmt/DetectJava.swift | 182 -- .../I2PLauncher/routermgmt/NetworkUtil.swift | 50 - .../routermgmt/RouterManager.swift | 184 -- .../RouterProcessStatus+ObjectiveC.swift | 13 - .../routermgmt/RouterProcessStatus.swift | 58 - .../I2PLauncher/routermgmt/RouterRunner.swift | 216 -- .../RouterServices/HttpTunnelService.swift | 42 - .../RouterServices/I2PRouterService.swift | 23 - .../RouterServices/IrcTunnelService.swift | 20 - .../I2PLauncher/routermgmt/Service.swift | 132 -- .../launchd/LaunchAgent+Status.swift | 69 - .../routermgmt/launchd/LaunchAgent.swift | 124 -- .../launchd/LaunchAgentManager.swift | 203 -- .../subprocesses/AppleStuffExceptionHandler.h | 12 - .../subprocesses/AppleStuffExceptionHandler.m | 22 - .../I2PLauncher/subprocesses/Error.swift | 22 - .../subprocesses/ExecutionResult.swift | 63 - .../subprocesses/Subprocess+CompactAPI.swift | 118 -- .../I2PLauncher/subprocesses/Subprocess.swift | 159 -- .../subprocesses/TaskPipeline.swift | 113 -- .../DownloadJavaViewController.swift | 34 - .../userinterface/LogViewController.swift | 62 - .../userinterface/PopoverViewController.swift | 47 - .../userinterface/RouterStatusView.swift | 236 --- .../userinterface/StatusBarController.swift | 206 -- .../Style2019/AppearanceObserver.swift | 83 - .../userinterface/Style2019/BottomBar.swift | 237 --- .../Style2019/CustomScrollView.swift | 18 - .../EditorTableView/EditorTableCell.swift | 99 - .../EditorTableViewController.swift | 171 -- .../EditorTableView/SectionHeaderView.swift | 39 - .../EditorTableView/SettingsView.swift | 96 - .../userinterface/Style2019/Icons.swift | 375 ---- .../Style2019/ServiceTableRowView.swift | 37 - .../ServiceTableViewController.swift | 266 --- .../Style2019/StatusIndicator.swift | 62 - .../Style2019/StatusTableCell.swift | 78 - .../SwitchableTableViewController.swift | 31 - .../preferences/AdvancedTableView.swift | 17 - .../PreferencesViewController+TableView.swift | 96 - .../PreferencesViewController.swift | 290 --- .../PreferencesWindowController.swift | 32 - launchers/macosx/ItoopieTransparent.png | Bin 2122 -> 0 bytes launchers/macosx/Licenses/Kanna.License | 21 - launchers/macosx/Licenses/MBPopup.License | 21 - launchers/macosx/Licenses/SnapKit.License | 19 - launchers/macosx/Licenses/Sparkle.License | 61 - launchers/macosx/Licenses/SwiftDate.License | 22 - launchers/macosx/Podfile | 14 - launchers/macosx/README.md | 55 - launchers/macosx/RouterWrapper/main.swift | 54 - .../macosx/StartupItemApp/AppDelegate.swift | 53 - .../AppIcon.appiconset/Contents.json | 58 - .../Assets.xcassets/Contents.json | 6 - launchers/macosx/StartupItemApp/Info.plist | 34 - .../StartupItemApp.entitlements | 14 - launchers/macosx/build.sbt | 35 - launchers/macosx/bumpInfoPlist.sh | 6 - launchers/macosx/check_latest_java.sh | 41 - .../macosx/download_and_build_sparkle.sh | 8 - .../images/128x128-Itoopie Transparent.png | Bin 12872 -> 0 bytes .../images/128x128-Itoopie Transparent@2x.png | Bin 27642 -> 0 bytes .../images/16x16-Itoopie Transparent@2x.png | Bin 2843 -> 0 bytes .../images/256x256-Itoopie Transparent.png | Bin 27642 -> 0 bytes .../images/256x256-Itoopie Transparent@2x.png | Bin 60311 -> 0 bytes .../images/32x32-Itoopie Transparent.png | Bin 2843 -> 0 bytes .../images/32x32-Itoopie Transparent@2x.png | Bin 5869 -> 0 bytes .../images/512x512-Itoopie Transparent.png | Bin 60311 -> 0 bytes .../images/512x512-Itoopie Transparent@2x.png | Bin 133970 -> 0 bytes launchers/macosx/images/AppIcon.icns | Bin 87686 -> 0 bytes launchers/macosx/include/PidWatcher.h | 40 - launchers/macosx/include/any.hpp | 461 ----- launchers/macosx/include/fn.h | 168 -- launchers/macosx/include/optional.h | 1066 ---------- launchers/macosx/include/portcheck.h | 60 - launchers/macosx/include/sharedqueue.h | 66 - launchers/macosx/include/strutil.hpp | 130 -- launchers/macosx/include/subprocess.hpp | 1634 --------------- launchers/macosx/main.mm | 245 --- launchers/macosx/osx_create_dmg.sh | 114 -- launchers/macosx/project/plugins.sbt | 2 - launchers/macosx/requirements.txt | 1 - .../java/net/i2p/launchers/BaseExtractor.java | 85 - .../main/java/net/i2p/launchers/EnvCheck.java | 27 - .../net/i2p/launchers/SimpleOSXLauncher.java | 25 - launchers/macosx/version.h.tpl | 22 - launchers/project/IconHelper.scala | 52 - launchers/project/build.properties | 1 - launchers/project/plugins.sbt | 4 - launchers/sbt | 579 ------ 175 files changed, 16822 deletions(-) delete mode 100644 launchers/README.md delete mode 100644 launchers/browserbundle/README.md delete mode 100644 launchers/browserbundle/build.sbt delete mode 100644 launchers/browserbundle/src/main/scala/net/i2p/RouterLauncherApp.scala delete mode 100644 launchers/build.sbt delete mode 100644 launchers/common/build.sbt delete mode 100644 launchers/common/src/main/scala/net/i2p/launchers/CaseClasses.scala delete mode 100644 launchers/common/src/main/scala/net/i2p/launchers/CompleteDeployment.scala delete mode 100644 launchers/common/src/main/scala/net/i2p/launchers/DeployProfile.scala delete mode 100644 launchers/common/src/main/scala/net/i2p/launchers/OSXDefaults.scala delete mode 100644 launchers/common/src/main/scala/net/i2p/launchers/PartialDeployment.scala delete mode 100644 launchers/common/src/main/scala/net/i2p/launchers/RouterLauncher.scala delete mode 100644 launchers/macosx/.vscode/settings.json delete mode 100644 launchers/macosx/16x16-Itoopie Transparent.png delete mode 100644 launchers/macosx/Carthage delete mode 100644 launchers/macosx/Changes.md delete mode 100644 launchers/macosx/CommonCode/Browser/ConsoleWebView.storyboard delete mode 100644 launchers/macosx/CommonCode/Browser/EmbeddedConsoleView.swift delete mode 100644 launchers/macosx/CommonCode/Browser/FirefoxManager.swift delete mode 100644 launchers/macosx/CommonCode/Utils/ArrayExtensions.swift delete mode 100644 launchers/macosx/CommonCode/Utils/DateTimeUtils.swift delete mode 100644 launchers/macosx/CommonCode/Utils/DispatchQueue+delay.swift delete mode 100644 launchers/macosx/CommonCode/Utils/EventManager.swift delete mode 100644 launchers/macosx/CommonCode/Utils/FolderContentMonitor.swift delete mode 100644 launchers/macosx/CommonCode/Utils/Preferences.swift delete mode 100644 launchers/macosx/CommonCode/Utils/ReflectionFunctions.swift delete mode 100644 launchers/macosx/CommonCode/Utils/Startup.swift delete mode 100644 launchers/macosx/CommonCode/Utils/StringExtensions.swift delete mode 100644 launchers/macosx/I2PLauncher.xcodeproj/project.pbxproj delete mode 100644 launchers/macosx/I2PLauncher.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 launchers/macosx/I2PLauncher.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 launchers/macosx/I2PLauncher.xcworkspace/contents.xcworkspacedata delete mode 100644 launchers/macosx/I2PLauncher.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 launchers/macosx/I2PLauncher.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/128x128-Itoopie Transparent.imageset/128x128-Itoopie Transparent.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/128x128-Itoopie Transparent.imageset/128x128-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/128x128-Itoopie Transparent.imageset/Contents.json delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/16x16-Itoopie Transparent.imageset/16x16-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/16x16-Itoopie Transparent.imageset/Contents.json delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/256x256-Itoopie Transparent.imageset/256x256-Itoopie Transparent.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/256x256-Itoopie Transparent.imageset/256x256-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/256x256-Itoopie Transparent.imageset/Contents.json delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/32x32-Itoopie Transparent.imageset/32x32-Itoopie Transparent.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/32x32-Itoopie Transparent.imageset/32x32-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/32x32-Itoopie Transparent.imageset/Contents.json delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/512x512-Itoopie Transparent.imageset/512x512-Itoopie Transparent.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/512x512-Itoopie Transparent.imageset/512x512-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/512x512-Itoopie Transparent.imageset/Contents.json delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/128x128-Itoopie Transparent.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/128x128-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/256x256-Itoopie Transparent.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/256x256-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/32x32-Itoopie Transparent.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/32x32-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/512x512-Itoopie Transparent.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/512x512-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/Contents.json delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/StatusBarButtonImage.imageset/32x32-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/StatusBarButtonImage.imageset/Contents.json delete mode 100644 launchers/macosx/I2PLauncher/Assets.xcassets/StatusBarButtonImage.imageset/ItoopieTransparent.png delete mode 100644 launchers/macosx/I2PLauncher/Base.lproj/UserInterfaces.xib delete mode 100644 launchers/macosx/I2PLauncher/I2PLauncher-Bridging-Header.h delete mode 100644 launchers/macosx/I2PLauncher/I2PLauncher.entitlements delete mode 100644 launchers/macosx/I2PLauncher/I2PLauncher.xcdatamodeld/.xccurrentversion delete mode 100644 launchers/macosx/I2PLauncher/I2PLauncher.xcdatamodeld/I2PLauncher.xcdatamodel/contents delete mode 100644 launchers/macosx/I2PLauncher/Identifiers.swift delete mode 100644 launchers/macosx/I2PLauncher/Info.plist delete mode 100644 launchers/macosx/I2PLauncher/ObjectiveC/AppDelegate.h delete mode 100644 launchers/macosx/I2PLauncher/ObjectiveC/Deployer.h delete mode 100644 launchers/macosx/I2PLauncher/ObjectiveC/Deployer.mm delete mode 100644 launchers/macosx/I2PLauncher/ObjectiveC/Logger.h delete mode 100644 launchers/macosx/I2PLauncher/ObjectiveC/Logger.mm delete mode 100644 launchers/macosx/I2PLauncher/ObjectiveC/LoggerWorker.cpp delete mode 100644 launchers/macosx/I2PLauncher/ObjectiveC/LoggerWorker.hpp delete mode 100644 launchers/macosx/I2PLauncher/ObjectiveC/RouterTask.h delete mode 100644 launchers/macosx/I2PLauncher/ObjectiveC/RouterTask.mm delete mode 100644 launchers/macosx/I2PLauncher/ObjectiveC/SBridge.h delete mode 100644 launchers/macosx/I2PLauncher/ObjectiveC/SBridge.mm delete mode 100644 launchers/macosx/I2PLauncher/ObjectiveC/logger_c.h delete mode 100644 launchers/macosx/I2PLauncher/Resources/Preferences.storyboard delete mode 100644 launchers/macosx/I2PLauncher/Resources/RouterServices.plist delete mode 100644 launchers/macosx/I2PLauncher/Resources/Storyboard.storyboard delete mode 100644 launchers/macosx/I2PLauncher/SwiftApplicationDelegate.swift delete mode 100644 launchers/macosx/I2PLauncher/routermgmt/DetectJava.swift delete mode 100644 launchers/macosx/I2PLauncher/routermgmt/NetworkUtil.swift delete mode 100644 launchers/macosx/I2PLauncher/routermgmt/RouterManager.swift delete mode 100644 launchers/macosx/I2PLauncher/routermgmt/RouterProcessStatus+ObjectiveC.swift delete mode 100644 launchers/macosx/I2PLauncher/routermgmt/RouterProcessStatus.swift delete mode 100644 launchers/macosx/I2PLauncher/routermgmt/RouterRunner.swift delete mode 100644 launchers/macosx/I2PLauncher/routermgmt/RouterServices/HttpTunnelService.swift delete mode 100644 launchers/macosx/I2PLauncher/routermgmt/RouterServices/I2PRouterService.swift delete mode 100644 launchers/macosx/I2PLauncher/routermgmt/RouterServices/IrcTunnelService.swift delete mode 100644 launchers/macosx/I2PLauncher/routermgmt/Service.swift delete mode 100644 launchers/macosx/I2PLauncher/routermgmt/launchd/LaunchAgent+Status.swift delete mode 100644 launchers/macosx/I2PLauncher/routermgmt/launchd/LaunchAgent.swift delete mode 100644 launchers/macosx/I2PLauncher/routermgmt/launchd/LaunchAgentManager.swift delete mode 100644 launchers/macosx/I2PLauncher/subprocesses/AppleStuffExceptionHandler.h delete mode 100644 launchers/macosx/I2PLauncher/subprocesses/AppleStuffExceptionHandler.m delete mode 100644 launchers/macosx/I2PLauncher/subprocesses/Error.swift delete mode 100644 launchers/macosx/I2PLauncher/subprocesses/ExecutionResult.swift delete mode 100644 launchers/macosx/I2PLauncher/subprocesses/Subprocess+CompactAPI.swift delete mode 100644 launchers/macosx/I2PLauncher/subprocesses/Subprocess.swift delete mode 100644 launchers/macosx/I2PLauncher/subprocesses/TaskPipeline.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/DownloadJavaViewController.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/LogViewController.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/PopoverViewController.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/RouterStatusView.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/StatusBarController.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/Style2019/AppearanceObserver.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/Style2019/BottomBar.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/Style2019/CustomScrollView.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/EditorTableCell.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/EditorTableViewController.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/SectionHeaderView.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/SettingsView.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/Style2019/Icons.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/Style2019/ServiceTableRowView.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/Style2019/ServiceTableViewController.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/Style2019/StatusIndicator.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/Style2019/StatusTableCell.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/Style2019/SwitchableTableViewController.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/preferences/AdvancedTableView.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/preferences/PreferencesViewController+TableView.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/preferences/PreferencesViewController.swift delete mode 100644 launchers/macosx/I2PLauncher/userinterface/preferences/PreferencesWindowController.swift delete mode 100644 launchers/macosx/ItoopieTransparent.png delete mode 100644 launchers/macosx/Licenses/Kanna.License delete mode 100644 launchers/macosx/Licenses/MBPopup.License delete mode 100644 launchers/macosx/Licenses/SnapKit.License delete mode 100644 launchers/macosx/Licenses/Sparkle.License delete mode 100644 launchers/macosx/Licenses/SwiftDate.License delete mode 100644 launchers/macosx/Podfile delete mode 100644 launchers/macosx/README.md delete mode 100644 launchers/macosx/RouterWrapper/main.swift delete mode 100644 launchers/macosx/StartupItemApp/AppDelegate.swift delete mode 100644 launchers/macosx/StartupItemApp/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 launchers/macosx/StartupItemApp/Assets.xcassets/Contents.json delete mode 100644 launchers/macosx/StartupItemApp/Info.plist delete mode 100644 launchers/macosx/StartupItemApp/StartupItemApp.entitlements delete mode 100644 launchers/macosx/build.sbt delete mode 100644 launchers/macosx/bumpInfoPlist.sh delete mode 100755 launchers/macosx/check_latest_java.sh delete mode 100755 launchers/macosx/download_and_build_sparkle.sh delete mode 100644 launchers/macosx/images/128x128-Itoopie Transparent.png delete mode 100644 launchers/macosx/images/128x128-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/images/16x16-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/images/256x256-Itoopie Transparent.png delete mode 100644 launchers/macosx/images/256x256-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/images/32x32-Itoopie Transparent.png delete mode 100644 launchers/macosx/images/32x32-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/images/512x512-Itoopie Transparent.png delete mode 100644 launchers/macosx/images/512x512-Itoopie Transparent@2x.png delete mode 100644 launchers/macosx/images/AppIcon.icns delete mode 100644 launchers/macosx/include/PidWatcher.h delete mode 100644 launchers/macosx/include/any.hpp delete mode 100644 launchers/macosx/include/fn.h delete mode 100644 launchers/macosx/include/optional.h delete mode 100644 launchers/macosx/include/portcheck.h delete mode 100644 launchers/macosx/include/sharedqueue.h delete mode 100644 launchers/macosx/include/strutil.hpp delete mode 100644 launchers/macosx/include/subprocess.hpp delete mode 100644 launchers/macosx/main.mm delete mode 100755 launchers/macosx/osx_create_dmg.sh delete mode 100644 launchers/macosx/project/plugins.sbt delete mode 100644 launchers/macosx/requirements.txt delete mode 100644 launchers/macosx/src/main/java/net/i2p/launchers/BaseExtractor.java delete mode 100644 launchers/macosx/src/main/java/net/i2p/launchers/EnvCheck.java delete mode 100644 launchers/macosx/src/main/java/net/i2p/launchers/SimpleOSXLauncher.java delete mode 100644 launchers/macosx/version.h.tpl delete mode 100644 launchers/project/IconHelper.scala delete mode 100644 launchers/project/build.properties delete mode 100644 launchers/project/plugins.sbt delete mode 100755 launchers/sbt diff --git a/build.xml b/build.xml index 19e66aa236..5a89b01233 100644 --- a/build.xml +++ b/build.xml @@ -31,8 +31,6 @@ <echo message=" installer-windows: build the GUI installer (Windows only)" /> <echo message=" installer-nowindows: build the GUI installer (all but Windows)" /> <echo message=" installer5, installer5-linux, installer5-nowindows, installer5-windows: use IzPack 5" /> - <echo message=" osxLauncher: build the Mac OS X router/GUI launcher (OSX only)" /> - <echo message=" bbLauncher: build the Browser Bundle router launcher" /> <echo message=" bundle: (GIT ONLY!) generate a git bundle and a corresponding torrent." /> <echo message=" tarball: tar the full install into i2p.tar.bz2 (extracts to build a new clean install)" /> <echo message=" git-bundle: (GIT ONLY!) generate a git bundle and a corresponding torrent." /> @@ -313,28 +311,6 @@ <echo message="Epoch is: ${epoch}" /> </target> - <target name="bbLauncher" depends="build"> - <sequential> - <exec executable="./sbt" dir="launchers" failonerror="true"> - <arg value="browserbundle:clean" /> - </exec> - <exec executable="./sbt" dir="launchers" failonerror="true"> - <arg value="browserbundle:assembly" /> - </exec> - </sequential> - </target> - - <target name="osxLauncher" depends="build,preppkg-osx"> - <sequential> - <exec executable="./sbt" dir="launchers" failonerror="true"> - <arg value="macosx:cleanAllTask" /> - </exec> - <exec executable="./sbt" dir="launchers" failonerror="true"> - <arg value="macosx:buildAppBundleTask" /> - </exec> - </sequential> - </target> - <target name="buildBOB" depends="buildMinistreaming" > <ant dir="apps/BOB/" target="jar" /> <copy file="apps/BOB/dist/BOB.jar" todir="build/" /> @@ -2804,7 +2780,6 @@ <fileset dir="../i2p-${Extended.Version}/" includes="Docker*" /> <file name="../i2p-${Extended.Version}/Makefile.gcj" /> <fileset dir="../i2p-${Extended.Version}/docs" /> - <fileset dir="../i2p-${Extended.Version}/launchers" /> <file name="../i2p-${Extended.Version}/.travis.yml" /> <file name="../i2p-${Extended.Version}/.gitignore" /> <!-- gradle files --> @@ -2881,7 +2856,6 @@ <fileset dir="../i2p-${Extended.Version}/" includes="Docker*" /> <file name="../i2p-${Extended.Version}/Makefile.gcj" /> <fileset dir="../i2p-${Extended.Version}/docs" /> - <fileset dir="../i2p-${Extended.Version}/launchers" /> <file name="../i2p-${Extended.Version}/.travis.yml" /> <file name="../i2p-${Extended.Version}/.gitignore" /> <!-- gradle files --> @@ -2961,7 +2935,6 @@ <fileset dir="../i2p-${Extended.Version}/" includes="Docker*" /> <file name="../i2p-${Extended.Version}/Makefile.gcj" /> <fileset dir="../i2p-${Extended.Version}/docs" /> - <fileset dir="../i2p-${Extended.Version}/launchers" /> <file name="../i2p-${Extended.Version}/.travis.yml" /> <file name="../i2p-${Extended.Version}/.gitignore" /> <!-- gradle files --> @@ -3028,7 +3001,6 @@ <fileset dir="../i2p-${Extended.Version}/" includes="Docker*" /> <file name="../i2p-${Extended.Version}/Makefile.gcj" /> <fileset dir="../i2p-${Extended.Version}/docs" /> - <fileset dir="../i2p-${Extended.Version}/launchers" /> <file name="../i2p-${Extended.Version}/.travis.yml" /> <file name="../i2p-${Extended.Version}/.gitignore" /> <!-- gradle files --> diff --git a/launchers/README.md b/launchers/README.md deleted file mode 100644 index 379b30e36c..0000000000 --- a/launchers/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# The Launcher - -Here you'll find the code for the next generation Mac OS X launcher, as well as the Browser Bundle i2p launcher. - -Anyway, if you wanna build it and have fun, just do `./sbt` - -Scala isn't scary - it's java except the ;;;;;;;; ;) - -https://www.scala-lang.org/ -https://www.scala-sbt.org/ - diff --git a/launchers/browserbundle/README.md b/launchers/browserbundle/README.md deleted file mode 100644 index 1b700698e1..0000000000 --- a/launchers/browserbundle/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# The browser bundle i2p launcher - -This code won't really make any sense for other than in the portable i2p that's shipped with the browser bundle. - - diff --git a/launchers/browserbundle/build.sbt b/launchers/browserbundle/build.sbt deleted file mode 100644 index 376dfad51d..0000000000 --- a/launchers/browserbundle/build.sbt +++ /dev/null @@ -1,23 +0,0 @@ - - - -assemblyExcludedJars in assembly := { - val donts = List( - "BOB.jar", - "sam.jar", - "desktopgui.jar", - "i2ptunnel-ui.jar", - "i2psnark.jar", - "jetty-sslengine.jar" - ) - val cp = (fullClasspath in assembly).value - cp filter { s => donts.contains(s.data.getName)} -} - -// Unmanaged base will be included in a fat jar -unmanagedBase := baseDirectory.value / ".." / ".." / "build" - -// Unmanaged classpath will be available at compile time -unmanagedClasspath in Compile ++= Seq( - baseDirectory.value / ".." / ".." / "build" / "*.jar" -) diff --git a/launchers/browserbundle/src/main/scala/net/i2p/RouterLauncherApp.scala b/launchers/browserbundle/src/main/scala/net/i2p/RouterLauncherApp.scala deleted file mode 100644 index 092471f717..0000000000 --- a/launchers/browserbundle/src/main/scala/net/i2p/RouterLauncherApp.scala +++ /dev/null @@ -1,108 +0,0 @@ -package net.i2p - -import java.io.{File, InputStream} - -//import net.i2p.Router -import net.i2p.launchers.DeployProfile - -/** - * - * For java developers: - * A scala object is like an instance of a class. - * If you define a method inside an object, it's equals to - * java's static methods. - * - * Also, in scala, the body of a class/object is executed as it's - * constructor. - * - * Also noteworthy; - * val is immutable - * var is mutable - * - * - * @author Meeh - * @version 0.0.1 - * @since 0.9.35 - */ -object RouterLauncherApp extends App { - - def toBytes(xs: Int*) = xs.map(_.toByte).toArray - - def getInt(bytes: Array[Byte]): Int = (bytes(3) << 24) & 0xff000000 | (bytes(2) << 16) & 0x00ff0000 | (bytes(1) << 8) & 0x0000ff00 | (bytes(0) << 0) & 0x000000ff - - /** - * Encodes bytes in "binary form" as mentioned in Native Messaging in the WebExtension API. - * @param length - * @return - */ - def getBytes(length: Int): Array[Byte] = { - val bytes = new Array[Byte](4) - bytes(0) = (length & 0xFF).toByte - bytes(1) = ((length >> 8) & 0xFF).toByte - bytes(2) = ((length >> 16) & 0xFF).toByte - bytes(3) = ((length >> 24) & 0xFF).toByte - bytes - } - - def readMessage(in: InputStream): String = { - val arr = new Array[Byte](4) - in.read(arr) - val bytes = new Array[Byte](getInt(arr)) - in.read(bytes) - new String(bytes, "UTF-8") - } - - def sendMessage(message: String): Unit = { - System.out.write(getBytes(message.length)) - System.out.write(message.getBytes("UTF-8")) - } - - // Executed at launch - val basePath = Option(System.getProperty("i2p.dir.base")).getOrElse(System.getenv("I2PBASE")) - val configPath = Option(System.getProperty("i2p.dir.config")).getOrElse(System.getenv("I2PCONFIG")) - - println(s"basePath => ${basePath}\nconfigPath => ${configPath}") -/* - object ErrorUtils { - def errorMessageInJson(message: String, solution: String) : JObject = JObject( - List( - ("error", - JObject( - ("message", JString(message)), - ("solution", JString(solution)) - ) - ) - ) - ) - - def printError(message: String, solution: String): Unit = { - println(compact(render( errorMessageInJson(message,solution) ))) - } - - def printErrorAndExit(message: String, solution: String, exitCode: Int = 1): Unit = { - printError(message, solution) - System.exit(exitCode) - } - } - - // Path related error checking - if (basePath == null || basePath.isEmpty) ErrorUtils.printErrorAndExit("I2P Base path is missing", "set property i2p.dir.base or environment variable I2PBASE") - if (configPath == null || configPath.isEmpty) ErrorUtils.printErrorAndExit("I2P Config path is missing", "set property i2p.dir.config or environment variable I2PCONFIG") - if (!new File(basePath).exists()) ErrorUtils.printErrorAndExit("I2P Base path don't exist", "Reinstall the Browser Bundle") - if (!new File(configPath).exists()) ErrorUtils.printErrorAndExit("I2P Config path don't exist", "Delete your config directory for the Browser Bundle") - -*/ - val deployer = new DeployProfile(configPath,basePath) - deployer.verifyExistenceOfConfig() - - // Required/mocked properties - System.setProperty("wrapper.version", "portable-1") - System.setProperty("i2p.dir.portableMode", "true") - System.setProperty("loggerFilenameOverride", "router-@.log") - - //ErrorUtils.printError(s"Starting up with arguments ${(args mkString ", ")}",":)") - - //Router.main(args) -} - - diff --git a/launchers/build.sbt b/launchers/build.sbt deleted file mode 100644 index 528b94432a..0000000000 --- a/launchers/build.sbt +++ /dev/null @@ -1,58 +0,0 @@ -import sbt._ -import Keys._ - -scalaVersion in Global := "2.11.11" - -resolvers ++= Seq( - DefaultMavenRepository, - Resolver.mavenLocal, - Resolver.sonatypeRepo("releases"), - Resolver.typesafeRepo("releases"), - Resolver.sbtPluginRepo("releases") -) - -lazy val commonSettings = Seq( - organization := "net.i2p", - scalaVersion := "2.11.11", // We have to use Scala 11 as long as we're going to support JRE 1.7 - version := "0.1.0-SNAPSHOT", - maintainer := "Meeh <mikalv@mikalv.net>", - packageSummary := "The Invisible Internet Project", - packageDescription := "Blabla" -) - -lazy val common = (project in file("common")) - .settings( - commonSettings, - name := "LauncherCommon" - ) - -lazy val browserbundle = (project in file("browserbundle")) - .settings( - commonSettings, - name := "RouterLaunchApp", - assemblyJarName in assembly := s"${name.value}-${version.value}.jar", - mainClass in assembly := Some("net.i2p.RouterLauncherApp"), - libraryDependencies ++= Seq( - "org.json4s" %% "json4s-native" % "3.5.3" - ) - ).dependsOn(common) - -lazy val macosx = (project in file("macosx")) - .settings( - commonSettings, - name := "routerLauncher", - mainClass in assembly := Some("net.i2p.launchers.SimpleOSXLauncher") - ).dependsOn(common) - - -lazy val root = (project in file(".")) - .aggregate(common, browserbundle, macosx) - -javacOptions ++= Seq("-source", "1.7", "-target", "1.7") -scalacOptions in Compile := Seq("-deprecated","-target:jvm-1.7") - -fork := true - -run / javaOptions += "-Xmx512M" -run / connectInput := true - diff --git a/launchers/common/build.sbt b/launchers/common/build.sbt deleted file mode 100644 index 72e0f11222..0000000000 --- a/launchers/common/build.sbt +++ /dev/null @@ -1 +0,0 @@ -libraryDependencies += "org.xeustechnologies" % "jcl-core" % "2.8" diff --git a/launchers/common/src/main/scala/net/i2p/launchers/CaseClasses.scala b/launchers/common/src/main/scala/net/i2p/launchers/CaseClasses.scala deleted file mode 100644 index 31a522fa15..0000000000 --- a/launchers/common/src/main/scala/net/i2p/launchers/CaseClasses.scala +++ /dev/null @@ -1,45 +0,0 @@ -package net.i2p.launchers - -import java.io.{File, InputStream} - -/** - * This represent a file or a directory. A filesystem resource. - * It's used to handle a correct deployment of base files, even - * installer resources got kind of a flat list. (i.e geoip files - * is placed under a dir geoip) - * - * With this class we can now have a list containing both directories - * and files in a type safe list. - * - * @param path - * @param content - * @param files - * @since 0.9.35 - */ -class FDObject(path: String, content: Option[InputStream], files: Option[List[File]] = None, subDirectories: Boolean = false) { - def isFile = files.isEmpty - - def getPath = path - - def filesIsDirectories = subDirectories - - def getContent: Either[InputStream, List[File]] = { - if (files.isEmpty) return Left(content.get) - Right(files.get.map { f => new File(DeployProfile.pathJoin(path, f.getName)) }) - } -} - - -class FDObjFile(file: String) extends FDObject(new File(file).getPath, Some(getClass.getResourceAsStream("/".concat(file))) ) -class FDObjDir(name: String, files: List[String],subDirectories:Boolean=false) extends FDObject(name, None, Some(files.map { s => new File(s) }),subDirectories) - -/** - * - * This is a case class, it's a Scala thing. Think of it as a type. - * If you're familiar with C, it's like a "typedef" even iirc Scala - * has a own function for that as well. - * - * - */ - - diff --git a/launchers/common/src/main/scala/net/i2p/launchers/CompleteDeployment.scala b/launchers/common/src/main/scala/net/i2p/launchers/CompleteDeployment.scala deleted file mode 100644 index 42f9faf127..0000000000 --- a/launchers/common/src/main/scala/net/i2p/launchers/CompleteDeployment.scala +++ /dev/null @@ -1,48 +0,0 @@ -package net.i2p.launchers - -import java.io.{File, FileInputStream, FileOutputStream, InputStream} -import java.nio.file.Path -import java.util.zip.ZipInputStream - -import scala.concurrent.Future -import scala.concurrent.ExecutionContext.Implicits.global - -/** - * - * CompleteDeployment - In use to deploy base path for the Mac OS X Bundle release. - * - * @author Meeh - * @since 0.9.35 - */ -class CompleteDeployment(val zipFile: File, val i2pBaseDir: File) { - - if (!i2pBaseDir.exists()) { - i2pBaseDir.mkdirs() - } else { - // TODO: Check what version etc.. - } - - def unzip(zipFile: InputStream, destination: Path): Unit = { - val zis = new ZipInputStream(zipFile) - - Stream.continually(zis.getNextEntry).takeWhile(_ != null).foreach { file => - if (!file.isDirectory) { - val outPath = destination.resolve(file.getName) - val outPathParent = outPath.getParent - if (!outPathParent.toFile.exists()) { - outPathParent.toFile.mkdirs() - } - - val outFile = outPath.toFile - val out = new FileOutputStream(outFile) - val buffer = new Array[Byte](4096) - Stream.continually(zis.read(buffer)).takeWhile(_ != -1).foreach(out.write(buffer, 0, _)) - } - } - } - - def makeDeployment : Future[Unit] = Future { - unzip(new FileInputStream(zipFile), i2pBaseDir.toPath) - } - -} diff --git a/launchers/common/src/main/scala/net/i2p/launchers/DeployProfile.scala b/launchers/common/src/main/scala/net/i2p/launchers/DeployProfile.scala deleted file mode 100644 index 5894d991da..0000000000 --- a/launchers/common/src/main/scala/net/i2p/launchers/DeployProfile.scala +++ /dev/null @@ -1,147 +0,0 @@ -package net.i2p.launchers - -import java.io.{File, IOException, InputStream} -import java.nio.file.FileAlreadyExistsException - - -/** - * - * This is a singleton ish style. It's an object - it was never a class. - * However it has a class-"brother/sister" - * - * objects like this should be considered like containers for java's - * public static methods. - * - * Many classes/objects benefits from pathJoin, so therefore it's defined - * as an "public static method". - * - * @since 0.9.35 - */ -object DeployProfile { - - - /** - * This function will find the executing jar. "myself" - * @return - */ - def executingJarFile = getClass().getProtectionDomain().getCodeSource().getLocation() - - /** - * This joins two paths in a cross platform way. Meaning it takes care of either we use - * \\ or / as directory separator. It returns the resulting path in a string. - * - * @since 0.9.35 - * @param parent The parent path - * @param child The child path to append - * @return String - */ - def pathJoin(parent:String,child:String): String = new File(new File(parent), child).getPath -} - -/** - * - * The purpose of this class is to copy files from the i2p "default config" directory - * and to a "current config" directory relative to the browser bundle - but this class is - * also used by the OSX launcher since it shares common properties like that the bundle has - * to be read only. - * - * @author Meeh - * @version 0.0.1 - * @since 0.9.35 - */ -class DeployProfile(val confDir: String, val baseDir: String) { - import java.nio.file.{Files, Paths} - - /** - * This function copies resources from the fatjar to the config directory of i2p. - * - * @since 0.9.35 - * @param fStr - * @return Unit - */ - def copyFileResToDisk(fStr: String) = try { Files.copy( - getClass.getResource("/".concat(fStr)).getContent.asInstanceOf[InputStream], - Paths.get(DeployProfile.pathJoin(confDir, fStr)).normalize() - )} catch { - case _:FileAlreadyExistsException => {} // Ignored - case ex:IOException => println(s"Error! Exception ${ex}") - } - - - /** - * This function copies resources from the fatjar to the config directory of i2p. - * - * @since 0.9.35 - * @param path - * @param is - * @return Unit - */ - def copyBaseFileResToDisk(path: String, is: InputStream) = try { Files.copy( - is, - Paths.get(DeployProfile.pathJoin(baseDir, path)).normalize() - )} catch { - case _:FileAlreadyExistsException => {} // Ignored - case ex:IOException => println(s"Error! Exception ${ex}") - } - - /** - * Filter function for finding missing required files. - * - * @since 0.9.35 - * @param l1 - * @param l2 - * @return - */ - def missingFiles(l1: List[String], l2: List[String]) = l1.filter { x => !l2.contains(x) } - - - val warFiles = List("routerconsole.war") - - val staticFiles = List( - "blocklist.txt", - "clients.config", - "continents.txt", - "countries.txt", - "hosts.txt", - "geoip.txt", - "i2ptunnel.config", - "logger.config", - "router.config", - "webapps.config" - ) - - /** - * - * This function will check the existence of static files, - * and if any of them are lacking, it will be copied from the - * fat jar's resources. - * - * @since 0.9.35 - * @return Unit (Null) - */ - def verifyExistenceOfConfig() = { - val fDir = new File(confDir) - if (fDir.exists()) { - // We still check if files are in place - val currentDirContentList = fDir.list.toList - val missing = missingFiles(staticFiles, currentDirContentList) - if (!missing.isEmpty) { - missing.map(copyFileResToDisk) - } - } else { - // New deployment! - deployDefaultConfig() - } - } - - /** - * - * This function does the default deployment of files, - * map is the same as a loop. we're looping over the file list. - * - * @since 0.9.35 - * @return Unit - */ - def deployDefaultConfig(): Unit = staticFiles.map(copyFileResToDisk) - -} diff --git a/launchers/common/src/main/scala/net/i2p/launchers/OSXDefaults.scala b/launchers/common/src/main/scala/net/i2p/launchers/OSXDefaults.scala deleted file mode 100644 index 42457cab1d..0000000000 --- a/launchers/common/src/main/scala/net/i2p/launchers/OSXDefaults.scala +++ /dev/null @@ -1,18 +0,0 @@ -package net.i2p.launchers - -import java.io.File - -/** - * Defaults object for Mac OS X - * - * - * @author Meeh - * @since 0.9.35 - */ -object OSXDefaults { - - def getOSXConfigDirectory = new File(DeployProfile.pathJoin(System.getProperty("user.home"), "Library/Application Support/i2p")) - - def getOSXBaseDirectory = new File(DeployProfile.pathJoin(System.getProperty("user.home"),"Library/I2P")) - -} diff --git a/launchers/common/src/main/scala/net/i2p/launchers/PartialDeployment.scala b/launchers/common/src/main/scala/net/i2p/launchers/PartialDeployment.scala deleted file mode 100644 index 954c5c41d1..0000000000 --- a/launchers/common/src/main/scala/net/i2p/launchers/PartialDeployment.scala +++ /dev/null @@ -1,248 +0,0 @@ -package net.i2p.launchers - -import java.io.{File, IOException} -import java.nio.file.FileAlreadyExistsException -import java.util.zip.ZipFile - -import java.nio.file.StandardCopyOption.REPLACE_EXISTING -import java.nio.file.Files.copy -import java.nio.file.Paths.get - -import collection.JavaConverters._ - -/** - * - * NOTE: Work in progress: Originally written for OSX launcher - but will be used in BB launcher. - * - * PartialXDeployment - * - * This class can be a bit new for java developers. In Scala, when inherit other classes, - * you would need to define their arguments if the super class only has constructors taking arguments. - * - * This child class don't take arguments, but rather get them from the signleton OSXDefaults. - * - * This class should be able to copy recursive resources into correct position for a normal deployment. - * - * - * This class might look like black magic for some. But what it does is to deploy a structure like for example: - * tree ~/Library/I2P - * /Users/mikalv/Library/I2P - * ├── blocklist.txt - * ├── certificates - * │  ├── family - * │  │  ├── gostcoin.crt - * │  │  ├── i2p-dev.crt - * │  │  ├── i2pd-dev.crt - * │  │  └── volatile.crt - * │  ├── i2ptunnel - * │  ├── news - * │  │  ├── ampernand_at_gmail.com.crt - * │  │  ├── echelon_at_mail.i2p.crt - * │  │  ├── str4d_at_mail.i2p.crt - * │  │  └── zzz_at_mail.i2p.crt - * │  ├── plugin - * │  │  ├── cacapo_at_mail.i2p.crt - * │  │  ├── str4d_at_mail.i2p.crt - * │  │  └── zzz-plugin_at_mail.i2p.crt - * │  ├── reseed - * │  │  ├── atomike_at_mail.i2p.crt - * │  │  ├── backup_at_mail.i2p.crt - * │  │  ├── bugme_at_mail.i2p.crt - * │  │  ├── creativecowpat_at_mail.i2p.crt - * │  │  ├── echelon_at_mail.i2p.crt - * │  │  ├── hottuna_at_mail.i2p.crt - * │  │  ├── igor_at_novg.net.crt - * │  │  ├── lazygravy_at_mail.i2p.crt - * │  │  ├── meeh_at_mail.i2p.crt - * │  │  └── zmx_at_mail.i2p.crt - * │  ├── revocations - * │  ├── router - * │  │  ├── echelon_at_mail.i2p.crt - * │  │  ├── str4d_at_mail.i2p.crt - * │  │  └── zzz_at_mail.i2p.crt - * │  └── ssl - * │  ├── echelon.reseed2017.crt - * │  ├── i2p.mooo.com.crt - * │  ├── i2pseed.creativecowpat.net.crt - * │  ├── isrgrootx1.crt - * │  └── reseed.onion.im.crt - * ├── clients.config - * ├── geoip - * │  ├── continents.txt - * │  ├── countries.txt - * │  ├── geoip.txt - * │  └── geoipv6.dat.gz - * ├── hosts.txt - * └── i2ptunnel.config - * - * @author Meeh - * @since 0.9.35 - */ -class PartialDeployment extends - DeployProfile( - OSXDefaults.getOSXConfigDirectory.getAbsolutePath, - OSXDefaults.getOSXBaseDirectory.getAbsolutePath - ) { - - - - /** - * This list is a micro DSL for how files should - * be deployed to the filesystem in the base - * directory. - */ - val staticFilesFromResources = List( - new FDObjFile("blocklist.txt"), - new FDObjFile("clients.config"), - new FDObjFile("hosts.txt"), - new FDObjDir("geoip", files = List( - "continents.txt", - "countries.txt", - "geoip.txt", - "geoipv6.dat.gz")), - new FDObjFile("i2ptunnel.config"), - new FDObjDir("certificates", List( - "family", - "i2ptunnel", - "news", - "plugin", - "reseed", - "revocations", - "router", - "ssl" - ),subDirectories=true), - new FDObjDir("themes",List( - "console", - "imagegen", - "snark", - "susidns", - "susimail" - ),true) - ) - - /** - * This function copies an directory of files from the jar - * to the base directory defined in the launcher. - * @param dir - * @return - */ - def copyDirFromRes(dir: File): Unit = { - // A small hack - try { - val zipFile = new ZipFile(DeployProfile.executingJarFile.getFile) - zipFile.entries().asScala.toList.filter(_.toString.startsWith(dir.getPath)).filter(!_.isDirectory).map { entry => - new File(DeployProfile.pathJoin(baseDir,entry.getName)).getParentFile.mkdirs() - if (entry.isDirectory) { - createFileOrDirectory(new File(DeployProfile.pathJoin(baseDir,entry.getName)), true) - } else { - copyBaseFileResToDisk(entry.getName, getClass.getResourceAsStream("/".concat(entry.getName))) - } - } - } catch { - case _:FileAlreadyExistsException => {} // Ignored - case ex:IOException => println(s"Error! Exception ${ex}") - } - } - - /** - * This function will depending on directory or not copy either the file - * or create the directory and copy directory content if any. - * - * @param file - * @param isDir - * @return - */ - def createFileOrDirectory(file: File, isDir: Boolean = false): Unit = { - if (file != null) { - //println(s"createFileOrDirectory(${file},${isDir})") - try { - // Make sure subject exists if directory - if (!new File(DeployProfile.pathJoin(baseDir,file.getPath)).exists()) { - if (isDir) new File(DeployProfile.pathJoin(baseDir,file.getPath)).mkdirs() - } - if (isDir) { - // Handle dir - copyDirFromRes(file) - } else { - // Handle file - copyBaseFileResToDisk(file.getPath, getClass.getResourceAsStream("/".concat(file.getName))) - } - } catch { - case _:FileAlreadyExistsException => {} // Ignored - case ex:IOException => println(s"Error! Exception ${ex}") - } - } - } - - if (!new File(baseDir).exists()) { - new File(baseDir).mkdirs() - } - - implicit def toPath (filename: String) = get(filename) - - val selfFile = new File(DeployProfile.executingJarFile.getFile) - val selfDir = selfFile.getParentFile - val resDir = new File(selfDir.getParent, "Resources") - val i2pBaseBundleDir = new File(resDir, "i2pbase") - val i2pBundleJarDir = new File(i2pBaseBundleDir, "lib") - - val i2pBaseDir = OSXDefaults.getOSXBaseDirectory - val i2pDeployJarDir = new File(i2pBaseDir, "lib") - if (!i2pDeployJarDir.exists()) { - i2pDeployJarDir.mkdirs() - i2pBundleJarDir.list().toList.map { - jar => { - copy ( - DeployProfile.pathJoin(i2pBundleJarDir.getAbsolutePath, jar), - DeployProfile.pathJoin(i2pDeployJarDir.getAbsolutePath, jar), - REPLACE_EXISTING) - println(s"Copied ${jar} to right place") - } - } - } - - /** - * Please note that in Scala, the constructor body is same as class body. - * What's defined outside of methods is considered constructor code and - * executed as it. - * - * - * - * a map function work as a loop with some built in security - * for "null" objects. - * What happens here is "for each staticFilesFromResources" do => - * - * Then, based upon if it's a file or a directory, different actions take place. - * - * the match case is controlling the flow based upon which type of object it is. - */ - staticFilesFromResources.map { - fd => fd.getContent match { - // Case subject is a file/resource - case Left(is) => { - // Write file - val f = DeployProfile.pathJoin(baseDir, fd.getPath) - println(s"f: ${f.toString}") - if (!new File(f).exists()) { - //println(s"copyBaseFileResToDisk(${fd.getPath})") - try { - copyBaseFileResToDisk(fd.getPath, is) - } catch { - case ex:IOException => println(s"Error! Exception ${ex}") - case _:FileAlreadyExistsException => {} // Ignored - } - } - } - // Case subject is a directory - case Right(dir) => { - // Ensure directory - //println(s"Directory(${fd.getPath})") - if (!new File(DeployProfile.pathJoin(baseDir,fd.getPath)).exists()) { - new File(DeployProfile.pathJoin(baseDir,fd.getPath)).mkdirs() - } - dir.map { f => createFileOrDirectory(f,fd.filesIsDirectories) } - } - } - } - -} diff --git a/launchers/common/src/main/scala/net/i2p/launchers/RouterLauncher.scala b/launchers/common/src/main/scala/net/i2p/launchers/RouterLauncher.scala deleted file mode 100644 index dc40e9685e..0000000000 --- a/launchers/common/src/main/scala/net/i2p/launchers/RouterLauncher.scala +++ /dev/null @@ -1,19 +0,0 @@ -package net.i2p.launchers - -import java.io.File - -import scala.concurrent.Future -import scala.sys.process.Process - - -/** - * A abstract class is kind of like an java interface. - * - * @author Meeh - * @since 0.9.35 - */ -abstract class RouterLauncher { - def runRouter(basePath: File, args: Array[String]): Future[Process] - - def runRouter(args: Array[String]): Future[Process] -} diff --git a/launchers/macosx/.vscode/settings.json b/launchers/macosx/.vscode/settings.json deleted file mode 100644 index 0245bc1183..0000000000 --- a/launchers/macosx/.vscode/settings.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "files.associations": { - "*.jsm": "javascript", - "*.grd": "xml", - "*.plist": "xml", - "*.jxa": "javascript", - "*.gni": "javascript", - "*.gn": "javascript", - "type_traits": "cpp", - "__config": "cpp", - "__nullptr": "cpp", - "cstddef": "cpp", - "exception": "cpp", - "initializer_list": "cpp", - "new": "cpp", - "stdexcept": "cpp", - "typeinfo": "cpp", - "algorithm": "cpp", - "ios": "cpp", - "iosfwd": "cpp", - "__split_buffer": "cpp", - "list": "cpp", - "string": "cpp", - "vector": "cpp", - "iterator": "cpp", - "optional": "cpp", - "memory": "cpp", - "map": "cpp", - "__mutex_base": "cpp", - "mutex": "cpp", - "functional": "cpp", - "__functional_03": "cpp", - "__string": "cpp", - "system_error": "cpp" - } -} \ No newline at end of file diff --git a/launchers/macosx/16x16-Itoopie Transparent.png b/launchers/macosx/16x16-Itoopie Transparent.png deleted file mode 100644 index 993c1b135e2c05248127c83ae79766836d6d7897..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1749 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 diff --git a/launchers/macosx/Carthage b/launchers/macosx/Carthage deleted file mode 100644 index 7ebbd3a0f4..0000000000 --- a/launchers/macosx/Carthage +++ /dev/null @@ -1,3 +0,0 @@ -github 'sparkle-project/Sparkle' == 1.21.0 - - diff --git a/launchers/macosx/Changes.md b/launchers/macosx/Changes.md deleted file mode 100644 index 5e7c8f4bc7..0000000000 --- a/launchers/macosx/Changes.md +++ /dev/null @@ -1,17 +0,0 @@ -# Change Log - -## 0.9.38 - -* Initial alpha/beta ish. -* Preferences dialog (unfinished). -* Firefox detection. - -## 0.9.39 - -* Fixed startup option so the launcher can start at OSX login/bootup. -* Added I2P Browser to the list of "firefox" browsers to detect. -* Changed hardcoded path lookup to native "registry" lookup for firefox application. -* Made the advanced preferences table editable by the user. -* Cleanup of old and/or unused code. -* Bugfixes. - diff --git a/launchers/macosx/CommonCode/Browser/ConsoleWebView.storyboard b/launchers/macosx/CommonCode/Browser/ConsoleWebView.storyboard deleted file mode 100644 index 84d0562766..0000000000 --- a/launchers/macosx/CommonCode/Browser/ConsoleWebView.storyboard +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="oLh-xo-y8T"> - <dependencies> - <deployment identifier="macosx"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14460.31"/> - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> - </dependencies> - <scenes> - <!--Window Controller--> - <scene sceneID="g0w-9k-Acs"> - <objects> - <windowController id="oLh-xo-y8T" sceneMemberID="viewController"> - <window key="window" title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="" animationBehavior="default" id="5Sr-7Y-gfA"> - <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/> - <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/> - <rect key="contentRect" x="294" y="362" width="480" height="270"/> - <rect key="screenRect" x="0.0" y="0.0" width="1920" height="1177"/> - <connections> - <outlet property="delegate" destination="oLh-xo-y8T" id="Fxx-ke-F0n"/> - </connections> - </window> - <connections> - <segue destination="nXM-BR-Lxj" kind="relationship" relationship="window.shadowedContentViewController" id="3cB-Gf-aj2"/> - </connections> - </windowController> - <customObject id="K5y-Qa-lNJ" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="50" y="118"/> - </scene> - <!--Console View Controller--> - <scene sceneID="MSW-MZ-pqs"> - <objects> - <viewController id="nXM-BR-Lxj" customClass="ConsoleViewController" customModule="I2PLauncher" customModuleProvider="target" sceneMemberID="viewController"> - <view key="view" id="Omy-Aq-Pw7"> - <rect key="frame" x="0.0" y="0.0" width="480" height="270"/> - <autoresizingMask key="autoresizingMask"/> - </view> - </viewController> - <customObject id="LZW-ak-seY" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="757" y="93"/> - </scene> - </scenes> -</document> diff --git a/launchers/macosx/CommonCode/Browser/EmbeddedConsoleView.swift b/launchers/macosx/CommonCode/Browser/EmbeddedConsoleView.swift deleted file mode 100644 index 63d06a64ec..0000000000 --- a/launchers/macosx/CommonCode/Browser/EmbeddedConsoleView.swift +++ /dev/null @@ -1,88 +0,0 @@ -// -// EmbeddedConsoleView.swift -// I2PLauncher -// -// Created by Mikal Villa on 08/12/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import AppKit -import WebKit - -/* -protocol EConsoleViewWrapper {} - -class WebViewSource { - class func webView() -> EConsoleViewWrapper { - if #available(OSX 10.12, *) { - // - return EmbeddedConsoleView(coder: NSCoder())! - } else { - // Sorry - return EmbeddedConsoleViewDummy() - } - } -} - -extension EConsoleViewWrapper { - static func instantiate(frame frameRect: NSRect) -> EConsoleViewWrapper { - return WebViewSource.webView() - } -} -*/ - -class ConsoleWindowController: NSWindowController { - override func windowDidLoad() { - super.windowDidLoad() -/* let v: NSView = WebViewSource.webView() as! NSView - v.wantsLayer = true - self.window?.contentView?.addSubview(v)*/ - } -} - -class ConsoleViewController: NSViewController { - var webView: WKWebView! - let consoleWebUrl = URL(string: "http://127.0.0.1:7657") - - override func loadView() { - let webConfiguration = WKWebViewConfiguration() - webView = WKWebView(frame: .zero, configuration: webConfiguration) - //webView.uiDelegate = self - view = webView - } - override func viewDidLoad() { - super.viewDidLoad() - - webView.load(URLRequest(url: consoleWebUrl!)) - } - -} - -/* -@available(OSX 10.12, *) -class EmbeddedConsoleView: WKWebView, EConsoleViewWrapper { - - let consoleWebUrl = URL(string: "http://127.0.0.1:7657") - - func setupWebViewForConsole(_ f: NSRect = NSRect(x: 0, y: 0, width: 800, height: 400)) { - self.allowsBackForwardNavigationGestures = true - self.configuration.preferences.javaScriptEnabled = true - self.configuration.preferences.plugInsEnabled = false - - self.load(URLRequest(url: consoleWebUrl!)) - } - - override func viewWillDraw() { - super.viewWillDraw() - } - - required init?(coder decoder: NSCoder) { - super.init(coder: decoder) - self.setupWebViewForConsole() - } - -} - -class EmbeddedConsoleViewDummy: NSView, EConsoleViewWrapper {} -*/ - diff --git a/launchers/macosx/CommonCode/Browser/FirefoxManager.swift b/launchers/macosx/CommonCode/Browser/FirefoxManager.swift deleted file mode 100644 index 2dd205acc0..0000000000 --- a/launchers/macosx/CommonCode/Browser/FirefoxManager.swift +++ /dev/null @@ -1,108 +0,0 @@ -// -// FirefoxManager.swift -// I2PLauncher -// -// Created by Mikal Villa on 08/12/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - - -class FirefoxManager { - - var firefoxAppPath = "" - private var isFirefoxFound = false - private var isFirefoxProfileExtracted = false - - fileprivate func directoryExistsAtPath(_ path: String) -> Bool { - var isDirectory = ObjCBool(true) - let exists = FileManager.default.fileExists(atPath: path, isDirectory: &isDirectory) - return exists && isDirectory.boolValue - } - - func IsFirefoxFound() -> Bool { - return self.isFirefoxFound - } - - func IsProfileExtracted() -> Bool { - return self.isFirefoxProfileExtracted - } - - // Since we execute in the "unix/POSIX way", we need the full path of the binary. - func bundleExecutableSuffixPath() -> String { - return "/Contents/MacOS/firefox" - } - - func executeFirefox() -> Bool { - let fullExecPath = "\(self.firefoxAppPath)\(self.bundleExecutableSuffixPath())" - let firefoxProcess = Subprocess(executablePath: fullExecPath, arguments: [ "-profile", Preferences.shared()["I2Pref_firefoxProfilePath"] as! String, "http://127.0.0.1:7657/home" ]) - DispatchQueue.global(qos: .background).async { - let _ = firefoxProcess.execute() - } - return true - } - - /** - * - * First, try find I2P Browser, if it fails, then try Firefox or Firefox Developer. - * - * Instead of using hardcoded paths, or file search we use OS X's internal "registry" API - * and detects I2P Browser or Firefox by bundle name. (or id, but name is more readable) - * - */ - func tryAutoDetect() -> Bool { - var browserPath = NSWorkspace.shared.fullPath(forApplication: "I2P Browser") - if (browserPath == nil) - { - browserPath = NSWorkspace.shared.fullPath(forApplication: "Firefox") - if (browserPath == nil) - { - browserPath = NSWorkspace.shared.fullPath(forApplication: "Firefox Developer") - } - } - - self.isFirefoxProfileExtracted = directoryExistsAtPath(Preferences.shared()["I2Pref_firefoxProfilePath"] as! String) - - // If browserPath is still nil, then nothing above was found and we can return early. - if (browserPath == nil) - { - return false - } - - let result = directoryExistsAtPath(browserPath!) - self.isFirefoxFound = result - if (result) { - self.firefoxAppPath = browserPath! - return true - } - return false - } - - - private static var sharedFirefoxManager: FirefoxManager = { - let firefoxMgr = FirefoxManager() - - return firefoxMgr - }() - - - class func shared() -> FirefoxManager { - return sharedFirefoxManager - } -} - -extension FirefoxManager { - func unzipProfile() -> Bool { - let resourceUrl = Bundle.main.url(forResource: "profile", withExtension: "tgz") - let profileTgz = resourceUrl!.path - let unzipProc = Subprocess(executablePath: "/usr/bin/tar", arguments: ["-xf",profileTgz,"-C",NSString(format: "%@/Library/Application Support/i2p", NSHomeDirectory()) as String]) - DispatchQueue.global(qos: .background).async { - let proc = unzipProc.execute(captureOutput: true) - print("Firefox Profile Extraction Errors: \(proc?.errors ?? "false")") - print("Firefox Profile Extraction Output: \(proc?.output ?? "false")") - } - return false - } -} - diff --git a/launchers/macosx/CommonCode/Utils/ArrayExtensions.swift b/launchers/macosx/CommonCode/Utils/ArrayExtensions.swift deleted file mode 100644 index ccfc807b0c..0000000000 --- a/launchers/macosx/CommonCode/Utils/ArrayExtensions.swift +++ /dev/null @@ -1,29 +0,0 @@ -// -// ArrayExtension.swift -// I2PLauncher -// -// Created by Mikal Villa on 17/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - - -extension Array where Element: NSAttributedString { - func joined2(separator: NSAttributedString) -> NSAttributedString { - var isFirst = true - return self.reduce(NSMutableAttributedString()) { - (r, e) in - if isFirst { - isFirst = false - } else { - r.append(separator) - } - r.append(e) - return r - } - } - -} - - diff --git a/launchers/macosx/CommonCode/Utils/DateTimeUtils.swift b/launchers/macosx/CommonCode/Utils/DateTimeUtils.swift deleted file mode 100644 index 471dffc241..0000000000 --- a/launchers/macosx/CommonCode/Utils/DateTimeUtils.swift +++ /dev/null @@ -1,87 +0,0 @@ -// -// DateTimeUtils.swift -// I2PLauncher -// -// Created by Mikal Villa on 18/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - -extension Date { - init(date: NSDate) { - self.init(timeIntervalSinceReferenceDate: date.timeIntervalSinceReferenceDate) - } -} - -extension NSDate { - convenience init(date: Date) { - self.init(timeIntervalSinceReferenceDate: date.timeIntervalSinceReferenceDate) - } -} - -class DateTimeUtils { - static func timeAgoSinceDate(date:NSDate, numericDates:Bool) -> String { - let calendar = NSCalendar.current - let unitFlags: Set<Calendar.Component> = [.minute, .hour, .day, .weekOfYear, .month, .year, .second] - let now = NSDate() - let earliest = now.earlierDate(date as Date) - let latest = (earliest == now as Date) ? date : now - let components = calendar.dateComponents(unitFlags, from: earliest as Date, to: latest as Date) - - if (components.year! >= 2) { - return "\(components.year!) years ago" - } else if (components.year! >= 1){ - if (numericDates){ - return "1 year ago" - } else { - return "Last year" - } - } else if (components.month! >= 2) { - return "\(components.month!) months ago" - } else if (components.month! >= 1){ - if (numericDates){ - return "1 month ago" - } else { - return "Last month" - } - } else if (components.weekOfYear! >= 2) { - return "\(components.weekOfYear!) weeks ago" - } else if (components.weekOfYear! >= 1){ - if (numericDates){ - return "1 week ago" - } else { - return "Last week" - } - } else if (components.day! >= 2) { - return "\(components.day!) days ago" - } else if (components.day! >= 1){ - if (numericDates){ - return "1 day ago" - } else { - return "Yesterday" - } - } else if (components.hour! >= 2) { - return "\(components.hour!) hours ago" - } else if (components.hour! >= 1){ - if (numericDates){ - return "1 hour ago" - } else { - return "An hour ago" - } - } else if (components.minute! >= 2) { - return "\(components.minute!) minutes ago" - } else if (components.minute! >= 1){ - if (numericDates){ - return "1 minute ago" - } else { - return "A minute ago" - } - } else if (components.second! >= 3) { - return "\(components.second!) seconds ago" - } else { - return "Just now" - } - - } -} diff --git a/launchers/macosx/CommonCode/Utils/DispatchQueue+delay.swift b/launchers/macosx/CommonCode/Utils/DispatchQueue+delay.swift deleted file mode 100644 index a334cbb18a..0000000000 --- a/launchers/macosx/CommonCode/Utils/DispatchQueue+delay.swift +++ /dev/null @@ -1,15 +0,0 @@ -// -// DispatchQueue+delay.swift -// I2PLauncher -// -// Created by Mikal Villa on 24/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Foundation - -extension DispatchQueue { - static func delay(_ delay: DispatchTimeInterval, closure: @escaping () -> ()) { - DispatchQueue.main.asyncAfter(deadline: .now() + delay, execute: closure) - } -} diff --git a/launchers/macosx/CommonCode/Utils/EventManager.swift b/launchers/macosx/CommonCode/Utils/EventManager.swift deleted file mode 100644 index 87b4d5f555..0000000000 --- a/launchers/macosx/CommonCode/Utils/EventManager.swift +++ /dev/null @@ -1,86 +0,0 @@ -// -// EventManager.swift -// I2PLauncher -// -// Created by Mikal Villa on 22/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - -// TODO: Log all events? - -class EventManager { - var listeners = Dictionary<String, NSMutableArray>(); - - // Create a new event listener, not expecting information from the trigger - // @param eventName: Matching trigger eventNames will cause this listener to fire - // @param action: The function/lambda you want executed when the event triggers - func listenTo(eventName:String, action: @escaping (()->())) { - let newListener = EventListenerAction(callback: action) - addListener(eventName: eventName, newEventListener: newListener) - } - - // Create a new event listener, expecting information from the trigger - // @param eventName: Matching trigger eventNames will cause this listener to fire - // @param action: The function/lambda you want executed when the event triggers - func listenTo(eventName:String, action: @escaping ((Any?)->())) { - let newListener = EventListenerAction(callback: action) - addListener(eventName: eventName, newEventListener: newListener) - } - - internal func addListener(eventName:String, newEventListener:EventListenerAction) { - if let listenerArray = self.listeners[eventName] { - listenerArray.add(newEventListener) - } else { - self.listeners[eventName] = [newEventListener] as NSMutableArray - } - } - - // Removes all listeners by default, or specific listeners through paramters - // @param eventName: If an event name is passed, only listeners for that event will be removed - func removeListeners(eventNameToRemoveOrNil:String?) { - if let eventNameToRemove = eventNameToRemoveOrNil { - if let actionArray = self.listeners[eventNameToRemove] { - actionArray.removeAllObjects() - } - } else { - self.listeners.removeAll(keepingCapacity: false) - } - } - - // Triggers an event - // @param eventName: Matching listener eventNames will fire when this is called - // @param information: pass values to your listeners - func trigger(eventName:String, information:Any? = nil) { - print("Event: ", eventName, " will trigger ", self.listeners[eventName]?.count ?? 0, " listeners") - if let actionObjects = self.listeners[eventName] { - for actionObject in actionObjects { - if let actionToPerform = actionObject as? EventListenerAction { - if let methodToCall = actionToPerform.actionExpectsInfo { - methodToCall(information) - } - else if let methodToCall = actionToPerform.action { - methodToCall() - } - } - } - } - } -} - -// Class to hold actions to live in NSMutableArray -class EventListenerAction { - let action:(() -> ())? - let actionExpectsInfo:((Any?) -> ())? - - init(callback: @escaping (() -> ()) ) { - self.action = callback - self.actionExpectsInfo = nil - } - - init(callback: @escaping ((Any?) -> ()) ) { - self.actionExpectsInfo = callback - self.action = nil - } -} diff --git a/launchers/macosx/CommonCode/Utils/FolderContentMonitor.swift b/launchers/macosx/CommonCode/Utils/FolderContentMonitor.swift deleted file mode 100644 index 168989344a..0000000000 --- a/launchers/macosx/CommonCode/Utils/FolderContentMonitor.swift +++ /dev/null @@ -1,111 +0,0 @@ -// -// FolderContentMonitor.swift -// I2PLauncher -// -// Created by Mikal Villa on 28/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - -/* - infix operator ~> - - private let queue = DispatchQueue(label: "background") - - func ~> <R> ( - backgroundClosure: @escaping () -> R, - mainClosure: @escaping (_ result: R) -> ()) - { - queue.async { - let result = backgroundClosure() - DispatchQueue.main.async(execute: { - mainClosure(result) - }) - } - } - */ - -public struct Event: CustomStringConvertible { - - public let eventId: FSEventStreamEventId - public let eventPath: String - public let eventFlags: FSEventStreamEventFlags - - public var description: String { - return "\(eventId) - \(eventFlags) - \(eventPath)" - } -} - -public class FolderContentMonitor { - - let callback: (Event) -> Void - - public init(pathsToWatch: [String], sinceWhen: FSEventStreamEventId = FSEventStreamEventId(kFSEventStreamEventIdSinceNow), callback: @escaping (Event) -> Void) { - - self.lastEventId = sinceWhen - self.pathsToWatch = pathsToWatch - self.callback = callback - } - - deinit { - stop() - } - - // MARK: - Private Properties - private let eventCallback: FSEventStreamCallback = { - (stream: ConstFSEventStreamRef, - contextInfo: UnsafeMutableRawPointer?, - numEvents: Int, - eventPaths: UnsafeMutableRawPointer, - eventFlags: UnsafePointer<FSEventStreamEventFlags>, - eventIds: UnsafePointer<FSEventStreamEventId>) in - - let fileSystemWatcher: FolderContentMonitor = unsafeBitCast(contextInfo, to: FolderContentMonitor.self) - - guard let paths = unsafeBitCast(eventPaths, to: NSArray.self) as? [String] else { return } - - for index in 0..<numEvents { - fileSystemWatcher.processEvent(eventId: eventIds[index], eventPath: paths[index], eventFlags: eventFlags[index]) - } - - fileSystemWatcher.lastEventId = eventIds[numEvents - 1] - } - - private let pathsToWatch: [String] - private var started = false - private var streamRef: FSEventStreamRef! - - private func processEvent(eventId: FSEventStreamEventId, eventPath: String, eventFlags: FSEventStreamEventFlags) { - - let event = Event(eventId: eventId, eventPath: eventPath, eventFlags: eventFlags) - callback(event) - } - - public private(set) var lastEventId: FSEventStreamEventId - - public func start() { - guard started == false else { return } - - var context = FSEventStreamContext(version: 0, info: nil, retain: nil, release: nil, copyDescription: nil) - context.info = Unmanaged.passUnretained(self).toOpaque() - let flags = UInt32(kFSEventStreamCreateFlagUseCFTypes | kFSEventStreamCreateFlagFileEvents) - streamRef = FSEventStreamCreate(kCFAllocatorDefault, eventCallback, &context, pathsToWatch as CFArray, lastEventId, 0, flags) - - FSEventStreamScheduleWithRunLoop(streamRef, CFRunLoopGetMain(), CFRunLoopMode.defaultMode.rawValue) - FSEventStreamStart(streamRef) - - started = true - } - - public func stop() { - guard started == true else { return } - - FSEventStreamStop(streamRef) - FSEventStreamInvalidate(streamRef) - FSEventStreamRelease(streamRef) - streamRef = nil - - started = false - } -} diff --git a/launchers/macosx/CommonCode/Utils/Preferences.swift b/launchers/macosx/CommonCode/Utils/Preferences.swift deleted file mode 100644 index c5efb941b8..0000000000 --- a/launchers/macosx/CommonCode/Utils/Preferences.swift +++ /dev/null @@ -1,317 +0,0 @@ -// -// Preferences.swift -// I2PLauncher -// -// Created by Mikal Villa on 01/12/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - -class PreferenceRow { - var name: String? - var defaultValue: Any? - var selectedValue: Any? - - init(_ name: String, _ value: Any?, _ defaultVal: Any? = "") { - self.name = name - self.selectedValue = value - self.defaultValue = defaultVal - } - - func asRawValue() -> Any { - return self.selectedValue ?? self.defaultValue! - } -} - -class Preferences : NSObject { - - enum ShowAsMode { - case bothIcon - case menubarIcon - case dockIcon - } - - private var prefObject: Dictionary<String,Any> = Dictionary<String,Any>() - private var prefDict = Dictionary<String,PreferenceRow>() - private var prefDefaultDict: Dictionary<String,Any> = Dictionary<String,Any>() - - var notifyOnStatusChange: Bool { - get { return UserDefaults.standard.bool(forKey: "notifyOnStatusChange") } - set { UserDefaults.standard.set(newValue, forKey: "notifyOnStatusChange") } - } - - var count: Int = 0 - - // Interface with a string setting in background - var showAsIconMode: ShowAsMode { - get { - var mode = self["I2Pref_showAsIconMode"] - if (mode == nil) { - mode = "bothIcon" - } - switch (mode as! String) { - case "bothIcon": - return ShowAsMode.bothIcon - case "dockIcon": - return ShowAsMode.dockIcon - case "menubarIcon": - return ShowAsMode.menubarIcon - default: - return ShowAsMode.bothIcon - } - } - set(newVal) { - // - var newMode: String = "bothIcon" - switch newVal { - case .bothIcon: - newMode = "bothIcon" - case .menubarIcon: - newMode = "menubarIcon" - case .dockIcon: - newMode = "dockIcon" - } - self["I2Pref_showAsIconMode"] = newMode - self.syncPref() - } - } - - // Lookup by name - subscript(prefName:String) -> Any? { - get { - let ret = prefObject[prefName] - if (ret != nil) { - return ret - } - return prefDefaultDict[prefName] - } - set(newValue) { - prefObject[prefName] = newValue - prefDict[prefName] = PreferenceRow(prefName, newValue, prefDefaultDict[prefName]) - UserDefaults.standard.set(newValue, forKey: prefName) - self.syncPref() - } - } - - func syncPref() { - UserDefaults.standard.setPersistentDomain(self.prefObject, forName: Identifiers.applicationDomainId) - UserDefaults.standard.synchronize() - } - - // Lookup by index - subscript(index:Int) -> PreferenceRow? { - get { - return prefDict[Array(prefDict.keys)[index]] - } - set(newValue) { - let pKey = Array(prefDefaultDict.keys)[index] - prefDict[pKey] = newValue! - prefObject[pKey] = newValue!.asRawValue() - } - } - - private static var sharedPreferences: Preferences = { - let preferences = Preferences() - - // Setup defaults - - var home = NSHomeDirectory() - // Add default values - var defaults = Dictionary<String,Any>() - defaults["I2Pref_enableLogging"] = true - defaults["I2Pref_enableVerboseLogging"] = true - defaults["I2Pref_autoStartRouterAtBoot"] = false - defaults["I2Pref_startLauncherAtLogin"] = false - defaults["I2Pref_startRouterAtStartup"] = true - defaults["I2Pref_stopRouterAtShutdown"] = true - defaults["I2Pref_letRouterLiveEvenLauncherDied"] = false - defaults["I2Pref_allowAdvancedPreferences"] = false - defaults["I2Pref_alsoStartFirefoxOnLaunch"] = true - defaults["I2Pref_useServiceManagementAsStartupTool"] = false - defaults["I2Pref_firefoxProfilePath"] = NSString(format: "%@/Library/Application Support/i2p/profile", home) - defaults["I2Pref_consolePortCheckNum"] = 7657 - defaults["I2Pref_i2pBaseDirectory"] = NSString(format: "%@/Library/I2P", home) - defaults["I2Pref_i2pLogDirectory"] = NSString(format: "%@/Library/Logs/I2P", home) - defaults["I2Pref_showAsIconMode"] = "bothIcon" - defaults["I2Pref_javaCommandPath"] = "/usr/libexec/java_home -v 1.7+ --exec java " - defaults["I2Pref_javaCommandOptions"] = "-Xmx512M -Xms128m" - defaults["I2Pref_featureToggleExperimental"] = false - preferences.prefDefaultDict = defaults - - /*if (preferences.prefDict.isEmpty) { - print("Stored new user defaults") - preferences.addDictToPrefTable(defaults) - }*/ - for name in Array(preferences.prefDefaultDict.keys) { - let potentialValue = UserDefaults.standard.object(forKey: name) - //preferences.prefDict[name] = PreferenceRow(name, potentialValue, preferences.prefDefaultDict[name]) - preferences[name] = potentialValue - } - preferences.count = preferences.prefDict.keys.count - UserDefaults.standard.register(defaults: defaults) - UserDefaults.standard.setPersistentDomain(preferences.prefObject, forName: Identifiers.applicationDomainId) - UserDefaults.standard.synchronize() - - print("User Preferences loaded - Got \(preferences.count) items.") - - return preferences - }() - - // MARK: - - - func addDictToPrefTable(_ dict: Dictionary<String,Any>, _ emptyFirst: Bool = true) { - if (emptyFirst) { - self.prefDict.removeAll() - } - for (pKey, pVal) in dict { - if (pKey.starts(with: "I2P")) { - print("Preference -> \(pKey)") - self[pKey] = pVal - } else { - print("Skipping preference -> \(pKey)") - } - } - } - - // Initialization - - private override init() { - super.init() - let fromDisk = UserDefaults.standard.persistentDomain(forName: Identifiers.applicationDomainId) ?? Dictionary<String,Any>() - for (pKey, pVal) in fromDisk { - if (pKey.starts(with: "I2P")) { - print("Preference -> \(pKey)") - self[pKey] = pVal - } else { - print("Skipping preference -> \(pKey)") - } - } - print("Preferences size from disk is: \(prefObject.count).") - self.syncPref() - } - - // TODO: Make menubar icon optional - func getMenubarIconStateIsShowing() -> Bool { - return true - } - - // MARK: - Accessors - - class func shared() -> Preferences { - return sharedPreferences - } - - func redrawPrefTableItems() { - self.addDictToPrefTable(self.prefObject, false) - } - - - // MARK: - Accessors for Application Preferences - - var startRouterOnLauncherStart: Bool { - get { - let dfl = self.prefDefaultDict["I2Pref_startRouterAtStartup"] as! Bool - return (self["I2Pref_startRouterAtStartup"] as? Bool ?? dfl) - } - set(newValue) { - self["I2Pref_startRouterAtStartup"] = newValue - self.syncPref() - } - } - - var stopRouterOnLauncherShutdown: Bool { - get { - let dfl = self.prefDefaultDict["I2Pref_stopRouterAtShutdown"] as! Bool - return (self["I2Pref_stopRouterAtShutdown"] as? Bool ?? dfl) - } - set(newValue) { - self["I2Pref_stopRouterAtShutdown"] = newValue - self.syncPref() - } - } - - var allowAdvancedPreferenceEdit: Bool { - get { - let dfl = self.prefDefaultDict["I2Pref_allowAdvancedPreferences"] as! Bool - return (self["I2Pref_allowAdvancedPreferences"] as? Bool ?? dfl) - } - set(newValue) { - self["I2Pref_allowAdvancedPreferences"] = newValue - self.syncPref() - } - } - - var alsoStartFirefoxOnLaunch: Bool { - get { - let dfl = self.prefDefaultDict["I2Pref_alsoStartFirefoxOnLaunch"] as! Bool - return (self["I2Pref_alsoStartFirefoxOnLaunch"] as? Bool ?? dfl) - } - set(newValue) { - self["I2Pref_alsoStartFirefoxOnLaunch"] = newValue - self.syncPref() - } - } - - var featureToggleExperimental: Bool { - get { - let dfl = self.prefDefaultDict["I2Pref_featureToggleExperimental"] as! Bool - return (self["I2Pref_featureToggleExperimental"] as? Bool ?? dfl) - } - set(newValue) { - self["I2Pref_featureToggleExperimental"] = newValue - self.syncPref() - } - } - - var i2pBaseDirectory: String { - get { - let dfl = self.prefDefaultDict["I2Pref_i2pBaseDirectory"] as! String - return (self["I2Pref_i2pBaseDirectory"] as? String ?? dfl) - } - set(newValue) { - // TODO: Check if string is a valid directory path, and that it exists. - self["I2Pref_i2pBaseDirectory"] = newValue - self.syncPref() - } - } - - var i2pLogDirectory: String { - get { - let dfl = self.prefDefaultDict["I2Pref_i2pLogDirectory"] as! String - return (self["I2Pref_i2pLogDirectory"] as? String ?? dfl) - } - set(newValue) { - // TODO: Check if string is a valid java command path, check if it executes with -version. - self["I2Pref_i2pLogDirectory"] = newValue - self.syncPref() - } - } - - var javaCommandPath: String { - get { - let dfl = self.prefDefaultDict["I2Pref_javaCommandPath"] as! String - return (self["I2Pref_javaCommandPath"] as? String ?? dfl) - } - set(newValue) { - // TODO: Check if string is a valid java command path, check if it executes with -version. - self["I2Pref_javaCommandPath"] = newValue - self.syncPref() - } - } - - var javaCommandOptions: String { - get { - let dfl = self.prefDefaultDict["I2Pref_javaCommandOptions"] as! String - return (self["I2Pref_javaCommandOptions"] as? String ?? dfl) - } - set(newValue) { - // TODO: Check if string is a valid set of java options - self["I2Pref_javaCommandOptions"] = newValue - self.syncPref() - } - } - - -} - diff --git a/launchers/macosx/CommonCode/Utils/ReflectionFunctions.swift b/launchers/macosx/CommonCode/Utils/ReflectionFunctions.swift deleted file mode 100644 index cae4c6ad41..0000000000 --- a/launchers/macosx/CommonCode/Utils/ReflectionFunctions.swift +++ /dev/null @@ -1,57 +0,0 @@ -// -// ReflectionFunctions.swift -// I2PLauncher -// -// Created by Mikal Villa on 17/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - -class ReflectionFunctions { - - /// Given pointer to first element of a C array, invoke a function for each element - func enumerateCArray<T>(array: UnsafePointer<T>, count: UInt32, f: (UInt32, T) -> ()) { - var ptr = array - for i in 0..<count { - f(i, ptr.pointee) - ptr = ptr.successor() - } - } - - /// Return name for a method - func methodName(m: Method) -> String? { - let sel = method_getName(m) - let nameCString = sel_getName(sel) - return String(cString: nameCString) - } - - /// Print the names for each method in a class - func printMethodNamesForClass(cls: AnyClass) { - var methodCount: UInt32 = 0 - let methodList = class_copyMethodList(cls, &methodCount) - if methodList != nil && methodCount > 0 { - enumerateCArray(array: methodList!, count: methodCount) { i, m in - let name = methodName(m: m) ?? "unknown" - print("#\(i): \(name)") - } - - free(methodList) - } - } - - /// Print the names for each method in a class with a specified name - func printMethodNamesForClassNamed(classname: String) { - // NSClassFromString() is declared to return AnyClass!, but should be AnyClass? - let maybeClass: AnyClass? = NSClassFromString(classname) - if let cls: AnyClass = maybeClass { - printMethodNamesForClass(cls: cls) - } - else { - print("\(classname): no such class") - } - } -} - - - diff --git a/launchers/macosx/CommonCode/Utils/Startup.swift b/launchers/macosx/CommonCode/Utils/Startup.swift deleted file mode 100644 index 6e36193be2..0000000000 --- a/launchers/macosx/CommonCode/Utils/Startup.swift +++ /dev/null @@ -1,119 +0,0 @@ -// -// Startup.swift -// I2PLauncher -// -// Created by Mikal Villa on 22/12/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - - -class Startup : NSObject { - - let loginItemsList : LSSharedFileList = LSSharedFileListCreate(nil, kLSSharedFileListSessionLoginItems.takeRetainedValue(), nil).takeRetainedValue(); - - - - func addLoginItem(_ path: CFURL) -> Bool { - - if(getLoginItem(path) != nil) { - print("Login Item has already been added to the list."); - return true; - } - - let path : CFURL = CFURLCreateWithString(nil, Bundle.main.bundleURL.absoluteString as CFString, nil); - print("Path adding to Login Item list is: ", path); - - // add new Login Item at the end of Login Items list - if let loginItem = LSSharedFileListInsertItemURL(loginItemsList, - getLastLoginItemInList(), - nil, nil, - path, - nil, nil) { - print("Added login item is: ", loginItem); - return true; - } - - return false; - } - - - func removeLoginItem(_ path: CFURL) -> Bool { - - // remove Login Item from the Login Items list - if let oldLoginItem = getLoginItem(path) { - print("Old login item is: ", oldLoginItem); - if(LSSharedFileListItemRemove(loginItemsList, oldLoginItem) == noErr) { - return true; - } - return false; - } - print("Login Item for given path not found in the list."); - return true; - } - - - func getLoginItem(_ path : CFURL) -> LSSharedFileListItem! { - - let path : CFURL = CFURLCreateWithString(nil, Bundle.main.bundleURL.absoluteString as CFString, nil); - - - // Copy all login items in the list - let loginItems : NSArray = LSSharedFileListCopySnapshot(loginItemsList, nil).takeRetainedValue(); - - var foundLoginItem : LSSharedFileListItem?; - var nextItemUrl : Unmanaged<CFURL>?; - - // Iterate through login items to find one for given path - print("App URL: ", path); - for var i in (0..<loginItems.count) // CFArrayGetCount(loginItems) - { - - let nextLoginItem : LSSharedFileListItem = loginItems.object(at: i) as! LSSharedFileListItem; // CFArrayGetValueAtIndex(loginItems, i).; - - - if(LSSharedFileListItemResolve(nextLoginItem, 0, &nextItemUrl, nil) == noErr) { - - - - print("Next login item URL: ", nextItemUrl!.takeUnretainedValue()); - // compare searched item URL passed in argument with next item URL - if(nextItemUrl!.takeRetainedValue() == path) { - foundLoginItem = nextLoginItem; - } - } - } - - return foundLoginItem; - } - - func getLastLoginItemInList() -> LSSharedFileListItem! { - - // Copy all login items in the list - let loginItems : NSArray = LSSharedFileListCopySnapshot(loginItemsList, nil).takeRetainedValue() as NSArray; - if(loginItems.count > 0) { - let lastLoginItem = loginItems.lastObject as! LSSharedFileListItem; - - print("Last login item is: ", lastLoginItem); - return lastLoginItem - } - - return kLSSharedFileListItemBeforeFirst.takeRetainedValue(); - } - - func isLoginItemInList(_ path : CFURL) -> Bool { - - if(getLoginItem(path) != nil) { - return true; - } - - return false; - } - - static func appPath() -> CFURL { - - return NSURL.fileURL(withPath: Bundle.main.bundlePath) as CFURL; - } - -} diff --git a/launchers/macosx/CommonCode/Utils/StringExtensions.swift b/launchers/macosx/CommonCode/Utils/StringExtensions.swift deleted file mode 100644 index 0264b64af8..0000000000 --- a/launchers/macosx/CommonCode/Utils/StringExtensions.swift +++ /dev/null @@ -1,106 +0,0 @@ -// -// StringExtensions.swift -// I2PLauncher -// -// Created by Mikal Villa on 17/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - -extension String { - - func replace(target: String, withString: String) -> String - { - return self.replacingOccurrences(of: target, with: withString, options: NSString.CompareOptions.literal, range: nil) - } - - /// Returns an array of string obtained splitting self at each newline ("\n"). - /// If the last character is a newline, it will be ignored (no empty string - /// will be appended at the end of the array) - public func splitByNewline() -> [String] { - return self.split { $0 == "\n" }.map(String.init) - } - - /// Returns an array of string obtained splitting self at each space, newline or TAB character - public func splitByWhitespace() -> [String] { - let whitespaces = Set<Character>([" ", "\n", "\t"]) - return self.split { whitespaces.contains($0) }.map(String.init) - } - - public func splitByColon() -> [String] { - return self.split { $0 == ":" }.map(String.init) - } - - func leftPadding(toLength: Int, withPad character: Character) -> String { - let stringLength = self.count - if stringLength < toLength { - return String(repeatElement(character, count: toLength - stringLength)) + self - } else { - return String(self.suffix(toLength)) - } - } -} - - -extension String { - subscript (i: Int) -> Character { - return self[index(startIndex, offsetBy: i)] - } - subscript (bounds: CountableRange<Int>) -> Substring { - let start = index(startIndex, offsetBy: bounds.lowerBound) - let end = index(startIndex, offsetBy: bounds.upperBound) - return self[start ..< end] - } - subscript (bounds: CountableClosedRange<Int>) -> Substring { - let start = index(startIndex, offsetBy: bounds.lowerBound) - let end = index(startIndex, offsetBy: bounds.upperBound) - return self[start ... end] - } - subscript (bounds: CountablePartialRangeFrom<Int>) -> Substring { - let start = index(startIndex, offsetBy: bounds.lowerBound) - let end = index(endIndex, offsetBy: -1) - return self[start ... end] - } - subscript (bounds: PartialRangeThrough<Int>) -> Substring { - let end = index(startIndex, offsetBy: bounds.upperBound) - return self[startIndex ... end] - } - subscript (bounds: PartialRangeUpTo<Int>) -> Substring { - let end = index(startIndex, offsetBy: bounds.upperBound) - return self[startIndex ..< end] - } -} - -/* - * This is functions for comparing version numbers. - * Example usage: - * "3.0.0" >= "3.0.0.1" // false - * "3.0.0" > "3.0.0.1" // false - * "3.0.0" <= "3.0.0.1" // true - * "3.0.0.1" >= "3.0.0.1" // true - */ -extension String { - - static func ==(lhs: String, rhs: String) -> Bool { - return lhs.compare(rhs, options: .numeric) == .orderedSame - } - - static func <(lhs: String, rhs: String) -> Bool { - return lhs.compare(rhs, options: .numeric) == .orderedAscending - } - - static func <=(lhs: String, rhs: String) -> Bool { - return lhs.compare(rhs, options: .numeric) == .orderedAscending || lhs.compare(rhs, options: .numeric) == .orderedSame - } - - static func >(lhs: String, rhs: String) -> Bool { - return lhs.compare(rhs, options: .numeric) == .orderedDescending - } - - static func >=(lhs: String, rhs: String) -> Bool { - return lhs.compare(rhs, options: .numeric) == .orderedDescending || lhs.compare(rhs, options: .numeric) == .orderedSame - } - -} - diff --git a/launchers/macosx/I2PLauncher.xcodeproj/project.pbxproj b/launchers/macosx/I2PLauncher.xcodeproj/project.pbxproj deleted file mode 100644 index 4e9fa57f9c..0000000000 --- a/launchers/macosx/I2PLauncher.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1796 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 47; - objects = { - -/* Begin PBXBuildFile section */ - 55459244D38FD36955E91F82 /* Pods_I2PLauncher.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF1CEEADE02906132180EEE5 /* Pods_I2PLauncher.framework */; }; - BF07789721506C810014EB07 /* Storyboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BF07789621506C810014EB07 /* Storyboard.storyboard */; }; - BF07789E21506D2B0014EB07 /* PopoverViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF07789C21506D2B0014EB07 /* PopoverViewController.swift */; }; - BF0956E721EAD3590014EB07 /* profile.tgz in Resources */ = {isa = PBXBuildFile; fileRef = BF0956E621EAD3590014EB07 /* profile.tgz */; }; - BF14B70F215C98DC0014EB07 /* LoggerWorker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BF14B70D215C98DC0014EB07 /* LoggerWorker.cpp */; }; - BF14B710215C98DC0014EB07 /* Logger.mm in Sources */ = {isa = PBXBuildFile; fileRef = BF14B70E215C98DC0014EB07 /* Logger.mm */; }; - BF14B712215D9E040014EB07 /* FolderContentMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF14B711215D9E040014EB07 /* FolderContentMonitor.swift */; }; - BF1D6D8F21BB32460014EB07 /* Preferences.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BF1D6D8E21BB32460014EB07 /* Preferences.storyboard */; }; - BF1D6D9121BB344D0014EB07 /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6D9021BB344D0014EB07 /* Preferences.swift */; }; - BF1D6D9321BB36880014EB07 /* PreferencesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6D9221BB36880014EB07 /* PreferencesViewController.swift */; }; - BF1D6D9521BB379A0014EB07 /* PreferencesWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6D9421BB379A0014EB07 /* PreferencesWindowController.swift */; }; - BF1D6D9921BB7DC10014EB07 /* FirefoxManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6D9821BB7DC10014EB07 /* FirefoxManager.swift */; }; - BF1D6D9B21BB86520014EB07 /* ConsoleWebView.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BF1D6D9A21BB86520014EB07 /* ConsoleWebView.storyboard */; }; - BF1D6D9D21BB87000014EB07 /* EmbeddedConsoleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6D9C21BB87000014EB07 /* EmbeddedConsoleView.swift */; }; - BF1D6D9F21BBA1460014EB07 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1D6D9E21BBA1460014EB07 /* WebKit.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - BF1D6DA321BBB8120014EB07 /* AdvancedTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6DA221BBB8120014EB07 /* AdvancedTableView.swift */; }; - BF1D6DA521BBB84E0014EB07 /* PreferencesViewController+TableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6DA421BBB84E0014EB07 /* PreferencesViewController+TableView.swift */; }; - BF1EFA3A215140E60014EB07 /* SBridge.mm in Sources */ = {isa = PBXBuildFile; fileRef = BF1EFA39215140E60014EB07 /* SBridge.mm */; }; - BF1EFA40215141110014EB07 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = BF1EFA3D215141100014EB07 /* main.mm */; }; - BF1EFA41215141110014EB07 /* RouterTask.mm in Sources */ = {isa = PBXBuildFile; fileRef = BF1EFA3E215141100014EB07 /* RouterTask.mm */; }; - BF1EFA47215141640014EB07 /* base.zip in Resources */ = {isa = PBXBuildFile; fileRef = BF1EFA44215141630014EB07 /* base.zip */; }; - BF1EFA48215141640014EB07 /* ItoopieTransparent.png in Resources */ = {isa = PBXBuildFile; fileRef = BF1EFA45215141640014EB07 /* ItoopieTransparent.png */; }; - BF3143FE2160C1BD0014EB07 /* DownloadJavaViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3143FD2160C1BD0014EB07 /* DownloadJavaViewController.swift */; }; - BF5061702113C48E0014EB07 /* I2PLauncher.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = BF50616E2113C48E0014EB07 /* I2PLauncher.xcdatamodeld */; }; - BF5061722113C4900014EB07 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BF5061712113C4900014EB07 /* Assets.xcassets */; }; - BF5061752113C4900014EB07 /* UserInterfaces.xib in Resources */ = {isa = PBXBuildFile; fileRef = BF5061732113C4900014EB07 /* UserInterfaces.xib */; }; - BF5061962113C84E0014EB07 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF5061952113C84E0014EB07 /* Cocoa.framework */; }; - BF5315072150C55B0014EB07 /* RouterRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF5315062150C55B0014EB07 /* RouterRunner.swift */; }; - BF53150D2150CE310014EB07 /* DateTimeUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF53150C2150CE310014EB07 /* DateTimeUtils.swift */; }; - BF5315132150EB510014EB07 /* RouterProcessStatus+ObjectiveC.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF5315122150EB510014EB07 /* RouterProcessStatus+ObjectiveC.swift */; }; - BF531515215105B40014EB07 /* LogViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF531514215105B40014EB07 /* LogViewController.swift */; }; - BF650CA92152AC7D0014EB07 /* bumpInfoPlist.sh in Resources */ = {isa = PBXBuildFile; fileRef = BF650CA52152AC7D0014EB07 /* bumpInfoPlist.sh */; }; - BF650CAB2152AC7D0014EB07 /* Deployer.mm in Sources */ = {isa = PBXBuildFile; fileRef = BF650CA72152AC7D0014EB07 /* Deployer.mm */; }; - BF7506CB21509CFD0014EB07 /* RouterProcessStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF7506CA21509CFD0014EB07 /* RouterProcessStatus.swift */; }; - BF86541321515CA00014EB07 /* launcher.jar in Resources */ = {isa = PBXBuildFile; fileRef = BF1EFA46215141640014EB07 /* launcher.jar */; }; - BF865417215182820014EB07 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF865416215182820014EB07 /* Foundation.framework */; }; - BF99FD3F227087A40014EB07 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF99FD3E227087A40014EB07 /* main.swift */; }; - BF99FD4422708AB10014EB07 /* Identifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF99FD4322708AB10014EB07 /* Identifiers.swift */; }; - BF99FD4522708BA80014EB07 /* Identifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF99FD4322708AB10014EB07 /* Identifiers.swift */; }; - BF99FD4722708DA70014EB07 /* DispatchQueue+delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF99FD4622708DA70014EB07 /* DispatchQueue+delay.swift */; }; - BFA392FC2259E89B0014EB07 /* NetworkUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFA392FB2259E89B0014EB07 /* NetworkUtil.swift */; }; - BFA5226221CD43480014EB07 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFA5226121CD43480014EB07 /* AppDelegate.swift */; }; - BFA5226421CD434A0014EB07 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BFA5226321CD434A0014EB07 /* Assets.xcassets */; }; - BFA5226E21CD44740014EB07 /* StartupItemApp.app in CopyFiles */ = {isa = PBXBuildFile; fileRef = BFA5225F21CD43480014EB07 /* StartupItemApp.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - BFA5227021CDBF450014EB07 /* Startup.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFA5226F21CDBF450014EB07 /* Startup.swift */; }; - BFAA37EA226891760014EB07 /* icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = BFAA37E9226891760014EB07 /* icon.icns */; }; - BFAA37EC226891760014EB07 /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFAA37EB226891760014EB07 /* ShareViewController.swift */; }; - BFAA37EF226891760014EB07 /* ShareViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BFAA37ED226891760014EB07 /* ShareViewController.xib */; }; - BFAA37F4226891760014EB07 /* I2PSnark-Share.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = BFAA37E7226891760014EB07 /* I2PSnark-Share.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - BFAA37FA226892CA0014EB07 /* StringExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF52150428D0014EB07 /* StringExtensions.swift */; }; - BFAA37FB226892CA0014EB07 /* ArrayExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF7215047FE0014EB07 /* ArrayExtensions.swift */; }; - BFAA37FC226892CA0014EB07 /* DateTimeUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF53150C2150CE310014EB07 /* DateTimeUtils.swift */; }; - BFAA37FD226892CA0014EB07 /* EventManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE16BF92156DAED0014EB07 /* EventManager.swift */; }; - BFAA37FE226892CA0014EB07 /* FolderContentMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF14B711215D9E040014EB07 /* FolderContentMonitor.swift */; }; - BFAD9C94227C92480014EB07 /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6D9021BB344D0014EB07 /* Preferences.swift */; }; - BFAD9C95227C925F0014EB07 /* Identifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF99FD4322708AB10014EB07 /* Identifiers.swift */; }; - BFBDCAE9215040670014EB07 /* Subprocess.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAE8215040670014EB07 /* Subprocess.swift */; }; - BFBDCAEB215041630014EB07 /* TaskPipeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAEA215041630014EB07 /* TaskPipeline.swift */; }; - BFBDCAED215041C10014EB07 /* Subprocess+CompactAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAEC215041C10014EB07 /* Subprocess+CompactAPI.swift */; }; - BFBDCAEF215041E30014EB07 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAEE215041E30014EB07 /* Error.swift */; }; - BFBDCAF12150420C0014EB07 /* ExecutionResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF02150420C0014EB07 /* ExecutionResult.swift */; }; - BFBDCAF4215042670014EB07 /* AppleStuffExceptionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF3215042670014EB07 /* AppleStuffExceptionHandler.m */; }; - BFBDCAF62150428D0014EB07 /* StringExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF52150428D0014EB07 /* StringExtensions.swift */; }; - BFBDCAF8215047FE0014EB07 /* ArrayExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF7215047FE0014EB07 /* ArrayExtensions.swift */; }; - BFBDCAFA215050810014EB07 /* ReflectionFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF9215050810014EB07 /* ReflectionFunctions.swift */; }; - BFBDCAFE2150567D0014EB07 /* SwiftApplicationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAFD2150567D0014EB07 /* SwiftApplicationDelegate.swift */; }; - BFBDCB0021505BEE0014EB07 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFBDCAFF21505BED0014EB07 /* AppKit.framework */; }; - BFBDCB02215060190014EB07 /* DetectJava.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCB01215060190014EB07 /* DetectJava.swift */; }; - BFBDCB04215060970014EB07 /* StatusBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCB03215060970014EB07 /* StatusBarController.swift */; }; - BFD289912277BEDA0014EB07 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFD289902277BED90014EB07 /* Sparkle.framework */; }; - BFD289922277BEDA0014EB07 /* Sparkle.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = BFD289902277BED90014EB07 /* Sparkle.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - BFD2899A227810AF0014EB07 /* StatusBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCB03215060970014EB07 /* StatusBarController.swift */; }; - BFD2899B227810AF0014EB07 /* ArrayExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF7215047FE0014EB07 /* ArrayExtensions.swift */; }; - BFD2899C227810AF0014EB07 /* RouterRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF5315062150C55B0014EB07 /* RouterRunner.swift */; }; - BFD2899D227810AF0014EB07 /* Identifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF99FD4322708AB10014EB07 /* Identifiers.swift */; }; - BFD2899E227810AF0014EB07 /* EventManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE16BF92156DAED0014EB07 /* EventManager.swift */; }; - BFD2899F227810AF0014EB07 /* ExecutionResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF02150420C0014EB07 /* ExecutionResult.swift */; }; - BFD289A0227810AF0014EB07 /* RouterStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE16BF72156C61E0014EB07 /* RouterStatusView.swift */; }; - BFD289A1227810AF0014EB07 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAEE215041E30014EB07 /* Error.swift */; }; - BFD289A2227810AF0014EB07 /* RouterTask.mm in Sources */ = {isa = PBXBuildFile; fileRef = BF1EFA3E215141100014EB07 /* RouterTask.mm */; }; - BFD289A3227810AF0014EB07 /* NetworkUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFA392FB2259E89B0014EB07 /* NetworkUtil.swift */; }; - BFD289A4227810AF0014EB07 /* RouterProcessStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF7506CA21509CFD0014EB07 /* RouterProcessStatus.swift */; }; - BFD289A5227810AF0014EB07 /* Subprocess.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAE8215040670014EB07 /* Subprocess.swift */; }; - BFD289A6227810AF0014EB07 /* PreferencesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6D9221BB36880014EB07 /* PreferencesViewController.swift */; }; - BFD289A7227810AF0014EB07 /* FirefoxManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6D9821BB7DC10014EB07 /* FirefoxManager.swift */; }; - BFD289A8227810AF0014EB07 /* ReflectionFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF9215050810014EB07 /* ReflectionFunctions.swift */; }; - BFD289A9227810AF0014EB07 /* Subprocess+CompactAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAEC215041C10014EB07 /* Subprocess+CompactAPI.swift */; }; - BFD289AA227810AF0014EB07 /* DetectJava.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCB01215060190014EB07 /* DetectJava.swift */; }; - BFD289AB227810AF0014EB07 /* PopoverViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF07789C21506D2B0014EB07 /* PopoverViewController.swift */; }; - BFD289AC227810AF0014EB07 /* AdvancedTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6DA221BBB8120014EB07 /* AdvancedTableView.swift */; }; - BFD289AD227810AF0014EB07 /* DispatchQueue+delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF99FD4622708DA70014EB07 /* DispatchQueue+delay.swift */; }; - BFD289AE227810AF0014EB07 /* LaunchAgentManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD899462169F01B0014EB07 /* LaunchAgentManager.swift */; }; - BFD289AF227810AF0014EB07 /* Deployer.mm in Sources */ = {isa = PBXBuildFile; fileRef = BF650CA72152AC7D0014EB07 /* Deployer.mm */; }; - BFD289B0227810AF0014EB07 /* PreferencesViewController+TableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6DA421BBB84E0014EB07 /* PreferencesViewController+TableView.swift */; }; - BFD289B1227810AF0014EB07 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = BF1EFA3D215141100014EB07 /* main.mm */; }; - BFD289B2227810AF0014EB07 /* AppleStuffExceptionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF3215042670014EB07 /* AppleStuffExceptionHandler.m */; }; - BFD289B3227810AF0014EB07 /* DownloadJavaViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3143FD2160C1BD0014EB07 /* DownloadJavaViewController.swift */; }; - BFD289B4227810AF0014EB07 /* PreferencesWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6D9421BB379A0014EB07 /* PreferencesWindowController.swift */; }; - BFD289B5227810AF0014EB07 /* LogViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF531514215105B40014EB07 /* LogViewController.swift */; }; - BFD289B6227810AF0014EB07 /* Startup.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFA5226F21CDBF450014EB07 /* Startup.swift */; }; - BFD289B7227810AF0014EB07 /* RouterProcessStatus+ObjectiveC.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF5315122150EB510014EB07 /* RouterProcessStatus+ObjectiveC.swift */; }; - BFD289B8227810AF0014EB07 /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6D9021BB344D0014EB07 /* Preferences.swift */; }; - BFD289B9227810AF0014EB07 /* LaunchAgent+Status.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD899442169EFE90014EB07 /* LaunchAgent+Status.swift */; }; - BFD289BA227810AF0014EB07 /* FolderContentMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF14B711215D9E040014EB07 /* FolderContentMonitor.swift */; }; - BFD289BB227810AF0014EB07 /* SwiftApplicationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAFD2150567D0014EB07 /* SwiftApplicationDelegate.swift */; }; - BFD289BC227810AF0014EB07 /* LaunchAgent.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD899422169EE9F0014EB07 /* LaunchAgent.swift */; }; - BFD289BD227810AF0014EB07 /* RouterManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFDD81D92156B3E30014EB07 /* RouterManager.swift */; }; - BFD289BE227810AF0014EB07 /* SBridge.mm in Sources */ = {isa = PBXBuildFile; fileRef = BF1EFA39215140E60014EB07 /* SBridge.mm */; }; - BFD289BF227810AF0014EB07 /* LoggerWorker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BF14B70D215C98DC0014EB07 /* LoggerWorker.cpp */; }; - BFD289C0227810AF0014EB07 /* EmbeddedConsoleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6D9C21BB87000014EB07 /* EmbeddedConsoleView.swift */; }; - BFD289C1227810AF0014EB07 /* Logger.mm in Sources */ = {isa = PBXBuildFile; fileRef = BF14B70E215C98DC0014EB07 /* Logger.mm */; }; - BFD289C2227810AF0014EB07 /* StringExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF52150428D0014EB07 /* StringExtensions.swift */; }; - BFD289C3227810AF0014EB07 /* I2PLauncher.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = BF50616E2113C48E0014EB07 /* I2PLauncher.xcdatamodeld */; }; - BFD289C4227810AF0014EB07 /* TaskPipeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAEA215041630014EB07 /* TaskPipeline.swift */; }; - BFD289C5227810AF0014EB07 /* DateTimeUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF53150C2150CE310014EB07 /* DateTimeUtils.swift */; }; - BFD289C7227810AF0014EB07 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1D6D9E21BBA1460014EB07 /* WebKit.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - BFD289C8227810AF0014EB07 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFE1CBAC2151908F0014EB07 /* CoreFoundation.framework */; }; - BFD289C9227810AF0014EB07 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF865416215182820014EB07 /* Foundation.framework */; }; - BFD289CB227810AF0014EB07 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFBDCAFF21505BED0014EB07 /* AppKit.framework */; }; - BFD289CC227810AF0014EB07 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF5061952113C84E0014EB07 /* Cocoa.framework */; }; - BFD289D0227810AF0014EB07 /* profile.tgz in Resources */ = {isa = PBXBuildFile; fileRef = BF0956E621EAD3590014EB07 /* profile.tgz */; }; - BFD289D1227810AF0014EB07 /* launcher.jar in Resources */ = {isa = PBXBuildFile; fileRef = BF1EFA46215141640014EB07 /* launcher.jar */; }; - BFD289D2227810AF0014EB07 /* bumpInfoPlist.sh in Resources */ = {isa = PBXBuildFile; fileRef = BF650CA52152AC7D0014EB07 /* bumpInfoPlist.sh */; }; - BFD289D3227810AF0014EB07 /* Storyboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BF07789621506C810014EB07 /* Storyboard.storyboard */; }; - BFD289D4227810AF0014EB07 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BF5061712113C4900014EB07 /* Assets.xcassets */; }; - BFD289D5227810AF0014EB07 /* UserInterfaces.xib in Resources */ = {isa = PBXBuildFile; fileRef = BF5061732113C4900014EB07 /* UserInterfaces.xib */; }; - BFD289D6227810AF0014EB07 /* ItoopieTransparent.png in Resources */ = {isa = PBXBuildFile; fileRef = BF1EFA45215141640014EB07 /* ItoopieTransparent.png */; }; - BFD289D7227810AF0014EB07 /* base.zip in Resources */ = {isa = PBXBuildFile; fileRef = BF1EFA44215141630014EB07 /* base.zip */; }; - BFD289D8227810AF0014EB07 /* Preferences.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BF1D6D8E21BB32460014EB07 /* Preferences.storyboard */; }; - BFD289D9227810AF0014EB07 /* ConsoleWebView.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BF1D6D9A21BB86520014EB07 /* ConsoleWebView.storyboard */; }; - BFD289DB227810AF0014EB07 /* StartupItemApp.app in CopyFiles */ = {isa = PBXBuildFile; fileRef = BFA5225F21CD43480014EB07 /* StartupItemApp.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - BFD289DD227810AF0014EB07 /* I2PSnark-Share.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = BFAA37E7226891760014EB07 /* I2PSnark-Share.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - BFD289E7227812C10014EB07 /* SwitchableTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD289E6227812C10014EB07 /* SwitchableTableViewController.swift */; }; - BFD289E9227812F20014EB07 /* ServiceTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD289E8227812F20014EB07 /* ServiceTableViewController.swift */; }; - BFD289EB227813A60014EB07 /* BottomBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD289EA227813A60014EB07 /* BottomBar.swift */; }; - BFD289ED227813EB0014EB07 /* AppearanceObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD289EC227813EB0014EB07 /* AppearanceObserver.swift */; }; - BFD289EF227814240014EB07 /* CustomScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD289EE227814240014EB07 /* CustomScrollView.swift */; }; - BFD289F12278144A0014EB07 /* Icons.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD289F02278144A0014EB07 /* Icons.swift */; }; - BFD289F3227814AC0014EB07 /* Service.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD289F2227814AC0014EB07 /* Service.swift */; }; - BFD289F5227818DA0014EB07 /* StatusIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD289F4227818DA0014EB07 /* StatusIndicator.swift */; }; - BFD289F72278192B0014EB07 /* ServiceTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD289F62278192B0014EB07 /* ServiceTableRowView.swift */; }; - BFD289F92278194D0014EB07 /* StatusTableCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD289F82278194D0014EB07 /* StatusTableCell.swift */; }; - BFD289FD227821410014EB07 /* EditorTableCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD289FC227821410014EB07 /* EditorTableCell.swift */; }; - BFD289FF227821690014EB07 /* EditorTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD289FE227821690014EB07 /* EditorTableViewController.swift */; }; - BFD28A012278218F0014EB07 /* SectionHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD28A002278218F0014EB07 /* SectionHeaderView.swift */; }; - BFD28A03227821D00014EB07 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD28A02227821D00014EB07 /* SettingsView.swift */; }; - BFD28A062278269A0014EB07 /* RouterServices.plist in Resources */ = {isa = PBXBuildFile; fileRef = BFD28A052278269A0014EB07 /* RouterServices.plist */; }; - BFD28A09227830EF0014EB07 /* I2PRouterService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD28A08227830EF0014EB07 /* I2PRouterService.swift */; }; - BFD28A0B227833E80014EB07 /* HttpTunnelService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD28A0A227833E80014EB07 /* HttpTunnelService.swift */; }; - BFD28A0D227834120014EB07 /* IrcTunnelService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD28A0C227834120014EB07 /* IrcTunnelService.swift */; }; - BFD899432169EE9F0014EB07 /* LaunchAgent.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD899422169EE9F0014EB07 /* LaunchAgent.swift */; }; - BFD899452169EFE90014EB07 /* LaunchAgent+Status.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD899442169EFE90014EB07 /* LaunchAgent+Status.swift */; }; - BFD899472169F01B0014EB07 /* LaunchAgentManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD899462169F01B0014EB07 /* LaunchAgentManager.swift */; }; - BFDD81DA2156B3E30014EB07 /* RouterManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFDD81D92156B3E30014EB07 /* RouterManager.swift */; }; - BFE16BF82156C61E0014EB07 /* RouterStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE16BF72156C61E0014EB07 /* RouterStatusView.swift */; }; - BFE16BFA2156DAED0014EB07 /* EventManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE16BF92156DAED0014EB07 /* EventManager.swift */; }; - BFE1CBAD2151908F0014EB07 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFE1CBAC2151908F0014EB07 /* CoreFoundation.framework */; }; - BFFDBCCF227B50410014EB07 /* StringExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF52150428D0014EB07 /* StringExtensions.swift */; }; - BFFDBCD0227B50410014EB07 /* ArrayExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF7215047FE0014EB07 /* ArrayExtensions.swift */; }; - BFFDBCD1227B50410014EB07 /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1D6D9021BB344D0014EB07 /* Preferences.swift */; }; - BFFDBCD2227B50410014EB07 /* DetectJava.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCB01215060190014EB07 /* DetectJava.swift */; }; - BFFDBCD3227B50410014EB07 /* Subprocess.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAE8215040670014EB07 /* Subprocess.swift */; }; - BFFDBCD4227B50410014EB07 /* TaskPipeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAEA215041630014EB07 /* TaskPipeline.swift */; }; - BFFDBCD5227B50410014EB07 /* Subprocess+CompactAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAEC215041C10014EB07 /* Subprocess+CompactAPI.swift */; }; - BFFDBCD6227B50410014EB07 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAEE215041E30014EB07 /* Error.swift */; }; - BFFDBCD7227B50410014EB07 /* ExecutionResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF02150420C0014EB07 /* ExecutionResult.swift */; }; - BFFDBCD8227B50410014EB07 /* AppleStuffExceptionHandler.h in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF22150422C0014EB07 /* AppleStuffExceptionHandler.h */; }; - BFFDBCD9227B50410014EB07 /* AppleStuffExceptionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCAF3215042670014EB07 /* AppleStuffExceptionHandler.m */; }; - BFFDBCDB227B50EE0014EB07 /* I2PLauncher-Bridging-Header.h in Sources */ = {isa = PBXBuildFile; fileRef = BFF45818213C428E0014EB07 /* I2PLauncher-Bridging-Header.h */; }; - BFFDBCDC227B50FB0014EB07 /* Identifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF99FD4322708AB10014EB07 /* Identifiers.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - BFAA37F2226891760014EB07 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BF5061602113C48E0014EB07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = BFAA37E6226891760014EB07; - remoteInfo = "I2PSnark-Share"; - }; - BFD28996227810AF0014EB07 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BF5061602113C48E0014EB07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = BFAA37E6226891760014EB07; - remoteInfo = "I2PSnark-Share"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - BF99FD3A227087A40014EB07 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - BFA5226D21CD44610014EB07 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = Contents/Library/LoginItems; - dstSubfolderSpec = 1; - files = ( - BFA5226E21CD44740014EB07 /* StartupItemApp.app in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BFAA37F8226891760014EB07 /* Embed App Extensions */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 13; - files = ( - BFAA37F4226891760014EB07 /* I2PSnark-Share.appex in Embed App Extensions */, - ); - name = "Embed App Extensions"; - runOnlyForDeploymentPostprocessing = 0; - }; - BFD289932277BEDA0014EB07 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - BFD289922277BEDA0014EB07 /* Sparkle.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - BFD289DA227810AF0014EB07 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = Contents/Library/LoginItems; - dstSubfolderSpec = 1; - files = ( - BFD289DB227810AF0014EB07 /* StartupItemApp.app in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BFD289DC227810AF0014EB07 /* Embed App Extensions */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 13; - files = ( - BFD289DD227810AF0014EB07 /* I2PSnark-Share.appex in Embed App Extensions */, - ); - name = "Embed App Extensions"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 46DE721B10FF505B06389B92 /* Pods-I2PLauncher.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-I2PLauncher.release.xcconfig"; path = "Pods/Target Support Files/Pods-I2PLauncher/Pods-I2PLauncher.release.xcconfig"; sourceTree = "<group>"; }; - AF1CEEADE02906132180EEE5 /* Pods_I2PLauncher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_I2PLauncher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BF07789621506C810014EB07 /* Storyboard.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Storyboard.storyboard; sourceTree = "<group>"; }; - BF07789C21506D2B0014EB07 /* PopoverViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopoverViewController.swift; sourceTree = "<group>"; }; - BF0956E621EAD3590014EB07 /* profile.tgz */ = {isa = PBXFileReference; lastKnownFileType = file; path = profile.tgz; sourceTree = "<group>"; }; - BF14B70B215C98DC0014EB07 /* LoggerWorker.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = LoggerWorker.hpp; path = I2PLauncher/ObjectiveC/LoggerWorker.hpp; sourceTree = SOURCE_ROOT; }; - BF14B70C215C98DC0014EB07 /* Logger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Logger.h; path = I2PLauncher/ObjectiveC/Logger.h; sourceTree = SOURCE_ROOT; }; - BF14B70D215C98DC0014EB07 /* LoggerWorker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LoggerWorker.cpp; path = I2PLauncher/ObjectiveC/LoggerWorker.cpp; sourceTree = SOURCE_ROOT; }; - BF14B70E215C98DC0014EB07 /* Logger.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = Logger.mm; path = I2PLauncher/ObjectiveC/Logger.mm; sourceTree = SOURCE_ROOT; }; - BF14B711215D9E040014EB07 /* FolderContentMonitor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FolderContentMonitor.swift; sourceTree = "<group>"; }; - BF14B714215DA3330014EB07 /* version.h.tpl */ = {isa = PBXFileReference; lastKnownFileType = text; path = version.h.tpl; sourceTree = "<group>"; }; - BF1D6D8E21BB32460014EB07 /* Preferences.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Preferences.storyboard; sourceTree = "<group>"; }; - BF1D6D9021BB344D0014EB07 /* Preferences.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = "<group>"; }; - BF1D6D9221BB36880014EB07 /* PreferencesViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesViewController.swift; sourceTree = "<group>"; }; - BF1D6D9421BB379A0014EB07 /* PreferencesWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesWindowController.swift; sourceTree = "<group>"; }; - BF1D6D9821BB7DC10014EB07 /* FirefoxManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirefoxManager.swift; sourceTree = "<group>"; }; - BF1D6D9A21BB86520014EB07 /* ConsoleWebView.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = ConsoleWebView.storyboard; sourceTree = "<group>"; }; - BF1D6D9C21BB87000014EB07 /* EmbeddedConsoleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmbeddedConsoleView.swift; sourceTree = "<group>"; }; - BF1D6D9E21BBA1460014EB07 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; - BF1D6DA221BBB8120014EB07 /* AdvancedTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdvancedTableView.swift; sourceTree = "<group>"; }; - BF1D6DA421BBB84E0014EB07 /* PreferencesViewController+TableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PreferencesViewController+TableView.swift"; sourceTree = "<group>"; }; - BF1EFA38215140E60014EB07 /* SBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBridge.h; path = I2PLauncher/ObjectiveC/SBridge.h; sourceTree = SOURCE_ROOT; }; - BF1EFA39215140E60014EB07 /* SBridge.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SBridge.mm; path = I2PLauncher/ObjectiveC/SBridge.mm; sourceTree = SOURCE_ROOT; }; - BF1EFA3B215141100014EB07 /* RouterTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RouterTask.h; path = I2PLauncher/ObjectiveC/RouterTask.h; sourceTree = SOURCE_ROOT; }; - BF1EFA3D215141100014EB07 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = SOURCE_ROOT; }; - BF1EFA3E215141100014EB07 /* RouterTask.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RouterTask.mm; path = I2PLauncher/ObjectiveC/RouterTask.mm; sourceTree = SOURCE_ROOT; }; - BF1EFA3F215141110014EB07 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = I2PLauncher/ObjectiveC/AppDelegate.h; sourceTree = SOURCE_ROOT; }; - BF1EFA42215141220014EB07 /* include */ = {isa = PBXFileReference; lastKnownFileType = folder; path = include; sourceTree = SOURCE_ROOT; }; - BF1EFA44215141630014EB07 /* base.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = base.zip; sourceTree = "<group>"; }; - BF1EFA45215141640014EB07 /* ItoopieTransparent.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ItoopieTransparent.png; sourceTree = "<group>"; }; - BF1EFA46215141640014EB07 /* launcher.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; path = launcher.jar; sourceTree = "<group>"; }; - BF3143FD2160C1BD0014EB07 /* DownloadJavaViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadJavaViewController.swift; sourceTree = "<group>"; }; - BF3143FF2160CA350014EB07 /* logger_c.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = logger_c.h; sourceTree = "<group>"; }; - BF5061682113C48E0014EB07 /* I2PLauncher.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = I2PLauncher.app; sourceTree = BUILT_PRODUCTS_DIR; }; - BF50616F2113C48E0014EB07 /* I2PLauncher.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = I2PLauncher.xcdatamodel; sourceTree = "<group>"; }; - BF5061712113C4900014EB07 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; - BF5061742113C4900014EB07 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UserInterfaces.xib; sourceTree = "<group>"; }; - BF5061762113C4900014EB07 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - BF5061792113C4900014EB07 /* I2PLauncher.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = I2PLauncher.entitlements; sourceTree = "<group>"; }; - BF5061952113C84E0014EB07 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; - BF5315062150C55B0014EB07 /* RouterRunner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouterRunner.swift; sourceTree = "<group>"; }; - BF53150C2150CE310014EB07 /* DateTimeUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateTimeUtils.swift; sourceTree = "<group>"; }; - BF5315122150EB510014EB07 /* RouterProcessStatus+ObjectiveC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "RouterProcessStatus+ObjectiveC.swift"; sourceTree = "<group>"; }; - BF531514215105B40014EB07 /* LogViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogViewController.swift; sourceTree = "<group>"; }; - BF650CA52152AC7D0014EB07 /* bumpInfoPlist.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = bumpInfoPlist.sh; sourceTree = SOURCE_ROOT; }; - BF650CA72152AC7D0014EB07 /* Deployer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = Deployer.mm; path = I2PLauncher/ObjectiveC/Deployer.mm; sourceTree = SOURCE_ROOT; }; - BF650CA82152AC7D0014EB07 /* Deployer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Deployer.h; path = I2PLauncher/ObjectiveC/Deployer.h; sourceTree = SOURCE_ROOT; }; - BF7506CA21509CFD0014EB07 /* RouterProcessStatus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouterProcessStatus.swift; sourceTree = "<group>"; }; - BF865414215180F60014EB07 /* libswiftDarwin.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libswiftDarwin.tbd; path = System/Library/PrivateFrameworks/Swift/libswiftDarwin.tbd; sourceTree = SDKROOT; }; - BF865416215182820014EB07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - BF99FD3C227087A40014EB07 /* RouterWrapper */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = RouterWrapper; sourceTree = BUILT_PRODUCTS_DIR; }; - BF99FD3E227087A40014EB07 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; }; - BF99FD4322708AB10014EB07 /* Identifiers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Identifiers.swift; sourceTree = "<group>"; }; - BF99FD4622708DA70014EB07 /* DispatchQueue+delay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DispatchQueue+delay.swift"; sourceTree = "<group>"; }; - BFA392FB2259E89B0014EB07 /* NetworkUtil.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkUtil.swift; sourceTree = "<group>"; }; - BFA5225F21CD43480014EB07 /* StartupItemApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StartupItemApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; - BFA5226121CD43480014EB07 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; - BFA5226321CD434A0014EB07 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; - BFA5226821CD434A0014EB07 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - BFA5226921CD434A0014EB07 /* StartupItemApp.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = StartupItemApp.entitlements; sourceTree = "<group>"; }; - BFA5226F21CDBF450014EB07 /* Startup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Startup.swift; sourceTree = "<group>"; }; - BFAA37E7226891760014EB07 /* I2PSnark-Share.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "I2PSnark-Share.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; - BFAA37E9226891760014EB07 /* icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = icon.icns; sourceTree = "<group>"; }; - BFAA37EB226891760014EB07 /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = "<group>"; }; - BFAA37EE226891760014EB07 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ShareViewController.xib; sourceTree = "<group>"; }; - BFAA37F0226891760014EB07 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - BFAA37F1226891760014EB07 /* I2PSnark_Share.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = I2PSnark_Share.entitlements; sourceTree = "<group>"; }; - BFBDCAE8215040670014EB07 /* Subprocess.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Subprocess.swift; sourceTree = "<group>"; }; - BFBDCAEA215041630014EB07 /* TaskPipeline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TaskPipeline.swift; sourceTree = "<group>"; }; - BFBDCAEC215041C10014EB07 /* Subprocess+CompactAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Subprocess+CompactAPI.swift"; sourceTree = "<group>"; }; - BFBDCAEE215041E30014EB07 /* Error.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error.swift; sourceTree = "<group>"; }; - BFBDCAF02150420C0014EB07 /* ExecutionResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExecutionResult.swift; sourceTree = "<group>"; }; - BFBDCAF22150422C0014EB07 /* AppleStuffExceptionHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppleStuffExceptionHandler.h; sourceTree = "<group>"; }; - BFBDCAF3215042670014EB07 /* AppleStuffExceptionHandler.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppleStuffExceptionHandler.m; sourceTree = "<group>"; }; - BFBDCAF52150428D0014EB07 /* StringExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringExtensions.swift; sourceTree = "<group>"; }; - BFBDCAF7215047FE0014EB07 /* ArrayExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArrayExtensions.swift; sourceTree = "<group>"; }; - BFBDCAF9215050810014EB07 /* ReflectionFunctions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReflectionFunctions.swift; sourceTree = "<group>"; }; - BFBDCAFD2150567D0014EB07 /* SwiftApplicationDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftApplicationDelegate.swift; sourceTree = "<group>"; }; - BFBDCAFF21505BED0014EB07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; - BFBDCB01215060190014EB07 /* DetectJava.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetectJava.swift; sourceTree = "<group>"; }; - BFBDCB03215060970014EB07 /* StatusBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatusBarController.swift; sourceTree = "<group>"; }; - BFD289902277BED90014EB07 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sparkle.framework; sourceTree = "<group>"; }; - BFD289E4227810AF0014EB07 /* I2PLauncher-Appstore.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "I2PLauncher-Appstore.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - BFD289E5227810B00014EB07 /* I2PLauncher copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "I2PLauncher copy-Info.plist"; path = "/Volumes/localzfs/Projects/I2P/i2p.i2p/launchers/macosx/I2PLauncher copy-Info.plist"; sourceTree = "<absolute>"; }; - BFD289E6227812C10014EB07 /* SwitchableTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwitchableTableViewController.swift; sourceTree = "<group>"; }; - BFD289E8227812F20014EB07 /* ServiceTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServiceTableViewController.swift; sourceTree = "<group>"; }; - BFD289EA227813A60014EB07 /* BottomBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomBar.swift; sourceTree = "<group>"; }; - BFD289EC227813EB0014EB07 /* AppearanceObserver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppearanceObserver.swift; sourceTree = "<group>"; }; - BFD289EE227814240014EB07 /* CustomScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomScrollView.swift; sourceTree = "<group>"; }; - BFD289F02278144A0014EB07 /* Icons.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Icons.swift; sourceTree = "<group>"; }; - BFD289F2227814AC0014EB07 /* Service.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Service.swift; sourceTree = "<group>"; }; - BFD289F4227818DA0014EB07 /* StatusIndicator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatusIndicator.swift; sourceTree = "<group>"; }; - BFD289F62278192B0014EB07 /* ServiceTableRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServiceTableRowView.swift; sourceTree = "<group>"; }; - BFD289F82278194D0014EB07 /* StatusTableCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatusTableCell.swift; sourceTree = "<group>"; }; - BFD289FC227821410014EB07 /* EditorTableCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditorTableCell.swift; sourceTree = "<group>"; }; - BFD289FE227821690014EB07 /* EditorTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditorTableViewController.swift; sourceTree = "<group>"; }; - BFD28A002278218F0014EB07 /* SectionHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SectionHeaderView.swift; sourceTree = "<group>"; }; - BFD28A02227821D00014EB07 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; }; - BFD28A052278269A0014EB07 /* RouterServices.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = RouterServices.plist; sourceTree = "<group>"; }; - BFD28A08227830EF0014EB07 /* I2PRouterService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = I2PRouterService.swift; sourceTree = "<group>"; }; - BFD28A0A227833E80014EB07 /* HttpTunnelService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HttpTunnelService.swift; sourceTree = "<group>"; }; - BFD28A0C227834120014EB07 /* IrcTunnelService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IrcTunnelService.swift; sourceTree = "<group>"; }; - BFD899422169EE9F0014EB07 /* LaunchAgent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchAgent.swift; sourceTree = "<group>"; }; - BFD899442169EFE90014EB07 /* LaunchAgent+Status.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LaunchAgent+Status.swift"; sourceTree = "<group>"; }; - BFD899462169F01B0014EB07 /* LaunchAgentManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchAgentManager.swift; sourceTree = "<group>"; }; - BFDD81D92156B3E30014EB07 /* RouterManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouterManager.swift; sourceTree = "<group>"; }; - BFE16BF72156C61E0014EB07 /* RouterStatusView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouterStatusView.swift; sourceTree = "<group>"; }; - BFE16BF92156DAED0014EB07 /* EventManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventManager.swift; sourceTree = "<group>"; }; - BFE16BFD2156FD290014EB07 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sparkle.framework; sourceTree = "<group>"; }; - BFE1CBAC2151908F0014EB07 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; - BFF45818213C428E0014EB07 /* I2PLauncher-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "I2PLauncher-Bridging-Header.h"; sourceTree = "<group>"; }; - D96029CAD8BABBE8D621DBD0 /* Pods-I2PLauncher.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-I2PLauncher.debug.xcconfig"; path = "Pods/Target Support Files/Pods-I2PLauncher/Pods-I2PLauncher.debug.xcconfig"; sourceTree = "<group>"; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - BF5061652113C48E0014EB07 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - BF1D6D9F21BBA1460014EB07 /* WebKit.framework in Frameworks */, - BFE1CBAD2151908F0014EB07 /* CoreFoundation.framework in Frameworks */, - BF865417215182820014EB07 /* Foundation.framework in Frameworks */, - BFD289912277BEDA0014EB07 /* Sparkle.framework in Frameworks */, - BFBDCB0021505BEE0014EB07 /* AppKit.framework in Frameworks */, - BF5061962113C84E0014EB07 /* Cocoa.framework in Frameworks */, - 55459244D38FD36955E91F82 /* Pods_I2PLauncher.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BF99FD39227087A40014EB07 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BFA5225C21CD43480014EB07 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BFAA37E4226891760014EB07 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BFD289C6227810AF0014EB07 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - BFD289C7227810AF0014EB07 /* WebKit.framework in Frameworks */, - BFD289C8227810AF0014EB07 /* CoreFoundation.framework in Frameworks */, - BFD289C9227810AF0014EB07 /* Foundation.framework in Frameworks */, - BFD289CB227810AF0014EB07 /* AppKit.framework in Frameworks */, - BFD289CC227810AF0014EB07 /* Cocoa.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 350F6D42FF1F2A6A9F60613D /* Pods */ = { - isa = PBXGroup; - children = ( - D96029CAD8BABBE8D621DBD0 /* Pods-I2PLauncher.debug.xcconfig */, - 46DE721B10FF505B06389B92 /* Pods-I2PLauncher.release.xcconfig */, - ); - name = Pods; - sourceTree = "<group>"; - }; - BF0778A0215080910014EB07 /* subprocesses */ = { - isa = PBXGroup; - children = ( - BFBDCAE8215040670014EB07 /* Subprocess.swift */, - BFBDCAEA215041630014EB07 /* TaskPipeline.swift */, - BFBDCAEC215041C10014EB07 /* Subprocess+CompactAPI.swift */, - BFBDCAEE215041E30014EB07 /* Error.swift */, - BFBDCAF02150420C0014EB07 /* ExecutionResult.swift */, - BFBDCAF22150422C0014EB07 /* AppleStuffExceptionHandler.h */, - BFBDCAF3215042670014EB07 /* AppleStuffExceptionHandler.m */, - ); - path = subprocesses; - sourceTree = "<group>"; - }; - BF0778A12150897A0014EB07 /* userinterface */ = { - isa = PBXGroup; - children = ( - BFD289FA227820670014EB07 /* Style2019 */, - BF1D6DA121BBAA420014EB07 /* preferences */, - BF07789C21506D2B0014EB07 /* PopoverViewController.swift */, - BFBDCB03215060970014EB07 /* StatusBarController.swift */, - BF531514215105B40014EB07 /* LogViewController.swift */, - BFE16BF72156C61E0014EB07 /* RouterStatusView.swift */, - BF3143FD2160C1BD0014EB07 /* DownloadJavaViewController.swift */, - ); - path = userinterface; - sourceTree = "<group>"; - }; - BF1D6DA021BBA9910014EB07 /* Browser */ = { - isa = PBXGroup; - children = ( - BF1D6D9C21BB87000014EB07 /* EmbeddedConsoleView.swift */, - BF1D6D9A21BB86520014EB07 /* ConsoleWebView.storyboard */, - BF1D6D9821BB7DC10014EB07 /* FirefoxManager.swift */, - ); - path = Browser; - sourceTree = "<group>"; - }; - BF1D6DA121BBAA420014EB07 /* preferences */ = { - isa = PBXGroup; - children = ( - BF1D6D9221BB36880014EB07 /* PreferencesViewController.swift */, - BF1D6DA421BBB84E0014EB07 /* PreferencesViewController+TableView.swift */, - BF1D6D9421BB379A0014EB07 /* PreferencesWindowController.swift */, - BF1D6DA221BBB8120014EB07 /* AdvancedTableView.swift */, - ); - path = preferences; - sourceTree = "<group>"; - }; - BF1D6DA621BBB9F50014EB07 /* launchd */ = { - isa = PBXGroup; - children = ( - BFD899422169EE9F0014EB07 /* LaunchAgent.swift */, - BFD899442169EFE90014EB07 /* LaunchAgent+Status.swift */, - BFD899462169F01B0014EB07 /* LaunchAgentManager.swift */, - ); - path = launchd; - sourceTree = "<group>"; - }; - BF50615F2113C48E0014EB07 = { - isa = PBXGroup; - children = ( - BFD289902277BED90014EB07 /* Sparkle.framework */, - BFAA380022689DFA0014EB07 /* CommonCode */, - BF0956E621EAD3590014EB07 /* profile.tgz */, - BF14B714215DA3330014EB07 /* version.h.tpl */, - BF1EFA44215141630014EB07 /* base.zip */, - BF1EFA45215141640014EB07 /* ItoopieTransparent.png */, - BF1EFA46215141640014EB07 /* launcher.jar */, - BF50616A2113C48E0014EB07 /* I2PLauncher */, - BFA5226021CD43480014EB07 /* StartupItemApp */, - BFAA37E8226891760014EB07 /* I2PSnark-Share */, - BF99FD3D227087A40014EB07 /* RouterWrapper */, - BF5061692113C48E0014EB07 /* Products */, - BF5061922113C6ED0014EB07 /* Frameworks */, - BFD289E5227810B00014EB07 /* I2PLauncher copy-Info.plist */, - 350F6D42FF1F2A6A9F60613D /* Pods */, - ); - sourceTree = "<group>"; - }; - BF5061692113C48E0014EB07 /* Products */ = { - isa = PBXGroup; - children = ( - BF5061682113C48E0014EB07 /* I2PLauncher.app */, - BFA5225F21CD43480014EB07 /* StartupItemApp.app */, - BFAA37E7226891760014EB07 /* I2PSnark-Share.appex */, - BF99FD3C227087A40014EB07 /* RouterWrapper */, - BFD289E4227810AF0014EB07 /* I2PLauncher-Appstore.app */, - ); - name = Products; - sourceTree = "<group>"; - }; - BF50616A2113C48E0014EB07 /* I2PLauncher */ = { - isa = PBXGroup; - children = ( - BFFDBCDD227B5BB90014EB07 /* ObjectiveC */, - BF650CA52152AC7D0014EB07 /* bumpInfoPlist.sh */, - BF1EFA42215141220014EB07 /* include */, - BF1EFA3D215141100014EB07 /* main.mm */, - BF5315042150C4860014EB07 /* routermgmt */, - BF0778A12150897A0014EB07 /* userinterface */, - BF0778A0215080910014EB07 /* subprocesses */, - BF5061712113C4900014EB07 /* Assets.xcassets */, - BFF45818213C428E0014EB07 /* I2PLauncher-Bridging-Header.h */, - BF5061792113C4900014EB07 /* I2PLauncher.entitlements */, - BF50616E2113C48E0014EB07 /* I2PLauncher.xcdatamodeld */, - BF5061732113C4900014EB07 /* UserInterfaces.xib */, - BF5061762113C4900014EB07 /* Info.plist */, - BFD28A04227826640014EB07 /* Resources */, - BFBDCAFD2150567D0014EB07 /* SwiftApplicationDelegate.swift */, - BF99FD4322708AB10014EB07 /* Identifiers.swift */, - ); - path = I2PLauncher; - sourceTree = "<group>"; - }; - BF5061922113C6ED0014EB07 /* Frameworks */ = { - isa = PBXGroup; - children = ( - BF1D6D9E21BBA1460014EB07 /* WebKit.framework */, - BFE16BFD2156FD290014EB07 /* Sparkle.framework */, - BFE1CBAC2151908F0014EB07 /* CoreFoundation.framework */, - BF865416215182820014EB07 /* Foundation.framework */, - BF865414215180F60014EB07 /* libswiftDarwin.tbd */, - BFBDCAFF21505BED0014EB07 /* AppKit.framework */, - BF5061952113C84E0014EB07 /* Cocoa.framework */, - AF1CEEADE02906132180EEE5 /* Pods_I2PLauncher.framework */, - ); - name = Frameworks; - sourceTree = "<group>"; - }; - BF5315042150C4860014EB07 /* routermgmt */ = { - isa = PBXGroup; - children = ( - BFD28A07227830DB0014EB07 /* RouterServices */, - BF1D6DA621BBB9F50014EB07 /* launchd */, - BFBDCB01215060190014EB07 /* DetectJava.swift */, - BF7506CA21509CFD0014EB07 /* RouterProcessStatus.swift */, - BF5315122150EB510014EB07 /* RouterProcessStatus+ObjectiveC.swift */, - BF5315062150C55B0014EB07 /* RouterRunner.swift */, - BFDD81D92156B3E30014EB07 /* RouterManager.swift */, - BFA392FB2259E89B0014EB07 /* NetworkUtil.swift */, - BFD289F2227814AC0014EB07 /* Service.swift */, - ); - path = routermgmt; - sourceTree = "<group>"; - }; - BF5315052150C4AB0014EB07 /* Utils */ = { - isa = PBXGroup; - children = ( - BFBDCAF9215050810014EB07 /* ReflectionFunctions.swift */, - BFBDCAF52150428D0014EB07 /* StringExtensions.swift */, - BFBDCAF7215047FE0014EB07 /* ArrayExtensions.swift */, - BF53150C2150CE310014EB07 /* DateTimeUtils.swift */, - BFE16BF92156DAED0014EB07 /* EventManager.swift */, - BF14B711215D9E040014EB07 /* FolderContentMonitor.swift */, - BF1D6D9021BB344D0014EB07 /* Preferences.swift */, - BFA5226F21CDBF450014EB07 /* Startup.swift */, - BF99FD4622708DA70014EB07 /* DispatchQueue+delay.swift */, - ); - path = Utils; - sourceTree = "<group>"; - }; - BF99FD3D227087A40014EB07 /* RouterWrapper */ = { - isa = PBXGroup; - children = ( - BF99FD3E227087A40014EB07 /* main.swift */, - ); - path = RouterWrapper; - sourceTree = "<group>"; - }; - BFA5226021CD43480014EB07 /* StartupItemApp */ = { - isa = PBXGroup; - children = ( - BFA5226121CD43480014EB07 /* AppDelegate.swift */, - BFA5226321CD434A0014EB07 /* Assets.xcassets */, - BFA5226821CD434A0014EB07 /* Info.plist */, - BFA5226921CD434A0014EB07 /* StartupItemApp.entitlements */, - ); - path = StartupItemApp; - sourceTree = "<group>"; - }; - BFAA37E8226891760014EB07 /* I2PSnark-Share */ = { - isa = PBXGroup; - children = ( - BFAA37E9226891760014EB07 /* icon.icns */, - BFAA37EB226891760014EB07 /* ShareViewController.swift */, - BFAA37ED226891760014EB07 /* ShareViewController.xib */, - BFAA37F0226891760014EB07 /* Info.plist */, - BFAA37F1226891760014EB07 /* I2PSnark_Share.entitlements */, - ); - path = "I2PSnark-Share"; - sourceTree = "<group>"; - }; - BFAA380022689DFA0014EB07 /* CommonCode */ = { - isa = PBXGroup; - children = ( - BF1D6DA021BBA9910014EB07 /* Browser */, - BF5315052150C4AB0014EB07 /* Utils */, - ); - path = CommonCode; - sourceTree = "<group>"; - }; - BFD289FA227820670014EB07 /* Style2019 */ = { - isa = PBXGroup; - children = ( - BFD289FB227821330014EB07 /* EditorTableView */, - BFD289EC227813EB0014EB07 /* AppearanceObserver.swift */, - BFD289EE227814240014EB07 /* CustomScrollView.swift */, - BFD289F02278144A0014EB07 /* Icons.swift */, - BFD289F4227818DA0014EB07 /* StatusIndicator.swift */, - BFD289E6227812C10014EB07 /* SwitchableTableViewController.swift */, - BFD289E8227812F20014EB07 /* ServiceTableViewController.swift */, - BFD289F62278192B0014EB07 /* ServiceTableRowView.swift */, - BFD289F82278194D0014EB07 /* StatusTableCell.swift */, - BFD289EA227813A60014EB07 /* BottomBar.swift */, - ); - path = Style2019; - sourceTree = "<group>"; - }; - BFD289FB227821330014EB07 /* EditorTableView */ = { - isa = PBXGroup; - children = ( - BFD289FC227821410014EB07 /* EditorTableCell.swift */, - BFD289FE227821690014EB07 /* EditorTableViewController.swift */, - BFD28A002278218F0014EB07 /* SectionHeaderView.swift */, - BFD28A02227821D00014EB07 /* SettingsView.swift */, - ); - path = EditorTableView; - sourceTree = "<group>"; - }; - BFD28A04227826640014EB07 /* Resources */ = { - isa = PBXGroup; - children = ( - BF1D6D8E21BB32460014EB07 /* Preferences.storyboard */, - BF07789621506C810014EB07 /* Storyboard.storyboard */, - BFD28A052278269A0014EB07 /* RouterServices.plist */, - ); - path = Resources; - sourceTree = "<group>"; - }; - BFD28A07227830DB0014EB07 /* RouterServices */ = { - isa = PBXGroup; - children = ( - BFD28A08227830EF0014EB07 /* I2PRouterService.swift */, - BFD28A0A227833E80014EB07 /* HttpTunnelService.swift */, - BFD28A0C227834120014EB07 /* IrcTunnelService.swift */, - ); - path = RouterServices; - sourceTree = "<group>"; - }; - BFFDBCDD227B5BB90014EB07 /* ObjectiveC */ = { - isa = PBXGroup; - children = ( - BF14B70E215C98DC0014EB07 /* Logger.mm */, - BF14B70C215C98DC0014EB07 /* Logger.h */, - BF650CA82152AC7D0014EB07 /* Deployer.h */, - BF650CA72152AC7D0014EB07 /* Deployer.mm */, - BF1EFA3B215141100014EB07 /* RouterTask.h */, - BF1EFA3E215141100014EB07 /* RouterTask.mm */, - BF1EFA3F215141110014EB07 /* AppDelegate.h */, - BF3143FF2160CA350014EB07 /* logger_c.h */, - BF1EFA38215140E60014EB07 /* SBridge.h */, - BF14B70D215C98DC0014EB07 /* LoggerWorker.cpp */, - BF14B70B215C98DC0014EB07 /* LoggerWorker.hpp */, - BF1EFA39215140E60014EB07 /* SBridge.mm */, - ); - path = ObjectiveC; - sourceTree = "<group>"; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - BF5061672113C48E0014EB07 /* I2PLauncher */ = { - isa = PBXNativeTarget; - buildConfigurationList = BF50617C2113C4900014EB07 /* Build configuration list for PBXNativeTarget "I2PLauncher" */; - buildPhases = ( - F1677B10B8ACD49E0ACEC82A /* [CP] Check Pods Manifest.lock */, - BF14B713215DA1460014EB07 /* ShellScript */, - BF5061642113C48E0014EB07 /* Sources */, - BF5061652113C48E0014EB07 /* Frameworks */, - BF1EFA4B215142030014EB07 /* ShellScript */, - BF5061662113C48E0014EB07 /* Resources */, - BFA5226D21CD44610014EB07 /* CopyFiles */, - BFAA37F8226891760014EB07 /* Embed App Extensions */, - BFD289932277BEDA0014EB07 /* Embed Frameworks */, - C3823A85B1B52D669B6C412F /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - BFAA37F3226891760014EB07 /* PBXTargetDependency */, - ); - name = I2PLauncher; - productName = I2PLauncher; - productReference = BF5061682113C48E0014EB07 /* I2PLauncher.app */; - productType = "com.apple.product-type.application"; - }; - BF99FD3B227087A40014EB07 /* RouterWrapper */ = { - isa = PBXNativeTarget; - buildConfigurationList = BF99FD40227087A40014EB07 /* Build configuration list for PBXNativeTarget "RouterWrapper" */; - buildPhases = ( - BF99FD38227087A40014EB07 /* Sources */, - BF99FD39227087A40014EB07 /* Frameworks */, - BF99FD3A227087A40014EB07 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = RouterWrapper; - productName = RouterWrapper; - productReference = BF99FD3C227087A40014EB07 /* RouterWrapper */; - productType = "com.apple.product-type.tool"; - }; - BFA5225E21CD43480014EB07 /* StartupItemApp */ = { - isa = PBXNativeTarget; - buildConfigurationList = BFA5226C21CD434A0014EB07 /* Build configuration list for PBXNativeTarget "StartupItemApp" */; - buildPhases = ( - BFA5225B21CD43480014EB07 /* Sources */, - BFA5225C21CD43480014EB07 /* Frameworks */, - BFA5225D21CD43480014EB07 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = StartupItemApp; - productName = StartupItemApp; - productReference = BFA5225F21CD43480014EB07 /* StartupItemApp.app */; - productType = "com.apple.product-type.application"; - }; - BFAA37E6226891760014EB07 /* I2PSnark-Share */ = { - isa = PBXNativeTarget; - buildConfigurationList = BFAA37F7226891760014EB07 /* Build configuration list for PBXNativeTarget "I2PSnark-Share" */; - buildPhases = ( - BFAA37E3226891760014EB07 /* Sources */, - BFAA37E4226891760014EB07 /* Frameworks */, - BFAA37E5226891760014EB07 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "I2PSnark-Share"; - productName = "I2PSnark-Share"; - productReference = BFAA37E7226891760014EB07 /* I2PSnark-Share.appex */; - productType = "com.apple.product-type.app-extension"; - }; - BFD28994227810AF0014EB07 /* I2PLauncher-Appstore */ = { - isa = PBXNativeTarget; - buildConfigurationList = BFD289E1227810AF0014EB07 /* Build configuration list for PBXNativeTarget "I2PLauncher-Appstore" */; - buildPhases = ( - BFD28998227810AF0014EB07 /* ShellScript */, - BFD28999227810AF0014EB07 /* Sources */, - BFD289C6227810AF0014EB07 /* Frameworks */, - BFD289CE227810AF0014EB07 /* ShellScript */, - BFD289CF227810AF0014EB07 /* Resources */, - BFD289DA227810AF0014EB07 /* CopyFiles */, - BFD289DC227810AF0014EB07 /* Embed App Extensions */, - ); - buildRules = ( - ); - dependencies = ( - BFD28995227810AF0014EB07 /* PBXTargetDependency */, - ); - name = "I2PLauncher-Appstore"; - productName = I2PLauncher; - productReference = BFD289E4227810AF0014EB07 /* I2PLauncher-Appstore.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - BF5061602113C48E0014EB07 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1010; - LastUpgradeCheck = 1100; - ORGANIZATIONNAME = "The I2P Project"; - TargetAttributes = { - BF5061672113C48E0014EB07 = { - CreatedOnToolsVersion = 9.4.1; - DevelopmentTeam = W3C42P2LA8; - LastSwiftMigration = 0940; - ProvisioningStyle = Manual; - SystemCapabilities = { - com.apple.ApplicationGroups.Mac = { - enabled = 0; - }; - com.apple.HardenedRuntime = { - enabled = 1; - }; - com.apple.NetworkExtensions = { - enabled = 0; - }; - com.apple.Sandbox = { - enabled = 0; - }; - }; - }; - BF99FD3B227087A40014EB07 = { - CreatedOnToolsVersion = 10.1; - DevelopmentTeam = W3C42P2LA8; - ProvisioningStyle = Manual; - }; - BFA5225E21CD43480014EB07 = { - CreatedOnToolsVersion = 10.1; - DevelopmentTeam = W3C42P2LA8; - ProvisioningStyle = Manual; - SystemCapabilities = { - com.apple.ApplicationGroups.Mac = { - enabled = 1; - }; - }; - }; - BFAA37E6226891760014EB07 = { - CreatedOnToolsVersion = 10.1; - DevelopmentTeam = W3C42P2LA8; - ProvisioningStyle = Manual; - SystemCapabilities = { - com.apple.ApplicationGroups.Mac = { - enabled = 1; - }; - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - BFD28994227810AF0014EB07 = { - DevelopmentTeam = W3C42P2LA8; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = BF5061632113C48E0014EB07 /* Build configuration list for PBXProject "I2PLauncher" */; - compatibilityVersion = "Xcode 6.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = BF50615F2113C48E0014EB07; - productRefGroup = BF5061692113C48E0014EB07 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - BF5061672113C48E0014EB07 /* I2PLauncher */, - BFA5225E21CD43480014EB07 /* StartupItemApp */, - BFAA37E6226891760014EB07 /* I2PSnark-Share */, - BF99FD3B227087A40014EB07 /* RouterWrapper */, - BFD28994227810AF0014EB07 /* I2PLauncher-Appstore */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - BF5061662113C48E0014EB07 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BF0956E721EAD3590014EB07 /* profile.tgz in Resources */, - BF86541321515CA00014EB07 /* launcher.jar in Resources */, - BF650CA92152AC7D0014EB07 /* bumpInfoPlist.sh in Resources */, - BF07789721506C810014EB07 /* Storyboard.storyboard in Resources */, - BF5061722113C4900014EB07 /* Assets.xcassets in Resources */, - BF5061752113C4900014EB07 /* UserInterfaces.xib in Resources */, - BF1EFA48215141640014EB07 /* ItoopieTransparent.png in Resources */, - BF1EFA47215141640014EB07 /* base.zip in Resources */, - BFD28A062278269A0014EB07 /* RouterServices.plist in Resources */, - BF1D6D8F21BB32460014EB07 /* Preferences.storyboard in Resources */, - BF1D6D9B21BB86520014EB07 /* ConsoleWebView.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BFA5225D21CD43480014EB07 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BFA5226421CD434A0014EB07 /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BFAA37E5226891760014EB07 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BFAA37EF226891760014EB07 /* ShareViewController.xib in Resources */, - BFAA37EA226891760014EB07 /* icon.icns in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BFD289CF227810AF0014EB07 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BFD289D0227810AF0014EB07 /* profile.tgz in Resources */, - BFD289D1227810AF0014EB07 /* launcher.jar in Resources */, - BFD289D2227810AF0014EB07 /* bumpInfoPlist.sh in Resources */, - BFD289D3227810AF0014EB07 /* Storyboard.storyboard in Resources */, - BFD289D4227810AF0014EB07 /* Assets.xcassets in Resources */, - BFD289D5227810AF0014EB07 /* UserInterfaces.xib in Resources */, - BFD289D6227810AF0014EB07 /* ItoopieTransparent.png in Resources */, - BFD289D7227810AF0014EB07 /* base.zip in Resources */, - BFD289D8227810AF0014EB07 /* Preferences.storyboard in Resources */, - BFD289D9227810AF0014EB07 /* ConsoleWebView.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - BF14B713215DA1460014EB07 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Type a script or drag a script file from your workspace to insert its path.\nversion=`/usr/libexec/PlistBuddy -c \"Print I2PRouterVersion\" \"${INFOPLIST_FILE}\"`\ncommit=`mtn heads --branch=i2p.i2p | awk '{ print $1 }' | head -n 1`\nbuildinfo=\"Built $(date), $commit\"\n\n# Use cat to avoid any potential alias of cp asking for overwrite of file.\ncat $SRCROOT/version.h.tpl > $SRCROOT/version.h\nsed -i '' \"s#VERSION_REPLACED_BY_XCODE_BUILD_SCRIPT#$version#g\" $SRCROOT/version.h\nsed -i '' \"s#BUILD_INFO_REPLACED_BY_XCODE_BUILD_SCRIPT#$buildinfo#\" $SRCROOT/version.h\n\n$SRCROOT/check_latest_java.sh\n\n"; - }; - BF1EFA4B215142030014EB07 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run from launchers/macosx\nset -x\n\n# Warning to keep clean files\nfind \"${SRCROOT}\" \\( -name \"*.h\" -or -name \"*.m\" \\) -print0 | xargs -0 wc -l | awk '$1 > 200 && $2 != \"total\" { print $2 \":1: warning: file more than 200 lines\" }'\n\nif [ ! -z \"${REPACK_I2P}\" ]; then\n export BUILDDIR=$(pwd)\n export MACOSX_SOURCE_DIR=$SRCROOT\n export I2P_SOURCE_DIR=$(realpath $SRCROOT/../..)\n echo \"I2P Source directory: ${I2P_SOURCE_DIR}\"\n cd $MACOSX_SOURCE_DIR/..\n # TODO: Find out why sbt hangs when executed in cli\n #./sbt \";macosx:assembly\"\n cd ..\n cd $I2P_SOURCE_DIR\n ant distclean preppkg-osx jbigi-osx-only\n cp build/jbigi.jar pkg-temp/lib/jbigi.jar\n cd pkg-temp\n rm -f $BUILDDIR/base.zip\n zip -r -v -9 $BUILDDIR/base.zip *\n cd $MACOSX_SOURCE_DIR\n cp $MACOSX_SOURCE_DIR/target/scala-2.11/routerLauncher-assembly-0.1.0-SNAPSHOT.jar $BUILDDIR/launcher.jar\nfi\n\necho $MARKETING_VERSION > $SRCROOT/.build_version\n"; - }; - BFD28998227810AF0014EB07 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Type a script or drag a script file from your workspace to insert its path.\nversion=`/usr/libexec/PlistBuddy -c \"Print I2PRouterVersion\" \"${INFOPLIST_FILE}\"`\ncommit=`mtn heads --branch=i2p.i2p | awk '{ print $1 }' | head -n 1`\nbuildinfo=\"Built $(date), $commit\"\n\n# Use cat to avoid any potential alias of cp asking for overwrite of file.\ncat $SRCROOT/version.h.tpl > $SRCROOT/version.h\nsed -i '' \"s#VERSION_REPLACED_BY_XCODE_BUILD_SCRIPT#$version#g\" $SRCROOT/version.h\nsed -i '' \"s#BUILD_INFO_REPLACED_BY_XCODE_BUILD_SCRIPT#$buildinfo#\" $SRCROOT/version.h\n\n$SRCROOT/check_latest_java.sh\n\n"; - }; - BFD289CE227810AF0014EB07 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run from launchers/macosx\nset -x\n\n# Warning to keep clean files\nfind \"${SRCROOT}\" \\( -name \"*.h\" -or -name \"*.m\" \\) -print0 | xargs -0 wc -l | awk '$1 > 200 && $2 != \"total\" { print $2 \":1: warning: file more than 200 lines\" }'\n\nif [ ! -z \"${REPACK_I2P}\" ]; then\n export BUILDDIR=$(pwd)\n export MACOSX_SOURCE_DIR=$SRCROOT\n export I2P_SOURCE_DIR=$(realpath $SRCROOT/../..)\n cd $MACOSX_SOURCE_DIR/..\n # TODO: Find out why sbt hangs when executed in cli\n #./sbt \";macosx:assembly\"\n cd ..\n cd $I2P_SOURCE_DIR\n ant preppkg-osx jbigi-osx-only\n cp build/jbigi.jar pkg-temp/lib/jbigi.jar\n cd pkg-temp\n rm -f $BUILDDIR/base.zip\n zip -r -v -9 $BUILDDIR/base.zip *\n cd $MACOSX_SOURCE_DIR\n cp $MACOSX_SOURCE_DIR/target/scala-2.11/routerLauncher-assembly-0.1.0-SNAPSHOT.jar $BUILDDIR/launcher.jar\nfi\n\n"; - }; - C3823A85B1B52D669B6C412F /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-I2PLauncher/Pods-I2PLauncher-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/Kanna/Kanna.framework", - "${BUILT_PRODUCTS_DIR}/MBPopup/MBPopup.framework", - "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework", - "${BUILT_PRODUCTS_DIR}/SwiftDate/SwiftDate.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kanna.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MBPopup.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftDate.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-I2PLauncher/Pods-I2PLauncher-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - F1677B10B8ACD49E0ACEC82A /* [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-I2PLauncher-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; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - BF5061642113C48E0014EB07 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BFBDCB04215060970014EB07 /* StatusBarController.swift in Sources */, - BFBDCAF8215047FE0014EB07 /* ArrayExtensions.swift in Sources */, - BF5315072150C55B0014EB07 /* RouterRunner.swift in Sources */, - BF99FD4422708AB10014EB07 /* Identifiers.swift in Sources */, - BFE16BFA2156DAED0014EB07 /* EventManager.swift in Sources */, - BFBDCAF12150420C0014EB07 /* ExecutionResult.swift in Sources */, - BFE16BF82156C61E0014EB07 /* RouterStatusView.swift in Sources */, - BFBDCAEF215041E30014EB07 /* Error.swift in Sources */, - BF1EFA41215141110014EB07 /* RouterTask.mm in Sources */, - BFA392FC2259E89B0014EB07 /* NetworkUtil.swift in Sources */, - BF7506CB21509CFD0014EB07 /* RouterProcessStatus.swift in Sources */, - BFD289F3227814AC0014EB07 /* Service.swift in Sources */, - BFBDCAE9215040670014EB07 /* Subprocess.swift in Sources */, - BF1D6D9321BB36880014EB07 /* PreferencesViewController.swift in Sources */, - BF1D6D9921BB7DC10014EB07 /* FirefoxManager.swift in Sources */, - BFBDCAFA215050810014EB07 /* ReflectionFunctions.swift in Sources */, - BFD289E7227812C10014EB07 /* SwitchableTableViewController.swift in Sources */, - BFD289F5227818DA0014EB07 /* StatusIndicator.swift in Sources */, - BFBDCAED215041C10014EB07 /* Subprocess+CompactAPI.swift in Sources */, - BFD28A0D227834120014EB07 /* IrcTunnelService.swift in Sources */, - BFBDCB02215060190014EB07 /* DetectJava.swift in Sources */, - BFD289F12278144A0014EB07 /* Icons.swift in Sources */, - BF07789E21506D2B0014EB07 /* PopoverViewController.swift in Sources */, - BF1D6DA321BBB8120014EB07 /* AdvancedTableView.swift in Sources */, - BF99FD4722708DA70014EB07 /* DispatchQueue+delay.swift in Sources */, - BFD899472169F01B0014EB07 /* LaunchAgentManager.swift in Sources */, - BF650CAB2152AC7D0014EB07 /* Deployer.mm in Sources */, - BF1D6DA521BBB84E0014EB07 /* PreferencesViewController+TableView.swift in Sources */, - BF1EFA40215141110014EB07 /* main.mm in Sources */, - BFD28A012278218F0014EB07 /* SectionHeaderView.swift in Sources */, - BFD28A0B227833E80014EB07 /* HttpTunnelService.swift in Sources */, - BFD289EB227813A60014EB07 /* BottomBar.swift in Sources */, - BFBDCAF4215042670014EB07 /* AppleStuffExceptionHandler.m in Sources */, - BFD289F92278194D0014EB07 /* StatusTableCell.swift in Sources */, - BFD289ED227813EB0014EB07 /* AppearanceObserver.swift in Sources */, - BFD289FF227821690014EB07 /* EditorTableViewController.swift in Sources */, - BF3143FE2160C1BD0014EB07 /* DownloadJavaViewController.swift in Sources */, - BF1D6D9521BB379A0014EB07 /* PreferencesWindowController.swift in Sources */, - BFD289E9227812F20014EB07 /* ServiceTableViewController.swift in Sources */, - BFD28A09227830EF0014EB07 /* I2PRouterService.swift in Sources */, - BFD289F72278192B0014EB07 /* ServiceTableRowView.swift in Sources */, - BF531515215105B40014EB07 /* LogViewController.swift in Sources */, - BFA5227021CDBF450014EB07 /* Startup.swift in Sources */, - BF5315132150EB510014EB07 /* RouterProcessStatus+ObjectiveC.swift in Sources */, - BF1D6D9121BB344D0014EB07 /* Preferences.swift in Sources */, - BFD899452169EFE90014EB07 /* LaunchAgent+Status.swift in Sources */, - BF14B712215D9E040014EB07 /* FolderContentMonitor.swift in Sources */, - BFBDCAFE2150567D0014EB07 /* SwiftApplicationDelegate.swift in Sources */, - BFD899432169EE9F0014EB07 /* LaunchAgent.swift in Sources */, - BFDD81DA2156B3E30014EB07 /* RouterManager.swift in Sources */, - BFD28A03227821D00014EB07 /* SettingsView.swift in Sources */, - BF1EFA3A215140E60014EB07 /* SBridge.mm in Sources */, - BF14B70F215C98DC0014EB07 /* LoggerWorker.cpp in Sources */, - BF1D6D9D21BB87000014EB07 /* EmbeddedConsoleView.swift in Sources */, - BFD289FD227821410014EB07 /* EditorTableCell.swift in Sources */, - BF14B710215C98DC0014EB07 /* Logger.mm in Sources */, - BFD289EF227814240014EB07 /* CustomScrollView.swift in Sources */, - BFBDCAF62150428D0014EB07 /* StringExtensions.swift in Sources */, - BF5061702113C48E0014EB07 /* I2PLauncher.xcdatamodeld in Sources */, - BFBDCAEB215041630014EB07 /* TaskPipeline.swift in Sources */, - BF53150D2150CE310014EB07 /* DateTimeUtils.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BF99FD38227087A40014EB07 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BFFDBCDC227B50FB0014EB07 /* Identifiers.swift in Sources */, - BFFDBCDB227B50EE0014EB07 /* I2PLauncher-Bridging-Header.h in Sources */, - BFFDBCCF227B50410014EB07 /* StringExtensions.swift in Sources */, - BFFDBCD0227B50410014EB07 /* ArrayExtensions.swift in Sources */, - BFFDBCD1227B50410014EB07 /* Preferences.swift in Sources */, - BFFDBCD2227B50410014EB07 /* DetectJava.swift in Sources */, - BFFDBCD3227B50410014EB07 /* Subprocess.swift in Sources */, - BFFDBCD4227B50410014EB07 /* TaskPipeline.swift in Sources */, - BFFDBCD5227B50410014EB07 /* Subprocess+CompactAPI.swift in Sources */, - BFFDBCD6227B50410014EB07 /* Error.swift in Sources */, - BFFDBCD7227B50410014EB07 /* ExecutionResult.swift in Sources */, - BFFDBCD8227B50410014EB07 /* AppleStuffExceptionHandler.h in Sources */, - BFFDBCD9227B50410014EB07 /* AppleStuffExceptionHandler.m in Sources */, - BF99FD3F227087A40014EB07 /* main.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BFA5225B21CD43480014EB07 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BF99FD4522708BA80014EB07 /* Identifiers.swift in Sources */, - BFA5226221CD43480014EB07 /* AppDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BFAA37E3226891760014EB07 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BFAD9C95227C925F0014EB07 /* Identifiers.swift in Sources */, - BFAD9C94227C92480014EB07 /* Preferences.swift in Sources */, - BFAA37FA226892CA0014EB07 /* StringExtensions.swift in Sources */, - BFAA37FB226892CA0014EB07 /* ArrayExtensions.swift in Sources */, - BFAA37FC226892CA0014EB07 /* DateTimeUtils.swift in Sources */, - BFAA37FD226892CA0014EB07 /* EventManager.swift in Sources */, - BFAA37FE226892CA0014EB07 /* FolderContentMonitor.swift in Sources */, - BFAA37EC226891760014EB07 /* ShareViewController.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BFD28999227810AF0014EB07 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BFD2899A227810AF0014EB07 /* StatusBarController.swift in Sources */, - BFD2899B227810AF0014EB07 /* ArrayExtensions.swift in Sources */, - BFD2899C227810AF0014EB07 /* RouterRunner.swift in Sources */, - BFD2899D227810AF0014EB07 /* Identifiers.swift in Sources */, - BFD2899E227810AF0014EB07 /* EventManager.swift in Sources */, - BFD2899F227810AF0014EB07 /* ExecutionResult.swift in Sources */, - BFD289A0227810AF0014EB07 /* RouterStatusView.swift in Sources */, - BFD289A1227810AF0014EB07 /* Error.swift in Sources */, - BFD289A2227810AF0014EB07 /* RouterTask.mm in Sources */, - BFD289A3227810AF0014EB07 /* NetworkUtil.swift in Sources */, - BFD289A4227810AF0014EB07 /* RouterProcessStatus.swift in Sources */, - BFD289A5227810AF0014EB07 /* Subprocess.swift in Sources */, - BFD289A6227810AF0014EB07 /* PreferencesViewController.swift in Sources */, - BFD289A7227810AF0014EB07 /* FirefoxManager.swift in Sources */, - BFD289A8227810AF0014EB07 /* ReflectionFunctions.swift in Sources */, - BFD289A9227810AF0014EB07 /* Subprocess+CompactAPI.swift in Sources */, - BFD289AA227810AF0014EB07 /* DetectJava.swift in Sources */, - BFD289AB227810AF0014EB07 /* PopoverViewController.swift in Sources */, - BFD289AC227810AF0014EB07 /* AdvancedTableView.swift in Sources */, - BFD289AD227810AF0014EB07 /* DispatchQueue+delay.swift in Sources */, - BFD289AE227810AF0014EB07 /* LaunchAgentManager.swift in Sources */, - BFD289AF227810AF0014EB07 /* Deployer.mm in Sources */, - BFD289B0227810AF0014EB07 /* PreferencesViewController+TableView.swift in Sources */, - BFD289B1227810AF0014EB07 /* main.mm in Sources */, - BFD289B2227810AF0014EB07 /* AppleStuffExceptionHandler.m in Sources */, - BFD289B3227810AF0014EB07 /* DownloadJavaViewController.swift in Sources */, - BFD289B4227810AF0014EB07 /* PreferencesWindowController.swift in Sources */, - BFD289B5227810AF0014EB07 /* LogViewController.swift in Sources */, - BFD289B6227810AF0014EB07 /* Startup.swift in Sources */, - BFD289B7227810AF0014EB07 /* RouterProcessStatus+ObjectiveC.swift in Sources */, - BFD289B8227810AF0014EB07 /* Preferences.swift in Sources */, - BFD289B9227810AF0014EB07 /* LaunchAgent+Status.swift in Sources */, - BFD289BA227810AF0014EB07 /* FolderContentMonitor.swift in Sources */, - BFD289BB227810AF0014EB07 /* SwiftApplicationDelegate.swift in Sources */, - BFD289BC227810AF0014EB07 /* LaunchAgent.swift in Sources */, - BFD289BD227810AF0014EB07 /* RouterManager.swift in Sources */, - BFD289BE227810AF0014EB07 /* SBridge.mm in Sources */, - BFD289BF227810AF0014EB07 /* LoggerWorker.cpp in Sources */, - BFD289C0227810AF0014EB07 /* EmbeddedConsoleView.swift in Sources */, - BFD289C1227810AF0014EB07 /* Logger.mm in Sources */, - BFD289C2227810AF0014EB07 /* StringExtensions.swift in Sources */, - BFD289C3227810AF0014EB07 /* I2PLauncher.xcdatamodeld in Sources */, - BFD289C4227810AF0014EB07 /* TaskPipeline.swift in Sources */, - BFD289C5227810AF0014EB07 /* DateTimeUtils.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - BFAA37F3226891760014EB07 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = BFAA37E6226891760014EB07 /* I2PSnark-Share */; - targetProxy = BFAA37F2226891760014EB07 /* PBXContainerItemProxy */; - }; - BFD28995227810AF0014EB07 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = BFAA37E6226891760014EB07 /* I2PSnark-Share */; - targetProxy = BFD28996227810AF0014EB07 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - BF5061732113C4900014EB07 /* UserInterfaces.xib */ = { - isa = PBXVariantGroup; - children = ( - BF5061742113C4900014EB07 /* Base */, - ); - name = UserInterfaces.xib; - sourceTree = "<group>"; - }; - BFAA37ED226891760014EB07 /* ShareViewController.xib */ = { - isa = PBXVariantGroup; - children = ( - BFAA37EE226891760014EB07 /* Base */, - ); - name = ShareViewController.xib; - sourceTree = "<group>"; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - BF50617A2113C4900014EB07 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ALWAYS_SEARCH_USER_PATHS = "$(inherited)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = NO; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Developer ID Application"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = "$(inherited)"; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - VALID_ARCHS = x86_64; - }; - name = Debug; - }; - BF50617B2113C4900014EB07 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ALWAYS_SEARCH_USER_PATHS = "$(inherited)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = NO; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Developer ID Application"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_SEARCH_PATHS = "$(inherited)"; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - VALID_ARCHS = x86_64; - }; - name = Release; - }; - BF50617D2113C4900014EB07 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D96029CAD8BABBE8D621DBD0 /* Pods-I2PLauncher.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = I2PLauncher/I2PLauncher.entitlements; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; - COMBINE_HIDPI_IMAGES = YES; - COMPRESS_PNG_FILES = YES; - COPY_PHASE_STRIP = YES; - CURRENT_PROJECT_VERSION = 10; - DEAD_CODE_STRIPPING = YES; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = W3C42P2LA8; - ENABLE_HARDENED_RUNTIME = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - /Library/Frameworks, - /System/Library/Frameworks, - "$(PROJECT_DIR)", - ); - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/include", - "$(SRCROOT)/../../../Sparkle/Sparkle", - ); - INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = include; - INFOPLIST_FILE = I2PLauncher/Info.plist; - LD_NO_PIE = YES; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @executable_path/Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MARKETING_VERSION = 0.1.8; - PRODUCT_BUNDLE_IDENTIFIER = "net.i2p.bootstrap-macosx.I2PLauncher"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; - SWIFT_OBJC_BRIDGING_HEADER = "I2PLauncher/I2PLauncher-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - SYSTEM_HEADER_SEARCH_PATHS = "$(SRCROOT)/include/**"; - VALID_ARCHS = x86_64; - }; - name = Debug; - }; - BF50617E2113C4900014EB07 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 46DE721B10FF505B06389B92 /* Pods-I2PLauncher.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = I2PLauncher/I2PLauncher.entitlements; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; - COMBINE_HIDPI_IMAGES = YES; - COMPRESS_PNG_FILES = YES; - COPY_PHASE_STRIP = YES; - CURRENT_PROJECT_VERSION = 10; - DEAD_CODE_STRIPPING = YES; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = W3C42P2LA8; - ENABLE_HARDENED_RUNTIME = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - /Library/Frameworks, - /System/Library/Frameworks, - "$(PROJECT_DIR)", - ); - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/include", - "$(SRCROOT)/../../../Sparkle/Sparkle", - ); - INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = include; - INFOPLIST_FILE = I2PLauncher/Info.plist; - LD_NO_PIE = YES; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @executable_path/Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MARKETING_VERSION = 0.1.8; - PRODUCT_BUNDLE_IDENTIFIER = "net.i2p.bootstrap-macosx.I2PLauncher"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; - SWIFT_OBJC_BRIDGING_HEADER = "I2PLauncher/I2PLauncher-Bridging-Header.h"; - SWIFT_VERSION = 4.2; - SYSTEM_HEADER_SEARCH_PATHS = "$(SRCROOT)/include/**"; - VALID_ARCHS = x86_64; - }; - name = Release; - }; - BF99FD41227087A40014EB07 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_OBJC_ARC = YES; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = W3C42P2LA8; - ENABLE_HARDENED_RUNTIME = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OBJC_BRIDGING_HEADER = "I2PLauncher/I2PLauncher-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - }; - name = Debug; - }; - BF99FD42227087A40014EB07 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_OBJC_ARC = YES; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = W3C42P2LA8; - ENABLE_HARDENED_RUNTIME = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; - SWIFT_OBJC_BRIDGING_HEADER = "I2PLauncher/I2PLauncher-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.2; - }; - name = Release; - }; - BFA5226A21CD434A0014EB07 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_OBJC_ARC = YES; - CODE_SIGN_ENTITLEMENTS = StartupItemApp/StartupItemApp.entitlements; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = W3C42P2LA8; - ENABLE_HARDENED_RUNTIME = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = StartupItemApp/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "net.i2p.bootstrap-macosx.StartupItemApp"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.2; - }; - name = Debug; - }; - BFA5226B21CD434A0014EB07 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_OBJC_ARC = YES; - CODE_SIGN_ENTITLEMENTS = StartupItemApp/StartupItemApp.entitlements; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = W3C42P2LA8; - ENABLE_HARDENED_RUNTIME = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = StartupItemApp/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "net.i2p.bootstrap-macosx.StartupItemApp"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.2; - }; - name = Release; - }; - BFAA37F5226891760014EB07 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_OBJC_ARC = YES; - CODE_SIGN_ENTITLEMENTS = "I2PSnark-Share/I2PSnark_Share.entitlements"; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = W3C42P2LA8; - ENABLE_HARDENED_RUNTIME = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "I2PSnark-Share/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @executable_path/../../../../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "net.i2p.bootstrap-macosx.I2PLauncher.I2PSnark-Share"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - }; - name = Debug; - }; - BFAA37F6226891760014EB07 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_OBJC_ARC = YES; - CODE_SIGN_ENTITLEMENTS = "I2PSnark-Share/I2PSnark_Share.entitlements"; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = W3C42P2LA8; - ENABLE_HARDENED_RUNTIME = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "I2PSnark-Share/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @executable_path/../../../../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "net.i2p.bootstrap-macosx.I2PLauncher.I2PSnark-Share"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.2; - }; - name = Release; - }; - BFD289E2227810AF0014EB07 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = I2PLauncher/I2PLauncher.entitlements; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; - COMBINE_HIDPI_IMAGES = YES; - COMPRESS_PNG_FILES = YES; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = W3C42P2LA8; - ENABLE_HARDENED_RUNTIME = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - /Library/Frameworks, - /System/Library/Frameworks, - "$(PROJECT_DIR)", - ); - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/include", - "$(SRCROOT)/../../../Sparkle/Sparkle", - ); - INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = include; - INFOPLIST_FILE = "I2PLauncher copy-Info.plist"; - LD_NO_PIE = YES; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @executable_path/Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - PRODUCT_BUNDLE_IDENTIFIER = "net.i2p.bootstrap-macosx.I2PLauncher"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; - SWIFT_OBJC_BRIDGING_HEADER = "I2PLauncher/I2PLauncher-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - SYSTEM_HEADER_SEARCH_PATHS = "$(SRCROOT)/include/**"; - }; - name = Debug; - }; - BFD289E3227810AF0014EB07 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = I2PLauncher/I2PLauncher.entitlements; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; - COMBINE_HIDPI_IMAGES = YES; - COMPRESS_PNG_FILES = YES; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = W3C42P2LA8; - ENABLE_HARDENED_RUNTIME = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - /Library/Frameworks, - /System/Library/Frameworks, - "$(PROJECT_DIR)", - ); - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/include", - "$(SRCROOT)/../../../Sparkle/Sparkle", - ); - INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = include; - INFOPLIST_FILE = "I2PLauncher copy-Info.plist"; - LD_NO_PIE = YES; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @executable_path/Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - PRODUCT_BUNDLE_IDENTIFIER = "net.i2p.bootstrap-macosx.I2PLauncher"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; - SWIFT_OBJC_BRIDGING_HEADER = "I2PLauncher/I2PLauncher-Bridging-Header.h"; - SWIFT_VERSION = 4.2; - SYSTEM_HEADER_SEARCH_PATHS = "$(SRCROOT)/include/**"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - BF5061632113C48E0014EB07 /* Build configuration list for PBXProject "I2PLauncher" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BF50617A2113C4900014EB07 /* Debug */, - BF50617B2113C4900014EB07 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - BF50617C2113C4900014EB07 /* Build configuration list for PBXNativeTarget "I2PLauncher" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BF50617D2113C4900014EB07 /* Debug */, - BF50617E2113C4900014EB07 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - BF99FD40227087A40014EB07 /* Build configuration list for PBXNativeTarget "RouterWrapper" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BF99FD41227087A40014EB07 /* Debug */, - BF99FD42227087A40014EB07 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - BFA5226C21CD434A0014EB07 /* Build configuration list for PBXNativeTarget "StartupItemApp" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BFA5226A21CD434A0014EB07 /* Debug */, - BFA5226B21CD434A0014EB07 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - BFAA37F7226891760014EB07 /* Build configuration list for PBXNativeTarget "I2PSnark-Share" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BFAA37F5226891760014EB07 /* Debug */, - BFAA37F6226891760014EB07 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - BFD289E1227810AF0014EB07 /* Build configuration list for PBXNativeTarget "I2PLauncher-Appstore" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BFD289E2227810AF0014EB07 /* Debug */, - BFD289E3227810AF0014EB07 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCVersionGroup section */ - BF50616E2113C48E0014EB07 /* I2PLauncher.xcdatamodeld */ = { - isa = XCVersionGroup; - children = ( - BF50616F2113C48E0014EB07 /* I2PLauncher.xcdatamodel */, - ); - currentVersion = BF50616F2113C48E0014EB07 /* I2PLauncher.xcdatamodel */; - path = I2PLauncher.xcdatamodeld; - sourceTree = "<group>"; - versionGroupType = wrapper.xcdatamodel; - }; -/* End XCVersionGroup section */ - }; - rootObject = BF5061602113C48E0014EB07 /* Project object */; -} diff --git a/launchers/macosx/I2PLauncher.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/launchers/macosx/I2PLauncher.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a625..0000000000 --- a/launchers/macosx/I2PLauncher.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Workspace - version = "1.0"> - <FileRef - location = "self:"> - </FileRef> -</Workspace> diff --git a/launchers/macosx/I2PLauncher.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/launchers/macosx/I2PLauncher.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d..0000000000 --- a/launchers/macosx/I2PLauncher.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>IDEDidComputeMac32BitWarning</key> - <true/> -</dict> -</plist> diff --git a/launchers/macosx/I2PLauncher.xcworkspace/contents.xcworkspacedata b/launchers/macosx/I2PLauncher.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index e994637404..0000000000 --- a/launchers/macosx/I2PLauncher.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Workspace - version = "1.0"> - <FileRef - location = "group:I2PLauncher.xcodeproj"> - </FileRef> - <FileRef - location = "group:Pods/Pods.xcodeproj"> - </FileRef> -</Workspace> diff --git a/launchers/macosx/I2PLauncher.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/launchers/macosx/I2PLauncher.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d..0000000000 --- a/launchers/macosx/I2PLauncher.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>IDEDidComputeMac32BitWarning</key> - <true/> -</dict> -</plist> diff --git a/launchers/macosx/I2PLauncher.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/launchers/macosx/I2PLauncher.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index 0c67376eba..0000000000 --- a/launchers/macosx/I2PLauncher.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict/> -</plist> diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/128x128-Itoopie Transparent.imageset/128x128-Itoopie Transparent.png b/launchers/macosx/I2PLauncher/Assets.xcassets/128x128-Itoopie Transparent.imageset/128x128-Itoopie Transparent.png deleted file mode 100644 index 6484936a817e5804aa0f73718ca1d454d2864e3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12872 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%0Dd4s z;M*r>P9y`^M<+#d09#2(jw47`u3RZsUU{YT?%i9kLXc~(y;hbj3;188rKR~tXH5-8 zJG^%S;FBUq{FD?69XogK^xryo@Sr^X^wV<DMHk6==ba~yJ@y!$AK;?^;cyHO7Z~Qt z$S{m-j!f^9F3|V8b*HnFy?$NR0R4N4{17XjhA2W%qS966k#Oz#!G{AYfGe)JB1}1( zJ9n<i&(9}Dg94XkufF=KPR}%{sg@04`0xzXpbbK1mEl!8cL$Wf2^gk?jT<*=15;?Z z&?gj^n4$3a<B$96zy0>me(;+0dDVsAa9j?)b&AklcasXw_D}{m{R~48b0pF%Q>xo- zS=u1V{YD=W;ONn#ej?e+<2eaOjlR6RT-|^F{eI%mDrXVH)MKqQ#=!TVd1wQeKYzYD z|NQg)c}&^7&+zQC&$4<y&;T`Y;zWH96Px<m3tVZ~R{`vc)t{Tcm(`puU=%``bP_pb z%)-U!>;Z#RL#&G?lOUl;^Q!H;vQ@`UmTf*cIa$q^F~g7e*|TTE&TcK=?B$s<NvvCM zy;b$<)yq%JyT0#4oE-JwLl$9}hc<sQ0?(bwrIaAi4NRLh%`agJ3scpe{p^d~7!+WD z`~J(30d}LVLWENSIR97K5sPbe?R7*_2LyvGbM&gq@jwRCFbo_xP#rjMK;xb!UlVUH z&wdWYtT~NKKi%_zb|ViZj#uqFn5DXO4c=$4mt)RZAMFa5^K~2Ee*103jUv;Id+ues zLmAohB}e`GiEx7u^76$LgAm#k;-v&q>kSikDJhZre&79AC_{TDY}l|tF249;*akKW zj4yueK2q*RI0=AwxUFQw$TT_UT&4_GG<mO}W0L&r=gG}!`5YkgI0MUEym+zPe*5im z!wokGrWu`Zz<_kQ@0W%bobx*RkXSFP$aK!}<%=DUE(JZ#jcfJosT?Iv62KZ!kKh?S zjzaDiFg<tu?!5C(|Bjp)p-xAphhHH!WjOLfN52`J6x-Qq>UYdk5SXJw%jC4fT}YN| zLYFRSYRPhz6{&oyACEgrfLfGuI>IRdW6{fyO(0R1UqJ#yVgL)V_xy(!n>!W*pbU+C zZrO$s$bQXq^b2_EX%Z%qXf{lcjTM4d-E?!N%^4(|5lr3YNK^IlRV^`>DL+R=&;hVG z6<P#O2^fxE9u6haq)F7yi9|AjL74r>c(3~1AH2}+1KYxuL@<)U90Mb>TlX~e;xv|X zJmQ<Wta_fGmaT>iNe^Q<v|TeE9a0A3(XdB<l?8_rE01%#O}SPZZvCF44!~E@jA(D_ zN1o(j+mhZWekm9r&r}2I$cRxH^2u_yr08cZBQ=e<_sEv*K6&ETO5XoxBiyg+wHcSj zBu?8PjCiv>Fba9(o0F5|uDeBw@~G~F`s|t7osL#LwT(VmFi+szsibt9LOn28VWu81 z&@Jbl>yojjE6LObq}G<5B;WXEqr5*m*iR7srxL-bajR2nVigw&%dx7@l-m&}pMe3o znFumKVNt4lwmL-$^BGG5v;=IrTPlw<$+oR7*|8n(cEc>10pfJ&s-&n3j)gv?pw*2E z-|@<eR2TD+d7SiRmdnsuG{Q|Bd@^>FPu8rd4N@}EfAm1KWW=%EAWRc)r<xC;9=>D8 z&j3VX#lZ&IR%#gFcr77eny|y>k`54@r)l9yBH0N-!i4V&9Ixcy`z*t%D>&X<wU+oy z@0J7bT;8*X&x(ct?g*!Wb_FN4ZjT0#O55xeQFJ#nK-?~1Y+IT|;+Q~Un{yu9LL4M- z2UxiRj9x(o2y5HAcBnqAind@nEb~c5tar-)?*-%y67S0hZkYpJg43OYiD6|tdK^y% zfD1-Ae7dqp_E*@&czBvGW(?j$hHdJF|E97S3}6UGeij_tK3DN%fOY6NjUP5}$=<!k z<h_{`kMV4ptw~Wk^~j24BAYhj8MAQl&wYSXjsZ9Y?6Bk45{pWvPqWYE_7q?2^XLBt zDNyTk690?QGb+aI4)Gjjw0wOS-ebI@Z)v@(SVcV`p3Mty*@?$MvK{cr%$X5aB=4Mf z*(aAX-WYzTdH(bFf>MC~e@{K}Wl{v)@|Qm=yi3UOeF3}B`FVZ>wDU>48Q|aOuj6Xq zy?5*6)74}GXBV(`#?whuhtXf|lfV8YT={D*^dC4LIEe~QDr>wMfJ)$Vp*?_wP`_vA zzF&|5ObAW&MY(p%qj+YdY`5d+=Z7g?jAu{c%>eBCE0_khha<ryAAV3Huf9eGh?l`K zyj5+BNy57gl)U&t#1D|nL3vmk#19fdzS6}u38Vf3I~u49@V$F0mM6)#u6Ii|Z2Vs= zaLLhQKDp+qCcH4}SdiVH{Q%SRNtf><lp@3p5<vp6^UnbxbczfDP6ef<wQ|R;@b%Ys zC=I>{z;?Rj-g{iKaz#xT@tb?_9*zr|&*OGT1PQ>-Q%3SB*(*Wx5T<m=rcL#b2C4AN zXLG*@Rzi>b;g8s^{?$>mJNy;%V0NzgZ$a3D5LZYP1|SkPA`Aip47Fo~Qvoe!%a=7s zUSYC~IgL$DWJ!=DufO4wdwx)-pEaZubAU~Vdjx^p99Kvr1|U^eAW#Zq+p$6%^0~bQ z^L^5}YqE?QNg<Jlk|0UmoavL>Z>__ZM;aoDes-+@p%P&UFX9P_!~nztMPnJll+dYw zBdNaLCv)dENqVM7&cH*YiNgfsU5`wA*(Y~?uNGe(F<!`sb^!E+V&N<V>OGWvaf3u- z03w1&DFTkhhGNAq!H07jq`bl-=ixz8kF$sk%^JgN(o)F-4~qQaXSMjeOv}VK4MAU0 zaL$iP&<}u9!dGC!Kqs7U0g@cOeW4R@$f=2EXQ<WdjHhoTM^d{(W;D-PUyj;}r<SH% zZrsSh33x1wZPS70Iym=({X;r>0bP#}7f3`2Fael&3Skrw<k&uI(9;jFLEf05#GT}p zF=x<d9I}9j2}(&btDYC8DY@~62Ki(u_q6~J28Aj^&X#N$gLhx%;>)y0(b!u3xd1Bx z<%J#4M?NHT2?7~msr}xmcAk$8{~96afss%t0L?0BR3W_{Z4)MB;FB?}@ykC^DPWCw zx~$Kc?`?kJlO>5b%ClW5>TW55NplGNeMafvlaXp0uAh+Z>P*R1nSy5+TaXCo3nr3w z;bK%{K`29-`1U@29ToBe5srTGq_9P2k#s0q9^mL0T)gYC62L0E`DF`AzJ5Wb%zEDq zN#L|Xuu5@o#?YmQ|Csa~?QW?))+DoLyW~&LG~to3I(%m^u!0*dUiqDLmUHy?s1;gf z<+XAW#iY8zw`Xhc$<c%IzN<o~VcSCi^U7}!_fv$3yGNmUPUbqi1t(Kl+w*#n<!1>0 z3F6a#I|%HA?+=kWS$Xkp)hrnZ(fSE&M?Y}ymE8)KHsk{01mEwGm8;#7rne4E*H{W8 z48bh%ZB=CAtgGO`hwlZ}x@9SZ^1IlrfA^h6*|x0??+IpkC>w)66^wC%%ENqB1aY4P ziiMVE%C$;%>z0Cv@EquUuDw_X!bGg&0_k{$zC4Y?PY@y($b?aVc<!?BMLhf<)Oe?U zaKsRXf#~;2C%Fpqs#k9fTk)4mnymEI!J1MHVpzl;Hk`y~myF{D)B5DsPx|D;5BZX3 zw-gmNN-;hp*|R5KDvj5{K!0PZhI$ts@N9z1Hr@ul8J`O;QL<?xRvYE@dijYY7U-%J zm@rEoRfTc|TE+Y=5uX`JNgq<W5$;5PIxCNS*R>PA@%3R$0G!+lCZOB=gUlOCh!+Fg zjZQs?j#AqX0wR;*zKbhE{==6icVTR0g7AE+j~&T)%MQ?Jjb;pf!ABkC*4ue)A2c2; z&wTRGe;?7M+J8{DeuAj^l|K3n;50T_Bix=6=OjAnNQaerC>ZiPc%jz~2pu3<>}?9k z<#=f^LK9vSo+Cd}b@G6V?tqT)3&gHQc+2r_lp?L66Q#mhQA{_a;aq>MQ(BJ2bP)AQ zh}8!qA8$=cL5#w9w%Ed+hkC#dU`qdk@GC5MtoHN_S@dy|ZT@%5?tMPI#=TJv9Kcos zr35*pnV9ynBAz2{CT6ByzBIW2BmGj0`U#SOR#|hpQ@bLT6>=j9WgG#sj&*H?5#T7U z!bt%s09m9BMto=_CeWS|U<!KhIEddrv?oT~4+4UpP(_&MsTxq3vXACKE{=12hCvoV zsWNcQ^&~#;7-n%{-gfzkPoiA}nNg|mD4DAsq8FceLt530cRXK=@th<bQAQ7yqV<g7 zDorL}Sw}|9&}CD;P!gFsOzmwyvhHluc!kQAU%8Gt764rJ0~6eYn~ysth(ct0FhC*N z`4GY_=up_Y-i-S1sC>-l1(FA(5XsJ@w|eXbF_we)o3X+s;MJ@$<#H0mp35h5-Zz9& zT9<f3KZ&N~2qZx@(pDnWDj&#>kq!o-B1Z|7j&n*F3pn{iX2#}3CwTB_rS>V*)qpy} zWq>aBI{f|)fjg#AhgdVfIcV`SApEe<mRqDz(i5nE63Wz7m=nnikw$%J{+BR@tD6lh zBS$4mk8UIwl|Q0U$sr7?B_CTWDQe%}*JInIiRr~PM_-qaLfIxGjau7|kRsZA*#i%+ zc7UYW@1itwWC1p_0AWX)3vWe+STO(_{Bs0;2_!wV9R|r4sg9V#J4-P{?D0muDT8z8 zeh~gmHw<UZ1O8iAQzj6327w;^IQRbj$8@%SV6tz4!Gh~B(!rG6{ztZeQ;XM)K1FU$ zDU!v^Zy**7a2Xo>7zjTI$1ouAz2N#Es{*-C3w&3rM?DLpvNRo|pX+}@QRg(d>KdML zv|FQ}oH65dNRvhjt5>TWuz<Tw^{~YD0207s6cOhN=OEhgaboA>ZHtXI1Kfw|9{}+q z8g=@E6wj#6av|7&BeErh%A*Nt5tZ{WfueaD7@+x5F1*kq1synxo3+0i&lW2A*L(|S z9bsy}2@GJQjxMAff2=-`CC%$;1C_I9?0+LI$_^3$3Sd2wkO5)_(PV%hg7A+-ZmE(> zRVP@%y5O(n^|K-TCRobWA<*(S5Oz0O^cG{!WFzNGAPn#Qk=t%(jdtY^PvFk>LHj4} z1X_HS^g>>kf%J8I{ZJ#}#IzfOmthzTS9n>iUU}HtP>qfpaiMJv41jc-5Mt^z94!Xu zjfQgcI|4`FRao0khZfFF@Rk%TYTumWe}><;T~$~s*JE**g6)+I84LaVeXN;lPy%82 zh%~%ioa2bZwIl`4`8s$Sblh0`UyWrJ@3c3N_)p<`(NDnkf7n$g6IHIvknWIw!R&ev zEOEr=Y!XJ&w-KzRPK-JbEe7CH4~ErnAn~(7zz3noTEur|b><}TIpVLDo$v}V);ky6 zgpSF47lQVpLP9-fD!E~5=-MC5Q>kRpB1`-iLjU{*_Ta*WZ+JVS8N+@&hqm4aE8nqZ z=9~lj|MOtwAHo(9Sme576;^k(hzT_WLHu*sH#3^;aw?0GDjGmB#YdbR0OJodr|qmI zFxvgK&BVuaqLISUYtGD(1>&82a_#jT`Ia=W%67}F_h8d+7XN4XGGI?k_G<?%)gP^U z?8gB}u!mg-H1VxAqjYp+7Nl3OF5=QVgb`3fGw`R;YFDIkqQwBD!q36AWuX<3fQMmu z`>S^Mi(DNM^&5<m&oS~z{NurSlRT22O95umlEHlPCOmSD_`h6R6pvR@bnmktZ-CI- zVWr@?9rl7*X#pe_$SAeAT1op(a59r+22LzdW@2J+j7*WXSGE~h?gSH9>oZ$^BH}q$ zxx5A@pt;ovC>H1Hojs?!fjFA;@nulC@upC$xn*Y=%)<*UoaMRGWD-Pf@Q4eP6U(!C z?1zKEGYnxgmW_}Ro86q^gZly;(l$IRmTfd;N0R|q<~s=AM+YnmjHw03BVgvcFem;K zXHHB&<ZyN1gg9F<I8{<yoQiMngp2<fue<T4F-!X&-js${Zzt&y7o0zKS41Wi++7^F z!8FyCa%~(yxLe)?E~*vW$HSWhF9huz8-6FsF@g3(ui)oV)Gc5FnCb#R0#|_JZ%o=H z?_nuNMJcrMhcIJzac3NN)Sfvp2`^_17XMu4y*$0y766QXP21Q)YY4O_7H5_<lFog` zCJ|f<+(~o<Wgx}>OfWzMp!j!?ArVraM0Bh$G#zc40w&mMZyTAQ+*d18;Rx|JXvt&& z&V>ZdjUz#{KlwW2m%IJpK=F_F1j}Vp*lY%q$|Lx`gM7Z)+Ara%<8rJ$f)`xj<wY}w z4E+(vdJR_nJFx6yUqfNHs}Xmba0gEfW13ixUBJ+Ez!@Du=7r{s)wT149G%)qQ4Hs? zVNmLN;i!Qfu7#kSi_TYpfahXmoUB;^FH%7K!_c8==rN=<`FJ$CVMRrf<YVF4yALI; z)rBAb#3yUlSmOUY?Cafw<rbN$J-{scZgTB{+78Qw_FE0Enf<Q8)Iinn66{OR&as+T zrc;6BpWu{!f$ajZWB_)c0)ZYaUUYOEBM3wW_wzpj6U@i7Kr0!==Oxgc=R;A%!vI#o z2)|oO8szoY8s)uzCP_*<U%aT~u}6<-*DXFM@+f@thM-JiK8{dKRHA9MTn0^^QjPWs zO;C!e5MVt2R)e`eLi$BG*19MS!r(86Sr`@@qX>ukV^ovKZ77-EK$OjXpqAbd7QQ@; z<WSETh(mumjadH`gulLpB^9Owe6U##9l}Z!Baa(R>(u~!jF;x-Kz>`+sGf54Uk|nK z6-X|&k!|kNrBJ>#Zj5ASq{-(ycFVkV8)aWbrB$zHZnlf;5Dv)C%`__0?E=xV1h%HJ ze?_8A=-~4}R4<c(XsE!XKv7{wi6MSwM!NVKo20hh67S4ML~A@EhYxxciO*}gRNz5! zIEvJR0jP7wmI0{0RD#Vuaa(&6Y;#_2j=X*E9Wu0UZ&Z)Q;cesF50uLzZ@nikF8D|q z{9i9&Pl5sY*<h?8+Ye$r1%&pb6cKX}&IA#Q%uNzLl=y`mJIJrDzfyj5(fM-On2|EF zcMm)P<dK8bHByJ~^AQXqSj<2M0=|L6T8v8W|C0e?$pU16{b0D?VDwuiUueE#Pm?<@ zJXh*#>!hgxh9A5gv}0C=T#ESglw?`7aWj|zqTe){9SH!nSPqokfvDJ?wKoH>H{}Ra z4$rkS0dLshmh;Y%2c}*vJ#(_9f0xd3=HPyE!x>}b($T}=&6_MG`^%-KF2D%>yg+QJ zyIuys%Vr3smRRZm)LRarhCkv#4@w@w)U(e(Tl;I`n>Nuh>4P+wICOxN?mH+ew{4Ha z09+UT5#gZ88|!1NmVw7>_YNeu8WN8huOl3*2SV|6hI)*mdWiq}+GBd;4C>lhes|M# z^6y{%L@pUON+Z&eoK`WE0yM7Nji<~Pz$8nfQ>;6QkH`6En+};7Sks2f9R(&(=*zv6 zCrK_oO>1wn4FR;Ga)7iO#2Pm(b%dtlZvqj2cS`im%FkrYmQrZ>samv~G!&opm;wfM zEs}ry=uUYI(?nJVj7NI<v{G?8+2^X2tD%`c5AA{@mD+l=I?Hk_p9QzP3nr_@`W~F9 zE3ZfUB30CcHWuc1^^{=x6LRFpr#jSb5RWOq-nm*_a5@-=>7ci{!TIq>O|5*mc9RS& zDv*AiVbo1c#;e3=2!inlnm=cJmpe($8a+&U;?wOPLes8;q+nhGnSf5Cv*1&(97p;c zcGngMOClJnUHDkl*~5NFbk6xSUa^J}2>mDYe*b>x9DzA~XpgS)_2EOM3Cf-w=$qh4 zPm=|oZ;<Dq3^qD^;2P=YBfMeH7wdBiTd}U?_~nm6l7E4CUVBoGYOVstL!+KNa)^xY z*IV+lvNVzF8yjS2#Uae6J7n3`?Xq}diIi6bS)X-L7J-#yDZE++MyE*#XCw3nLvZPt zf?z=;R<KaSIesTJ{`na3Ghpmp3WLufTocHYY%9a4-o50LhkquXWR#0*Xs+NKJY0IT zM&4e&N`CtCo3gw7pr28#x~*U2zZYk}wa3N!JW&{c{hSE~xHz=KM5=*gJja!unhJcn zr5+=!=2#t8T7mm!^qchdqm|0~rR6ctl_p($9_gVagGVnLJAoPad;tGyv3@uLqVEQg zw_vn0Y=teaibPLOmV&&FQare)^d8<@)_%NBRxetuiR!`E&2KyZY`Nu}33#HoUe=fG zl_e!xWob#NtlzmC%T~TEJRI%lCpFr05k9uJJJ#pnEs1rFk<0%v5c6c@+s%5GjUj+Z zEsjI;*qO$D&mi8;40@et$3lRg>{-Q=l`i@D9b~|$e$szTf9cl0tE8l*A|%V&kJica z|NVj{uF2%_VA9ZL0Q}g%w80joPtoS(I5`W!TH1srh|zU>8iJ13g<YWu?1UuZG@Tqq z5A)g6X6I&0e)oLo+`F^(3*5S9o9r#cPD8U1#-evK)osKl?Oo6>dJgCz`Ca+G3Osb0 zkt+G!@}yh8Zc@-IUs51}6tw)trbcPxIv+}3uOU69NB{0px?#J2bT`^o0+EQWD+v5> z{ok&{XVtdu2U-%RGrk^fhQ01gFZ}s1;;WAw-#Es!-THTv5fg{Y!0`j5QxTpW_CRd| z!_>oGux8;}nf1bK*|U9*pGfw)c+R@UUpP*t+&x7z0^`UKRNxvL@U~KC#Z8h>PuZ3- z`TJ9^%f6lan9UE=4>03srtwFHoS<GVhbJL8KO`8EKAM+_!~ov`v0gNtBQY+$?GhP0 zVX%~KE|Yzw`+(g2a_GPzsjJ4^kNauRsylY>C_OP34;(i@Iu{p7QnE)IVSG&i(Mu*s zNlTH6J(cppgD*<S>XI-fV0qqbuiW|69g<s^EB5@RO)VYC1V<{5$oeJg<zN|<JTQ*8 zgI6-LGi2`c52a#%MOd9I5A|}BU@}6x&i$;LkVsQNSF1^Z-(<|My+GXV{km(Tt`Bx~ zA4VaGMId3_P`ZfxCOtyokJD5iD4_X_>5svXl#`buH$E^`p1t=^vUkVcFoG2H$d~NA z?4Y?ktgr|XoC-2?GUfD3P6t)3L{tcm96BN&zB11-7uv=5BHn=z7vi%~T;3)M^bKtY z2~N>V5#CUTg&5{=Lwu&?IpcW033KxCpb<;Q4n-a1lG`rET#k1SG&7RP*P#%ve1HTo z1T^ujJ#t0TP}d+0$E<J+ZLT>|i}r;xWpkOo$I;Oc*4jExHeDhyK>yIra8x_%`JpLW zf8Btk+0e6wNb!*3uuSP*yn+hSBwC>LkJ@@IeIoRuTeRvr(Q*=n0q7&pBeWB>)%?D0 zXzWQ|Lp*zulV$Yzr|BucE(OxD)Qjf+AsOIs#bLc#V5{wQHTPmXj@-A78zc$?a3pa5 zHV6(MJnYxTgKnJUMPq$~^gFGuWMG??K*CU4&+C#WO>{7b7Jzw=;zb2C{v^Yc?ad9_ z1S&*T-J@0AiIkHl3_wKivAH0q+*hgRPmZK$0trrHbSUWHFE$lMo&0Y3a6XA118^m9 ztj3!Elb{gx9@bkkolO#u>3jMc5r>mRVSo$}Ic!BzzWX4SR`8sSHUmJ=d*D`{-6_aB zEhf^2OhBLwAu~5quS5);oBLc~uH$h`6b1-W;Ysw$@=7UPQ>qO*(MFCNn>4A|Y9_F* zy1F_kUArAm9fk4X30KWk0ZqjOJ?bHOGQ&T9^c4dDKNUbwt;Uq?he-QmHlI6<KKSsq zutqqX7$C8h&%vvwuxl4hiNpDyV66i18!pYlrasfA_BbYr1lWbnIzA>-@>z-OSib|t zp6HEC5`#<3BL@Rjk}$ir?2?6VE*4K}bn4=gvaDo}rX!72sp%<FS7SZAVk2(!lnz^= ztvyW?2H@Ksx7r)+g7*iB!Vx+DwFQ_4qSsWGTYb1%4(<(izWL~#k7UEr4O(lrx2LV= zB>3L#`(z!qiV5D1a9GDmpt>q-UxU`bxIy%=dU9Q$@pOT|2wbHmr%FM0YkFL_WSwkU zz6pw3be7CXPyjctERmy!1CM5r;j*%`qy}Ec|M=rOvS;fa%PQz^RO?Up{enhV1K&Y8 zhv2kAU84{D29ARGG!2JL17)o*Ir=FRg#p;J_c7;N${-ZyI=EGHsn)qiXHAq@&&}3z zb_nv?j1lH1ahA^dL@Q=?!%yE)eWiF%vEI1h&R*5QD&g|2Enw|SG|C&ldrLNbMz=@7 zenv0p)VY)F-h{UW!3JRf{pE9jo6L1Qj)}woOMrmS3=&9~eGs8Nhx8C`^=@9hS?0gI zK=10AG$(T8uHdrwmrKd#){bBXy?7yUxW~`q;L```z5lXpWisP8Z)gWpy`|fV$|&Lw zl^>Fq9(`F>EnKB@^cvI)>;Gb@#4hH3>}H0*8eDG)iEG!(wy}3?o5s<Pt#`{Uj3f0J zHhGe<X;ajzNcQd6C%a3^r2D|`dTQXVU|WG6JX=5CDz82HccGcNs7H}>>DxsP>^`8S zK}T#9btuTy2BNA1Raz;mJ5ncuz!Y4OL;^Ah?Ft)~Y|uUdJ2vgmHibSz`$+%M{j}Q} zy@skPszSy8V<<B=%bZA!4T(=A24K@T8u-b$JYJ9qXiDt@&mL;-2k}rv>F4+;%Nc_( zJz(3ml}tba(bBhJ*+zNkk?B%#ph9vw=E#Vz4aX<w(qs?3g}9xY-7#A_b?Kz*<+kv_ zT?b|R#vQN?Bun2BeRLYO%MRQ<tb+&htmodB52nx6M5a_3IA(zK8rBOO?Uqd|Hi4OT z2N53(#nJy`gs^3Sz5H08CmI6~8Py>CWv1h_pw(2>=#g}2f0dq}X&mZ@`I?R!eEd$! zZj%8=G7c3nI)@}faje3I%<Si9%gn#LD~Apq(o@Q?iNo~%J;ybjO(<<VSZWsbEYPE! zj6u&{itQa>g4DD$DIVHO*TV8S*C*jViTnCfGi2@3wR+R10Ip<%Ckzq#7LaMTtllD9 z)@;@1Ix~Jid}{vRLs)C#;&n_k1|S}|Zkhlj_vQtWO@)xJhU+z?msG;5r+ja@cJZpm z-g`z)y4DN$010>bXma6xd{udsY+t)W=Dj*!X8!qIS@ZE4%;)u5u^b8l<>u#N;|JT# z-~ej;tb<a3D-UYz^a!E@2_H-?FDuuCtk_$LxNK>xZ<IY-_Q;(7`#=`_eSv05>M8w3 z^p$=P`5D|*gkh=VQ;Yc2FW3(Ph+l%kH3;*09dC&4E=%-!GYUn`0n+qTpo>LIN1i=G zpKe&P5#Qyt42NDkX~Q*k8i+<8KoXG-7+mL5i#KyOMRh^90_l5NAH5+%0&^78#cbug zPxYQX3-2?uxAyvFIp8HdayMcLTDrbe*G=(GXOhE*4qLl?U^?n3#Sr(#%u7cQE?aj) z?6ZCw@wqc}1;Tr}umt!?R0bew{s)Nrxxo<;ncX2<#(iU)-eV_%Db9}vBv?*<j@Ilu z!GDlMrMAy0;xK&p)-GDB_Z&zh){%|}QBH%efVV@ImI9i1$ior8W8+SX@YpeAI!cHh zgL=RL73C6;t^&rTO)EA->#y_^-nywre>u*{#c^HxoA&US$PDoRfc#tSjU|DoxeppY zP;1@$cN~xdyAHtZszz_)>d}VXH;#7t=V^@|ZeCfrS-Ke7<te`Dytx<iKIivP+ds?b zRM<&IoHJZ2j>Z$1_J9WFg+4(ua;i5?yg7JEiO;Knq3VueGilv+;qsCGhnjKhjmJ64 z=1PYWU}ngzxLqbH1M~$(J_Zs4Q$RC{NTAHDOo-bINyA*rwKtV9+TCd><T^hEHg{_N zv?choPhq{(!Z(j2{wTJW>1J*WG7$)+-O2}!9Vj{2GUlV*Br<`L!{p&KLep*;bO=6o zK+7V*+}9T&KWP7QM4gX7BT(ES5gCAOdJ#yR8VNgO0w<u>O=ckRxerf8j1O;^9XWfR zmWaf3tb@}>0Uj{PgQG}#7T#loa>)#I{G^`(-M{IzMDsD>cxCED_(9qKivzuZ+iuJ- zg+%F?hz#&8^z9WO^Tbvt;0?QZx3xrZ!lz+0mccpSFcnu5e9FkciPV9z{}cJ2G-br= zm}m^ZX9E@jp~dk+NThlVGw?no4gXIDP#(p`1qh2zrks<_n@D>B?8{FQk@##FN4W_n zOZ?{Y=#hFa&*KS+!~orZi0k8tj5yTIKF1XjjR88v6&vkXIi>(AfPZesDjlmj$(hWt z%oB~IZ`{ievzMM|0Vk3VgrGJ@3mpeTGU`9B@`*fL?{Q<_1eQU9a%aLE8D|fy;|Kz+ zS9}-HLWFjG9SrIVgG6EgHjYeiIl?6f`3QQe2S+=QQ1-w+@R~<^z@@(CnvuZ}heRPE z79p%cATj(5fOF2xIS8zuM_zjnXnUrE-xdTCk;G?N%*&%GKa>HO&Z!@Wjz1(C1Dp&- m?8G<y;?d3kJpT%882JANh?S5Ozdrx~0000<MNUMnLSTXivc-Y` diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/128x128-Itoopie Transparent.imageset/128x128-Itoopie Transparent@2x.png b/launchers/macosx/I2PLauncher/Assets.xcassets/128x128-Itoopie Transparent.imageset/128x128-Itoopie Transparent@2x.png deleted file mode 100644 index ede3adf3c93eb1110e0df7d84c5045f0a04dfee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27642 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 diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/128x128-Itoopie Transparent.imageset/Contents.json b/launchers/macosx/I2PLauncher/Assets.xcassets/128x128-Itoopie Transparent.imageset/Contents.json deleted file mode 100644 index 5910f0a48b..0000000000 --- a/launchers/macosx/I2PLauncher/Assets.xcassets/128x128-Itoopie Transparent.imageset/Contents.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "128x128-Itoopie Transparent.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "128x128-Itoopie Transparent@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "template-rendering-intent" : "template" - } -} \ No newline at end of file diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/16x16-Itoopie Transparent.imageset/16x16-Itoopie Transparent@2x.png b/launchers/macosx/I2PLauncher/Assets.xcassets/16x16-Itoopie Transparent.imageset/16x16-Itoopie Transparent@2x.png deleted file mode 100644 index d31fa068d83e48debcb7e987450ea2d837efcf1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2843 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 diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/16x16-Itoopie Transparent.imageset/Contents.json b/launchers/macosx/I2PLauncher/Assets.xcassets/16x16-Itoopie Transparent.imageset/Contents.json deleted file mode 100644 index 2265ccf22b..0000000000 --- a/launchers/macosx/I2PLauncher/Assets.xcassets/16x16-Itoopie Transparent.imageset/Contents.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "16x16-Itoopie Transparent@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "template-rendering-intent" : "template" - } -} \ No newline at end of file diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/256x256-Itoopie Transparent.imageset/256x256-Itoopie Transparent.png b/launchers/macosx/I2PLauncher/Assets.xcassets/256x256-Itoopie Transparent.imageset/256x256-Itoopie Transparent.png deleted file mode 100644 index ede3adf3c93eb1110e0df7d84c5045f0a04dfee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27642 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 diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/256x256-Itoopie Transparent.imageset/256x256-Itoopie Transparent@2x.png b/launchers/macosx/I2PLauncher/Assets.xcassets/256x256-Itoopie Transparent.imageset/256x256-Itoopie Transparent@2x.png deleted file mode 100644 index 3fd1aa390f23aa8b376a15b46f87112c76a0eaea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60311 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 diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/256x256-Itoopie Transparent.imageset/Contents.json b/launchers/macosx/I2PLauncher/Assets.xcassets/256x256-Itoopie Transparent.imageset/Contents.json deleted file mode 100644 index bdd8fea12a..0000000000 --- a/launchers/macosx/I2PLauncher/Assets.xcassets/256x256-Itoopie Transparent.imageset/Contents.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "256x256-Itoopie Transparent.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "256x256-Itoopie Transparent@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "template-rendering-intent" : "template" - } -} \ No newline at end of file diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/32x32-Itoopie Transparent.imageset/32x32-Itoopie Transparent.png b/launchers/macosx/I2PLauncher/Assets.xcassets/32x32-Itoopie Transparent.imageset/32x32-Itoopie Transparent.png deleted file mode 100644 index d31fa068d83e48debcb7e987450ea2d837efcf1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2843 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 diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/32x32-Itoopie Transparent.imageset/32x32-Itoopie Transparent@2x.png b/launchers/macosx/I2PLauncher/Assets.xcassets/32x32-Itoopie Transparent.imageset/32x32-Itoopie Transparent@2x.png deleted file mode 100644 index 9eac5605c18ad4e7c7c5f70f20349266743e412c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5869 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 De-LH% diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/32x32-Itoopie Transparent.imageset/Contents.json b/launchers/macosx/I2PLauncher/Assets.xcassets/32x32-Itoopie Transparent.imageset/Contents.json deleted file mode 100644 index fec5d6fdf4..0000000000 --- a/launchers/macosx/I2PLauncher/Assets.xcassets/32x32-Itoopie Transparent.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "32x32-Itoopie Transparent.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "32x32-Itoopie Transparent@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/512x512-Itoopie Transparent.imageset/512x512-Itoopie Transparent.png b/launchers/macosx/I2PLauncher/Assets.xcassets/512x512-Itoopie Transparent.imageset/512x512-Itoopie Transparent.png deleted file mode 100644 index 3fd1aa390f23aa8b376a15b46f87112c76a0eaea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60311 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 diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/512x512-Itoopie Transparent.imageset/512x512-Itoopie Transparent@2x.png b/launchers/macosx/I2PLauncher/Assets.xcassets/512x512-Itoopie Transparent.imageset/512x512-Itoopie Transparent@2x.png deleted file mode 100644 index 61780fc9e3f821a1395b5182ea5c386eb233f015..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133970 zcmeFZ^;=Yb)Gj<T3?)c+2-4jR!q6Z{Bds)2(xt?Vh?0_mG=elpr<BqlAtE5Cv~)KN zGiMKepXZ!k-v8kBnoAt7*?X_gihHefuQf#J>8RhnMRyAX0^QcsP%!|3puj(&AUqu4 zM;Ie-IPiwnSy@@nRasrx!_C9n(9_1wLEYi0gSWGtfw~e1Bo!BDZ1se}m_q)Oj}t4~ zsG*x!gl~z$ZT8#A55?Zsw}$=xE%7u}Q(~57-TriU^xfd7l<24H_qwWj!NQxF6g{0y zaAvL(;yL+x!MC^AXD6At<m=DF_10sGw$f!q)16yu{y6LgA7$_5Jl}0`+QVLNDKkw? zqyST8eB`GVS@L-uA9;^A;pOW*YMl2b`i#6*rP>e)U4noHi+SZQ&maH%@f(#}*`&ru z$?U~sTlcqwATl1jUu-<=4}Nx;$fU4oe&^J7y-66>BlxU&(QdliM?N&p*>Qz$>3bx$ zv7t+38cF=u-g7m=E8*&?$9WH2w#wF5^KCQze&^MA?%AMn-9JBxICAeU9!t-af4OI4 zdBrQvzP6~}qg9ratA@l|a&-@BWLTI>%}gX!z)AS^C!?x}bWg>yVh*>gBlkmPL-gIy zwU-h{d`tY1W0Gq_hM#B3%aVJuKKu7HiJKoD%0j!MS}igT`n|8*4Ra3HRyV~nhMxzi zATQg3G)_ajbES7Sg4d5;rt;$=3)51<DSN^r!``bYo~|vSYJS}(!J>7cTh$B`NGc$* z5L~u$FIpedBBYj_WYVJAx<nY{p;hW)yx~=5IOY1Wak{hoEt^{x`n{vn!MVW^66J`n zj@xzk*j(>~Ubo+RV2VX*&jrJor<!?E8cu{GLQzRU8~ymbBQ^b6m)xODefr4fjxQ;w zfq}>27tN#fJoc~UUr^Q3A>UL`eRnu0kFc~OR|w^kgeY*(GL!ubAA2OCd79`Y0%i${ zmV0oT%uq{izjrxv-%a(AoaEGXTdb%-QKsr|>H1H3)@V^4ZA-)H3O=I7SFFR_SJ+nV z$iBxlmK%JM`i)Dp*{vp{7mqKtkRqqNNS6-_VJjvFP2T<HUq97qcW=9y`UDu$x#KKT z?SD(}jp}7Q@;X>CAyx}b9ZX-VI<}HC^AI3Xt4PDXbh&s)s}rYEaU6d9x}L9{Glc89 zuYDwBC}bpLG~}}tBvE!ad%0s#z>~@6ao?%S5uN$`bE+VkCZ~;5*NXdhS=}h_P<elm zSk$)>Ipie7vs2QaL8Ml0T~Xx<=G<c>vSa#Nd}Y}o@DLnzRRcMGfHF2V+VD)_W_;-J zK&nHLJeEz_J~l<d=&ae~=sn9@-Bkl;5<^)-^3s|~MdH_WMgDp2kSiqPkJ6{L2AdOh ze?lN;-({X|-5#L~(3(iLrK^(QNzK??k1U~iHK6_GiQ(&6cXN8|y+6nC$C)CZh{-Jk z)U&P#yE+sOwyy-1-qeFq8Q_S1)~7UML%4sirH)?C*3NxqOw<S_SeQK9KJB~|2@JiS z-1ybwQ?bSmZ;+JD?wsHAosx&4%Rx?YVc@*nU}G#xf;|uj2GUefGztW7XX9p3sGjzR z-Lp9&W7BwZs|1fL&z?<_jD%FrsK?VuX3R4uhZ?z6>ePHRDf&E1nwLfx_XP_NPc&X6 zS2T0vN_EgB`VS#LFW>g|?y<JXSk<|lqkn7bmnNCX=f)?uteL@N|Nra%LjxY9)osQM zsjr|K@S7L2CbXWIgv9F-LVEFZkK*G0DsP`2yjHl^^sGjn4F<uy79=6*2JbBs+p_cL zjSp2_q9z5-O1)}TY6I?%j&_D0mflD2E^(n&<3N|~Mj!M(JXtFaofoJzwjUnVUAyAA zc%B(~$Hc2+FJX`HzdOPpcbH*Va9lcs>OXNco<sa1x<Xe!BnEpJ=+F%W7;iFS!Hh1N z_;}emgE(dyE7h?2K?}iUhy~6>rr|-C3sl_zPT~oRi`@Se+%p|?8zg|`c=+E_n4uyn zbkQX&^QIpvHRuylWzqhGAiwsaNv#V@d|STppV%%Sy`Nn9I4?X@I>;^_+Q$vZkc!_~ zC&b42A3s9Sk>!E&UV(yS@Do6oR|;z$>rvT4IRmqIq{i#)u=2xs7)5Y)#+V*HSeRs; z3?dFHDN$S?NEB4<Apb@Sbz#o4fiVmHyEp;X27LmGOruy%yt!FIR~3Fq(!90`<+T7y zwm<5(Mhf!sF#9t$#FmCD)joR_8nb%U&l023L2bru!1CpvIe@?Qz+gHM5By8+f5x<y zgtT&W7Dm2VXX2jFSD9Xy)Jo&NGBDA_6((FaKrpGKMz#so!c?4yD#&d9*Fi`iVxWDI z|K1`Vlk1ILw5p-46YsFRj;bef78vSy_RUG?C7cG^R}D@F_D$`wB+cfo)>gSD{@(-5 zlIDS#cQUdlIc{QaCJz2=-h(qgI+Tf&@wW&6P{-4%{smTuEy?(AoYa`F)am@So@?{J z%Jg9W-QqkKFdE9kZYtr%Ef=Ptlgk}ENcBht_WWC67H@V5BE$%6N%YjiWt3qd_-&kr zrIEWTT@F|f1mfn3t}sBS`;Rkg)&7~ilOy47SQ%%i@%igWUn*(%txi4bneeVr2dq|Y z*lh@pmg>XE{}CU409-57fp7K?I1sn+#M0({?|1Sb+f`;`zU1=e60+&BW29%qon+3_ z!ZDhR?{XpiANLS?1IXSdPD`MD6DN9LL;|wt&gJtMLTYJk3RKbIAPj=f&WwZDV^<W1 zw6Pz49H3^IQ>FROYF$Sd$%Dyj;Qu6lem8-$bBhZtM9R3K@U8%<gt+Sr?V-v0gfBHm z)WI{aKx%gPe|;c_4G194%!mk<e~KqSJUe`Dl4z%b6V1SOKMW>MtHHbq?P0D~yY*fT zo~DxZ6YM`k&<FX?6T5UU#y9w9{Cyel$!yq%0n<cq{yx+C38XHVjkynAskG=rnoYZ( zF#t&<``<%r&;q_^@G6Hk`NoI0!(sf=MUSrHDQQ{mcRro#he6cHNbF!W6qa#dQI$ue z`gX8HJgoo1hwUw(G0onQum4nVst9Ae*f<U~zEqEy2-}xmIwZlT(S*f<We8w#V8O^X zuETT<m6!hv4ToBC0%zWeOb6fG4aN?Y88}E}SypL{Udq+i48FqweoO*98ewGLF;K@M zBMM`@CGy{S;jVzLJ#X`q|L3Q;h-cnz@BvMhYt@ZuKNKNbLL;E+YJDCB^%eZY0F}x2 z%>OHM3LrCn?_kgW$~-UqTZJPsmb5T;6nP4cc|DN^r@?xtvEv7X3DzI#_eU^9*S}cR z^8wU6nRVCjpQ2|Z5jfs~%>(v{fAY_rc4TGZlR)@fU}0#=V81#`d{jv%oRZ~#KvK^g zxYmfCQJ3w;!X+<Z)Y9^r_E}ul?mSV$-GI+rF*EmptjO}}Aa|&OOkUPOppbt;!+zk6 zgY?87#Xh)k%xVvaw0B_S04)oa>cQCW0N*?8V6u{1i0nGZ-$7~OsC6BP3(f!FD54p- zmV}x^?Vn=-j}?{v_z0;>S%|K_zjP>sp8$j4Z68w#JxF?{XKw>ZvM2lJzVaCBjM2aQ z!HSVL4c|BASeKesFuIctjPdv+Z5Scgf=$cnj*zi^Dqb2c9`s)vA@1RigQ_{nQA+<K z?B(t{>mhyOxBT<zKmUZ)zyXw`!j^lcGD))EHsJWb-gq7X7^gFDf%*oq5%=-zhrCYy zhNTWL>m$40_N>{EF(W8QN$k2<2F-7SbtA`hVbQaQpMcsE;M2fC7aFK+f-r{ddJaAO zpkb#nN?F*Mb{5@F20-+7T$hdlcvEOUG?DUoO#i&*P3oKo2OhccZM1?N<Az4BVT{tw zZ3EKz=ih4{`{5ljknQ6E!mjgy#Gy!&71wx*nBITZ*AM|BCy6lYCkFlDVCd$3T3s^z zUbHpV&@c-iQI95|p)Iz}0+zE#zNjNHwHrl}?c)QN1y3YY;9#D|28X{n*Co5i=0f4J zGvDJ-1oE>!#1?OcS@pTf3Q=N}oVhkt%)b=>8Sr@xAw3RtjAC)f^aN3y(OF}pVOSRN zsvHP95)$REXVTY-iJw%O#qx0Yf_N|wcn5>yfXL0G9B$k$0MA~lmRv=Es<$&))=bD4 zP%}B+wk4fsZi=xJv_kCtS3cH%(f9+fqMo0lTsY?0+MFaww_>R-!nsh#n;y?xYmsb# z+t}invJd{|&L4&RcntdIsqlD=5eoY3jWI@GCW3^sj~3>i6GyQM6ad0};Kr!Z8*ZWE zy9Tdxjz;{riQjo3>vRP?7`lbgBrF2jI#87s%^)}w*8GJAnTQd<pOyI){NnKY3Cmbi z%8viLFpR}P_%v$3;kxN!dw~F8M(~h5xqBc;A#Ftw=64DJ7oa6$4&XXk?<6|NpUT5Q zx&Km(C<dst4Xc?ko}QowDceRrTv5_TX0nMnaHs+Ql?v^_(_^NbuEhF5vj4zb$+{5Z zD_x!t#qQy;rGH3?%z)GR_eUdjDbRx~7oGB7J26Mjdj?$zBBR>iamr=R4;fHpiTED? zctx^62vVkt?!_1aA%({v;DzE7c__1ikXjOreh+oCAh>fqW+z^4UE{P^BjHsgCBkZr z_z)U5;7cm_C}Gz)ha2-?_<QJihD80MsT(FlxYYCB2cyFW%<|8Dvcsf>I6~vpTgC?Q z@AAsRw=3Ym=7&-1PLJ*+<a*o{98(JACuotDsP*AnS%EFh;5nHOd<A`3!V#gVS2c_0 z-cH2RGq5eFpG+MC-PeK}c%3~oV%weXMPHrnNHn@9kGV@U?p0UYJ!iWNP(;MNV1y~Y zkNfgMB+A3C|INhx8rKd&6f?6LsO8yy?0_-L<I94F71$Unou`53yHM^HQ?Y;!(NN!8 zyU;{5c|=(|x_m2_ZdYq?Y>YVS@Q#wZ{(|dt&3H*ogyRUGm@`lA1BBWGx5=`I^#i22 z#Nm<K%HLTLCJVvW_BzPOJPJ}_64RNYTK*UOhb<xHamM9X=O|h0x7%Eu&l=)#r&Owg z2&x@o;`lSQR($r<AauB2+eUjysvq4CjTvxf$sDP`*1Ew{6b9(fbMM3f!|Zb+bPOta zRm~<&P=t5bt0h$xBn4wz{lZI31WAmyiKUp~M2vj(?yd!kC<!{T>hZkyabNQ~ig*n+ z{l*)D$2$!V?oXS|e@gQ>>ukspw)?ER1@}_`yM_@iWUh9Z47&v%#nIdfja*pslaO$m z$@GG25v1hfD-wcpHKeOZzFA@YS53&NF;li<$KSQ~!gy5|7euBP4Iw?*eLP)~bk$Z( z$$dpj3!bdXy*m^Ps+==jpX7$?WCQ&t!tnvilS$b7m;S8FTxX>Qn*qE!Ur>A=d^5i_ zNIqXaAVpU5Ncb$o2=;vXrDT0^C{l6pt*<p#%l_hXP92Vv1+z_D^7zXhJmwgU{XD>m z3T$Ftn2^9!sjQgfhsUIgiCM%4G8(=XE8hEKq?#jd(~UJ?DOr!N?+|U3gm7d?+|IM> z2emTY9SSYRGjB{Py^1qV7pz*pG9E-zCh;I^B$r`OdI|OYooG<%z~*86-#OD}<`-{y z-7Bs&9SPk2{O0OPhZw_mpBc5NcO+}01P&7hcH>r`p}qpj0AAL*fGFF8FFOJ6!T`Tm z5~MT$Js)`}xci63K+!rNqElz5T6>=Oz13^b<tcvNTq0}^%T3I^r0Sv5%gpG|k-4Fb zGAV6@dxS%+Z`YSEWBgy!$v->gs_b76MSi8?QerdsBcvP-8@ZU4!)^)4d257XscrsS zDvbRvF=dc={wWjJ3}5?)L(S^eZEPWNT&SI2!!Ni^Q~&|OI-k)#`NQ(Eo0!;ooH>1T zzE|n$l++$Nd69#|b0thPcs`#lyg-A^V%jj(S6kS1bp)5LbK^53`@CtaS}Th9E?_P| z2Tl4WL%DkQEIAM!If~P4A|JyW-93-d037-Y<F;3^={LY@^csHtJl;Q5mvVLfn^1W& z(O6V+*RJciYZNEyFaMYIse3PNlo0~I;Y3RxbS1{;((`#zd4k{WLX*A__cQ0IM$%$S zJmu|9Thg*VWw4%_lSmcdCwB_(tsPku2#5c&;O6sr=E(mF<VRE@njx>N3#kytMD~YN z(0p*|>ew#~Jm#@LS{vs5^0Vqo*O|k#7!Zd*<sHs%;h4YtUXhTAR%Ne4LgtPo$7X1t z(<`HMa&>uHZfUEmcZ$~CQ+V>|uYFrp=7DQFB77DPqfZplm?Hmf!|m&%|K3%D-#+vz z9Qe($DU|RJ!GUf!tH~~@)=mQBn3&3GT;+`wt4MkQ>MGBuTY0tkbZyW-*nRHRHxC%7 zKNiyJ-=JUBxLgr`E9|!Z^KIYa;Q|~4UTP)iZ#(DnA0yQVgGiAIQ+=*FECw`K42P}Y zVC7M;&S8u8O1b??zuZ5KOL-(t-=v+uh%OrL0R`0qg>hc&Lqq8y-fO=zg5?C|FEpXr zu%c6o^@$d3j<_wZPEqk+`jBfCxZj01*l7^v=HJzrFA{tV-v8x8<=A1&F-J^gcXeu| zv*qWH7cL83`GeFqc!-N2j@<uCj(1ZzE^vT5zWw?zTz{itZ^)Hq3a`p2DLZSy;d(5o zAfV*1_DkAz-zPM7Z|a16-$fANKH;fJwEnmppH`B)yd#2_G8lWTt8m-8Pphk3P<?-O zX~}!;wznhP!UXZFidb_tj7&fLf6})WrmV*2OTNjcQh3M7QfQ!5aAokKWha8HP9IN~ z()Yd3KV}LD#$$a0o^9|?k<;0U$8w-k_xeaKPV#o?NDwQ~UuJ)Tz`?Y(89LV}tu^IL zsBx^yq6TMA`rFG=#U|rkbW^~vk+8zBKvhsoKxxP$v<DAa5<4RgbJLL9*J%Z!v$@IS zO0UDe&^))qvx{%?(vS@qk!HQlvfA!U4fv$C8V7bbUlAqvUKBMCPaE3*k)%XH(UThI z83kLKRoq=w(%hM6L6iK<X--KeyQyg4K<f{mzUejC(qI;YI_lTzoRSvk)xTWVmprcD zCCIzgUkW=X#XY)b#O*V6ycN)~iJZPHE%_#32UAJKZ<CdbRKJ7sC$N%&w}bz@5GIC$ ze37sAcm)-zMb-?n*N-Dx8vN&uoh)6CzEyed6JyTi`L^pIsg(ykVl~p+AC;E7R5glx zvz>@AEQSjCzKm;aQ7n}%KD%nZxM$R0)d%|hX#d27HE`uF0n=CBzOha>{sDG~xVw-r zq#{ua#e8V`;QP|WzsCpzAh>`3rWifLU(up6iOv!n>Lhv~YLp1O_=Y;&sS|ptgjcNH z_jD8~)!P|uN_+1vw4Rp|h)4?pc~nVUaSm7ak{|(TRL@7v(OV_*Pg>4~SGHwUQ5>}` zm)r;1H&_Q|$CwH0<|t`hib=?wd=R0pBz;)XE*Gl7C1Sk5iDUHqfgZ!9YC_sZ?5W|# znbUBldHFlxJT3!{Itbq{$sc`LKUGaT<^M`0yn=5wmCF(Q9r(Ex9jt$C6v%O79H0bm z!@)#Z*FDHG`-a7b@AEzFe8@EK3un}WOvlA{!grCUd<*+JqZ;MAW24h)X!Ae1;@+uv zpvNJu%Za%Ba@=*04)az!C-xS(Jef*<HPCOCeWk?WG9US|yFk7IlUWl-|BK#cMP_xf zcBK_teU$X7g3gy!N_05UP~XaT`wTQio-@|7gLv}01wl!$ubvGJLNA<k=g#-qNrNwi z14v4q8b*=AiVc6U9R?&?{h=<;WFEs*^$0Q6uDdB>uAUFmfFt-p_}O2}sva;cKGTsO z?9xYyiejzL@)I~^llL?qkghns{P1dXGX6U<WMb0!(e3s(Cm900Uw=~VwsrSecu?A5 zrQsTFwF1?=mUq4YzNuLyH1NiSf$EtKG*Q23<_?_41aDmi{YmA*W9|N?yq1y7{x`bS zzY*ib9vlMALhwcP@-Iw=Nm804PPa!lx7qTh+ecl%sRGoli#rlIL1h%>Ce&(S$!qGz z$!KF8SkB!T_EbKS7nivIwT+SCpm`B5m@NfHb0sg~@>*l0Es8RGL2r8=Ty?)$s(N$% zig2VymD*zcw=!v&LC?vxa~R?SC49yY-90Pv>v>wlYbKuFXb-!(S!cY+J*9-Ts9i$O zsDa7zQENWTO*K3K@BI*PRd)(Fvp8p-1+sLh3J3Hmgv65qJ=>s6Bf&zRW=RKY5*Wpo zIUF-dQV!4EP-Aw)GwqaqfxC-~3aD~pZI=2g1h~{t6?RbLI@ZcOi%I0TAZ&Gj2IyLt z<M6AS-uA_fl>ue*<U5#_=3?iBB9p;#N^lmuuJ5rrQvFVHgaQg*YFlsZgxmsWVR^I8 zg-s6|BCL!-X*sr6aM`Ev3&W~n&>jLkLhzX8uR7JKzUM?YbRVph)bpA3#zT)Oz~peK z%l*72HX-8_G?Dm&fvPpx=&+oM111qMf;4om(ph)btieHm#(pyNlr8T}9Zw9ptyxt2 zxCd`Psz+McUeUoTC<}9!i9}2<I<r|J3iLq_@Uz(Pe{l?j{m$T6=|5uZRgjg1qtqRi z$HEBmJ#<5Uuk%^)phDezrUv;Tp9sONVhf{l_Rd{t$E13+?!pixmsconzAW~C>{to_ zw=iiM<b6!Sd`p5ibTF*?kz`fDQu9~693P_x9{urldYr;Fd!&A++bfM;1%5%ihcb## z+gI?)2-06Z#SyYkc|S)}0<sf)l#B7*>FH%T+vdF!f77(Jl8%q^{l`|ULMK0UzPWtN z^2KTGX`9i(^!Q?)+pqI6zF&vAAQ^^|N7uvookt2l*kq85AJEaK-=%MVhT}CsK|o7u zX4*(N(`XzpN<y9SOI~Q`^M!6;N#er?3A8LeD!#YKZXWUB9@yXZJBo}Mbkj+RB}ox$ zy*_*?wNzwGp?=^oDMcRE#)pf3&J4fv8&dl|mj~rSv7k~{-^y%imWJO$2yQW>!Xd)5 zUituv))J{fy3%9I9_Q5ckSutU65fB5^ONpUGtnZdjopClA3^8*0FDE%e;WEQ=ccJ; zWFP%5E1T%0q8raODuYHMg>>ZE>Eq=|zpN*M?Oz#hOd}**?rwOoSErV;S{L|tM38o4 z(FpTIio1R}M}0C#N$DZ<0QBfW8x$Il+SwXiLTWwtkrjDUXK$#(@6{i>`b@n8o)rp_ z@jlM;y<^cE7LB&+o4UXXxmsJ;n}&YtY|=R~DO6}A1Uf2HWwL!bglWLjK3A%b9kmop zUzev4lnn`TpZ*T-6-V-wu1kg8z?3g@7cFRGe5isI@Gn0+242p4JVRm0n_1iaK3V$c zhn2OS*9vuB<rPOBzm;6eh7<sG!(8xZo&>;1lE>=5HS2Rw2@=^Z_a!|^T#-(l%@1Nb z%N{$jF<=15k%dIt8X8PyN-zRKn~hRZ6nLi4%dT{T(b5UC3I~lKE5V{SmuqXd!mF{C za+mgQlM0Qa^CuM;0uW{iH5zPs&-iKgx6(V`jEJRtLOv_og6aemnBnE2<-Bf3Jee8W zVZ)KE0;UjRwgPyD1Ofh$XBeVI8TNd<b!7g*gyz@SHE3tQR~C}-r!oWb-aEw67(R<& z<`(k$&u&HTAjX-0X%lq6!V!M*1Snk@`vT_QGB*alt^==J<nZ!WsKGr{CrSRXea^}l zqdU7iOaW?JGRR$N6!8WPDmPNVMR#jK`>g7*0#+Exm1wtp><gIR*lWQTUEd*O8q|$9 z^JI4B%V091Xhig&SINl?6hJWJymC*C?wB)Cm(bOe>IN~&Fh1o{up9-bOr9ly-LFMe z<|XxIiO!FY_uW!RXk_?s;}sacG~0#anHeF=Z>Ml3!J_d^YsK=mY!tHs%i?zCL~4A! zpsKy3KShMvov<{nf9%Uzs<d--<SsedVqldmfdXR*Y*A4l1?~$W<hbYVO_0iUcROg` z{|4Cm`fRL6;px}U?oFmoOvh+XbUjq>a^LRK*60$4JVVb8jNGzbiDYg)A+-7Sg(MW2 zr~_I3StZ)>DzfCQ&zpZF@OcJ+SRGFvJ$!ScB)^q&<q2?>o~GP9lm8S>Jj2@<&f*B6 z;K;g$+`aPATS>4C(&}%G4SWPrx2qwwd<#DG*w`C8Y<hpdbT|VM33o*dUp~*cbweeF z0R>xE?#_@o05C>6uzQLM0@)pjZ`Dsc2%RQ7ZNg*MOVE|*M*XTcZ>Tn{--Tkh;qye; zt78x@5gyR~Fn5^q=s-*;)XTZYR1_Xcew5MteRaPlII&5!d6!$jB~}H(W=#jARBcz` zRKO(6q)<8y7Tx<!y2T+y?w)c;V!C%R#W}Z^-`Oyn=+4C;D0P(~W$SZKCNvzev}+Qw zlcRJM-u?v14o%ET!rQ2y-Fo+o#Upxs67Plx-KWIxd_S@(2m$YAfYNDZ6@N&UWPa1! z5tly{wljMdx$4o<>{J$U-SBBxKWx5Hl2;9K#R9N+u=ziVgo!^vF;o%z?QXOsiaE(w zG9yj>AO8F<^gdDjL-L-qtBHRkIuZ5^P!aRJx$FiGgfIKJ3J)sQch@(=$sEUNC~R%? zXW;%fZEbmOIOwX$If%b{f~`6R<|YBNOTX<oQA+jVvvzP}mzs^u<tWaKGxP~p>=WpW z-}`-fprt0p(0Ji$_LM+UT4EVDwJklI=lwV%AN!#I1rQI~^2Q9;51Ph1;yNI{p1k+e zFM?-!D#$QtcA(bF2+e#+Ot@4xrexZF-wDf9gg&oNlRgdJCfKU^{){@v>ZK?+)>V-T z063s$1W0j}h)%%9=W%eIt1xpJpZ4pAHGx|NLt)*oY>-z9(#@N<2-0nKM!xqOw;^fb zp%bq$r#LE7)Rqy4k7SBeug8$3q|7+Cu)+S&TNUp3C8p4U&&RcM=@H`W;CYN2H9Z)P z1|9(vLWWX)BVpz`R{=%Hv+eZo;@pv*>d%|&@mOYUvcO?^SeZp%eMpn?RsrGONkPQR z*H=3mmS&}d0tj*aULNccQ(_0B1K%+7@D`w35^CBp^#;<=5Pk_cr!nfv<j#*U;Vf=+ zF`9!oUY-#qnmuq|9l(hvQ;|?hcI)MYa0rd0F!LPttLklDE3$-8ps%{;{lQ39eZ`&B z;@@l}7BdV=9O+X6DwiHbn7ZqoG@ZExsijMSXdd**rqjZFljHJGCr$$CIEv@0qQmvc z!$@e763qYhV3X&U4<xld-S5ygDhyDyiKm+IHr>hBv8UPdnz#HNZ#a1Y5<nx^CE7`V z&#ywg3!%jKop#=(q_GWRdln&?o;{Js$;d(Icl!->>dZM{`U?aQwe~prxqt5ZZY3g! z|6*68){cEhxc1(LD%EJL{Lc8c^7967=rBdyD_I|)fAoxprLu)o`A%@OrbS2^`lq1n z`v2Nq9w{=651H-dzS{lN{!@jI5}!tg`7d*IoSa2puC>k22_b-acr&G$)ADM%@_sK9 zbB$zluxVi(O**DNlEaYM#A1*b47LeDY&16%CP?qyv*D&oO3=9gc+Z6ih1I3qPy8#6 z&Q4h!WrWW1RLM|6R%=$l{x3b`Sa`3#oS!e_MMqCK0eZ1J2A2;HKaA!RsyHyU1WqXi zP%5yD$Dj&%{PRe-{{ZUlbuB@#QE_t_5V6-dw9VJM43>eRuwY-qgLnc4R=}esBjNI{ zmuCd;zc1Rf$@VAlV`+Ww6NI<9))U_|TG2{m7l#Zc-(;*PXnptB8@3{p*|XGl;OV}y zYMBA9F={Sgpbv}q^>{&M-Jjg}(=s7@j4T;sc(y;I@rtr6U$yM*B=k%;mBWH?JQ8lj zlc#h4t4eY>foz`R!9oShS^=uvNh8am2b4$WX%2O2N9$vG?;~S{h~yKtuD|CmnrV{l zvw?s5eR#7?CL|3v<`u2pKO!sfGRPUs;d5spVE6l)dW;jbJ_>RrOPBb5Gc1zCfB=qh zktU#QZAkxpN5ew$)by{~hUsbk72;XG-U2yUMBAKmK3?r%6!>T$+iToK#KI%&;u{ju za-)Kd?%${)%y;f5ilr*D#0T~d82JETl$#Udqqzab%lldV{{9_HkxxS@j8S!USk2pq zmcK$RNNhGdv4q3n7Y%l|0n>lwv@S3ivz`>}sz|45bkij61RdUSVRjGrFmS}uO7!A} z7?RWMLi^OoMP*~gs2U)|X;L5W#D+^YygpV#=`Gs4;YIV}V`-@?Ny|MCm4ccC%$V?n zX|vP|LyotLb=a~Kw$gBk2D#$g<akXM>`Td;YBMkn<OB+=R5iT=m?aQTEJfqH>V<+- z&Om4+2BWS;z2?JzN|`nOf!tSp(tV;lS4+gUpbL>W^{}@2g%3W!C+V9WjxNkV1rTxV z6%rYIYh|g5@_d#G!}MDFRDd$te%#@^4JZQ$M)o1riNT4JRA*A73y<G2^t!slcKaZi zE3FtcCw9#)PN;VspSBb?yunp;|Kf$M3d_x1i+3l2Ratz3Ct@*ErT=FL!+aZWU35!f zqD4md_9k6rJ`b8v)^WKdO$lgv)Gu_?X6t~#GbEHbk9b$VAGBCO`1N@wMQ<-k5~A_; zhsJf>fYQIw+&&@3X5T6J@NR5|;u=EdE=8`zaFrp?Hs6M?IYPfRM(CWypXWcSfC3+p zA*=q@6hJa!{!;jekv<~Aq2rW*d5@=IhKMAc_b^1JQECeqvM)S<Si&|({B24B1D~=9 z>4X}@qiLVtIh+?PLlQHj#5m;;<Uh?3U|lsZKsSiEsz5e0m?KT*BNyroV`~2Pvpl8; z*ZZxSby&*3ieBgZ*BfL31qrtYgbGt75<z~mjSlA{w<NSWi1N?0s)d79?&M?;tvGDj zWejyz(PzJ9MbxvB^r#cCyc2tGl!Zn0A)Iu<%6UnjC3E6qshJJXs*aH^kb%a;@d<!> zp_(4ycz7n7k8GOV37Eg$;6nG`N#i9#Lk92-FV3u3>y!X>Ds`!SS5u5-a9?bfR;+kr zwdBeQZ|gMID5Q^Rqp55|{u@n|vH)OHHX!==#;feLKD;hGnv~5M;OO^CL6dW?E`H<0 z8kqc1z;GeiqG{$2d@6*jy5=z>LI0bk{m*Se9TxiA0jx0U&o#;`?IE^{ikPnY|J|7p zXW1v#M-@+UVPok4==)t~toxeS98Z1tt1}u$j4?(7p!Ag?EkCLH9@JMaEDLp@T1^dr zCP=SarTzIc1@4U9Th)`FRP6@=;~;gqI^#_{n;5p#At+8Ev$DWW8c@F7Vrb>Z0%UH; z(>uGZ%H?Iz3U9+Y8zr|?fjg6e32M1PIvF&dkDce(UxdYhmMHesOY>x~S5D!SR=1FG zH%v(uctOV25r9R#+Yt33X_*s+V!AatpJ?E&K@SCXTeO(^C$JoEa*!As$*loxIDRT0 z_CS|Y?nM9xylwihFz8dXHaWL;cah^;0A~%ffvTE95>&?tCYuR|v0gZ2_$Ha}diAI) zNDZM=z8~(-qlcbQvlz(g3?1r|*YN=MGG-%5a9Vh0hiFi6SXjR3kbsC$inW%HXt87+ z8uxC!{07|D1(-C#GY*z9X)cPLBxz-ray1NQn|$)n<;`K(A$L&o9+=?s6LkDgXOnqU zAy98?V1u=CUiZfmE*0kj={T_}4)hv-{)C08=!NJJFly3xjLDTAb9H~&7E~eBF^6G^ z)C8#|BGN<X9&(?9eO55QPaWoRHEO>GG(`-Zq@nvfK&psryUV5qCmU!D>f9w6SLeCv z7`XK>Mm25$F`D!uJsqfndlaqndRo*8L9|{y;!@FZUj1u}HJk{NVkG^qH+;bM6Z|>U zRt*lcrKX+2SWF?Nd}<&ww$-{F@CW(yFV)2ZzKNB)2lhk2X@Q~<h^SAdn7R<Qi6@p^ zk()Z2@DY9HKCWMp*uSz^>I{Baz-T6Lee7;mXA4{*&X%VJqVIlfHq$Ik&J+r~LGKVT z@3mhVe4_&9x9cfFH+jGlvpn)~$zch&#EWFyeGko<&76H}V=iwfY_CK59ZCr#{Y{$4 z2o*9nQ-R49FYtO|LEW#+^#K-vyer-UI&`&1Qaa;EYDM&~WBZ6H^^DuJ0WJjy{m!(} z__68hx%FS{xPomID($oPUk-&aOk-mv(Ft&pNML}**){aTCipT+Ar55l?GcL)u;uk{ zq3ULtfX<u)Kq(Sj#2qrHG8$0rQlzUr1>=RsbC^U<E~(OR5x5k~DUj}G0-qQl-YxtR zQsx(SYS{ZH(>8pTrrYXaAQ{PRjl^OV|9>k=a9#|(j?GIBlt+=_FsrDe6fSh-&0URA znGz#O&gi?oZdLJfBCK1VF~uLCaC}p|0XMjC|4-9nRUE3Y4K0AiS*$qB$19F5MCIGz zYjmYyrr8d4wFYd~P(-Hc1(Sn{X1TtGF>33_SXc7c%WrkEZ_zHyE8I86#6`g0f!{FV z1|z*_hC2>(Nnt#{%v93Ad@}`y$eSce27|2`31f5wtHoy!q?PB!0cDf#eFDt#^by{f z!n^Q;{tdfSR&<A}Jy3UQFh@Z7+-8Yl8O$-2%KmR}P|#~6n<s8maH7({*9^dUi=n|k zFHW5;YRuUds3EPtzjY$Zkywk>5xiAHMTdK7ys0OcR7eA+_w#nR{qvZF=$@EGBku9E zTTqaK1jRyAwEc5Jxfo?2V_*S6bDl?PhD|0E2_KE<)R&Ruzs=)A8RN3t<g~V!6mxQ5 zZr<xdn~f<KHJIfgOLm3tBZ_lx7x>XXrUT>LdL6TD_t_Mq3K9jd05~$2(hi^yCbPO| z^O3rhK_Y*&71iIXF=fVVjNy>PKD%0Doyz3zHNf;IuVExiA#|VD6WL9V?A}+UVhzYT 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 KN|};X$o~VCWIaCs diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/512x512-Itoopie Transparent.imageset/Contents.json b/launchers/macosx/I2PLauncher/Assets.xcassets/512x512-Itoopie Transparent.imageset/Contents.json deleted file mode 100644 index c5b355343f..0000000000 --- a/launchers/macosx/I2PLauncher/Assets.xcassets/512x512-Itoopie Transparent.imageset/Contents.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "512x512-Itoopie Transparent.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "512x512-Itoopie Transparent@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "template-rendering-intent" : "template" - } -} \ No newline at end of file diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/128x128-Itoopie Transparent.png b/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/128x128-Itoopie Transparent.png deleted file mode 100644 index 6484936a817e5804aa0f73718ca1d454d2864e3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12872 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%0Dd4s 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 diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/128x128-Itoopie Transparent@2x.png b/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/128x128-Itoopie Transparent@2x.png deleted file mode 100644 index ede3adf3c93eb1110e0df7d84c5045f0a04dfee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27642 zcmV)OK(@b$P)<h;3K|Lk000e1NJLTq00961009691^@s6Tym&p000CTX+uL$YePpv zZ)|UJQ*dEpWk+RhWpZg_Qb$4n062|}Rb6NtRTMtEb7vzY&QokOg><Mt4J8eeRy3is zx_{l>Hg1+lHrgWSWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6 zwD^Ni=!>T7nL9I?X}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8re zhoBb*p;u8ID_yBf0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J z`jH<$>RKN5V(7OqK*TS4xZz{h!*f1<jcI1&EaKCM1yxgOh?fwL%*FUd4Er&#)?c7a zYU`@#<)UJnb={z`aPMLMpKZZth4XF0r_Y(6K7{XKT>C3ECFkK$#7nA@pGN!$;%jYv zwjAKwmYb0gKL(K8-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z> z!FI&AHCpoWI|RUqx?7s@$8!5^Q=anY<?1z>%X@i5{QA6kNcMelpE>R6eCYFpmMsVT zrI(b06~u#xf1yS}_UGdMvD``!0~u-><w<`olA{h=FXLTprs&U03>P=lA4?YN`hilQ z|3tHka)7T{2CGqwjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^ z7T9R1gAN8V6s;5)ieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2b zW$~+pTw@bIek?ZvKPDL<64`^#UNTAck#RBsB6*5DP4<%<vJ+(Q`q)ZrMP58N*8RMU zGg79TMcp~HyP#nIGb&76Q`f944z`9P%PIQ>UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L z_AC5qq~L$#SMj%U$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPV<W~<yewN9Z=dbi# zJXvop4o0k(1^R0FRvAu>M6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6= zb6>{xYV#Ue-+LB$7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re z4r3qYr~6#KE>;1F`>_J_P5xC?ROxV(DIHdCO*p<m6O1H7WQ>$HRQI@7^PwV@Pvuf+ z5K}u-6REM(K@W$srgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5 zh^QEb$V`rCQ-|7ZS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX z2i^rZ^Mu;6+rb@?NPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV z0id6JRRdfL?*ITm07*naRCodHT?c>^Mb>^jn{y!NoCJ}e0!EDJ8P0s3Ih|hm_0D+N zaLMz`cZNGX!<kUQQ$d1&pdz54NEReVVS$C+W%Ew|-`738+cVQM(>)uQ&;_+UU0v~2 zy;rYZy?Q0$Iu`;i1Y8KX5O5*jLcoQ93jr4bE(DSY0!k9KH5r?lfkwB7FNQCGFY>+T z;z^$cPsedk4}Zw#OYtm$FN5drz3>O%U6)`Ga0x)-bZAF3r4Rf-_~GzF;XA`?1VB-g z9Q=0VR8=KWAOYA1Pa?1m{%iQv@EhPa!@DkyA>a~#`0czds5+7SB=~Xgec^ip(LH#! zx&v|8g+fRKmcV}ozXqNJq7L45aRLFC0K`d0`Kmb>&*S0Gg&zrI@8t_W><<tGE*D4u z=EKi|Ct=tF@46U<fJ*>kxO03}>y78>@Rz_J3#8{dKIR<=!bVh*oWW%HPvQ5&yDr8c z;1Yls>kwac((xo~e<l0`AU)arxOE@~-=gyG!@mLlW!yF-0W0njfY|EPcBsw;@HfJb z1>z@E|9}uwp<VOfpNF3TUkUHJ!w7+d8eoSJj?FE)6Ee64{zt(10nN=U9@2vtkP~<Y z{w?_Oc&KwC*3l&ZhqqU`KhN3zr$GGPcqW|#Ay|e+KLI}xo*aVfTnHpQ1TxXW8{k(1 z@zvJ!(D6}GPP2S#*3ZZrb)>-XJb2f&Ap~3wpbdfTE9zuC|A2viYD*Wb63sPSZ^}6* zH&qJqQzgGZk^Fo`3X2peDufzfo+23;iln57c)cPu)m}M>jl44YgDSk>U6u0kdO3KY zt|>#`FVsIMthoW;1{#pZ+wgycr?QdjS{VW@-;1qW;W*Bo>-^us-vs0_RB)TsoIr%n z%S)54UDKrB0FR6srO1ep&<yG$(g`|(9XhI#k;3k_rzcbo&EUNy&<Eb@ksaHh{s%^V z+1IM9UE`Il+v;WC-da=L6=_L&079@2nLh;oPk2{QXo7T0|8xmJOGDH;zY7uk7a%?r zd7ABjAig{l>D4<!MvO?231_9qm~mbiGFX+Y^i)$BnBFzVr<3kx83wU1p3JCT)@@c~ z^>Rf%oCUu9lLpziu}&%~3@)MNhymI;4+Y*0zZl+itpEWhBcc_GPxve;<hvjK$3T8F zRyuCDdA9G_D^pH7IaMyZOp&q2V|Fhz5R^#n6w#el#UKoNnGMkVUAEjK)21o%-a8Gl zW_7I`I>aLcAU7?*7Jvxw5Yhwi<OU2XgP*Qz2?)3Zpe3MaoyS-N{{u*HwDo6up~h^V zi?#eQ$7IO0H+baia}?=_wY=_#@CHX<FVB{ZWhMv>vUsV;Yp;q%3^s2zg!;|r3IGSn z27Up*vt{d_+_@Q}D7m4~@~!9A-orqCh})ub2I9ACmoDd>mo7j4xyYE&>@Lo{ha2fb zwW*01>^ta{$&*C>^L&FW{jy5x>iDgBga9yEgG_!5|4FDCxZ%zq;1U35@QM^W8xj5j ze=CqbD%cvVe!F&Qa@pk>@{3>Md~ZL9>NTWqZT3D=^PGIwiIrCx<lXlbdEzmze7>+s zYHIX0L<b%4I;wgQwE$G)MJKg!<61+2Bg=Iy0|83;Uk2V^8$I%?LRSCM%d+I9SJUL$ zt5T#Lr3f1G^BEOQVZy`YRMc3NA%jxn`s)-qazwgp+>|0aw(CpzXlNwTP=|u2Avt#E z!;_-8E=mZv1RzSl1tg>T?j#J(Qv<?ny&CNPamQ!Nb1$UH9luPK_QhnG6JczVXz6Vk zJTOJBy-AhsJ+frYDv#{n9~~h8oIUU-Bjc{{bKqU!Ab=2!a|u8+Q1eeS3a>=|qx^&I zy%G64bjXzZ|CA-qJSWn>7dH#250hw4Cj=aDM~_O8E3Z|tb(k*Se4}d10>IC4gOP@? z9|S)WzQ%C|Zi2YuDPyh6#-KuPVj%W%S}|j-f9k0@^5ioqGISsjfZJ!z5y5HMu@Rr` z^vJyVs@(aDdinB8>ia||Bm@zij>K2O(|noh96-S302}}-AS$={-Ujmb3<!_-%2_`z zFGYU!n_RH`ige~7V2#~R7UVZTq)Kl<?}}>`sVGmERV%$xTkCbKKY%{q5{w+!2k_NK z?(Q=(1Y80T8AetyMj~)>w8-D9cc%R3<xIKdCJ*MoL}d4^Ko&YIJyn&n&q|fS!_s8I zX9~_C)JH=E`lE!Q@KfN;ddi^-cE4znR2K}+ATSWoiTwSXBr{n4v17C4y(y_O_Gs?s z6Zw;E*0+KhVZhx2kDPa*N0xq-DqFWuuIFq?fIgu-fXlII@VYu8ez-0)1Y8avG;FNC zaI5cs7-&aYeGC<5ApZpy<;Xklr%31ajF|`${!lHBHe8i<g^K*}8joz>nvTOq`a}+R z+s+ViX%amb{zKb|k~pGE0PJ@@m3;n-0XE)#5-P6fv48ZV9C`Uwk7QBEe^^y_oz(vD z#7*-ka=`_PG^pva_=|c?i_jqvpnQf3LyHbi3*x6#mjKxBt4A;hueKjuM}7}D{o8(- zBTxO4>wP*OMR1Z)QpQ!~)KgNWxP7{OJg*@d;ox|HZ5jN!qy(SMM!N*S9-wYSv_F9W z*ycqIw*S^&<jUiZGMUTr+XJ-`ONZGpN2f@)o~bftj@OaC0J@62)=BW(BHU}_>OTD; z;1U3Tcv!t1i@=vLptuCE<qYJ%>6Scs`X8M4iTt){hpjS_Ba%)8Mhs7pKK)Z=)=bAl zARlm|On@f|-JJo8LE{nt3!s>S3h<kXKK)E#Hh!vd#g#eo!V5%u7x`@fEKC%g2n-vV zB3-(t$?OlEEeFtd+!e@xcZGr$P<9D`1yD>u4`KjaWO|SIlS)3PpOGVPPF5sMv&ZSq z{1Jf`F@ld1I4VVQVD{|ed36vBg1FiT?J+1~DZDEW2!ORq00IDFdYypZkAVQ#h7pl} z=&&q#{{tA}w7p<3mFWHq0|A`~j2)9A<%d$`v-!2Qm4$qLNFwkSJg-1^oeu)G2X~S| zjD|d3!@%ikx7|ek4js~E@_T90zc*94(tf+JvmZ|<0;ivrBCFS=%Boe4hyWF?^Wdl2 zFE8<9>N``3-%h73yaUKj-E!NGCbl1XBwa>9V3pj+Pr^q;B^(UTcf*^*q9KyZr$L^7 z$s<P}lT8C5c(?7YN6a&9$4-KXgr@8KAutTDpMn6`Hs{4bc+*Wd*z+6*cQWes6A8KN zM*BYvn3+>#?OIhfZBS(U4pk09CC3Y}War@EQ)e7`hSvTNXzh;};YBJvopYk8$Vwa~ zKJDas*|VqG_HqDywFDI%5AQAo00fr+00<^Wj_3^_|7E7Ius@0X!;Z|7PZy?2VGg4@ znvqO-vnvdSj5`Nb&ip;va;)-=HcYQ`bweGt=u+gJNnRZ0@d6?1<$%RyBIZ)^aal>1 zF6nXx%$Z+%9c%=QFupozSBkv!N`w6PN0m?%vY!rpb{k52(kL;RpDqFL@BLHpIs*hC z%|F=sjofE$Zi-Bqo+;x`ASmq*LOn+V>AkXjw<=4%5LvNYa4c4p9XoL=PZ{`$dQ~zr z6=~N&kpTk~84Vl5W5+2n7_+EOFb;<e0k$($N)CACU(brX`f|N&SYIvmsB4o8e~^cS z({LmPr<|H0zrWWbqeqa)IcZahTzyT0y!uLo6E0u}3ZX3rK3(TRK!X7JcOt*-yZR7c z{lD9CF_sJ9`Lyfvv^2Z-=c>>CJ5N3Jv~0Cgrwm|(y?gwM+oh?eot~|}{A!+BRj=n| zzihj83>A;%<*5I7CRgp<CyQ9@^Y-Bu2xB7;5CZj{UmI;=Iic!c4$o7++n2BQ?VGLD zBQWn!?<n)n@UC+q&<Fu;`_+dUFoEHSs}2~DrS31w$3V3^SaUSQ-&K;Q-u0_I6}ItA z2t-7(heRyf@JEfvRwusA@(piBj+Xvipl<yxPn~d9wnijbhd{VA=iO-2_*1gg?Ry9- zyKpT~-<q7SW@LD5*9T>l!1slBoeKd?Ts_^%;7x;;&uecG`R&gBI)eV|`8*W{K^hU* zNtuCh4UQo_T~U8{MXtK%U~3YA0(H@ne0AU;gJ^{&Rv1r>?X&tF*bei%(WWDYW~u8p z*=>(bEWUq1j#jQYzi_`%w+EAb?7K1meFTih<3kJ<n`?g+Yt|h3XpSNEj|4_V_CXSU z%S~SS-#eAKjTh#!9jLKI8l?JiT9u<lX3HBB6&W&+lJ%C{jYyG&i@kEm1+}tsXHCeu zgBog8W!t)T?JC{7cbDSgV#&$Lk*caH*}HeIY}>XCc{E+_6ABK@i%L~90po5R?Z{UY z`Q}@Z6UJ4`zJ0VP6bWjeQmVQev3PUS_Q<i_7>Nu4TJ^QXK5~Z2$w^f|SwQyM4vU(n zuG^HO0y%xNqIEd{ZrEAV{5@1%8K+O*EOpr`yECVqB?9Z8r}pfrb1hb78+Gf{sgrv3 z)mN+2rcG0K?AQVL1iS6qx2uyUPgc)8_gpnEFE8wj&3q{zscv9BIm<_?Z-IK(J-K1? z46HxOxCcIIoeesf@UY>&|3VCmTstkrC=^=u`QKzpt0Nus!K}1i<ot8$<=b^tmNO^w zqsz+5l0JR<$Pq^zAw!1_)n?F)j0~90u8^%;w_<O7m8@B_MmBHW3=TryCPbaJwB|p| zuYdn6nKds>dUrEuiaCap->Ou56*=uBZtqowtbbu)p<H|IwQ~FIw@c5SJ#828>8GE{ zZ-4t+;gc>@d+zylt~~e`gWC$1y&`)`RT(|JLAGzVhIe3U!0Q`?@x*6&;5YX@IUw-o zz*!;GJ7@pA+*EbRQadwjo=RaK*jURM382-&+qZA8-f+VW>iqfh)ym3BjK|OpEVTOW zyYFhVC)jGsd|7wqeZq;HIVq#CGjoQTSqs!Z+^3hrwg<w6<qRG?SpE3pk3&~F!k3zw z8uiXQ?^HnmE!)E~xI3_Du^pJR9R=!r57_4dkUy#ECGf6GLI_aXZ$sd~4)u<>Dg{kC z>mLrWa@0C356=3YHIg!))YMe<qKht4SFc_j0Y$7o&zUnv9W!Q(hBVACu+9v-`&T+b zL}s0>2tb~?c4NL;+%7#NVjg?!u_{^mmT-?g`ly<nZM~Jpww!i4;Z1^ORabLZp1QX* zPwmko^peE_R_~$=*CinYE<l^Tfdj(ooikuomPeg8-yi_yK^OSDK>h1O`YaSUbD}&I zEVKI0fBv)Ccmu(jdh4yXs_E&$NXl|Kb1weM?#vn3hCKDgA6d_&Y{Q5VBUA|Un%xF- z27mnHA61Vhcq>nXJ+}Bhm|=IzwLrb&uJG~&b04EU2jFS#*>y<<fmh4}A>41kMLqt6 zY_&n#_6s-r=c#MH&9j_2nMb>J?bNALr<%uovwuJI&_k9iG|M~v3?jDEr9h6l3;Xc6 zvMgx!XP%JoN6ooJYV0MKToP0!`-SCx?_9Qp1TBzQ1-|F0>o@1AMa5}I7rb<_>SyFn z^<dW}5d?57MRr*Y2CFc{RbTus2U?_k|2*~b9|q5yOi!uzq)C$^;XqX1@4ox)AjHvT zPH-)=<~rp93e<-mVH=2eO$fv`klT3UjW?pIqn$+LDj-O-Xp5)?1*z)lwf4DyOD+xW z2dlni7}_=$o|0YHB?$y*>BlDfFKX}JS!!uTB=$c~{d#4Nng`Y!dHb!)`F`Jh_u0XL zsNztVcHD8tS(bb5d6DXEo<SKmU&Wn;mU&%x;e}Dv&q<;upL{Z?Y#)-UfBQR$StKIN z_T*_xhSbz10u~DSeR<>Lg$#ywU6MfH*>D5G{0;C>fBaKBvwwm5)1L>gJ(+&==+P>X zv^5>2@qvOgmR(qsrf%A%BSmEPIY-@hAjfw$p^1nwA965Dmo9D1CTMwM>r)*#a9|J- zU>%@<g*f(>0hKj5*rl-ET`>2r@f-Qy2%l6gSy>($>^j9xPjj0d!aup@T8>A3|J^zr zPVZIK%Lh|=rB#!|Xcb8O<yXJ@m4JP2`p^o$PCDr%89#n}K+cLBD6Ny%Ut_SH?)J!v z6-c8U=k?b!VBQe^1?1oIuhbm8>@w>U*{fI8OKG`A8zK~}N>+NRob^5G57>5R+K!nZ z5$%kK1Zk>YGpPJyQ)5NNG29Fpbu^J790BmiCm(xc7gS}jZuTo|z<>dA&N=7!g|*fT zbP5EL^hQfLhOW>@vkj!-Gn~WSd`lJ02EP%DM2vY}e);7_P^&+$xZ(=jpq$s(4!uA{ z%F7#M`Es_w&d`PWGIscJNC^4ZsxlRVXf`ZqoE<18A}~gQ?aQ>=u+z>+kqi%K5`V<@ zPmjCq=fe0r3{x0LXME?(OijPGaHpSsIt*=e2`Xyk3K;3A2uHx0l5E|gV~e>R1qB5{ z4xp`EzkdCo(Wn_c@GG*ivR>AI%VBG8=#ChTE6DrMD!45QK)}IPQSvx@P)s~{oM@*> zoHf$ZJ#z8Ij2#JiRQc*l|2UjEL1^UEQ%|*1T#LjZq8@!T&$pNzS$fW#Bw&%deE&Xk zTK#vgUcIDa$Bw}tS}BCfC8|Z6ok5Ux**4>$N)DC*V_-?xjzeFOQaG{&X(!)UjuUw_ z#B%MUs~b=JjkK3kg>HKWPT56@t-^*)gKXFkd;$+bIT<x-RHO`A^t)AgH8l;mcAK+c z<Swt_Dki}3WFKW2ZRrLL8f01AzJ0c4^TxENoe_?6Ym8?6Xxq**N<B=^$fMyfRjd_@ z?Ss6j17ORI7?~ounVdnw4LXnPE%8W2xjzTM0(ek{zAatfzI`>$gB%E*K69$Faf7{D z7&EOoHVIi<yKddOX+;|CFv_p0Hh$T8dS%>kiqPzsO*sI`y(5ZYrxvjqCm9I<7nZg$ z@}%+h#zJYS5?~Wg?{Z4Cd8)5D?$Dt_+If1rdEkJN<&Hzi9y>XBaDG3S*s%_6?I<_l z5-QL^9_he&rDrd%^zO|anBaC<WJIdd-Xc69gW8s-iwzJCz@Q2qRRMM5Y{Bin6EtI= z!83b6bg8cPiq~R_VNsNzJ9Y29_ny4{_S>>#$r4Du%QZy6d3!nj_~YdVKlp+643#Gd zj#ZhJl}r(-Enex+F}S`whFpjHxYE)>+e}%$e7Ve<H%~jZ%wx<n3PQo*nP;9UDJk~W z;pR5ch)Ce<&+phAaNrb8fZKn73K@v4WCe)T1D+<sT$g|lcnV1Ar=@50j&{Rz7j6F8 zQJ~3FSFFxc^P#HBbVh#s-J?ejmB)DPx^?T;si&QGnhHeI@?su=o=1T%zW8Ew)22<9 z+48JG-~l1#(WDVbWg522$``0Fyp*T40i3Y!$s@V>>bKv1Ygyjx*|XIN6DDYfoC50# zVx(y(E?&IYGHtlP2OfC951xc8^MB+qyV`(8`wG<iogESWKFUc77fk9Czu5!rHnDpT zMT+tWqDZr*NKr8reuBYy5VvA*2Djs&Wv9)SIO?m-wixi*%pdq9I}WQl0zx5+7A*?O znkKhuYlCmYPHmjL!!bZ!ISRTySy}!wc3D}O%$PC5udIfK2D#&oJLLTH&zG4qXJV(} zKu~?5{U{3-EYS2I*e)jyN2UFulfi;&uk`Be7i{Z=ZE~=*w>?H|6&}Npf=6r&SGEPJ zMil62H=o|Uh$uvaa0tWPywbkCSF*E%!AVw_tZ^i_Yu7GK(T1$Hf$*Wy7~eN;+$fh` zda1^8o8zurxl(&&JhLk#a~p9Nz$=3W^PWS3iW4qc@5^W6#EE_^Ikg*cj$dHNBxIe9 zy6)MtN3OsAdfBpNi<W1kKV<)d;f8I!oD>;GH7*-Oxv31V^dF!THH%eRQ?#aEM>hRT z>|ennHnH2w3nFcq{vsF#3?z6W&;E>?k)pt)mp?c;_-VciEHa~nb-($|Zv^arBeI2! z?EA?4VUR<9@{^xH0LjZVVAmW^uEVWdm#+Txvx>v89Ncp_99MA%I&vsDZ=eOwnl($F ze)?(cH|r6}F%Aua{{HvBj}%q=PR?e-hTv_BZr#(NAk=_3_WH#rtf*KdzkqGhiJB1} z;z?zo$c+k-IG%#-jfi+^QTV!&0OW*^()6`&zoy^ee{rm&;?^E(a1tS{SaKsz+WLFv zop+2^$Is6``%G}mSW7o|?p(oI-7gQ$dLEAgTZ4YVAzs)PkDPO!ezT7;V-kTm(?9mu zV;Yh9!yo?8IP-_d$TFD1O}00Zd*X>FppG1Dfq49Q4|p;=T$z6fv_D!{Xx%^lF}1f2 z_^a_t7T*#o$Tmb0q}3z<5jV6Agz1ItBPTP>DW@oqk_YRZuU)%VIAex#5ZVdX*wHv5 zCTIQEUVBY@{`t>;*0u}-XXPARVRp>1oc-*~oL;%`VpTeJqPDdEj7b7>*IjqXvSrI0 zSC@5SI}KtLDg(+I0^!9z;jYXjm+Ay6R9fqBujJrRU|yc>Nu69`C+oc2(0GQx_b><> zrSzeGgZtBNnOVKo?$J|9n{(8%Dwxmi6@2^@08>vm;RF?kYAN)-=9+7WWfAKYy1oK? z1-;eVZo5s(ConI*A2~b=b_&^^a615o)SS-(_4*sF4QgPEu~~KHE(exImau><B;--x z(WA4~dhIB%-8LBQ(fg4%4h6!-3Z{rd3F?XP3Gb4P1F+5hXJ&eEDW?<gD3XWx7hGtq zT0u!T>;PI0DDD(A$6*j_ro;d7kAG;{@IBC-bTTjEX5E6n1;*9iy>j~<3fShfAPqXh zEV*^M$f1;Vki8Fdyf_3V!7ODVT*BOXJDGp>iQP6BB{056va;=^1N<lfwXG~>loF3m zCnG!_+ZR}8n<^x#q~Q=y7@e2Ee0}d;`RUIZq^O8U!^uW>L`Wjd{rBH*DG&^&Tw~-B z>B;g~Mj-OD8o0<ruD`+Aa)zw`upwl*(@}I&TUd|4G9uM2@H=-#xMgT|l=wrJKq$`$ z%%5#Lc1)IBegzR&7j~M{+WYO1jC6Yhz?YwGVX?jPV>4E=5dhmqfKwpV_oUicFPl47 zl|lW}<jSjqRew3COG``Ts;jQj_RP(xI(N2xG{KxK=yxFE=n+&Idt3&t-KOBoX?wi# zrw2VyrOomqXh8)#3?M>Nhk%ZR;7@=0lkgbxS6_W)iTu>#f8^0rN!Mn6M@Z~fGlvS9 z`F@EL^d;E{09iX*jx47~V>fL@H$_tA_xE|EZ@<hSq#=Ut-o0Df?|=B=ha121?0aiC z&i>iisq&lOu$wuHJ4GH<Iu(25p}(hU0yr~Q)13NJO_@6Z<cN55nOlP;B_)=~PniAc zw^?%BSk_%98qt<bcsOvjmx~VabfX?-2;7MQ6;XhNI%+oYcI>7Q$&URwL)c_I3)J_g z=BYW^9uB#n@{F)kPd!z;5y;AxpPhO}io<fQzJ_(85lyFpGovkf`aA9leM3;BdIWx_ znle?3SwF)E#sRU?zFl`c>+RI6xw-Df?;`d5?^_Es1Iy++>UAf4!n<VS0Bm<?eFNCk zdZ#m{k$r=lca8@$SB|#-juC8p(4H7z+U)<)M<2;qXPqVY-g|FUhh_XS4R~RhgNJ0x z!;iCz$@)jz7G_*84?m;`hzWkHs5`@=cRW<Y?Lfl8@aEj~{8hQ~syuoAg=o1KbB_G& z#epqH6}Oh=24)-Q@5x30>g@HG0>vFKyuH}gvFhb_zrk%2zs$iP2igRTJ!9ZgAVx(Y z<HVnJUd}>^{GB>y$g8iXNXH@;98kEk>=2v8LzNd_R^+-H3?k6HJlTFL$GT@_DS}&m z<-f0}n#xb}>#xJ$&>=^4b`;sFE%6YRYy`kIO4s0cZ)H_;x{w3hD~~>`$gh8wrw!^r zPJp=^gdh|`IIRK8=+ZS)-kg*U!5>q%)Hqgvj9z*1KZ-o?r(D4$9U2!CNZ6d#*ND%0 z)Axhy<mFeh<)H^DgV7P!h|`=WEjCp;Gijh5o^DQ=@sKvz2te@WbBJE5t5aq7cOgF7 z4%UglpC9nZv;WSP&RsHE6lu)WFc4_O$ZVPZVVazLyumt~V>S1;-k#t8Hbvh1AWO!K zrBbDixX};-rZMVG*xY_+u6+Jwid=dTcPxnf)?9+~R=`?Q1+@?z?Si-jz&W5}K1I2m z8X7G7wyliaTpGziTrbyLl_GOLNtbiZ&DQh_^nq`uHsRwK2t?fjBG9J`J#v($^WQv) zdFWEvo(2#Yk@*W#<hd8}pkkce$l)0E(UF@7ZuSPT(4QGNbad2+EcwIzIr7C4Z1w#; zMcNe*-YsAEigHB`IwJti_=V5_i|H>(A?PsmK!xddgrBNx+7uy*?aw;W4DPSU)F~<Q z_B(m<@Zam@t0h&?-{(w6r_XjFmc|+)>G6#C`dgQ-88~a7D!1LP$gsi2UcY}FJ!VV) zh5ZA}(l=e7DmPrO%4Z95WYXIrOTK83&0D;<jHF(Zqd?;qf>4lAY^zcssY8cUoagt* zF=IS(?zw^kRH~$FCf7MTw>;t-t=_+1q`ZtuL^_;}@G#Hjsb_}CIF>#o9Ra`$Rgd+y zt#+?p&q3K-4#3>qL`)SdZmL{-kw>P@$dy-K_R5z_ytq)LPO2&!G?v($!uU-YL0THr zjq}rBYAXd2evh1YzDFjUg+n{V2I99K0vYx2f9iydYxNUhc=N>L2rIAbDNU7w2U1}u zRS^o_Xo#d;u_6Uft}QBpNiXe+1U;_K>bHKq*M7sxPJ-`j@NbX)hB3mWqQ9!5Rm21c zvxNu=&`zTXrT9VC&el=Sty_t(9GraGo;eUVoNGdwbI(eVbI<Zf8LkxDwk1<INNF#F zTC&`-f-<6H<-jTtkOt=Uq<3E+JCp`H;7nsiqm8}RojJp`r0E;mWWY+W^Ps@Po<bkS z;5V}~*5Qm#7x-NdZP~vbS+$Dg+U`fL|G_gPzDqU&z$-7<xwZ(vj%_OLp~I}DnFTWj zY)cIa4t#y)%f~U-p@VTH4SZ;hg9F$=mRLY~*44_fj^SWsw81KEYlY#y!{v^+44%zy zwg|YjTGNvGwj_VslJ#n>yhs3S3U?IQv!_mWY;TJJON22z2db4fzVq1@bwV)-;dp6F zt!&z8a2~cAwHvXLLI#j*1b}(~JM0Vr3gdVW-RGY(cCvxV4us+*4liu=$d;{+P7!X1 zm)146p2;|}{q1E%fZ+U(Ipex6o+0q{QY`5AQ3=#G=cHRzjps(&ta~yNfb}+EqeWY~ z3@X81vg9rya00j3iR+O$zN^tgZLwO^b(KX}LI$}6AVRlp+`#oCXO3h9RRrL~{AV2K z!nWkXMfTVK*aD=on7ags`M!<5f*a7uwgiFPd#Ccqhaa*qmjFZ$^23!9YyT}G>(<&l z1EyD#G9pJ@;^AstOO%_8qk0nn$K3$i?t`hELEI&PZGgp0L?~NLgI+~xop$KTX0?_e zo}>GRZRQ)3(UOq>aC>K+lipamq(OG<CK0eLL~@e78@JUUpvsi@?6d#AYJApe)rrB3 zlaT<h8y4E_3oZlplvK;q_gy)FU6{p2JXlKJ(Ev4T`|LlKhEx(;92@m-n_46*0r(P~ z?TDwJ_y)yEOyVe6+w`JaiUkBb^7fl4vTt9l6ZW6NzZDjlC2UZ#5&(8G&jr|aUw&CD ztJe_ulNDsPK@|fLsr~1bH{W!m{KI<Bg{QJu(zs+D%^T6fwv|1M-GFDG;kZavki`>D zq{;%U<X5hsEYF_Y1`HvUJ!ZyJD_f$j$vm2;I|bnX-l>z4Qg<2P6mEwj{xeUhxFeAl zrPwZg3t}#?9XmlHCNlw;1*&h`>L0m)oja=Km6u2WlI;*>JdJim)@^E#nKNu#e={0K zZI7g|0bn$k&txV5%g}y$NA9`j>ZPidYfBOW*To(LJo4mYyoJgB-ajS+c4+kXv&S9~ zY}Y862>?6&P1}&tA}aFDnkxCv^8}mA1vrCUTf|mm^Y#XLYoh(FKVPj@<2k=AY8Y!} zBr^eEU%U_MZ(A$SSWo`r$p$%8;~o%-wZTk=_Mry_*Njy=+4^HMI1$)h4#r-)qpwl2 z69Dc8eBcaxSYxiOlxO})>5|I@ID=hl##UtI8m~-z-Pzh769Cu!lUlQ8v7C3Z69D$j ze=rDa^Na=;@YrK@vVAwX0Q+L*SRM%RT{p^O6#4z{ypGoXzBW(6(~)X;e8bAW_AUVs zq3-u5{$L6JX6y*u_j|^3K^PudZSgf#-v2<AnbXO|+b76A!vCMPs9~&@L3`54?l^sr z4ZIA9?FgIKf2+y~Co9sc2bTiwuE60LNVxR}_c;FWvIf}+)9NJ74%|G%{R@23cAldF z?*Opz7Ig+H?C2C22U>Y~o!s_+svN54i8B|Jho{pO`NMBSR;{dZg#4KOxqf>Bp3kIp zE(f4@JqH2JK>q-UZ5t*e0=stANqt?qoN+n{K+;YmIuzUdZ;H(Oq(Sbwqei=h$l>hI z6QO^AcL_k7_gich$Q^-WFo*^^t=@{|UODc>6zScQw8JF=PT?0_d`0$Gc;(^?V5?zA zO*FIrFHmmM*!~LzW0!Ajf(-fizk)S%WDSP1P8rOG-F#DnlpLULk)t(eQ|az62M{2U zRpjTlh^$%djP>^wG7rzGzTZjxa0!5a_wz8wOa4KT-$(@3t*w%qZ{*E*BmgcK5E*LC ziIFOgKCa4}6KUGf8NmgC=W*Y^!joDjy|caEO(IC~d;oU@@}0F=k+o}T#e<tLPd<se z0%Rzh4Nhm}C2Q;ynK|1lKmTbJ?oZ@tKgTeB3y^y_S)mu$ZkGTALPUi3!c}2l;qq$x zj^hw_&&n5{*W(h;G#P%RD-W;_J-aa#S@n%qF1@%OHxE0q^rIDk*}nuou7lsJ1-O62 zB>>igfEI(sf(Z1r{%jpeB2ZVS%E$9m8F!)w`T;Hxu!dALp^EGP`hNf12HCLQv97;S zAW!@~XS}#ick?>b7@$J=otQBWhKdj>oGj@+Ttju$<@K@xy6NK5*ifKy5Du7@i(Gtu zgX8`FfI?2fd$)kFq<(cdfY9B~8)6%P&}W2>V*Q0g;NZb}nKd&-CY+;4`(nrIRO^hB zG8Ef=<qDABE1%7;jAqT>2sQLeAzmokq5i+?00EZ(gdYaDR#L`c;PeR}E%+;m!2bPp zGGkhboOY%n9oxIhfnX>_3c<_|9*oHU@yCanh5V+HM&S20_^(Z2N&C~Cnj&}o5r{Gm z2;Cua)ZiFcMo6#TnKJS1G#Ps|cU_ZO@hliXAwv||1|IBEDEfT9sChGgU=hBh-9-rh zDDYddy}KMh<Q}Kwm_|d+2N7^gFqz~46oh!ONdG~K3?4*~yIX|e!JZ;3Anm{KT(2x$ z+Oo*ca?vN5cyMV)D?mHolh(Nez+TsrUF?T}bCkX4{;@~|Dk|z_+SCR~&rFr$#*vOV zrX~KFCgd9xs8VJ6hhF&sw)!?~h)T=P7G%&Td5Aaxp2}ZIO9Wg3U~9N&kv_xU2^ct? z>?di8Ng_~F<CPC**2>mx>2k^hMKV$eephQyhmuYd|Ne-`tv|1ly?dSS^EW};-Y@h? z0b-s5zXX1Zy;O-6%bkXt_2*bbe;)%UDtQ2l(k~=aW%TH5`PU06GI}`W0?B@cAVqfL zzJ*`>3?{was34eHO5msE73q&jK?rvVCzo?M0B8Np>%_)@01R@LtSL672;>H6ykhbs zk@Tz-89RntKr$Z7&}aQw5XD_~aUB$>csHjK68QsprIwn#&>uM{_<Z<n@XO(o#<>K* zURM)4FM<CL{7D!v%^rKqqOuYfSWK^#MW3h3QP?5q)IM2=fWFq>U#`mCcdPQNyQ^SV zL1*~`A*&<3{x=ImGDAs~G!Th;ES<Q+qKi^MH0<?b$XMu)417Efo-D|skP#E?Lv!Jl zVBoN9&d~_H9|PojmS3A0Xe<fZwNICy{4`ze`jsO2StJCBx?QLbxwj^Z-21zF`Q{tl zj$bIm&j8YoQ1j$W$(0i&TRK5VSOM6q#T}lDV99%tRLXj#8h;JDuFWR~AS^T!b}xLw zpBQurKxhOm!l&Ed?*Q`WhK|-UU$of_SsgJnOCEbXRnF8b3?&i~(1+T>#Ug*a&nq*g zS86jjU>gKL%<WtV$cbu!+#?-;{MkTzGOOG^H5}6^QVnA8HU7RP2W7TWA)7!7YE;C- z=jM<C^vAzY!0qr{mn5tUhJL~})ltLFLhQd_aE^48ss$pG5ai{h$U~20%a4D=40ZOm z1+qR2S+MT<vS#TjMIL>~EAPHjt!;^F=ov8j^p>j98wme9wWHi11wdjC(4POS9dq{( z+u<t_>ti`2uj4@H98ZPpQgz&omJpyXcy#y{_yh0>=>obSA=~JrQIzig7XIfz{uYyu z1fp;xppyvX=cmeySs60!SlSkdH%@>p)@>pzz>NR&lU|wfevM{12_Gzle4O=Dfy5W6 z?c`DEEIqK&4~O{7C(!A{Kqol6uq1d+O65hRR5tr2@n{GE`hq(H*Te4#EH4q>BaOvG zXrtXWoQ{YO1M#C$_6aP616p%<WWd^Z8dz8Yy9UTytIcQOha-u=)z{?8e_tjYiU$I~ z_Ub5Dj%&F;m<oyMbE+)(4D0hseVfyQ+xJ09l}<{Q{K4Bvekz3;*eK*{jw3N)eM$iB zKSPo8MP(oO0tgzlaA!HAFXkY{mGC?umQc<m00QZfV5uo`H;_NQIlZe7S^aOJWXO?f zmYgIxGETCjA4mYD*DEjx|1JAvI%X!iP#r)5aOQ*@TyssNA_E*MCUZF)&OlJk^dM|r z>g+4>zsah+_ilr1-c;q&c>v0VsJcNU$6&4htaOzTlIeKXkJNIKUH+SgrNK{>o$?Jt zh*1)Ok5JYR;S-7z2+=i>z?v}MN1!E70P#<1PK(Tl-(Ss<i*VxfI?QB)K?Jyl)z|R` z!ssBsOt#D0N=eAUNCI%x)j9IYf1NA=n77UXH?_xDJsVG_U2fEyIqEaKo_9Tt>3T53 zD>(M7%ADEtvT;L=RAKhlU1-GTcOridw)AfDc7TDtjv$fx)}AkMi$79P_gxU`Uj?{- z1mYVd5txpOkq9`p6Vc)gYM~6Bj)oR0HYT#U6}7k*$Y0!?+8DFgaLJQfv3|W2$e*uC ztX0fr^udmUaTO%j$H@jMQ-ax2;67$eRbG5KSFXL<&Jut~>XCIDRQdE1MfQ|1y-2%u zBE5U#0McMpiraf7C!O6*A4nvE>!`<J?YR=iZOGLr^4%^KCeK6`f1$|Iue`V_y#aUe z)o50b^c=z?J>wYgIs#jJk784A0^mj{wZ$Tb%Ys8F?Q#%-saO(3Nd%z2C0D~cvL4O0 z$D&I{0?-{D@dyzAvgUM%F^~s<#s8(+Uap12Iva>@XD}1}Xqxs&&w5#};+(sNlufna z?BBUdrYv8TDjkZ5+~K-Om1?gdxBgU>w<gxW5D8JqH*13mWMwLnmgbS-;xy^nU6Ib6 z6)DCBXJL^CyA7Cya}<FcQ}Liu4M<uGTSyfZDo!v$^o><YNr|fYUAw$ehP=6+_j-N# zYgLYn^o(Y}s|Z}t4QjFcTG~rHi2ab8mP=dxArUA=nG>M;zgRgK1baL6K>y&xg4}5* zZmh@A7jUs&%a*GjxAz_g@<*-8s}FruI(o9?mWE;|3KVMtnTYRXFp~)6crm+&!0ofn zN&)h7_7A6v!rG+BkFN8|tFO>RHXSqcWs1*LRVsXgCV}6)ncqV>rZFS7RXjakz|ZPq zP?!NLejvOqXvmkJ0bawg)+a%50<WOVqYR*Mu?R4G9x{hBJhigNixY<iyzJ-s3q)N7 z|DydQu^H1|PsV25ozyA|k#U2Z+=;=<v*3=MF_@{2dLdZ--$6lT2xc=5<OX;r&foxs zDeJKa@aF(H`{(AS%E$AwWR$ia5iai(d25nauKZzz)Pqjg#7n=ba=8)cqRGd|!+;Y( zl8)VvA!@Gt0E?n4z#;V#%2<i`7KIuaw9%7_MGs+*;2vdLGz5T3O#4yQli^pkQI%Vz zm}DRT!vMJ_f%vCH3qgZ@Jr>gHKLPR2z`C_L1DW&sPLPe^$_DHQ_|HHj0B4<@Bhz6@ zOyB+s)kP|n5h*fmbiI7_Rm&UAunVguRK_p-PXqPnip9{GK>Uk=_$T2viDq-)Ww$O) z;&FEXx`;AHHp(icJX#_!6J_!c5m$6^=@NYja1(mv0U&>uXnIE<+}NYWcHS?sW+l6y ziNWktK_#$k?hGu$%wMJHuQwq$XXCUqTzPdX5r*MS-vaZXqRre{URkk%vZ&yAdflzQ z1n1-=#DIyGhA${OM@f_3-b_q~*>X07d&dLii!?<bU4(czSp7(CBG;A!0{Rp5>CXiw zhof*9R}(<6e}JT~M3Fouk|ZhtprG$>=%6d2g|ad0p9gmTK}f5Q(Aa%v>-^AVD=<S- zB~@xY*mg7Wsxn|emYi`WF^g+|^S9vK-g;Ao1U~q79H!PcAU!Ar`S=jkKZo#n>xoP$ ze0ijUcx6GOp}U$Pqwwn(>N=>|G7#*&KGQR0OTo!hek=TBJuikD$b(9@Y=_!#6tV!; zio(G6;LG?DZ!QrDz=i092Z2}vqv;Hea}MF|7!>znkNPIeWpphyi*at}rq_o&b!vfw z<4^TSy2oJuwW2NlK(JR^FLUPxOVC+=DjYqo_LM<D$}d0yzJdPX23(1^L#cxVydHc9 zc^Jwr__qnwSvL>=fheV@*g?QPeFq3CyCBED^lG|B2#*AL>3|tN8*%kU==rr2jF4%Y zIC24<(U!5^9GRp<cjgD<Y&f_8o)n$fCY5gCLK2ApbOmf4fWID{!jb9NnP>e+)lSkM zgQL0ZeqbetU|#_#*J%3bO%%Xj|1Z4QPSriKc!^+N9(#5{R791LYCZ^8Ay8D2Q#3_K za0+Ni6$+`wvjqMi2tgU1H9!KA5!QrU1D803ss}q8DUydLkK<Bm%6jXubdo{R5pM{O z23R=AT(B6J1gJE_U4^tR0cZvQo164vWWdvV&6@SORrULZj@YUy(h#C`2Dl<`0`)3@ zlKw2GDm{B;$+&Suut@B`N9N9H!1kX15<;K-J&;!vYshb|KY5B=l$eJv9W`iEBHu)S zv>@#dbI~0MqVZ<V%lMucPYMFF0Gl+6KC#`xV-T|^{8rm3VkBa`a{!#2eg{uIeyFoJ zcg7GOrxwc74P6@b(OW|^jYwDq<bIdSMGM>;e@cqvWJG5FxjQiTBLg+fZB}I{gm4#O z%Z;3i*)_eH)0uypV<*pVLZCCaosKvLQlT0~MI5)Er$~pw#~lH%!*4o<MjIs<gK}m7 z@qgPK<flIR?P^z<ja_OUM&V4?ge)!F5=#Fk0r@v6RN85x0A&9&GCVl_$MPbT?vc$~ zv5T;bJ5Q!Ov^PbQSx`_HDHoRHI?6v(ES8{j<;7eWJw4=n!Sz_&xp?FN@&RR9YWXD) zpT8YDy`NPW`p=Qay<Oy7pFVnPvbm(RTsOat)ps49f$aalL16z+V9n^85IeYW9(nJ5 zFVu9ggb3I{=!5oL30(z>_grTW0wk1F3L+6`hTD#`OPi7YuqBN*0&p%M#eMye(L&5% z`Du9K3AGCrZfR{I%%Tu&0rvhEQTlH}aL)d8=YJp4e{B$kLtaL1fHh%XA}ytF;zH05 zu#DkAZcRewD>C68dCemL3jq-Qe0Q8dCSC|Ycfj=l_-latQIl#Se?HLcZkU_;HRRkh zCDoS5@+>S%9l};z;Ow7YkP7ynvwkGT-6Lz(dFAV+fzp4R_JdK|8@1WrpE$(Xcsy*? zr7)=(?!#uJJ*-LNfdE_r2ytJ(U$l_YQ9{MOc#b@U_5Nv)`EsS-RyyfaJN*_*#A#4D zwQ^&}X2_ua_6Wda=>C_N`Ah$q=gAQM^~0uJTM{&@w!~{#v}DtFCSZQNwmX&y0PFTg zcpl)1x}FBhe-V!C{sSs4U9sY8Yb4=}{|eUr`>_9Sp8d)GdpwF<e<LLX;nw{eUb^DW zd++%VRlZT^XDBQ&rt6$T0QQTVC(=`ViO2eA6Cdt$Q6p9>SDYN#GeG?7no|yuzdiQ$ zf7j4K)8l7eZH@dyZQ1~Q*HYhHl|Fql<-GGb_#*H9FI}q2nw9?2e-efPICygk^zvG7 z|ALT9WT&EcA}zl{w*UQ*U*h0HED``tg^x7{`E^>Z$|z{W{i~s?91TSeB1hC+Y|)Vv zMCj(ejG3D<{$Tk#g@0c___sk*H8tWkWq84bY1sQGnFuHRV|<THo#K^4FvtPeXc-uD z)_K^)pdNl(6F03Ahxrd7XP5<NRrEeEAQQQAOwW-~PWT6RPuL8={!{;dPS{8>{xKE_ zzzrDSKaLh|2J&C3c94I8<)`t7mP8E0$mBr`n0eUKUkJ879V2HvX5caKIT()mFf<k) zio6WrUnOec&;F}YP>?1+x|uDFM4EK=f9m^zL;`uB^s6D-G)jvWZt<8-xBN@X95qm{ zt_B(OXeSc&KDS2%NIVXpFZU~fu(bt|FA(b+TQOraQmhdG9^3tW^I)aQkD$l@G?1T- zYf0p%EkA1VJ&sfSuXql~7MvjCo<7|}_|^vmfal<U2!uQWN<};@GZiV`Qea=pVtP6L zgml}&zvatST%#4h{-fwoAUT6kmQ$l7TBYOok6~Bw*D%uiF@&q-=m~OVy#bGZV|$lp zAnf)%O@!?u2jJY{f-~O$aGo|MQp6eoxE!;8uV^8|S@2A?Nd5`r=U`|lDZkEUdSnKM z*&Q$qznao~4evRp>wF^*)zIYhH@KeadD$!7fRsgQ3f`+h0{jhsQuvpes>qEuGiN(| zCzOBQ1^a&}fc;0(3n2aHET*69ixzV6m5#_i4Y0n+v!n6$AHtDRl=TR|2H|tPy|F8j zZi6r?vIE59AUFu4FYQ3XC;gvgCvGgq;RuW+cXqUuA@b)zsppS4yHA$9rDjAO`4#yK zPK#XzLy{WuYeU6<xDbtXazINn4cPXpkS}0#vJC90e@wOzT8RBK<$F9tstsE{Lph$- zYY;2;za8!DB^moq<o^sZm1~vl8uA-3*Ws`C!FF#YZuSgqay<~zOM(1ROctLZpACU| z#oK$V5r7Yx1Hc|?ChYX31HB@xsqK|wApc#M_3u@7NV!jmC(@j4CI-RCua|wvr74n` z$`T^w=8><LDZ%VNQXboorCp)bQpC<4R1RM(%3o;D;AU9(->dp>sruClAe|0QjJg+0 z6W%Eh(!#2e#?gh38SwSZfcLn3jWq)BGFYqC&4*;9PPbPACHQ{<JO8-yoi;;+LS}op z>9Np0DJn|C-aqSThfsOsfA6S1_TQI>uRu!wTc)MH3}gJkU6;RMwZ0llF=Hphs><xA z10WD{!6}66GZF{hF1#9q!U-VJhdWX39ILY9EiBdu0HtO30>E}KBLLQlY*%V<9+RrJ z&39xqXM>IZD`tPPhv5d2)6yvX>(`65j5O`&(*G$q{NwLbA^U$01YOA@{U@^Sge--^ zS34a{$Sx;hhjHwI?HDhcAg8gFX;WTQ{r#@#HGY4^8UY|A-+`a#6r}7-3fo@LZgOs3 zvzWRHv-7Wj{1ra7-)ViU;v1TOS6{;t?2sww5G?k}x9ftX|05bQr8{IE$-@3~_J0$i zx}A1y_W`^+K)S;dSw-8%E!E^SRy`IR=9`>&J5WNn=3z?ffPmB8od9$c`>Tq)ge|wP zAco@%9<3wmKOM9Ga;zimA*$VyX!R#k&OV3nIXELZkG%aRgo>K-j~-X&85HeGEnNX7 zQXcXDoju7dy(#DuCyqosyi>G(4j(7zD+Pa_1ck<FK=fGBx((ii>~97U;F7?$<D5!6 z`!|DGEXCYtD2mw5pfRF~Ek79T!b-%>Jl&Yg#*eekhONCUf<02su-}K<KBibG|K!2= z(Ye^~4nMous7#zhA)(s?60q76o~3uv99^JTC!c#98v~^UVCz#|PAU*1abuML5Imp4 z{|rQc{I6}twfdJznOqMBkO`>|5RIcOAtH`C$e8SZ77+iMYdMEUnwgk!s(ds@ku94! z=uN}|$p>M#qd#^#l4tK<k#*?JeGu&V!Gd54<G39h%5j`5!DO*D+-^cZVvI$0#=8N* zas3+01b~2j9sVu=-VVl?Izo~6aQo|zv0cQDc1{Eo%_?q08J(%b$Ujx-KOjR!AI(7- zsX02M|N5(n&+fk|cO*Xnvws>|6)6`}s<{72bzfZ=YqKc;Ax}w$c8W~KL~d7G(3cN) zs9=vdaa=eE#Y!umL`5hQusz;&y06HK%5M2T2x}=o0kJDi)N)D$E~Hu!4&Ah*l>OAx zQhhf6L(fb)&^@wqk1Dff`WvYvS>T|i^gmhHe;pp+gvgOObfNm3?EeAeH{0V(rhwu( z`?uUW#9@0{BYHd#0Ji%v_*<PU2Mi+c6o|mB8Ye&^5DD>g5OY?z00iKCm<?+QE`aPm zjecHs8By2{9fR@Ex4g2a1nQ{)cK<plSvcLu+jZ^aqqip!{%X4V1fN}puC5KydE^S` zLQuTP?v4V=#MtBdW18LK<0W3a5CFpSDfk=E5eMx8m*~zh^A9NUP%y~j9(DzTBo;hP zI2PyaP^R4?L&Sshzh|Z#HOdYF(D(jdebpMlN8k>=0<?l{Nd~7AZ4c&a=Y3ED20xU0 z4O@y1Whg6=*Vm!)i`VdYA^?Q(Yw#BWAvg2Ijx#uc=fDYE3BlkY3?w^5fcxvb9cLnT z+XpJmSGXB{j7M_PdG;z27lNz7=i$!j<^IYk#_&H|)BcN;haJeob{w+r+{)bxQuiNd z|1F|D1wU>ma{ae>YBe-BF9q25o500?9AKI~a&9=-X>ae=Mpm&CCEf@CAvYKPY!HD3 zcELz=A=~$sQiApK7HA9BYlACNdJ3I-!Oq@OI9{5K6b2GTN@xB~=7DVdIp?w#k-*Io zyz<Obxcje)mwx)?BwcY|AuqEGHalXD7yrMBq~y2n!{*=7%0{_K*`yt=@&iZ2W-3ym zR?9q19oP(akGu-9uoorR%@1RZ)R@|T3Fpj^iKoU<N$5Ou%u7xxO(O6y6ot;ffa1WQ zJ@{|{;0&|@+Tu?_yPys;k=+4ft`m`%e)%$0N)C`E<$T1PtjLK+)@@K__UwSIKVOCy zc=K_s7mv6mt|Rh)i`Dz-vRUrO0j#a)C!KsdgFa)|fSA&D17$kwXD%lW;cX&xMjg6! zh#!}B|0A{2%pFCF8*AS=NlbxfZ=Q%**4EWvBm(;|z}|<J9|zm<n%NGXr}uY6{#n>2 zx&+5gd90VG0h;4Jn_nxhzvhumTNLR#0JaK?4O0vx1V-K|a{mLWeDbls@Q*tYg+Tmg zA(Lp2VQfV@np3w}NvpHxb#jifRlbJJ1@@KxFS;5s?N$)*YV_rq+S18`t-pivZ)J}O z=C<<Yc67oC0NL_*CIGBIae<dIEQTKkB2bKHM8|<qg_+<(C=4yd+&&IOpcp&r%#Iln z`QN}s(RD!n-55TM-(1IKKpD(=fAM*(y!I+8yx1chJB#$`#hi6wuz819Zu@yHRDT26 zf05I0>BntA|3uaOr?wyY>`P>ue1(2#378YIs-l8`S70B=3xRI7+>K?$W+lu~VkR;< zaG4wue}N|#kZ>;E34qZd8}Wm-1O@}q`Wt*83Q7O~Cy+@*K~#a^p85b&WG#eClRbwd z3s+%}!uA@M1-!rS79jsYa0)Fo5Lp)z0s88y23fPFR^EEEUZ&4Tl{9Dw4jkf<2mh?f zoY@$hh+{a8J|f3GVE#vH#!VTLc#ey)e}XsT>>Li}Iz9%ppKuKbGG6(GOQt0t0`Fko ze;ttDq45u@rQZkdSZM%hV%~*<Tg+EHL<OlJ{{TGi4Yb`hL)m9M%!yrwO}6_zdt|qR zJ>n2`i5RT!E)t;?8FECXeD__0cITftA?wE5jJ{O+YwEua2d_D+nElPQc^PKtqdgmB zy=r}i-$4A_>})B>&XTP3bg8VVk&5aXDLX_tf$qX}yWY>CiG`7e`H6Dp<NZW)SR(z_ zdC$aY5l6xu@GH@Ak76(s+G!ex1krGwQVQW9u6V<XvteSVl;Aizi9*>ZZ_R3oG;}T@ zFlHuf3l=2s+MlrI;j0ZGx`ce7Bl4%Grpi?(kCU5EJ5dIA=_F|>xZtIsUN-FBE1#@g zFOxrCDoZwOl&YFqEx8pTh_X-j2i7N%-V<dB5ZEVF*!UEla)AzkAFbXw?DPS`zrlmh zDosm;kq~geS`AtQAufd&kams(g_SK;hr^i<k6-@{8*|ICHy;Rl5@xzv&pBP5zUdn2 zUI<d?fmSDc8i+#IqCy!vWPn_K!m)BpzrM10?|#{~cb}HV8lKuGCx1RiWU2rsq)Su+ zz|PtRPr1Nw41_)mu;c8azQK})%d;g0AnQ|$RcvSIBaDY6+oASaxa!5kHx9sRuv{bn zyI|2NkN}W98rZ$7y!Nx}LH?kL(*P1ks^IfpFSH`+vC2ohLEXB@RmUGIX=!P)WYbou ztqZ(DJ*p;uj8rqCN*M=<5^V_(2=XlmxERR#6p-<Xz>m?s6Zr>r>ndjsA0mA_c97JR z6ggN~iP>kLtlYK>Z0R1^djMO9h^INu?$H*;bVxi2m(bjUU4TryB+^a*A;U9y-+7=T zVNCY{u=?S+qop7(UuvtlPhjnsw6+#PTimtyhs(~Fp&%MRec^T4Q+gl-XJws_MQB1V z0TP`6us;vL-w0&f4<hh$iw<@aM5MlW+%fX}E!Rk44rGq{LS9$$tM^J>eVyzA@_)K! zy}bX`GMTq(o$NVqpmA(R!xa!o)<BB=GLAv~7#o(6uMu<9q{AMW96+TSthY~C=VWEc z>BEMIiuJx7r-CD>t*X)bC>w&ptDbs6_LpH>(dZ{TnfS*k@qbOMw?tk7n0tz&hnG0y zVIYh%e{k}f1F{p=oNwQDvve-Nj8qH#Kv?b3d>x(*WJN{tA*CLH4gO2VjFij9jFygt z`Lewfw*!~yhGe1{jFe!ngnh!xuqQx)V4}zZxW&n1InOHlu@s=Tr9ZFK9&o<z;&U}F ztC5P@=rs1p;GW$jKQlu<T)tWwywt7m&)Y^ejPeTnDw}cRE?PKE*tly<gbI@g+zljt zGD5ttpZj*|Al*O&>WJ(ioEPiVT5M6(*49gpc17}Q4B$n7yhk3r?sDk|2{s7{y%R^o z*aAgX8aZJ@5{Yti8!#nAi#kK-my?l!BNEQwMcCG1$#Bc*C&?K{4Rr$Qz__+gp9Ut3 zhxcS60PGKg2=G*4RE~J-g?5=;N1+v2(%ke6`Q<rh%EJ5ak-IK9TMBY>91{W(fhkay z;YB6U7&)<9=eCZ=c{$WTEXFd+lj3nQ`8QUdy~KR)KKD$?&dP91bU~!KH=EEhfKYI6 z1Y!dI;7OaGpmQICCqZ!JDB#<%|A3@o8_J3Ef^v{6D9X!`hpxOtX8!s%Ic~^6Eel87 z0I=mL*f+RGBLbW`qhf2FRK3;X^3YDT))m2R$w&=<U@KDP>ajy`bl+amuT!T;QLVmH z`!Ato0M16S6^P<9jEnKx;jaMl@nncC$2DXL1bk0@I8PJ^n4)p|@}O46^zS3He)9{t z<NOJdm4WNbY%U4N1<*Lw-<4f*BaEC>VQ%Chn)r2!EJ7;|Db}>O7E3K|^+nr465gEL zZ0TNH6b*<tPIgC=FkaFmD*-V2=WYDB0LZu12#E9~5qNISe0gutmy({D87X?m@3jyb zrh|)k`0C5#sT;47qWnAuL_ps$djWd$XFxLWH4eV=08_ll1xUCKVfKFl+LzRCutM@u zsQETTvHmvzujPsK_1@4j8zZj8b34MQo|v#M*$DtUmZu4?1QF2H$82;pb<c19_bW1W z@luTlaE%&`)0YLca{VbM$bWxwy|l+}fqhPZ>H&%@fPI5AQ#Q+=z^PVh+<<-Chtbrz zxoHR~B0djYZGegsPyc<6Hn1&L?z;nJ+WiQE{rzZM3i^h+0PA)|HIXN*^xuGGyiFQL zy<7T84qy*v_Y3S~OfKLMB+S#6t&}PpMmeTmZ^_Qd5(Vt0T?96lqhgC{aG#!XWY^9z zd(~RxZQt-L5$BLvCv$Ox_Fa$w9%>!{twCBaBC-)}?29bTwQ9NFtOsQkRQY9nzQ%?h zuUo&<vm3v|AN?g?@V$}4q(}Q=ECrlxeo`qY6<pe%Cr^{9OTLa~8}J2GH=)dc2llE< z0Gc4O96zZxJftZo^e+;DYG|H)yn3y?_vLaaudLSe(%XZTPl0@ZOo0b+G>?JkF?r5P z)E-QM%4$kRnpEQe%O=cFYj(hdInr#{v)7RtD~SOAl|YqtDvX!B1D*P9m|crN1n4t> zendT;ATVa@69s>yS7b9J7cYX<zZ2*2|AwW@r>H0HUef9v3d)29)p`4M=_n^2F<8^L z2o={H&i19J0luke^7zyb<-zx7ID#kh0wL$AqDSDj@;y-<Vdc6e2po%_^DywTnt~$# zGG_gDP+A!d<r50{j_uc526SpKxtM`?l8u8|WBH+=!Wn);$zJ&e2)}I0c3BJL-vp#D zEiVV50P2vFh+J&Q7)I(GB~|*WS#l(95*iPl;8^(XAPDW?n|K4gB>rVOXLGE+&8Cwd zqdFW?KwK#G(3byftnxnqs(%5y3ndWt>CQ)lECio~li3lr!=Y5Q=z)7A4X_~$t(-R7 z<GX@Wf`s4Ko3_ZG-kl*+mMnFQ{LCNa67fgEC-gR;KeXBM<aUI|bPU1?(SX4q1X^0; zl%1I+xlm%sNW+R396&u-*cu4`4q?Wx!V<zSJ`x2E{%Go8PSc3m{K5JF@w=)SFm#$O zgTWUJhaU#dQ-=BA67s<#r1|)SrhKdr&OB_q+F5>T^X&q{e+l;f3n2Om2qrh++U)~) zYSfHL0<y}^$(FpLJn7V{qvW;Am!-3p!WvR#5F7}X2Y&E<`R!#`p@Hin+%!7DKMI)G z6j*qwsFH2__RG9A>*QUq`wP}>l!Fzz4UcHxiZUjn#+Nj~Au)e(DsWvB1UN+h2Okvy z2pnjYRaHW7<rp_GzE!;Dgz0EXB++xJ#H_p?%L5wSz_o*#qog1oM4(9VNU=8+hmKQl z+8_l>2ZpEM5;6tkf~$9)K!7d-d^vm>-b&zk2`laI@55o9Qe2%^8^}W#Nbh?Vwkwow z1G-87qxwsa!QG`}j}8!|W@sn+HZ9*Im79Zw?p*sn_})y}QCcP!9X&$Y=jUjIblbjC zjeA<LZHIijYmaOM7j*z!l;N5Q-)TlZiTv~pgG6qk<F<`Picc_jvK^<4!vs2B8d!=3 z7(XM83?m-f+!!~QwI>o5wl9=ELwn1hV+Ki|Bl~Exz9$vze4Q6teERu`jLdX->yb&a zc=lpT!f0?yl&PdZenP=%y|z7Qt_Z3^uArF?W$i^4N5gMvW>ztu+~oj*yJ!P~xbBN- z0$?D7QT=EKzK$*?q%r+8@-{yM%hkR$;-D^l$bi~yeo?;kI--{h8a+_@0_k%KbG4(o z^*A5F^ZVKvepAK`P?<jR#9^{@-cqTDoFuS4#ye#cUf($k9oHjN*i?ptpED76i-Y)a z8`UKM!ClA0AJhrx9{lO>g#;oVg@u_}P(;G`uf`69d5g?ImKLim5Zn+fGS5^9HN9l@ z@t?DCIy4zGvNNQ8xAxK-NZ)fvPw5UeKa*Rdlzjl{>mmCH=SUFx4C^gj`*xMB>nMM- zcCCW$rlJ66Dq22o3QFjoE&&McUe0H+aRMv=@wk5O+OMm|PIvCpS@Me^w!@a<fszBV z{;Tz}X7L)?v!lc(Bx^ZTA@cVg+)IWWJ46aQ7D{S5Zb^b5j%V*vA>ho10I#@95r{x0 zwl=|@H|SP+A|bsQ^vo{}gyf`)PLwwvc?;K~w}>?#a}job&ql=gb|c4oyp|g!@eT?9 z`p?8HdZvGn|C@P6Zs{4<oHy6c{f76Iq2q?ifRX*BpaaBoI3U9~JXb)cX(FO0EB05& z(z#3JlS!Y-uC2SYZ_TY6%NcXlv2xxm=SfCZx~7*;#OKUT$KUkiK+N^lK1T6}ZF~Qj z_hsR<MOy0S*564LP=A^nV!watBwakmbqRoV?|p=UcZ&5VJv0kOKRDYRs(>~-ECB^N zCj&PSadPu>rRSg?a@5I3$&j&wrKnS}hHwpFrOm9qRhgVc%l4Paj2CCff~gCo4n|9y z)Ww`9>(#w~ce(kmH(}OK3tP51U2}f3t}J)jf2PZlSxaz&Qn&JJC(mfxY2=M^pT_T> z8SlyPbTt93d--P=Ox>(MVb;R{B|H41zuqW)hxL{2{klsogj^{eD7<0-d$6TO7S@T& zE69@`1AEAc7o3RM_FNf%>3Hci6g&1nXs(aF@GLiyV_c>gcEXWT*see}uGj=yda#w} zP&&@CC}%kP`m>}vh*6->E>b<3^PP1aj2#2Y5gKY6q^_o3s|#fhH29eT-HI&87xD`8 zq)VSJGIZ=vP0mnWitEH2w$rF5+DpCv8{iKaVaf1xWdOmw%yYgpycgDyRqfonvlMr3 zrwuv{Ng<ss+gB!gww1{K@Ak{So%`@Cm5Kx9QdwT5&BkPxnKm;g6KnW9O>oA1x)16u zoqBYH8ZiWH+#Z7syf8+G!q$ykf)_LAxbtx7Szflh@wbUm4s&Eqk)sIf{edF~Xvh_| zz!v^U;zM{295oQjo&iz~*p=>uO3@+xj6_;yn&dziAg2JTO&|zad71K`-@Yh2H|>n7 zCMb_~BX5SceKb6(f?_a{O8|m9g$KuNZ2@u(UKhZk7PK#rqRz$Ij78y@T95UyirJfM zWn%`%!i&i00ms1oaPFShgJWQRUd+}l<!YgFeAM`(G%dL|AAbv$iJWl)JqGraY#<u9 z<qn54gox?bVIYxgBw!Sd0+wDC@B*=`sjNjmIODjC_8=cpm7l;bFv61Q=@Nk8-tK~+ zyx?H}kVa(o57q{xw>DTN;1|s|fE&Er6ZiYl;x8luW6l{PJJ#=zkKUf^DF4pAJAqsA zfB-m3*5Z)~Ywj#qIT8gD3KBP`4*4?C|G`gmnl@45Q^V7B{tzGm$ng(~@3#gZ$b=gv zNRI(Mnz)cKO(Mck%3lmlh6*~d?&=}vtbyG{Ck}0-&hd@#&pAn#XmMQv5Zt4^F{?z} z9nskJI6w|Ik8E-dY!RMy?F31KG@l3_$x)EVgF1HNM#`%-zq6}qtLrpnD2L_nq|h9P zX%a5FO8|nqbYO5$aEK;o!@53R9Ay<lk3RxxxqWR_IR&TevhuQGo&Zo2lIwq`8~}jO z9-ikulG?chAh`Q&83fVx<jDa<<Q0MoI9wr=n4j?d<2Au!#F-r<gF6)w;~lQX_{yaK zwdzon)IipuA4RfPA#e^H`#kWI)XpUU{@qV2pZ)xUtlzk|UXN?QoD4eaoZ2pwYh~`Q zckJ3RVxjt;J7mN$&g4*5QMMO{ld)|W1u-5M5fBL;!6g9x9o!wS5p@8Vqy{WCl~m%% zaW?0+-VtLWGdbD$*_x(fthbK@;2?A_f;bg>gljO`mmlkGY|Z+)1i&A<J?st$TA-<k zLc`9#xVC?z>|)T-gS10DK}ch&PP?w{G(#QX;+Uczwx6^QP*F;Gp1)I4b(LcO(4aTU z0R{wxCQ*P(0Q@_<E7pd#bR(*uomN|kt*1DW0kEmu5~S84&l`kuRJ=*cumy^6*|h#Q zz`v@3J9<ryM5`yZJaY?jgE@nyXjCks!dGuoP}2Q$34ni>lLLt8xb;+BRW1AXl;R{_ z{2iyrhIGF}_YRirB=YbKK&PG^wHtLUBgIf4`=W+~IKc4$70+q#dj#il01*I`OrN{j zZ7f;oZELq{$YM85EW{&%r@{PI2iW2Z<<elPoX3!<#vBi>4yPmo9fgA3`gfJ04n<+P z0HkvXKp^mv_}!KO(16eOwcCuJarNZA1jRs%P>!b=Q_^8`AlA14d<{@w6*$n*W+2-@ zi^CCIp9tR*`m?(P@b6wn{QS<1yQJb^MWb;H|Eyy7%?rKy>>}TJCyPm*y7lGzeRmYZ zZZq_nq5kO>7q#;K0G=Nx?$R!j_G1@hl(cw|v<(k2u7i2W5D~fmzwf(!vTMUG?Nncg zXfYYgWk3c@adUkfILkAPwhXwu;X$BScdUPUc6v}XRiBzRtqs$7OBly<9|d8)C-kS- z@8Pxuf0I%9Nacd-q_vu5^Oj*t%@N}eDd#r%uH8Tsrlhrt*J{UzZ3xlA<kAM8$N@mZ zF~}iY6KH~naVZeSW#C)*Es-#Z<NcFM0Q`H9_TU}4)nBZUG8p`bgiww$ZG*@Sur@*j z3FUTf-YIJruhR^GhKds_;o;gr0;XSU60)|W9${I8kSP=3gG&JXJ8_5qYxp+~u07lL z$jVPwLTfG#_RM|FVZEy>X#Y|-OyUb}eDFJWIX-#kQ&{1twzHMin6|Bdu&z~=!M86d zzU2#ShG=aGQ!h#o<EQh&G$fi&E&=d|+IGw)p{GUvxY`?|FPyRvX0xI<zG;zds|I-> zHK+Z&aE^$z?b~g#0BuXhwqQ&;pl%%mmZiIC(aY!1d#pQ;J=4*aqG4Ic7sGv+Am9=J z6EN^|Gkkc=@Q<$zwyo>7$?8RGG|RaGpJVd1zOF&`?Xq|2?Pu>UkWH&LYpTPs))+3k zN?~*HyUpJ<R*gbI+6>Ij)sHgsdhu#p#7d$N!tp?db8|u=GK;rhmjL+p*ap1r_795u zM$_B#-u@UT(t@wFik!M_V-OK)aFfvPEs>kaxHKmE{?k*Ws;n~R<Q!>Oc76WA=Te4C zL(K@Dot=%V$ROMYH^A-82=)SLOweDKxNW=Su$JZ$0DtgvVf>YUQ1F{}Ii+c(z`?g^ z)h1ave^tzL0ov)gl7pJn;^3AAhp=tiH*S~ro}HqddoUwfaO}1V;f+LFzu6{V&JFIa zZvDII91A9WatIL|kw0Rj2zkWqXO{p3cip_;pr#P6`Dv26L)Q*|Qgm_wvtFAmbuoTI zkVZkiUAkT>4^{fjnoTX#f3cm0ID|<5^(SA;N3YL~iCqD*{xvv@G3DP=bww=HkB;>% z>R2RQ`gPVUEZ4$P(80YCZ+W9B@L(yTmSf`oaS1?hA1}Z_3VAsMk%0$+dJpZb4K_29 zZ24x3Ec{@RcE??Cwue82%1bmqzWmeWjmT|PE4Ha!r*@K;?{5?ElmC4pi>EKv*4S3* z+9HhbCl@p2*$-s%n$3+wjCH0R!+yj2X|un^=|DJGjxE{<T+26YQSVqS!zBR0J+lfy zD}sZYLTG<(|L*;A<Z;6!J14slnK%gNO#Db=JGJ}znv%rCFApvx*|u)GY+kh`VttA_ z70Ku`M@c(ee8P4SiKzHA{iPZ5%@^N*$hG~>0PDbuNvGr5urELQG6=DI;0B`(-P<?b znMhS_Zf8bt%OZSF=+7<z2<~1=g(n9G`-kk=yhqZrGGxH00orxh29oUCwNIwKFdb^N zvA4C%S@GkyKZ(fxv!z}r3h_Ms$nhhkbI;C=MBq^QA$j*7@5y$k3UeLaR*rQiQJwbu zG?_p3vqqxJ@(Fv^vG0+6V8*;b6IPb(E0=w{_XQCNbA6GH0>EG)f;m!x{|>7onc!^? z*SvlBcnxM8s)+_U&O|jeH9&wAoH_3UmDy^Tr8=k$HnQ1!x9`QBb)BUP?z$%;#e(Cd zp;Ygk`SMI{Uz}~ABl6H0@7fFg6yP{8tpd?>CTG<{rIk`qhJ#N?N5z{htG8(O1$p%t zZ#`;FN1-csSl)kTiY)kGp;n$zU)H}}$98h$3Bz>x1gb(A!MZQkNoh%GP`d)^xef34 z!v`A_2#A=duPz5*-Lq>E{Gs)yrqCVhcgmrIhot`~T-#k-pd%CTs;a6=8?3x1Fcy{q zM2M>LN}2MnsT%T{k%#C0d056E1V-z4o}OXGU4}!CJ3@-u>u2kke)qQBGU>5NnlO&} zx0d5l<KX^-^6H;om(OQ@q1DM;f1dY0^2A{<UzV=d6~tmM?qsBfrV%ep-DcujL@8mI z^l|^m<p4r=VHrOC5QE5abaQZVP0XvoX?P+7_t)*+u}`y3%Wvfe%jIB6nT$Mjq@8tW z=vp-M3+qBP<w;MxBP$lHXhaGkH*X|9YW#3m)y3tdFssG5hNH=_j<5=(In1hDdlz&l zko`OMOKq)w#~>{tRg@l*BgP%k;#>gh!jpX8fNOd4?{CT0bz8Oi8FkcVe%xF%{KVm! z`EsuH`Hf0Ws}`&hE>(=UMw`q}q$g|kYxqs(@MQb#5`fS>z7?NN#~|t%DhdZ!C1%#V zqI}Kp1oi6=;1*kk)9=~3M>28jwm)vT)y!6h%BZ!%fzRo<N_*BTvt`a(b2P;m7DeRY ztUvU)p%C&F%Yl*ujrBIF!Wp$QmN9HcV;bBOkO~!B-g?YD_>Ee4nUIC_8Qw=DhDQ44 zJSkh?y$iEmn<Fz`nkfhN=`c0w!6(=JN8$?f43upM`grRyS^w|0eAig-F!kVNpnrsq zjWt@Binit_mjHx@F2%>>0xrcsZ<-nd;#25U2`xEVo}nGO(w(K+HX)O6U~c_pEAF|+ z)!)53wW&OS<#XNt(HkE@az9<W;@fBjZzLWxY7h_{bwV8*z{QYQnO&+URk}i<hSq}& z$K^nNyL|07UW3q)5Nuz!L%Z6%6D||wm1)sB){nFP*0o!)yqGLsLCJ@<35<HPEZ$ep zdq^)CJZ7*agE8a}ME)J$?vQVnuWuxDq3VHrD73g8er2dQ$rA1ofbczy(Ils00EXoP zs-ap-hO$fF&e~F-WP6Dwjpo4RGGW8AjWESM5Q4RWW+6!Usy2P)4g|;e)PH{<AHF&Z zcjq--3(oL9gL_Ng;eE9_G8Jds?>6uDLpFxfGH^Qd>Zwv|c7;&3Ie<NO-pIo?QVD9y z>aEfTQh2S6k+<H=*=fJESsw>`KAJdJt2bo~%$uH$^`-*WkYk2Ouc5uPFr!{Xex7Yu z^Z7TL+OLsDk7W6G8ba@fkDgjtW*dKjE&&MNXJij|!C#I+)if0bq~U<0X)q2@Ua8Hi zs!PFEGn}65>rE>*%h0hyB)2fH)i?oem67G&17v>v!HKeP`l3cc#3~bsy7cNILoj>t z(2VAQUlii)1_wYwX4IK8IR$K-@r_wlPe6i^B6)?mvJWy3V}>R%pnk!C5&hA|+(x$C zNE7PG@;K{n!-1-|A9)-5`(J59li_r%GhN4S9W`Memn>#3gF6HV_m@Epdu5OuLrWO& z2l??7)V1*J*Q9qY0f;;VHX_QA7?4MVi^`?Ip#z7sEwlFB+DjP(fQDd=gSiZYbp6*G zw7u$LDA||?akzZ#eB(|7*?lfW=Dj&j-iCC3>$kx|v-X|a%P?%0amF<8pZPOAw=NHr zH3`m$cv;z*(xIEb$}{8h8@K-y5Dw}+(6Nmqf*Y4_(zGNgFpShjO89w<ng^+-LbGr8 zcGIj6yeE;OqE-J9{WK1WX3UKBKFee~%5bci_82I1HHZekSvl03+kL-)pJDYq8N*xx z5V_Ym1+9kXjzCDuF&uo<5Uj1Nm2TMo&u^cv&5&FI@EbjK1$bbHf-4?ap?Pj#Q{yZb zxhi@L=0!H2Y_rDx?%XT$|M!_pe)1jda12$I8OLx$SZeeQhtMoNEBJbFasVU%v=LxV zN8_Pf2AJgljd?;IP}s3hlLs{FK%h(#0a_9&>`;g$Q5TK7VELN!aU0xGU^#1-td)13 z{Ga8l&+najcG3iul%Ft<#(a<&+kFss0<QRUg&lQYrlrd7b?}qmUFU;<O91Q*1xm<L zF(^+B7oCH);y?wE3=;HSln124aOi&A#?zn;cz&l6%}Q)jef!mVQGgdYxPvbTTW*{U zdC3R|HfLo1HawA?;Y4_PUWBoG+a6gle}&9=ai)Cu-&wM3{_@6yF)WA9Kp0J8e*7?v z@C35+T0}(Oweh>g^bBJjlpPdyEC9Rje<nan<NMRDYq7@pXx5RDMr$LM1K%$BR=(T% zotBmtk#L)oD{k)TuUoQCroS*lK7Dt-W>}SJ=#Bd373D!lIZy_S?5|7t0|bkN1^4<_ zeYVQ4&gOcVe<R<|@O}Y&QfvL0VPgDlnkI}8_ZbQTG#oh-1NFF25g5)voSmC3qfZ|t z`NjFN1-k&$z%$m$MjRs#D%Wtyz*(++*Y=WEoGV!{W<hB;ja8F)aDB~l?G(I~V7BKG zS4!cz*KIf=klC>wJRH+&a4+dStd~YqtdO7SxC`*bj4y)D)iaMSJ-cYS0%q3RTn^<9 zbv5<cOkA?F1bUFD2mUiH9k(0F4P;_D!L3ko8KrxhPTy+vMpUx<<czxZ?yA+7SCa>B zoiZ+oqbBXgiAECBz;>JK#^0#NRy<CD=Tgpf0TA#XH31*p*B}TSjgVOwbcI1*OaUDH zoOP*WL-v{`w%2{N&QG{yL^lw{cz5!&8vI&*=vA)w`$5uQ+@)BT_WQW-!2C&QXwhiZ zLY{&0cg%~XwMLybQakw=YE5qtfi<v-v}=nlTQllr)js1JOXGLKh_Z&h&?O+TU^#*5 z7>7h?!?Fz;QKgwLb3XnxZ+b&Mci`>OrV#g+83OJSzzmJZzjq=E?+!Q(gD>o^02PF& zO_x`cD+Q3GQ)pI>11g$Kz&A^>I1b`yJ=4<}$ijRmxgQ9{qyAu@dBt}qq-8p79SwD5 zp6)Yb6%02V^P_OH9!fc#!J&k7ATBA`8Q^tesaU#HKt0;9!)MhtqrS|Ks>p*z50ZW( z`bt(#mSufePYNhkeYRS*uivf_0_GdZp&SbR{s_N4Qru+y?h*j!J--1-uEPN2g%Tkh z2YKZ|C<sBFmWnsIAO!7jOHIw88aY&P$PZ~lW)kLu8Hvbd^ZY)Mo)UA;qGYM9Sbk>7 z8JpW@+&ib*tZ~T4syHGVk&no!<s0hY4~PKs<pH8%Y}GZ?c{ReprB9%v9HXFJf%H2H z(tRL*0R*P3tGP`~!&#rSawpDQtX{aLQCrat^83mpv3?PLhwt5e1VA7%84XC_zRGaG zU_m4TKsa$gck9<pj)VY?2+8#^+1Nc$6xsppIo@l}gG13cZjX_xAi`0GKu&|mqOH{} z*nJ`m5tRRk@LZPc+O$jCxrl^NYzNC5iKPI`3CC5iEe7J2qkYsB;JTl7`H1+ru+>LJ zqJj?j+Pf9I&-#!+@xFzPUvHFMTX$&$B2qoA;E1|kkMNhQzPVxAka5A_5CXSiAU@$F zO%L2v&)GQxy90DY5VF?g`zvHW_R$Z(Mjw|9WSfZ){04d<y!2ALs1qzO*<cFNh(P(! zD9kO&(Fg#)6G4N7bRY)&rXdY}*FZVx0FKA*h8=^_-KCmM0M^AWQn3uO>m$dHkc=Gc z#|KE}nOC4=J4tky)^H?1B!*V$Sr-cVSl8{4OHjo)lIb!d-%wAKJs023fTvQI>jEHv zq2W3Q5TG6aXa5ln(r5_4t+aL!$nm^DR&J&yT;su-H0+5Jxry}DAgqOA3{My$5iwZX zgHMAUKbpEGau^8f$1?kRk;ujWbR;I#xYUD0hRQm$jYsoX1~MA?=&|knW!mD7#ZV?1 zs%bq2O6l$85*&*}g2bY>x=!Otw!>->E&b9(Q%`dVs524&8u-`E;qGr80xkh?HWF?` z^ye@r9mCB)JQm08IZD@w_+)j7*wh2a#LSw3Sw0hc=2Q}**=w5d^7vSHB8u60aqSJa z@OTj>kHOO1cV&5%rV&_GQKhl>oIwp2MYWBjjZd~Czc3$`korr<9vwA;62yHp#t!|1 zb<vh2cv6FL_m(}fbJI>uW0I*_qOL~isI$8jXaFPN=|7?ZKDw`d5TF=*AqHk2ztAXN z%)}sEav}(4e-a4;S+p76$59(xKs~JG@Ia20Ye_^h@@M@?z^J>>b8t`SJLG8yYt$#O zeOetb()cvElp1JE9)vCf&meF~V(2uqMtxat)M+*zR0e8Np5TWhcP;_2KLGxT!TB@$ z(OV{FATou@wY3l@RCz|dxC6lxfHWJHhwV<<2GF${^<7dD1&u&~y{D=)1%pI*3P7p9 zZ{*V!^+#FHpgli_#~RCZgn&x`?2Us7h&Ba-G|gW0<cVb<Fk4JbJ|5ViPC$xB-(lu= z$_mJ#)Ku3r>IX1>TOd8lF&yeb-sw(wS24&36qf)Pqa*aQJwAPc!8#;#6!!}uU?v7u z5HZ+)t8Z-;hB{I?=puO91W0-pQkyO5A=3nadtKyj0!FxBoYBMiSl~BNKb%UEr{VjC zYfG|xb2S0O_cZs9AH|??;S?TDarG7b$+H|?;NOAwiB#jN2`yGxcVLGGB~Smog2B=w zbQJeX97A9*>i!A*<~VLcv#ahd0YZcDS|C49|G6#!A>iZcE=|CuIckzi0Ib2q+5e~3 zpWM&{g22!OYD-j2aS4Dm*iJw&Swz<*HUye1lO%RKL$=N(0M?)x4i?dcjWui%DRfdI zH71(2xP#mpYA#%?;gT?+&<B`^#=M;{4T`cM?m)K&+$R_y*2?wP@!ilkf&lvV6;$^Y zcq#=YwR1HAt-GIa`3?O2K54OaEH|`8AppeWo;>yR>3NJd)RW(6?Z<eMSR0;5O)D!r zPh1Xv0G^i@l=%E^JQu<<ZPGiJ0E8a`JUvFEl4C&#V5T=Q9Pn&ETCxrPJ9yg5<9h`> zk%D6)6FwV0AHE2_7(U13xl2OZ2$@#0669ZtZ$v)ky9<5=Jnbp+Y%)*d@ku1DhG$$N zvw_g8Lpa3ece6JTpHJq+Z?3Zm0ha(o1{4nf9Rq(V{IT#f>%#$R%vOBT6PEN`RvEwf zB;laKl@ZRTo!>?tMqDJ*9K-4OG|D#WW7LW722vS_MFd$3KNFspWRL(53GF(zfkc4F z&nF242?gOn7_mMqm*p5UFbRNubr62IF7_Z`45rwtS#s1U95G<u(3=T>xxe_^AOHs9 t8&5L<V3_M%2)Gb%A>cy5g@8W<{vQe%c}{i$vh@G}002ovPDHLkV1fb(RptNy diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/256x256-Itoopie Transparent.png b/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/256x256-Itoopie Transparent.png deleted file mode 100644 index ede3adf3c93eb1110e0df7d84c5045f0a04dfee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27642 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 diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/256x256-Itoopie Transparent@2x.png b/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/256x256-Itoopie Transparent@2x.png deleted file mode 100644 index 3fd1aa390f23aa8b376a15b46f87112c76a0eaea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60311 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 diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/32x32-Itoopie Transparent.png b/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/32x32-Itoopie Transparent.png deleted file mode 100644 index d31fa068d83e48debcb7e987450ea2d837efcf1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2843 zcmV+$3*_{PP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F8000CTX+uL$YePpv zZ)|UJQ*dEpWk+RhWpZg_Qb$4n062|}Rb6NtRTMtEb7vzY&QokOg><Mt4J8eeRy3is zx_{l>Hg1+lHrgWSWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6 zwD^Ni=!>T7nL9I?X}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8re zhoBb*p;u8ID_yBf0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J z`jH<$>RKN5V(7OqK*TS4xZz{h!*f1<jcI1&EaKCM1yxgOh?fwL%*FUd4Er&#)?c7a zYU`@#<)UJnb={z`aPMLMpKZZth4XF0r_Y(6K7{XKT>C3ECFkK$#7nA@pGN!$;%jYv zwjAKwmYb0gKL(K8-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z> z!FI&AHCpoWI|RUqx?7s@$8!5^Q=anY<?1z>%X@i5{QA6kNcMelpE>R6eCYFpmMsVT zrI(b06~u#xf1yS}_UGdMvD``!0~u-><w<`olA{h=FXLTprs&U03>P=lA4?YN`hilQ z|3tHka)7T{2CGqwjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^ z7T9R1gAN8V6s;5)ieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2b zW$~+pTw@bIek?ZvKPDL<64`^#UNTAck#RBsB6*5DP4<%<vJ+(Q`q)ZrMP58N*8RMU zGg79TMcp~HyP#nIGb&76Q`f944z`9P%PIQ>UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L z_AC5qq~L$#SMj%U$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPV<W~<yewN9Z=dbi# zJXvop4o0k(1^R0FRvAu>M6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6= zb6>{xYV#Ue-+LB$7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re z4r3qYr~6#KE>;1F`>_J_P5xC?ROxV(DIHdCO*p<m6O1H7WQ>$HRQI@7^PwV@Pvuf+ z5K}u-6REM(K@W$srgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5 zh^QEb$V`rCQ-|7ZS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX z2i^rZ^Mu;6+rb@?NPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV z0id6JRRdfL?*IS>y-7qtR9FeMS7~fiRTTc-n>X`j`rgcRTImWDXl;>*f<Q!m03t;# zVu3;oF)o3qG-`rqT%yq!wQitMBEc<aq9hn&-4bMxMa4w0genMBwo=;ZHXX`r?Yx;e zp8JN;QrZDo&gAP|&pF>c_uPA5C0v|jvf60INQS~V&iI?r%DAF3l&#k=4(hrRFDkOr zh!GCT^jL}ejxj!9jAdLAsbH%|ii#Zc;!94dt9Ma*mrk9hG}?E_MenU~(YWy$f{35- z$mM1*pAClQ+^JDpmy3wp3}-)hxb326o^_JlE+u&W)0c}xDI01npQW1)BQa2S5NDi= zKFzGx?FDV!F8Vd9dEH4C3k=q~{c@1_FgI7F#%7J)SfNq*tTLKDy@XzVHN$iq<48RG zs75o(Z={NfTc~2Thq}WKx_!1Lw&OR3dMP9dS-EZb6FPnSJ*aB_0%~pbQ)g#@=2p(8 zAGd)vZU)VpSIK0OQoZzXdZorryZ7i~D`KoaBOL)tx<MYBYPHG_yt7I{ZLI@yE8m3M zZNtu;JCK)OjD7om1bDmibC$yA>wu<dC@C3(4I4hiL)9^?`&^NIov{YC^YdVS#2HQ} z1umC@k$l<<3k_`9ya}sU*JIPBjVKy^H6DLT#<Xb)=2WaeLqjvFsum(IcNoTwHTZI{ zAulh6LkDqnItS+)dpJAWM$K(H`GXqGtMZWB?IedoqMK*fsVk67%oT4r_&!i+<S3o0 zA8}FGNG9gA>1H0RKcACy<BM!InRfjy9Jwh*cKY+L3_8%@<a#m*iIODzOs2g{^d+4K zdvq!-bBIKIH=Tp?ZNcGaG|^jIE2)zv02cmTdyRa?p2VfFFNBb(i?&E9(I=y>E`i45 zy<Ep`@#kX2#)`j*>$cOMx_HEj(;*pw%DHCvTUcM5q)U>8tR1`O-ejngH{f6dgmX8o z`N&B&RT80i?UFqAQ5K0ri>oyX_NF2sob^Sr|D6wX^0>^$Nf6k=$mwI}qN)p6>p&({ z8Uc-N=FASqoYce4Pe*l%#51UqZ@${C4yvrwX#s}N*C?T<Q9!w}nS?*FzIa9dx8$<M z$Fd|*6&u}$F|-3^H064oyndagPS$B+u}(K#tJ9PM7v05k)}fdP;~3)^6X*vf;*`v2 zY-C#*12GV(+h0VVctqYTkTb^AByw>dJlwS46?lOaevBTQz*o2GScyFJAOR<5eYSZ5 zB*eI_K$wsb;?^YT7!FXNn>+X%;Rxd_8R!_6^Nepwp()=bicktWKEo+&XLI#g5qxnE z;k73f+|Q))*cF+_j@WGy7IwZJVeDmU_ahSqiI*As7>%ORUj`y@m?s_OOTN^@t7_#} zb-Cn42SqS<h6YcTfu_wWCNr^w`TNhLxFIB7`HN^r1EQG9QTKAm@+Ct&Oy@}IR_Qyy z&M~I}!C%Xn^e$eFjn3>8ujcKQR+P5bIqV9%KU-vWzZPBi%V8jDAw17SLNEe6OPq%P zEn?%>*&tI<P7W=*V-}4WK9podrpJ(PCRsA!MA9V@$8|JC&7!r-AEZ@F?j}t$Khch{ z9eptG18qTSuK2cF66JOF#EeCgi$`Jp#Br!zyAJO+p5%>*VKJv(4o5;n_cY?X_i>z1 z6DW3hkd<G6Oos!ZP`I5Zgi=QPmuF(zzx%BAZL(F_plJ^A^uubmqM)P@k=`g;>W^}o z*)Vb9XgG?8z&)-A`*-e#ch6CD2g30APl?OuIY!M{7W*{PMIbdz^JKfR<mJVP#}aU7 zJK@R80woA*U-$%v|2Tr{mRCS`ag=#{c*#(-&1lE^*ZK1F;}9EJl`=F?c_9RbN5fHQ zt_)-sUWIrxhFH{qRkdNl%p2fq@j<mHi1!%cixiS9!861SHA98PYEk1xJZ+Q*ItBfS zhJt}0_HM6-MUs(7{FnQ(ETgNn3rz=4!eSFoG5?!nRS@t6VX??iZK}pygC?Mue<1{Z z;aP#YEqmZS=7n9e!)8}ua1QL<#-tPrc7FFOI+{9Q=T&=;c(HZ;HpGlLBH_ph_R%36 z4JK*B(?{uTXQp%6u(DwoJ*mvhg_DPxVDMJ7HMV1DX(1AELUuv6NwOytLG$63Ku@G+ z4%^t#$Idy`3&{bY)Db!zLi69vXgbgY#ip2%FnSI6+I;5T=a0(6@%_gU>JFjP+bPJ2 z#l_F@co7}NtmBjTRpgRHnX0GSsge^gIS2pF5wBocxsV8m3+ZFd@B(3pOOZDM!kL%b t;_b-fQstf|t_S&n3UNKm^%h22`3E8DN+D}SCdB{%002ovPDHLkV1jpzeqsOs diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/32x32-Itoopie Transparent@2x.png b/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/32x32-Itoopie Transparent@2x.png deleted file mode 100644 index 9eac5605c18ad4e7c7c5f70f20349266743e412c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5869 zcmV<J782=+P)<h;3K|Lk000e1NJLTq002M$002M;1^@s6s%dfF000CTX+uL$YePpv zZ)|UJQ*dEpWk+RhWpZg_Qb$4n062|}Rb6NtRTMtEb7vzY&QokOg><Mt4J8eeRy3is zx_{l>Hg1+lHrgWSWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6 zwD^Ni=!>T7nL9I?X}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8re zhoBb*p;u8ID_yBf0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J z`jH<$>RKN5V(7OqK*TS4xZz{h!*f1<jcI1&EaKCM1yxgOh?fwL%*FUd4Er&#)?c7a zYU`@#<)UJnb={z`aPMLMpKZZth4XF0r_Y(6K7{XKT>C3ECFkK$#7nA@pGN!$;%jYv zwjAKwmYb0gKL(K8-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z> z!FI&AHCpoWI|RUqx?7s@$8!5^Q=anY<?1z>%X@i5{QA6kNcMelpE>R6eCYFpmMsVT zrI(b06~u#xf1yS}_UGdMvD``!0~u-><w<`olA{h=FXLTprs&U03>P=lA4?YN`hilQ z|3tHka)7T{2CGqwjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^ z7T9R1gAN8V6s;5)ieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2b zW$~+pTw@bIek?ZvKPDL<64`^#UNTAck#RBsB6*5DP4<%<vJ+(Q`q)ZrMP58N*8RMU zGg79TMcp~HyP#nIGb&76Q`f944z`9P%PIQ>UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L z_AC5qq~L$#SMj%U$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPV<W~<yewN9Z=dbi# zJXvop4o0k(1^R0FRvAu>M6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6= zb6>{xYV#Ue-+LB$7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re z4r3qYr~6#KE>;1F`>_J_P5xC?ROxV(DIHdCO*p<m6O1H7WQ>$HRQI@7^PwV@Pvuf+ z5K}u-6REM(K@W$srgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5 zh^QEb$V`rCQ-|7ZS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX z2i^rZ^Mu;6+rb@?NPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV z0id6JRRdfL?*IT2k4Z#9RCod1TMK+t)tUd_J2OcpGm{5_1QNkO5)z&Q3u{-=l?uWZ z6_rX+P=46LE=9L1KDutp*2220zpk}Dx~%(aSIXkE79S`+P+&nGDwc;B0t5mf2?^w# zkYqA5Is5<4of`(^k;$as_6y&fd(S=Rd!6rm=R4<K9JqAgBI_h#BGDiQh!-7%@x_8P zG8#)9PaH$cAbN-<(NC-;ens3&{3Ef5_-6q_sKqac2MohdEYFMKHe!r5#P1Rlh<`Hp zQ+j}m@WaHp^zc+mZy+Vrh0C&>$h^!%dLIKO$G@glq4JnQd3gs*aR#vwdl?3lQk!_W zl(<&v{=dK^3i_2j;-+b+zZjdSo_yM;zTB6jf+~@EC7*#lRa)UwzhC83x8CMasj058 zr)aNfBfTex5-+~-Fpm<R<oIa?^7Gwl#fv^F?F%a`rHAM}1Eua%o85c8>h>8P<#wBz zPS}`lleWZ?Z!9dNWI<70ym#gu9#zw5D|I%d&on~hz4Y^`7hm<M%*=#HBYaFAoKoLB zxQ!yUi}K>~4?JWkV2x^|V$ocS(UR4!LZ2!a;*K=JtK=2;O)^0ag(<h^{DOs|q|9+q zz;<mhNLReT_82=xSoix&d@3jBG$TCJ69(vsRX}LGNagRKhPd`R57w@i;gRKCFoc7L z4Fs6x49Zc6GaansEYZ0Si%zga+47lz4eLWVR<4lM-+`N^DGVDd&rEFD7Q)o;_)%Xc z{Z$=*t|jgvUQ)P*+_`ocs#lszeMxtf(GPI`KKYba<rkPLIT^~A1eKfXP|y6@_Jl}p z@ab4_`;0^tA1`ZQoJw>jX_uG2zj#vmSag>@=8K#PD=(?$VdgK}uK%O^Eg@S&UM^*c zTF}v>$EgJi?p62PGfxc~I9S&`@Q^(%WU6@d3Nd+#v^N<z?^K&NZ&rncg=)o$6)OAk z9L5x=m0U^0u+4st8aB+LP5w>95tq^kgUFm&o1xOu;#A2|Ywka~#KTn}UM*R&R0V@U z3T{C|LxY+zW2RQ<<Mp-?WbOBA!z^5Quidn>+_!I^%E-u6d3o`wHDDRx>F2EWVZ;CP zr8K}Cd-QL))l$B()u%H0LQR_VolYepFY4;*s8D}(%dPROwiLQ^mRn_{_g7+|v%w>e z{6rgV!zPQzvE#xcUK@?de@c|V(k+lE6$@NtcfRE|D^Ts;q0ra>+<fy?`;jiGm@ZRN zQgF>R<FRvxAO4WkG5xLdWB7=XNJ>gNt&e>(Wy)lx#7>lyST%k7m>7A5(|#-~P=EU- z+A>xHj1;|mJ{PXK+ES*eSs@fM;C5SknELv9%$_|P+1c5cIddjzYHE;5BQ!HtY;U)W zmXd1Xc-3(<Ha23>qD2@rY7~|%St9!YtxqTvf`eo1*7=a7;@Gj$S3?Sa2ZpaNY9V>~ zL88jePEa-VGN+SOafwHH5~1$8YYy*~TD*9%Xwiw&r%z`PyMn8OOZgcrrO&eeOjKTP zlA1ViQfE7t%cb6b|9ws4``@3Zd_JiCq-{@||6YFDYB1-bY93~m&azCD8#>Ibn%hJf znbS#X%HOz^$CIqqtXZSx&Yi23l2{?=bUO9@f`!)nmp%<GJ|%kwp(SX?l?NYuP(A+m z6TEk;*>}qZO8QuQ-gsLAp+%E@eoVaRkV%deL^Wh+qF$cttgomziC)3A+#}_nuwtjq z0&?@*>S(2HFst0~iBI+I*BRJ!AD7Fc%j>UqhxZiX0ap9h{vdfmrvZM}UF~Cu0kUxq z3FGGG4z#rhDM5vNW_%xf6o>031W;Xl2u`N~7Z1SF(p=zbfp<ROnLvijVbM=O;jgbY zv3_G5?z-E{fapekfg68ybqAjP4<FWi<U%i>w6o{EiDNuJIMrWvpWTDbP}+^|jqKAR zLe<s=si+HS5{@(|49+p|?rIYyr9K?1U<w=$^rO#Ybt-NvZ}$nIAlJZ(-#O40R0swQ zcoRfnG3uGAvx%a;+V*zmD*GbZG8O~KA?8tTdk3Fv4r1F@j(n~x$F^XWf&&LIL=Uh> zPQ>dVM&3)E4bmrs1d+-L6}*tT$o7g90@$@v=<umhBF7PZ(~X~4rhu^9W%GRdtused zo`~R5ABmC5NSm{Pw6XEb=OzvxQ79}Fy)_)??^ogLsEb$)u+`?cX=4bb<!8F8{j?`b z6DwDm+z|%!nIS2Q3^m>55UT+;(gn-7Y~jR-HazpRkc*Y%`BX8{*xG>=%R5J38vp)$ zJudVtR%ylkUa^_{?gc-J4xDd}+bz3W8hGMgnSB+v*(b*PNa=&_QtPRH14*dTPF^P7 z;8Ff?LiF{6Pg%pei^=MftzMOqVx1O;`Q00<65ZZKMKG@Cb&vv0k-&B6U^`k)#$oae z;#@uD4F*cNlun-(LPdq&9{r<aFrUbC$nHZ=7(lqoYVa)@VUQSM`{w}!I~<sBofx4j zQC~=$3miC93QW5(guR8WcHoo7%q&n$>|BYY@>0SOGOx2-(@J~qp5s;3oyX$Qy1unn z_;8(14H#q{i_@0Yddf091>{6%)}>V1<~@`bFA-&JQk{Y_0g&VDH6K`;q*L=>a(WwW z!`Szh;z!DTYQcRz<@TB?8y>Y7S?b@>Urj@AmB!7H=3%{Sl$88FTab%gihuurXazwT zA!454RkM(;M!`DR9B_GpYUGa3+Rgb?ThLb8Qr6z(Nt?ABd}{s=y{cD+l?vX8KB@}C zc``7DI9lT&3{!JR-(~Qvk!1u4Hr+ZVk0lizK&HQ>D^6F`TmJIl#gA2QzS2#C4=#L! zMoi+lW&Z&t4@lUWu=r;Ruf7&SQnG=JbOQ+q9XuETPE;!#Ivij=!8M-uW08zyd<!;1 ze?lO;0XxM8Pd{8(jx40{l<1d6g~SDe*8Mk<m$%Bl6+T^s?ixVe0zFQ?d7^j{-vZ2| z;*U_^G&or!1EP3XpwI6y_Z|mpohT{};;E<F5ZC13F3O2Qo~DahB18&l45I<Bgd0<J znaCQ0l;rPp2$Ht+`6qIF0}UwQW{|QtXoSaDy^dINdXID8MQZ?gF}Z~Jx8&#$<wqzV zo<l#rq44mIyST8pPL`|a0jU`-+<c3r!h7%Xt!Yyb&*CzUYzjpW(gcbh0GRB}-5=4^ z=bNIm(2|&Uc93Uj^n_8$tqs7gVuTDD;oI!dWiN=v05_8GV`MT?6qN<;E|rca`Jso5 zx+w0T6i$(ZP)I*sM*~d0HV%DKgiSkEtyajPs^6n~%XwO2xV079EoCEJUFbxD@H9zZ zjAMI6UolvCrKR%Xa*`i(8H8q6Kr*gB*vj`Y-FRLNu;w8J5amVj8eZ+;n6|R<a@6Cb zD}ed)Efxn#4D8tM$8@c{sYf?NMPwwU6oqW1&L)sh5j_vmkdc{B8~e(?FdShi$K+jx zu6RHysXa{P<AjgA^II0m)QWUabP-yVf0M!P0kaa7%8zWiWd+3?Hq?y?6Rj3+y-772 z49w9%?Uck_k<=df2T_IpLN(`KZ+>$lAD}3da^;PH_juh9aeu+fu6TeDd|fEX2#EW; z!dIf2xcx4)VV<J`htx?1w-DXGiR16bjN2VFnAkXg*WTcX58Zz-6F70<Xh7V4J9#WK zs!2J(kB6GI95uW?XwV-h7~Nki@n$r1rEOOXAbLJZ2Jc9R09h|GkMR>OKUEXa44y{# zQQaYqFLxHmw?MOJTX(w)6?XGQ$V3{zNs|e|=)lA#M*0?V7Y0F{Ynj+aqm;2W%ymC$ zcAigkm3~(YAhhKCZw`&{iZDCKk)CFh@>@3fbjQGLoY&)(90;Bo*&#z*7<9Siyf3_9 zAk+-D^Ri8J>dW*h50AP{{-n{NW5-JrD`KUP0pb~DbP&yENQQVdQ8XA|W3-!ZnJr9A z9h{j#tTgM<sJ+k<pryq?aj}6!zQ6eSQa^??dhrwVp*oRfvf7^OSEiTb64x7t@i~=s z$HgJYw?s|kvyW44y?K&;!N701|5DO9bS_%ws<%D%T+h!{|6M-#HRVfpaT>(at(!SY zaZVQ!6B5wU)`oWZB7zVfZ^G~I!0lB2HNL_--!i8=MEuBfd6ee;IelRA=n+_S;|<td zT83xVe2k+fs_A@|^V2hV!yKv`28hN3B1B`Hv*z364g*Q;;uQ4$`)`_z=YKE@-yT)~ zhtr9})wO78wStr!+D&B)$Y2QVY7jJO+~1%MU%J}y?A<dlW!xxSRgjAb1$lUP=N>ek z<ou@*2=cYav&5+14|FvK2$M5mGb?VT`|Y*eh$DgA?Ebjvs<HT=f0&Q;KfNDU4$h^c z7^pH@m;jYw2jhl}tOQV*-!cMLq_9f4mwI_Fv#o-j<#aiaESm|xAA#03j2fDciNj_0 z-3hWS79&Ir-Sq&QQ3Wp~@%SD`B4Jl)If{;!!^hG0Q&@+CpLX!!=ZB7P!xO-9<_52G zAuFa*F4oI(D)T&^DC>zp6O}GyyO+6;KFl7Ux&3Hw^W$6jIT$m%0Kry2wiO+~bMLQ5 zZBw)D0h`$MWlbQ;AA9hk?Dn<h@6Z5K#RCL{Xd*`}5Da$40{tN3M_f0JyMPSt=#sTZ zSP6C$2f882g`^=_$Qd^nhChH+&%S|vsi_!6@2YHQ#DQZ~Xlm(nf5`#<j-;QDAm8Q7 zu4IB;Ayz7l+=*_u;#_ELX~oG_Su{Axyie(!g8Z@h$QzRj#g8Jkyt@_q|F|F3Ml16= z3&u>n61ijYFeo7&S=oKLUG{1ZYNrAAZQqZg?fbB12T#A~RXlIAM_!bdW3e~FWTGy5 z$^%{`=R0#o<Y3l6-htysPoVxpJyeI{ZZH+u!?NK`Wez}Y5)axrJzo5mm#}@^7h2%d z-l_P}bN9iM?BP2>rq>~cN!y#~DIt1N+5U1k<DA&KdK-59?+$GMwvqk+Y~p*GP&a;h z!UM#JIhr?xPRmL|dUgg(D?0OQ5$+fQK?MA#wlF3~aoP`W#-TkWs6Aeb<laeeFwn_p z+lt$|$i1v614j%*f+rqZR-cyaZD+e~D=$1G)W!;u0%i#jQ6SL96JeHq1}niJgWs7- z$q4uAmxhABEYQ4teE02e@gOBU>bf%GN9yG>nKsgEX*j8;l@2sO9-Gm%x(_{J068R) z?L8W68qw0k;ACESW{HDj4(z8T_oeUvjqZIukg3zbxgTr~BCT&4ygseB>{Ks1U%v}I z>j?vhZ+A#kZ>Vk10m~_0LtFr4uwC(1yTf~rpr!FtR6ko+y++9YuAt#07R0&Zq*($n z`E2dGTGtZ>s3fx!!cazj%iCM^x-AAdAD9jUbyZgGQc+TY^{;GzGydFO;B+`qTUm>m zW3}90aEawKBgnpln}O~_PZ&TvV1vxlq?9C7AFI}ZDlS2f&{-uD<Fq!mqHx<@{k&It zFYMa58=t=WX{T32c62g6v@-2o^{Z9dNN%qi%?;dMTA#|6N4Aajx+e@EJYOLO+L)#$ z_es{HSyo(5Wxj3%2S-wj^Wn<1sHv<$a<610BqlH*=Ieg@zu1rXu<^uDa$Qkef#3f0 z1=P}GhFm!WNB5PXqeBKCpAf|ZyA83X!ZzbFUW^F^Lj|T`A}%owdp3W?<R=d)=_xR{ z?D6wBy`0q_ufyBRR%7cs+c5m<;d(unoFQ*ClO%f4_7A^6R$dm;`}fhS$i~+<VfAm` zLA*O&w?DY+AgYd5319iSml%@=oPVMUo36tMHeE~1$Q+c(wLgS*?gR&p$kv&l+@Gj8 zfn$d%^^zu;VLxVkJ2vb@S#cT0-7pS)vU;QFvm(?~)FLydACsvDv^KXQ=ZZlzWGbgj zAtYW9#Q){pgz$?AdeQ(Q$U3_11evqBBXc-!+jQWPj8KvvnY%KwX_;vVa5<~sG?A&& z&Lm0Vz^DnM;Pxb-s`NOj%d6pI_L#w>s;;sQ#XAq`RYs--Jw-CW(Zo_=8VmHK0mf61 z4=A8~(h1XP>b2S-ANexU@Y7f3_B;>d+?52WrMX2bF2aYELTaB>3@8|&(`LnX4a_U5 zN~(0WDE*|J4dk($*Yk)mtpYZ^SW6!XY^8wuwY6QcPPT{VM7y0`+HJXk;^*<!f0vUw zCPAmsjcEV(eEyAqdA3kJQBtF`Dtsnww)-qr?a!TgL`S)WF4;%{lcMRyK9UK^d=}tI z0ME?ioP=jTd?xks?q6J7-l5tk8IbI?<<p!M#F*gJq>71*?mU#g8AR(;L?^90*^(13 z3nk|e6h%ZaL0QA)xKQ9U1MuE9fG8||V$S+V<7@DLvjKgj7L$M(00000NkvXXu0mjf De-LH% diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/512x512-Itoopie Transparent.png b/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/512x512-Itoopie Transparent.png deleted file mode 100644 index 3fd1aa390f23aa8b376a15b46f87112c76a0eaea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60311 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 diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/512x512-Itoopie Transparent@2x.png b/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/512x512-Itoopie Transparent@2x.png deleted file mode 100644 index 61780fc9e3f821a1395b5182ea5c386eb233f015..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133970 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%0Doyz3zHNf;IuVExiA#|VD6WL9V?A}+UVhzYT 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 KN|};X$o~VCWIaCs diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/Contents.json b/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 4953ff0813..0000000000 --- a/launchers/macosx/I2PLauncher/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "images" : [ - { - "idiom" : "mac", - "size" : "16x16", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "16x16", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "32x32-Itoopie Transparent.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "32x32-Itoopie Transparent@2x.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "128x128-Itoopie Transparent.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "128x128-Itoopie Transparent@2x.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "256x256-Itoopie Transparent.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "256x256-Itoopie Transparent@2x.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "512x512-Itoopie Transparent.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "512x512-Itoopie Transparent@2x.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/Contents.json b/launchers/macosx/I2PLauncher/Assets.xcassets/Contents.json deleted file mode 100644 index da4a164c91..0000000000 --- a/launchers/macosx/I2PLauncher/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/StatusBarButtonImage.imageset/32x32-Itoopie Transparent@2x.png b/launchers/macosx/I2PLauncher/Assets.xcassets/StatusBarButtonImage.imageset/32x32-Itoopie Transparent@2x.png deleted file mode 100644 index 9eac5605c18ad4e7c7c5f70f20349266743e412c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5869 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 De-LH% diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/StatusBarButtonImage.imageset/Contents.json b/launchers/macosx/I2PLauncher/Assets.xcassets/StatusBarButtonImage.imageset/Contents.json deleted file mode 100644 index 61ad03057b..0000000000 --- a/launchers/macosx/I2PLauncher/Assets.xcassets/StatusBarButtonImage.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "ItoopieTransparent.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "32x32-Itoopie Transparent@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/launchers/macosx/I2PLauncher/Assets.xcassets/StatusBarButtonImage.imageset/ItoopieTransparent.png b/launchers/macosx/I2PLauncher/Assets.xcassets/StatusBarButtonImage.imageset/ItoopieTransparent.png deleted file mode 100644 index 5edecdc1a19c9f8d7da9f6e646018c408f2efdf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2122 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 ARR910 diff --git a/launchers/macosx/I2PLauncher/Base.lproj/UserInterfaces.xib b/launchers/macosx/I2PLauncher/Base.lproj/UserInterfaces.xib deleted file mode 100644 index 8612bf162a..0000000000 --- a/launchers/macosx/I2PLauncher/Base.lproj/UserInterfaces.xib +++ /dev/null @@ -1,89 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> - <dependencies> - <deployment identifier="macosx"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14460.31"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="NSApplication"> - <connections> - <outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <customObject id="Voe-Tx-rLC" customClass="AppDelegate"/> - <customObject id="YLy-65-1bz" customClass="NSFontManager"/> - <menu id="TTS-U7-WkT" userLabel="statusBarContextMenu"> - <items> - <menuItem title="Open Console" id="cOe-UL-1TW"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="openConsoleClicked:" target="-1" id="uR3-lb-ikG"/> - </connections> - </menuItem> - <menuItem title="Start I2P Router" id="RQ8-Q2-68A"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="startRouterClicked:" target="-1" id="Vl3-cC-77e"/> - </connections> - </menuItem> - <menuItem title="Exit" id="hsL-CH-m3C"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="quickClicked:" target="-1" id="hiW-5d-nBX"/> - </connections> - </menuItem> - </items> - <point key="canvasLocation" x="17" y="167"/> - </menu> - <menuItem title="Application" allowsKeyEquivalentWhenHidden="YES" id="84R-pF-Wt1"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Application" id="Trv-j7-WYu"> - <items> - <menuItem title="About Application" id="XDp-94-iig"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="orderFrontStandardAboutPanel:" target="-1" id="gJe-90-jzd"/> - </connections> - </menuItem> - <menuItem isSeparatorItem="YES" id="xT4-H9-l6g"/> - <menuItem title="Preferences…" keyEquivalent="," id="2Kn-gO-qBP"> - <connections> - <action selector="handleNativePrefMenuClicked:" target="-1" id="LFK-TI-TdY"/> - </connections> - </menuItem> - <menuItem isSeparatorItem="YES" id="45f-s8-MiT"/> - <menuItem title="Services" id="x2v-WG-Nuy"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Services" systemMenu="services" id="DkL-DH-gJf"/> - </menuItem> - <menuItem isSeparatorItem="YES" id="T1H-h7-Sat"/> - <menuItem title="Hide Application" keyEquivalent="h" id="uAA-NV-src"> - <connections> - <action selector="hide:" target="-1" id="wFN-Nz-FpI"/> - </connections> - </menuItem> - <menuItem title="Hide Others" keyEquivalent="h" id="ext-76-4lm"> - <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> - <connections> - <action selector="hideOtherApplications:" target="-1" id="KyT-0x-vod"/> - </connections> - </menuItem> - <menuItem title="Show All" id="HmI-6K-eUt"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="unhideAllApplications:" target="-1" id="mXg-9c-azx"/> - </connections> - </menuItem> - <menuItem isSeparatorItem="YES" id="xOX-eV-fcA"/> - <menuItem title="Quit Application" keyEquivalent="q" id="Fap-30-HH0"> - <connections> - <action selector="terminate:" target="-1" id="IM7-XC-JlF"/> - </connections> - </menuItem> - </items> - </menu> - </menuItem> - </objects> -</document> diff --git a/launchers/macosx/I2PLauncher/I2PLauncher-Bridging-Header.h b/launchers/macosx/I2PLauncher/I2PLauncher-Bridging-Header.h deleted file mode 100644 index 1397ec4a82..0000000000 --- a/launchers/macosx/I2PLauncher/I2PLauncher-Bridging-Header.h +++ /dev/null @@ -1,9 +0,0 @@ -// -// Use this file to import your target's public headers that you would like to expose to Swift. -// -#import "ObjectiveC/SBridge.h" -#import "AppleStuffExceptionHandler.h" -#import "ObjectiveC/AppDelegate.h" -#import "ObjectiveC/RouterTask.h" -#import "ObjectiveC/logger_c.h" -#import <Webkit/Webkit.h> diff --git a/launchers/macosx/I2PLauncher/I2PLauncher.entitlements b/launchers/macosx/I2PLauncher/I2PLauncher.entitlements deleted file mode 100644 index ec14915f77..0000000000 --- a/launchers/macosx/I2PLauncher/I2PLauncher.entitlements +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>com.apple.security.application-groups</key> - <array> - <string>$(TeamIdentifierPrefix).i2p</string> - </array> - <key>com.apple.security.cs.allow-jit</key> - <true/> - <key>com.apple.security.cs.debugger</key> - <true/> -</dict> -</plist> diff --git a/launchers/macosx/I2PLauncher/I2PLauncher.xcdatamodeld/.xccurrentversion b/launchers/macosx/I2PLauncher/I2PLauncher.xcdatamodeld/.xccurrentversion deleted file mode 100644 index f11bfda1c7..0000000000 --- a/launchers/macosx/I2PLauncher/I2PLauncher.xcdatamodeld/.xccurrentversion +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>_XCCurrentVersionName</key> - <string>I2PLauncher.xcdatamodel</string> -</dict> -</plist> diff --git a/launchers/macosx/I2PLauncher/I2PLauncher.xcdatamodeld/I2PLauncher.xcdatamodel/contents b/launchers/macosx/I2PLauncher/I2PLauncher.xcdatamodeld/I2PLauncher.xcdatamodel/contents deleted file mode 100644 index ad82c3b89c..0000000000 --- a/launchers/macosx/I2PLauncher/I2PLauncher.xcdatamodeld/I2PLauncher.xcdatamodel/contents +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="1" systemVersion="11A491" minimumToolsVersion="Automatic" sourceLanguage="Objective-C" userDefinedModelVersionIdentifier=""> - <elements/> -</model> \ No newline at end of file diff --git a/launchers/macosx/I2PLauncher/Identifiers.swift b/launchers/macosx/I2PLauncher/Identifiers.swift deleted file mode 100644 index 0e0f2fea44..0000000000 --- a/launchers/macosx/I2PLauncher/Identifiers.swift +++ /dev/null @@ -1,15 +0,0 @@ -// -// Identifiers.swift -// I2PLauncher -// -// Created by Mikal Villa on 24/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Foundation - -class Identifiers { - static let applicationDomainId = "net.i2p.bootstrap-macosx" - static let mainApplicationBundleId = "net.i2p.bootstrap-macosx.I2PLauncher" - static let launcherApplicationBundleId = "net.i2p.bootstrap-macosx.StartupItemApp" -} diff --git a/launchers/macosx/I2PLauncher/Info.plist b/launchers/macosx/I2PLauncher/Info.plist deleted file mode 100644 index 8b037b4763..0000000000 --- a/launchers/macosx/I2PLauncher/Info.plist +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>$(DEVELOPMENT_LANGUAGE)</string> - <key>CFBundleExecutable</key> - <string>$(EXECUTABLE_NAME)</string> - <key>CFBundleIconFile</key> - <string></string> - <key>CFBundleIdentifier</key> - <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleName</key> - <string>$(PRODUCT_NAME)</string> - <key>CFBundlePackageType</key> - <string>APPL</string> - <key>CFBundleShortVersionString</key> - <string>$(MARKETING_VERSION)</string> - <key>CFBundleVersion</key> - <string>$(CURRENT_PROJECT_VERSION)</string> - <key>I2PRouterVersion</key> - <string>0.9.45</string> - <key>LSApplicationCategoryType</key> - <string>public.app-category.utilities</string> - <key>LSMinimumSystemVersion</key> - <string>$(MACOSX_DEPLOYMENT_TARGET)</string> - <key>LSUIElement</key> - <true/> - <key>NSAppleScriptEnabled</key> - <true/> - <key>NSHumanReadableCopyright</key> - <string>Copyright © 2018-2019 The I2P Project. All rights reserved.</string> - <key>NSMainNibFile</key> - <string>UserInterfaces</string> - <key>NSPrincipalClass</key> - <string>NSApplication</string> - <key>NSServices</key> - <array> - <dict/> - </array> - <key>SUFeedURL</key> - <string>https://download.i2p2.de/macosx/sparkle/updates/v1/appcast.xml</string> - <key>SUPublicEDKey</key> - <string>mYg7wXploT0EGhSROqE8QX61T/6Igv622oZOy5jMCoE=</string> -</dict> -</plist> diff --git a/launchers/macosx/I2PLauncher/ObjectiveC/AppDelegate.h b/launchers/macosx/I2PLauncher/ObjectiveC/AppDelegate.h deleted file mode 100644 index 34cf93af7f..0000000000 --- a/launchers/macosx/I2PLauncher/ObjectiveC/AppDelegate.h +++ /dev/null @@ -1,112 +0,0 @@ -#ifndef __APPDELEGATE_H__ -#define __APPDELEGATE_H__ - - -#include <string.h> -#include <memory.h> - -#ifdef __cplusplus -#include <unistd.h> -#include <sys/types.h> -#include <pwd.h> -#include <assert.h> -#endif - -#include <Cocoa/Cocoa.h> -#include "SBridge.h" - - -#include "RouterTask.h" - -// TODO: Configure the project to avoid such includes. -#include "../version.h" - -@class SwiftApplicationDelegate; -@class I2PDeployer; - -@protocol SwiftMainDelegateProto -- (void)applicationDidFinishLaunching:(NSNotification *)aNotification; -@end - - -@class ExtractMetaInfo; - -@interface ExtractMetaInfo : NSObject -@property (copy) NSString* i2pBase; -@property (copy) NSString* javaBinary; -@property (copy) NSString* zipFile; -@property (copy) NSString* jarFile; -@end - - -#ifdef __cplusplus - -inline const char* RealHomeDirectory() { - struct passwd *pw = getpwuid(getuid()); - assert(pw); - return pw->pw_dir; -} - -inline std::string getDefaultBaseDir() -{ - // Figure out base directory - auto homeDir = RealHomeDirectory(); - const char* pathFromHome = "%s/Library/I2P"; - char buffer[strlen(homeDir)+strlen(pathFromHome)]; - sprintf(buffer, pathFromHome, homeDir); - std::string i2pBaseDir(buffer); - return i2pBaseDir; -} - -inline std::string getDefaultLogDir() -{ - // Figure out log directory - auto homeDir = RealHomeDirectory(); - const char* pathFromHome = "%s/Library/Logs/I2P"; - char buffer[strlen(homeDir)+strlen(pathFromHome)]; - sprintf(buffer, pathFromHome, homeDir); - std::string i2pBaseDir(buffer); - return i2pBaseDir; -} - -inline void sendUserNotification(NSString* title, NSString* informativeText, bool makeSound = false) { - NSUserNotification *userNotification = [[NSUserNotification alloc] init]; - - userNotification.title = title; - userNotification.informativeText = informativeText; - NSBundle *launcherBundle = [NSBundle mainBundle]; - auto resPath = [launcherBundle resourcePath]; - auto stdResPath = std::string([resPath UTF8String]); - stdResPath += "/AppImage.png"; - auto nsString = [[NSString alloc] initWithUTF8String:(const char*)stdResPath.c_str()]; - NSImage *appImage = [[NSImage alloc] initWithContentsOfFile:nsString]; - userNotification.contentImage = appImage; - if (makeSound) userNotification.soundName = NSUserNotificationDefaultSoundName; - - [[NSUserNotificationCenter defaultUserNotificationCenter] scheduleNotification:userNotification]; -}; - -#endif - -@interface AppDelegate : NSObject <NSUserNotificationCenterDelegate, NSApplicationDelegate> -@property BOOL enableLogging; -@property BOOL enableVerboseLogging; -@property (assign) SwiftApplicationDelegate *swiftRuntime; -@property (assign) NSUserDefaults *userPreferences; -@property (assign) ExtractMetaInfo *metaInfo; -@property (assign) I2PDeployer *deployer; -@property (copy) NSImage *contentImage NS_AVAILABLE(10_9, NA); - -- (void) extractI2PBaseDir:(void(^)(BOOL success, NSError *error))completion; -- (void) awakeFromNib; -- (void) applicationDidFinishLaunching:(NSNotification *)aNotification; -- (void) applicationWillTerminate:(NSNotification *)aNotification; -- (AppDelegate *) initWithArgc:(int)argc argv:(const char **)argv; -- (BOOL) userNotificationCenter:(NSUserNotificationCenter *)center - shouldPresentNotification:(NSUserNotification *)notification; -@end - - - - -#endif diff --git a/launchers/macosx/I2PLauncher/ObjectiveC/Deployer.h b/launchers/macosx/I2PLauncher/ObjectiveC/Deployer.h deleted file mode 100644 index 96f6a20a8f..0000000000 --- a/launchers/macosx/I2PLauncher/ObjectiveC/Deployer.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// Deployer.h -// I2PLauncher -// -// Created by Mikal Villa on 19/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -#import <Foundation/Foundation.h> -#import <Foundation/NSError.h> -#import "AppDelegate.h" - -@class ExtractMetaInfo; - - -@interface I2PDeployer : NSObject -@property (assign) ExtractMetaInfo *metaInfo; -- (I2PDeployer *) initWithMetaInfo:(ExtractMetaInfo*)mi; -- (void) extractI2PBaseDir:(void(^)(BOOL success, NSError *error))completion; -@end - diff --git a/launchers/macosx/I2PLauncher/ObjectiveC/Deployer.mm b/launchers/macosx/I2PLauncher/ObjectiveC/Deployer.mm deleted file mode 100644 index d90ac143fe..0000000000 --- a/launchers/macosx/I2PLauncher/ObjectiveC/Deployer.mm +++ /dev/null @@ -1,122 +0,0 @@ -// -// Deployer.m -// I2PLauncher -// -// Created by Mikal Villa on 19/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// -#include <functional> -#include <memory> -#include <iostream> -#include <algorithm> -#include <string> -#include <list> -#include <sys/stat.h> -#include <stdlib.h> -#include <future> -#include <vector> - -#import <Foundation/Foundation.h> -#import <Foundation/NSFileManager.h> -#include <CoreFoundation/CFPreferences.h> - -#import <objc/Object.h> -#import <Cocoa/Cocoa.h> -#import <AppKit/AppKit.h> -#import <AppKit/NSApplication.h> - -#import "I2PLauncher-Swift.h" - -#include "AppDelegate.h" -// TODO: Configure the project to avoid such includes. -#include "../include/fn.h" -#include "../include/subprocess.hpp" -#include "../include/strutil.hpp" - -#import "SBridge.h" -#include "logger_c.h" - -#include <string> - - -#include "Logger.h" -#include "LoggerWorker.hpp" - -#import "Deployer.h" - -#include <string.h> - -using namespace subprocess; - -@implementation I2PDeployer - -- (I2PDeployer *) initWithMetaInfo:(ExtractMetaInfo*)mi -{ - self.metaInfo = mi; - return self; -} - -- (void) extractI2PBaseDir:(void(^)(BOOL success, NSError *error))completion -{ -#ifdef __cplusplus - NSBundle *launcherBundle = [NSBundle mainBundle]; - auto homeDir = RealHomeDirectory(); - NSLog(@"Home directory is %s", homeDir); - - std::string basePath(homeDir); - basePath.append("/Library/I2P"); - - self.metaInfo.zipFile = [launcherBundle pathForResource:@"base" ofType:@"zip"]; - - NSParameterAssert(basePath.c_str()); - NSError *error = NULL; - BOOL success = YES; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - - - try { - // Create directory - mkdir(basePath.c_str(), S_IRUSR | S_IWUSR | S_IXUSR); - - auto cli = defaultFlagsForExtractorJob; - setenv("I2PBASE", basePath.c_str(), true); - //setenv("DYLD_LIBRARY_PATH",".:/usr/lib:/lib:/usr/local/lib", true); - - chdir(basePath.c_str()); - - // Everything behind --exec java - would be passed as arguments to the java executable. - std::string execStr = "/usr/bin/unzip -uo "; //std::string([rs.getJavaHome UTF8String]); - execStr += [self.metaInfo.zipFile UTF8String]; - //for_each(cli, [&execStr](std::string str){ execStr += std::string(" ") + str; }); - - NSLog(@"Trying cmd: %@", [NSString stringWithUTF8String:execStr.c_str()]); - sendUserNotification(APP_IDSTR, @"Please hold on while we extract I2P. You'll get a new message once done!"); - int extractStatus = Popen(execStr.c_str(), environment{{ - {"I2PBASE", basePath.c_str()} - }}).wait(); - NSLog(@"Extraction exit code %@",[NSString stringWithUTF8String:(std::to_string(extractStatus)).c_str()]); - if (extractStatus == 0) { - NSLog(@"Extraction process done"); - } else { - NSLog(@"Something went wrong"); - } - - // All done. Assume success and error are already set. - dispatch_async(dispatch_get_main_queue(), ^{ - if (completion) { - completion(YES, error); - } - }); - - - } catch (OSError &err) { - auto errMsg = [NSString stringWithUTF8String:err.what()]; - NSLog(@"Exception: %@", errMsg); - sendUserNotification(APP_IDSTR, [NSString stringWithFormat:@"Error: %@", errMsg]); - } - }); -#endif -} - -@end - diff --git a/launchers/macosx/I2PLauncher/ObjectiveC/Logger.h b/launchers/macosx/I2PLauncher/ObjectiveC/Logger.h deleted file mode 100644 index e67732a003..0000000000 --- a/launchers/macosx/I2PLauncher/ObjectiveC/Logger.h +++ /dev/null @@ -1,263 +0,0 @@ -// -// Logger.h -// I2PLauncher -// -// Created by Mikal Villa on 27/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// Imported/Refactored from earlier C++ project of Meeh -// - -#ifndef Logger_h -#define Logger_h - -#ifdef __cplusplus - -#include <string> -#include <sstream> -#include <iostream> -#include <cstdarg> -#include <chrono> -#include <functional> -#include <ctime> - - -/** - * For details please see this - * REFERENCE: http://www.cppreference.com/wiki/io/c/printf_format - * \verbatim - * - There are different %-codes for different variable types, as well as options to - limit the length of the variables and whatnot. - Code Format - %[flags][width][.precision][length]specifier - SPECIFIERS - ---------- - %c character - %d signed integers - %i signed integers - %e scientific notation, with a lowercase “e†- %E scientific notation, with a uppercase “E†- %f floating point - %g use %e or %f, whichever is shorter - %G use %E or %f, whichever is shorter - %o octal - %s a string of characters - %u unsigned integer - %x unsigned hexadecimal, with lowercase letters - %X unsigned hexadecimal, with uppercase letters - %p a pointer - %n the argument shall be a pointer to an integer into which is placed the number of characters written so far - - */ - -/* - Usage: - - SharedLogWorker logger(argv[0], path_to_log_file); - MeehLog::initializeLogging(&logger); - - MLOG(INFO) << "Test SLOG INFO"; - MLOG(DEBUG) << "Test SLOG DEBUG"; - - */ - - -class SharedLogWorker; - -#if !(defined(__PRETTY_FUNCTION__)) -#define __PRETTY_FUNCTION__ __FUNCTION__ -#endif - -const int ML_ANNOYING = 0; -const int ML_DEBUG = 1; -const int ML_INFO = 2; -const int ML_WARN = 3; -const int ML_ERROR = 4; -const int ML_FATAL = 5; -static const std::string kFatalLogExpression = ""; - -#define MLOG_ANNOYING MeehLog::internal::LogMessage(__FILE__,__LINE__,__PRETTY_FUNCTION__,"ML_ANNOYING") -#define MLOG_DEBUG MeehLog::internal::LogMessage(__FILE__,__LINE__,__PRETTY_FUNCTION__,"ML_DEBUG") -#define MLOG_INFO MeehLog::internal::LogMessage(__FILE__,__LINE__,__PRETTY_FUNCTION__,"ML_INFO") -#define MLOG_WARN MeehLog::internal::LogMessage(__FILE__,__LINE__,__PRETTY_FUNCTION__,"ML_WARN") -#define MLOG_ERROR MeehLog::internal::LogMessage(__FILE__,__LINE__,__PRETTY_FUNCTION__,"ML_ERROR") -#define MLOG_FATAL MeehLog::internal::LogContractMessage(__FILE__,__LINE__,__PRETTY_FUNCTION__,k_fatal_log_expression) - -// MLOG(level) is the API for the stream log -#define MLOG(level) MLOG_##level.messageStream() - -// conditional stream log -#define LOG_IF(level, boolean_expression) \ - if(true == boolean_expression) \ - MLOG_##level.messageStream() - -#define MASSERT(boolean_expression) \ - if (false == (boolean_expression)) \ - MeehLog::internal::LogContractMessage(__FILE__, __LINE__, __PRETTY_FUNCTION__, #boolean_expression).messageStream() - - -#define MLOGF_ANNOYING MeehLog::internal::LogMessage(__FILE__, __LINE__, __PRETTY_FUNCTION__,"ML_ANNOYING") -#define MLOGF_INFO MeehLog::internal::LogMessage(__FILE__, __LINE__, __PRETTY_FUNCTION__,"ML_INFO") -#define MLOGF_DEBUG MeehLog::internal::LogMessage(__FILE__, __LINE__, __PRETTY_FUNCTION__,"ML_DEBUG") -#define MLOGF_WARN MeehLog::internal::LogMessage(__FILE__, __LINE__, __PRETTY_FUNCTION__,"ML_WARN") -#define MLOGF_ERROR MeehLog::internal::LogMessage(__FILE__, __LINE__, __PRETTY_FUNCTION__,"ML_ERROR") -#define MLOGF_FATAL MeehLog::internal::LogContractMessage(__FILE__, __LINE__, __PRETTY_FUNCTION__,k_fatal_log_expression) - -// MLOGF(level,msg,...) is the API for the "printf" like log -#define MLOGF(level, printf_like_message, ...) \ - MLOGF_##level.messageSave(printf_like_message, ##__VA_ARGS__) - -// conditional log printf syntax -#define MLOGF_IF(level,boolean_expression, printf_like_message, ...) \ - if(true == boolean_expression) \ - MLOG_##level.messageSave(printf_like_message, ##__VA_ARGS__) - -// Design By Contract, printf-like API syntax with variadic input parameters. Throws std::runtime_eror if contract breaks */ -#define MASSERTF(boolean_expression, printf_like_message, ...) \ - if (false == (boolean_expression)) \ - MeehLog::internal::LogContractMessage(__FILE__, __LINE__, __PRETTY_FUNCTION__,#boolean_expression).messageSave(printf_like_message, ##__VA_ARGS__) - -namespace MeehLog { - - - // PUBLIC API: - /** Install signal handler that catches FATAL C-runtime or OS signals - SIGABRT ABORT (ANSI), abnormal termination - SIGFPE Floating point exception (ANSI): http://en.wikipedia.org/wiki/SIGFPE - SIGILL ILlegal instruction (ANSI) - SIGSEGV Segmentation violation i.e. illegal memory reference - SIGTERM TERMINATION (ANSI) */ - void installSignalHandler(); - - namespace internal { - - - /** \return signal_name. Ref: signum.h and \ref installSignalHandler */ - std::string signalName(int signal_number); - - /** Re-"throw" a fatal signal, previously caught. This will exit the application - * This is an internal only function. Do not use it elsewhere. It is triggered - * from g2log, g2LogWorker after flushing messages to file */ - void exitWithDefaultSignalHandler(int signal_number); - - std::time_t systemtime_now(); - bool isLoggingInitialized(); - - struct LogEntry { - LogEntry(std::string msg, std::time_t timestamp) : mMsg(msg), mTimestamp(timestamp) {} - LogEntry(const LogEntry& other): mMsg(other.mMsg), mTimestamp(other.mTimestamp) {} - LogEntry& operator=(const LogEntry& other) { - mMsg = other.mMsg; - mTimestamp = other.mTimestamp; - return *this; - } - - - std::string mMsg; - std::time_t mTimestamp; - }; - - /** Trigger for flushing the message queue and exiting the application - A thread that causes a FatalMessage will sleep forever until the - application has exited (after message flush) */ - struct FatalMessage { - enum FatalType {kReasonFatal, kReasonOS_FATAL_SIGNAL}; - FatalMessage(LogEntry message, FatalType type, int signal_id); - ~FatalMessage() {}; - FatalMessage& operator=(const FatalMessage& fatal_message); - - - LogEntry mMessage; - FatalType mType; - int mSignalId; - }; - // Will trigger a FatalMessage sending - struct FatalTrigger { - FatalTrigger(const FatalMessage& message); - ~FatalTrigger(); - FatalMessage mMessage; - }; - - // Log message for 'printf-like' or stream logging, it's a temporary message constructions - class LogMessage { - public: - LogMessage(const std::string& file, const int line, const std::string& function, const std::string& level); - virtual ~LogMessage(); // at destruction will flush the message - - std::ostringstream& messageStream() {return mStream;} - - // To generate warn on illegal printf format - #ifndef __GNUC__ - #define __attribute__(x) - #endif - // C++ get 'this' as first arg - void messageSave(const char* printf_like_message, ...) - __attribute__((format(printf, 2, 3) )); - - protected: - const std::string mFile; - const int mLine; - const std::string mFunction; - const std::string mLevel; - std::ostringstream mStream; - std::string mLogEntry; - std::time_t mTimestamp; - }; - - // 'Design-by-Contract' temporary messsage construction - class LogContractMessage : public LogMessage { - public: - LogContractMessage(const std::string& file, const int line, - const std::string& function, const std::string& boolean_expression); - virtual ~LogContractMessage(); // at destruction will flush the message - - protected: - const std::string mExpression; - }; - - // wrap for std::chrono::system_clock::now() - std::time_t systemtime_now(); - - } // namespace internal - - - - /** Should be called at very first startup of the software with \ref SharedLogWorker pointer. - * Ownership of the \ref SharedLogWorker is the responsibilkity of the caller */ - void initializeLogging(SharedLogWorker* logger); - - /** Shutdown the logging by making the pointer to the background logger to nullptr - * The \ref pointer to the SharedLogWorker is owned by the instantniater \ref initializeLogging - * and is not deleted. - */ - void shutDownLogging(); - - /** Same as the Shutdown above but called by the destructor of the LogWorker, thus ensuring that no further - * LOG(...) calls can happen to a non-existing LogWorker. - * @param active MUST BE the LogWorker initialized for logging. If it is not then this call is just ignored - * and the logging continues to be active. - * @return true if the correct worker was given,. and shutDownLogging was called - */ - bool shutDownLoggingForActiveOnly(SharedLogWorker* active); - - - typedef std::chrono::steady_clock::time_point steady_time_point; - typedef std::chrono::time_point<std::chrono::system_clock> system_time_point; - typedef std::chrono::milliseconds milliseconds; - typedef std::chrono::microseconds microseconds; - - /** return time representing POD struct (ref ctime + wchar) that is normally - * retrieved with std::localtime. MeehLog::localtime is threadsafe which std::localtime is not. - * MeehLog::localtime is probably used together with @ref MeehLog::systemtime_now */ - tm localtime(const std::time_t& time); - - /** format string must conform to std::put_time's demands. - * WARNING: At time of writing there is only so-so compiler support for - * std::put_time. A possible fix if your c++11 library is not updated is to - * modify this to use std::strftime instead */ - std::string localtime_formatted(const std::time_t& time_snapshot, const std::string& time_format) ; -} // namespace MeehLog - -#endif // __cplusplus - -#endif /* Logger_h */ diff --git a/launchers/macosx/I2PLauncher/ObjectiveC/Logger.mm b/launchers/macosx/I2PLauncher/ObjectiveC/Logger.mm deleted file mode 100644 index 2c303cd9b5..0000000000 --- a/launchers/macosx/I2PLauncher/ObjectiveC/Logger.mm +++ /dev/null @@ -1,370 +0,0 @@ -// -// Logger.cpp -// I2PLauncher -// -// Created by Mikal Villa on 27/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// Imported/Refactored from earlier C++ project of Meeh -// - -#include <iostream> -#include <sstream> -#include <string> -#include <stdexcept> // exceptions -#include <cstdio> // vsnprintf -#include <cassert> -#include <mutex> -#include <signal.h> -#include <thread> - -#include <unistd.h> -#include <execinfo.h> -#include <cxxabi.h> -#include <cstdlib> -#include <sys/ucontext.h> - -#include "Logger.h" -#include "LoggerWorker.hpp" - -namespace { - std::once_flag gIsInitialized; - std::once_flag gSetFirstUninitializedFlag; - std::once_flag gSaveFirstUnintializedFlag; - SharedLogWorker* gLoggerWorkerInstance = nullptr; - MeehLog::internal::LogEntry gFirstUnintializedMsg = {"", 0}; - std::mutex gLoggerMasterMutex; - const std::string kTruncatedWarningText = "[...truncated...]"; - - std::string splitFileName(const std::string& str) { - size_t found; - found = str.find_last_of("\\"); - return str.substr(found + 1); - } - - void saveToLogger(const MeehLog::internal::LogEntry& logEntry) { - // Uninitialized messages are ignored but does not MASSERT/crash the logger - if (!MeehLog::internal::isLoggingInitialized()) { - std::string err("LOGGER NOT INITIALIZED: " + logEntry.mMsg); - std::call_once(gSetFirstUninitializedFlag, - [&] { gFirstUnintializedMsg.mMsg += err; - gFirstUnintializedMsg.mTimestamp = MeehLog::internal::systemtime_now(); - }); - // dump to std::err all the non-initialized logs - std::cerr << err << std::endl; - return; - } - // Save the first uninitialized message, if any - std::call_once(gSaveFirstUnintializedFlag, [] { - if (!gFirstUnintializedMsg.mMsg.empty()) { - gLoggerWorkerInstance->save(gFirstUnintializedMsg); - } - }); - - gLoggerWorkerInstance->save(logEntry); - } - void crashHandler(int signal_number, siginfo_t* info, void* unused_context) { - const size_t max_dump_size = 50; - void* dump[max_dump_size]; - size_t size = backtrace(dump, max_dump_size); - char** messages = backtrace_symbols(dump, (int)size); // overwrite sigaction with caller's address - - std::ostringstream oss; - oss << "Received fatal signal: " << MeehLog::internal::signalName(signal_number); - oss << "(" << signal_number << ")" << std::endl; - oss << "PID: " << getpid() << std::endl; - - // dump stack: skip first frame, since that is here - for (size_t idx = 1; idx < size && messages != nullptr; ++idx) { - char* mangled_name = 0, *offset_begin = 0, *offset_end = 0; - // find parantheses and +address offset surrounding mangled name - for (char* p = messages[idx]; *p; ++p) { - if (*p == '(') { - mangled_name = p; - } else if (*p == '+') { - offset_begin = p; - } else if (*p == ')') { - offset_end = p; - break; - } - } - - // if the line could be processed, attempt to demangle the symbol - if (mangled_name && offset_begin && offset_end && - mangled_name < offset_begin) { - *mangled_name++ = '\0'; - *offset_begin++ = '\0'; - *offset_end++ = '\0'; - - int status; - char* real_name = abi::__cxa_demangle(mangled_name, 0, 0, &status); - // if demangling is successful, output the demangled function name - if (status == 0) { - oss << "stack dump [" << idx << "] " << messages[idx] << " : " << real_name << "+"; - oss << offset_begin << offset_end << std::endl; - } - // otherwise, output the mangled function name - else { - oss << "stack dump [" << idx << "] " << messages[idx] << mangled_name << "+"; - oss << offset_begin << offset_end << std::endl; - } - free(real_name); // mallocated by abi::__cxa_demangle(...) - } else { - // no demangling done -- just dump the whole line - oss << "stack dump [" << idx << "] " << messages[idx] << std::endl; - } - } // END: for(size_t idx = 1; idx < size && messages != nullptr; ++idx) - - - - free(messages); - { - // Local scope, trigger send - using namespace MeehLog::internal; - std::ostringstream fatal_stream; - fatal_stream << "\n\n***** FATAL TRIGGER RECEIVED ******* " << std::endl; - fatal_stream << oss.str() << std::endl; - fatal_stream << "\n***** RETHROWING SIGNAL " << signalName(signal_number) << "(" << signal_number << ")" << std::endl; - - LogEntry entry = {fatal_stream.str(), systemtime_now()}; - FatalMessage fatal_message(entry, FatalMessage::kReasonOS_FATAL_SIGNAL, signal_number); - FatalTrigger trigger(fatal_message); std::ostringstream oss; - std::cerr << fatal_message.mMessage.mMsg << std::endl << std::flush; - } // message sent to SharedLogWorker - // wait to die -- will be inside the FatalTrigger - } -} // End anonymous namespace - - - -namespace MeehLog { - - // signalhandler and internal clock is only needed to install once - // for unit testing purposes the initializeLogging might be called - // several times... for all other practical use, it shouldn't! - void initializeLogging(SharedLogWorker* bgworker) { - std::call_once(gIsInitialized, []() { - //installSignalHandler(); - }); - - std::lock_guard<std::mutex> lock(gLoggerMasterMutex); - MASSERT(!internal::isLoggingInitialized()); - MASSERT(bgworker != nullptr); - gLoggerWorkerInstance = bgworker; - } - - - - void shutDownLogging() { - std::lock_guard<std::mutex> lock(gLoggerMasterMutex); - gLoggerWorkerInstance = nullptr; - } - - - - bool shutDownLoggingForActiveOnly(SharedLogWorker* active) { - if (internal::isLoggingInitialized() && nullptr != active && - (dynamic_cast<void*>(active) != dynamic_cast<void*>(gLoggerWorkerInstance))) { - MLOG(WARN) << "\nShutting down logging, but the ID of the Logger is not the one that is active." - << "\nHaving multiple instances of the MeehLog::LogWorker is likely a BUG" - << "\nEither way, this call to shutDownLogging was ignored"; - return false; - } - shutDownLogging(); - return true; - } - - void installSignalHandler() { - struct sigaction action; - memset(&action, 0, sizeof(action)); - sigemptyset(&action.sa_mask); - action.sa_sigaction = &crashHandler; // callback to crashHandler for fatal signals - // sigaction to use sa_sigaction file. ref: http://www.linuxprogrammingblog.com/code-examples/sigaction - action.sa_flags = SA_SIGINFO; - - // do it verbose style - install all signal actions - if (sigaction(SIGABRT, &action, NULL) < 0) - perror("sigaction - SIGABRT"); - if (sigaction(SIGFPE, &action, NULL) < 0) - perror("sigaction - SIGFPE"); - if (sigaction(SIGILL, &action, NULL) < 0) - perror("sigaction - SIGILL"); - if (sigaction(SIGSEGV, &action, NULL) < 0) - perror("sigaction - SIGSEGV"); - if (sigaction(SIGTERM, &action, NULL) < 0) - perror("sigaction - SIGTERM"); - } - - namespace internal { - - std::time_t systemtime_now() - { - system_time_point system_now = std::chrono::system_clock::now(); - return std::chrono::system_clock::to_time_t(system_now); - } - - bool isLoggingInitialized() { - return gLoggerWorkerInstance != nullptr; - } - - LogContractMessage::LogContractMessage(const std::string& file, const int line, - const std::string& function, const std::string& boolean_expression) - : LogMessage(file, line, function, "FATAL") - , mExpression(boolean_expression) - {} - - LogContractMessage::~LogContractMessage() { - std::ostringstream oss; - if (0 == mExpression.compare(kFatalLogExpression)) { - oss << "\n[ *******\tEXIT trigger caused by MLOG(FATAL): \n"; - } else { - oss << "\n[ *******\tEXIT trigger caused by broken Contract: MASSERT(" << mExpression << ")\n"; - } - mLogEntry = oss.str(); - } - - LogMessage::LogMessage(const std::string& file, const int line, const std::string& function, const std::string& level) - : mFile(file) - , mLine(line) - , mFunction(function) - , mLevel(level) - , mTimestamp(systemtime_now()) - {} - - LogMessage::~LogMessage() { - using namespace internal; - std::ostringstream oss; - const bool fatal = (0 == mLevel.compare("FATAL")); - oss << mLevel << " [" << splitFileName(mFile); - if (fatal) - oss << " at function: " << mFunction ; - oss << " Line: " << mLine << "]"; - - const std::string str(mStream.str()); - if (!str.empty()) { - oss << '"' << str << '"'; - } - mLogEntry += oss.str(); - - - if (fatal) { // os_fatal is handled by crashhandlers - { - // local scope - to trigger FatalMessage sending - FatalMessage::FatalType fatal_type(FatalMessage::kReasonFatal); - FatalMessage fatal_message({mLogEntry, mTimestamp}, fatal_type, SIGABRT); - FatalTrigger trigger(fatal_message); - std::cerr << mLogEntry << "\t******* ]" << std::endl << std::flush; - } // will send to worker - } - - saveToLogger({mLogEntry, mTimestamp}); // message saved - } - - // represents the actual fatal message - FatalMessage::FatalMessage(LogEntry message, FatalType type, int signal_id) - : mMessage(message) - , mType(type) - , mSignalId(signal_id) {} - - - FatalMessage& FatalMessage::operator=(const FatalMessage& other) { - mMessage = other.mMessage; - mType = other.mType; - mSignalId = other.mSignalId; - return *this; - } - - std::string signalName(int signal_number) { - switch (signal_number) { - case SIGABRT: return "SIGABRT"; break; - case SIGFPE: return "SIGFPE"; break; - case SIGSEGV: return "SIGSEGV"; break; - case SIGILL: return "SIGILL"; break; - case SIGTERM: return "SIGTERM"; break; - default: - std::ostringstream oss; - oss << "UNKNOWN SIGNAL(" << signal_number << ")"; - return oss.str(); - } - } - - void exitWithDefaultSignalHandler(int signal_number) { - std::cerr << "Exiting - FATAL SIGNAL: " << signal_number << " " << std::flush; - struct sigaction action; - memset(&action, 0, sizeof(action)); // - sigemptyset(&action.sa_mask); - action.sa_handler = SIG_DFL; // take default action for the signal - sigaction(signal_number, &action, NULL); - kill(getpid(), signal_number); - abort(); // should never reach this - } - - /** Fatal call saved to logger. This will trigger SIGABRT or other fatal signal - * to exit the program. After saving the fatal message the calling thread - * will sleep forever (i.e. until the background thread catches up, saves the fatal - * message and kills the software with the fatal signal. - */ - void fatalCallToLogger(FatalMessage message) { - if (!isLoggingInitialized()) { - std::ostringstream error; - error << "FATAL CALL but logger is NOT initialized\n" - << "SIGNAL: " << MeehLog::internal::signalName(message.mSignalId) - << "\nMessage: \n" << message.mMessage.mMsg << std::flush; - std::cerr << error.str(); - - //internal::exitWithDefaultSignalHandler(message.mSignalId); - } - gLoggerWorkerInstance->fatal(message); - while (true) { - std::this_thread::sleep_for(std::chrono::seconds(1)); - } - } - - std::function<void(FatalMessage) > gFatalToMLogWorkerFunctionPtr = fatalCallToLogger; - - // used to RAII trigger fatal message sending to g2LogWorker - FatalTrigger::FatalTrigger(const FatalMessage& message) - : mMessage(message) {} - - // at destruction, flushes fatal message to g2LogWorker - FatalTrigger::~FatalTrigger() { - // either we will stay here eternally, or it's in unit-test mode - gFatalToMLogWorkerFunctionPtr(mMessage); - } - - // This mimics the original "std::put_time(const std::tm* tmb, const charT* fmt)" - // This is needed since latest version (at time of writing) of gcc4.7 does not implement this library function yet. - // return value is SIMPLIFIED to only return a std::string - std::string put_time(const struct tm* tmb, const char* c_time_format) - { - const size_t size = 1024; - char buffer[size]; // IMPORTANT: check now and then for when gcc will implement std::put_time finns. - // ... also ... This is way more buffer space then we need - auto success = std::strftime(buffer, size, c_time_format, tmb); - if (0 == success) - return c_time_format; // For this hack it is OK but in case of more permanent we really should throw here, or even assert - return buffer; - } - - } // ns internal - - - tm localtime(const std::time_t& time) - { - struct tm tm_snapshot; - localtime_r(&time, &tm_snapshot); // POSIX - return tm_snapshot; - } - - /// returns a std::string with content of time_t as localtime formatted by input format string - /// * format string must conform to std::put_time - /// This is similar to std::put_time(std::localtime(std::time_t*), time_format.c_str()); - std::string localtime_formatted(const std::time_t& time_snapshot, const std::string& time_format) - { - std::tm t = localtime(time_snapshot); // could be const, but cannot due to VS2012 is non conformant for C++11's std::put_time (see above) - std::stringstream buffer; - buffer << MeehLog::internal::put_time(&t, time_format.c_str()); // format example: //"%Y/%m/%d %H:%M:%S"); - return buffer.str(); - } - -} // ns MeehLog - diff --git a/launchers/macosx/I2PLauncher/ObjectiveC/LoggerWorker.cpp b/launchers/macosx/I2PLauncher/ObjectiveC/LoggerWorker.cpp deleted file mode 100644 index 0d5ce37c76..0000000000 --- a/launchers/macosx/I2PLauncher/ObjectiveC/LoggerWorker.cpp +++ /dev/null @@ -1,320 +0,0 @@ -// -// LoggerWorker.cpp -// I2PLauncher -// -// Created by Mikal Villa on 27/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// Imported/Refactored from earlier C++ project of Meeh -// - -#include "LoggerWorker.hpp" -#include "Logger.h" - -#include <fstream> -#include <sstream> -#include <cassert> -#include <algorithm> -#include <string> -#include <chrono> -#include <functional> -#include <future> - -using namespace MeehLog; -using namespace MeehLog::internal; - -Active::Active(): mDone(false){} - -Active::~Active() { - Callback quit_token = std::bind(&Active::doDone, this); - send(quit_token); // tell thread to exit - mThd.join(); -} - -// Add asynchronously a work-message to queue -void Active::send(Callback msg_){ - mMq.push(msg_); -} - - -// Will wait for msgs if queue is empty -// A great explanation of how this is done (using Qt's library): -// http://doc.qt.nokia.com/stable/qwaitcondition.html -void Active::run() { - while (!mDone) { - // wait till job is available, then retrieve it and - // executes the retrieved job in this thread (background) - Callback func; - mMq.wait_and_pop(func); - func(); - } -} - -// Factory: safe construction of object before thread start -std::unique_ptr<Active> Active::createActive(){ - std::unique_ptr<Active> aPtr(new Active()); - aPtr->mThd = std::thread(&Active::run, aPtr.get()); - return aPtr; -} - -namespace { - static const std::string date_formatted = "%Y/%m/%d"; - static const std::string time_formatted = "%H:%M:%S"; - static const std::string file_name_time_formatted = "%Y%m%d-%H%M%S"; - - // check for filename validity - filename should not be part of PATH - bool isValidFilename(const std::string prefix_filename) { - - std::string illegal_characters("/,|<>:#$%{}()[]\'\"^!?+* "); - size_t pos = prefix_filename.find_first_of(illegal_characters, 0); - if (pos != std::string::npos) { - std::cerr << "Illegal character [" << prefix_filename.at(pos) << "] in logname prefix: " << "[" << prefix_filename << "]" << std::endl; - return false; - } else if (prefix_filename.empty()) { - std::cerr << "Empty filename prefix is not allowed" << std::endl; - return false; - } - - return true; - } - - // Clean up the path if put in by mistake in the prefix - std::string prefixSanityFix(std::string prefix) { - prefix.erase(std::remove_if(prefix.begin(), prefix.end(), ::isspace), prefix.end()); - prefix.erase(std::remove( prefix.begin(), prefix.end(), '\\'), prefix.end()); // '\\' - prefix.erase(std::remove( prefix.begin(), prefix.end(), '.'), prefix.end()); // '.' - prefix.erase(std::remove(prefix.begin(), prefix.end(), ':'), prefix.end()); // ':' - - if (!isValidFilename(prefix)) { - return ""; - } - return prefix; - } - std::string pathSanityFix(std::string path, std::string file_name) { - // Unify the delimeters,. maybe sketchy solution but it seems to work - // on at least win7 + ubuntu. All bets are off for older windows - std::replace(path.begin(), path.end(), '\\', '/'); - - // clean up in case of multiples - auto contains_end = [&](std::string & in) -> bool { - size_t size = in.size(); - if (!size) return false; - char end = in[size - 1]; - return (end == '/' || end == ' '); - }; - - while (contains_end(path)) { path.erase(path.size() - 1); } - if (!path.empty()) { - path.insert(path.end(), '/'); - } - path.insert(path.size(), file_name); - return path; - } - - - std::string createLogFileName(const std::string& verified_prefix) { - std::stringstream ossName; - ossName.fill('0'); - ossName << verified_prefix << MeehLog::localtime_formatted(systemtime_now(), file_name_time_formatted); - ossName << ".log"; - return ossName.str(); - } - - - bool openLogFile(const std::string& complete_file_with_path, std::ofstream& outstream) { - std::ios_base::openmode mode = std::ios_base::out; // for clarity: it's really overkill since it's an ofstream - mode |= std::ios_base::trunc; - outstream.open(complete_file_with_path, mode); - if (!outstream.is_open()) { - std::ostringstream ss_error; - ss_error << "FILE ERROR: could not open log file:[" << complete_file_with_path << "]"; - ss_error << "\nstd::ios_base state = " << outstream.rdstate(); - std::cerr << ss_error.str().c_str() << std::endl << std::flush; - outstream.close(); - return false; - } - std::ostringstream ss_entry; - // Day Month Date Time Year: is written as "%a %b %d %H:%M:%S %Y" and formatted output as : Wed Aug 10 08:19:45 2014 - ss_entry << "MeehLog created log file at: " << MeehLog::localtime_formatted(systemtime_now(), "%a %b %d %H:%M:%S %Y") << "\n"; - ss_entry << "LOG format: [YYYY/MM/DD hh:mm:ss uuu* LEVEL FILE:LINE] message (uuu*: microsecond counter since initialization of log worker)\n\n"; - outstream << ss_entry.str() << std::flush; - outstream.fill('0'); - return true; - } - - - std::unique_ptr<std::ofstream> createLogFile(const std::string& file_with_full_path) { - std::unique_ptr<std::ofstream> out(new std::ofstream); - std::ofstream& stream(*(out.get())); - bool success_with_open_file = openLogFile(file_with_full_path, stream); - if (false == success_with_open_file) { - out.release(); // nullptr contained ptr<file> signals error in creating the log file - } - return out; - } -} // end anonymous namespace - -/** The Real McCoy Background worker, while g2LogWorker gives the - * asynchronous API to put job in the background the g2LogWorkerImpl - * does the actual background thread work */ -struct SharedLogWorkerImpl { - SharedLogWorkerImpl(const std::string& log_prefix, const std::string& log_directory); - ~SharedLogWorkerImpl(); - - void backgroundFileWrite(MeehLog::internal::LogEntry message); - void backgroundExitFatal(MeehLog::internal::FatalMessage fatal_message); - std::string backgroundChangeLogFile(const std::string& directory); - std::string backgroundFileName(); - - std::string log_file_with_path_; - std::string log_prefix_backup_; // needed in case of future log file changes of directory - std::unique_ptr<MeehLog::Active> mBg; - std::unique_ptr<std::ofstream> mOutptr; - steady_time_point steady_start_time_; - -private: - SharedLogWorkerImpl& operator=(const SharedLogWorkerImpl&); - SharedLogWorkerImpl(const SharedLogWorkerImpl& other); - std::ofstream& filestream() {return *(mOutptr.get());} -}; - -// -// Private API implementation : SharedLogWorkerImpl -SharedLogWorkerImpl::SharedLogWorkerImpl(const std::string& log_prefix, const std::string& log_directory) -: log_file_with_path_(log_directory) -, log_prefix_backup_(log_prefix) -, mBg(MeehLog::Active::createActive()) -, mOutptr(new std::ofstream) -, steady_start_time_(std::chrono::steady_clock::now()) { // TODO: ha en timer function steadyTimer som har koll pÃ¥ start - log_prefix_backup_ = prefixSanityFix(log_prefix); - if (!isValidFilename(log_prefix_backup_)) { - // illegal prefix, refuse to start - std::cerr << "MeehLog: forced abort due to illegal log prefix [" << log_prefix << "]" << std::endl << std::flush; - abort(); - } - - std::string file_name = createLogFileName(log_prefix_backup_); - log_file_with_path_ = pathSanityFix(log_file_with_path_, file_name); - mOutptr = createLogFile(log_file_with_path_); - if (!mOutptr) { - std::cerr << "Cannot write logfile to location, attempting current directory" << std::endl; - log_file_with_path_ = "./" + file_name; - mOutptr = createLogFile(log_file_with_path_); - } - assert((mOutptr) && "cannot open log file at startup"); -} - - -SharedLogWorkerImpl::~SharedLogWorkerImpl() { - std::ostringstream ss_exit; - mBg.reset(); // flush the log queue - ss_exit << "\nMeehLog file shutdown at: " << MeehLog::localtime_formatted(systemtime_now(), time_formatted); - filestream() << ss_exit.str() << std::flush; -} - - -void SharedLogWorkerImpl::backgroundFileWrite(LogEntry message) { - using namespace std; - std::ofstream& out(filestream()); - auto log_time = message.mTimestamp; - auto steady_time = std::chrono::steady_clock::now(); - out << "\n" << MeehLog::localtime_formatted(log_time, date_formatted); - out << " " << MeehLog::localtime_formatted(log_time, time_formatted); - out << " " << chrono::duration_cast<std::chrono::microseconds>(steady_time - steady_start_time_).count(); - out << "\t" << message.mMsg << std::flush; -} - - -void SharedLogWorkerImpl::backgroundExitFatal(FatalMessage fatal_message) { - backgroundFileWrite(fatal_message.mMessage); - LogEntry flushEntry{"Log flushed successfully to disk \nExiting", MeehLog::internal::systemtime_now()}; - backgroundFileWrite(flushEntry); - std::cerr << "MeehLog exiting after receiving fatal event" << std::endl; - std::cerr << "Log file at: [" << log_file_with_path_ << "]\n" << std::endl << std::flush; - filestream().close(); - MeehLog::shutDownLogging(); // only an initialized logger can recieve a fatal message. So shutting down logging now is fine. - //exitWithDefaultSignalHandler(fatal_message.mSignalId); - perror("MeehLog exited after receiving FATAL trigger. Flush message status: "); // should never reach this point -} - - -std::string SharedLogWorkerImpl::backgroundChangeLogFile(const std::string& directory) { - std::string file_name = createLogFileName(log_prefix_backup_); - std::string prospect_log = directory + file_name; - std::unique_ptr<std::ofstream> log_stream = createLogFile(prospect_log); - if (nullptr == log_stream) { - LogEntry error("Unable to change log file. Illegal filename or busy? Unsuccessful log name was:" + prospect_log, MeehLog::internal::systemtime_now()); - backgroundFileWrite(error); - - return ""; // no success - } - - std::ostringstream ss_change; - ss_change << "\nChanging log file from : " << log_file_with_path_; - ss_change << "\nto new location: " << prospect_log << "\n"; - backgroundFileWrite({ss_change.str().c_str(), MeehLog::internal::systemtime_now()}); - ss_change.str(""); - - // setting the new log as active - std::string old_log = log_file_with_path_; - log_file_with_path_ = prospect_log; - mOutptr = std::move(log_stream); - ss_change << "\nNew log file. The previous log file was at: "; - ss_change << old_log; - backgroundFileWrite({ss_change.str(), MeehLog::internal::systemtime_now()}); - return log_file_with_path_; -} - -std::string SharedLogWorkerImpl::backgroundFileName() { - return log_file_with_path_; -} - - -// Public API implementation -// -SharedLogWorker::SharedLogWorker(const std::string& log_prefix, const std::string& log_directory) -: pimpl(new SharedLogWorkerImpl(log_prefix, log_directory)) -, logFileWithPath(pimpl->log_file_with_path_) { - assert((pimpl != nullptr) && "shouild never happen"); -} - -SharedLogWorker::~SharedLogWorker() { - pimpl.reset(); - MeehLog::shutDownLoggingForActiveOnly(this); - std::cerr << "\nExiting, log location: " << logFileWithPath << std::endl << std::flush; -} - -void SharedLogWorker::save(const MeehLog::internal::LogEntry& msg) { - pimpl->mBg->send(std::bind(&SharedLogWorkerImpl::backgroundFileWrite, pimpl.get(), msg)); -} - -void SharedLogWorker::fatal(MeehLog::internal::FatalMessage fatal_message) { - pimpl->mBg->send(std::bind(&SharedLogWorkerImpl::backgroundExitFatal, pimpl.get(), fatal_message)); -} - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpessimizing-move" - -std::future<std::string> SharedLogWorker::changeLogFile(const std::string& log_directory) { - MeehLog::Active* bgWorker = pimpl->mBg.get(); - auto mBgcall = [this, log_directory]() {return pimpl->backgroundChangeLogFile(log_directory);}; - auto future_result = MeehLog::spawn_task(mBgcall, bgWorker); - return std::move(future_result); -} - - -std::future<void> SharedLogWorker::genericAsyncCall(std::function<void()> f) { - auto bgWorker = pimpl->mBg.get(); - auto future_result = MeehLog::spawn_task(f, bgWorker); - return std::move(future_result); -} - -std::future<std::string> SharedLogWorker::logFileName() { - MeehLog::Active* bgWorker = pimpl->mBg.get(); - auto mBgcall = [&]() {return pimpl->backgroundFileName();}; - auto future_result = MeehLog::spawn_task(mBgcall , bgWorker); - return std::move(future_result); -} - -#pragma GCC diagnostic pop - diff --git a/launchers/macosx/I2PLauncher/ObjectiveC/LoggerWorker.hpp b/launchers/macosx/I2PLauncher/ObjectiveC/LoggerWorker.hpp deleted file mode 100644 index 4db9a18f85..0000000000 --- a/launchers/macosx/I2PLauncher/ObjectiveC/LoggerWorker.hpp +++ /dev/null @@ -1,144 +0,0 @@ -// -// LoggerWorker.hpp -// I2PLauncher -// -// Created by Mikal Villa on 27/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// Imported/Refactored from earlier C++ project of Meeh -// - -#ifndef LoggerWorker_hpp -#define LoggerWorker_hpp - -#ifdef __cplusplus - -#include <memory> -#include <thread> -#include <mutex> -#include <future> -#include <string> -#include <condition_variable> -#include <functional> - -// TODO: Configure the project to avoid such includes. -#include "../include/sharedqueue.h" -#include "Logger.h" - -struct SharedLogWorkerImpl; - - -namespace MeehLog { - typedef std::function<void()> Callback; - - class Active { - private: - Active(const Active&); - Active& operator=(const Active&); - Active(); // Construction ONLY through factory createActive(); - void doDone(){mDone = true;} - void run(); - - shared_queue<Callback> mMq; - std::thread mThd; - bool mDone; // finished flag to be set through msg queue by ~Active - - - public: - virtual ~Active(); - void send(Callback msg_); - static std::unique_ptr<Active> createActive(); // Factory: safe construction & thread start - }; - - - - // A straightforward technique to move around packaged_tasks. - // Instances of std::packaged_task are MoveConstructible and MoveAssignable, but - // not CopyConstructible or CopyAssignable. To put them in a std container they need - // to be wrapped and their internals "moved" when tried to be copied. - template<typename Moveable> - struct MoveOnCopy { - mutable Moveable _move_only; - - explicit MoveOnCopy(Moveable&& m) : _move_only(std::move(m)) {} - MoveOnCopy(MoveOnCopy const& t) : _move_only(std::move(t._move_only)) {} - MoveOnCopy(MoveOnCopy&& t) : _move_only(std::move(t._move_only)) {} - - MoveOnCopy& operator=(MoveOnCopy const& other) { - _move_only = std::move(other._move_only); - return *this; - } - - MoveOnCopy& operator=(MoveOnCopy&& other) { - _move_only = std::move(other._move_only); - return *this; - } - - void operator()() { _move_only(); } - Moveable& get() { return _move_only; } - Moveable release() { return std::move(_move_only); } - }; - - // Generic helper function to avoid repeating the steps for managing - // asynchronous task job (by active object) that returns a future results - // could of course be made even more generic if done more in the way of - // std::async, ref: http://en.cppreference.com/w/cpp/thread/async - // - // Example usage: - // std::unique_ptr<Active> bgWorker{Active::createActive()}; - // ... - // auto msg_call=[=](){return ("Hello from the Background");}; - // auto future_msg = g2::spawn_task(msg_lambda, bgWorker.get()); - - template <typename Func> - std::future<typename std::result_of<Func()>::type> spawn_task(Func func, Active* worker) { - typedef typename std::result_of<Func()>::type result_type; - typedef std::packaged_task<result_type()> task_type; - task_type task(std::move(func)); - std::future<result_type> result = task.get_future(); - - worker->send(MoveOnCopy<task_type>(std::move(task))); - return std::move(result); - } -} - -class SharedLogWorker { -public: - /** - * \param log_prefix is the 'name' of the binary, this give the log name 'LOG-'name'-... - * \param log_directory gives the directory to put the log files */ - SharedLogWorker(const std::string& log_prefix, const std::string& log_directory); - virtual ~SharedLogWorker(); - - /// pushes in background thread (asynchronously) input messages to log file - void save(const MeehLog::internal::LogEntry& entry); - - /// Will push a fatal message on the queue, this is the last message to be processed - /// this way it's ensured that all existing entries were flushed before 'fatal' - /// Will abort the application! - void fatal(MeehLog::internal::FatalMessage fatal_message); - - /// Attempt to change the current log file to another name/location. - /// returns filename with full path if successful, else empty string - std::future<std::string> changeLogFile(const std::string& log_directory); - - /// Does an independent action in FIFO order, compared to the normal LOG statements - /// Example: auto threadID = [] { std::cout << "thread id: " << std::this_thread::get_id() << std::endl; }; - /// auto call = logger.genericAsyncCall(threadID); - /// // this will print out the thread id of the background worker - std::future<void> genericAsyncCall(std::function<void()> f); - - /// Probably only needed for unit-testing or specific log management post logging - /// request to get log name is processed in FIFO order just like any other background job. - std::future<std::string> logFileName(); - -private: - std::unique_ptr<SharedLogWorkerImpl> pimpl; - const std::string logFileWithPath; - - SharedLogWorker(const SharedLogWorker&); - SharedLogWorker& operator=(const SharedLogWorker&); -}; - -#endif // __cplusplus - -#endif /* LoggerWorker_hpp */ diff --git a/launchers/macosx/I2PLauncher/ObjectiveC/RouterTask.h b/launchers/macosx/I2PLauncher/ObjectiveC/RouterTask.h deleted file mode 100644 index 9f215d31ee..0000000000 --- a/launchers/macosx/I2PLauncher/ObjectiveC/RouterTask.h +++ /dev/null @@ -1,219 +0,0 @@ -#pragma once - -#include <dispatch/dispatch.h> -#include <memory.h> -#include <sys/sysctl.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include <Cocoa/Cocoa.h> -#import <AppKit/AppKit.h> - -#ifdef __cplusplus -#include <vector> -#include <string> - - - -const std::vector<NSString*> defaultStartupFlags { - @"-Xmx512M", - @"-Xms128m", - @"-Djava.awt.headless=true", - @"-Dwrapper.logfile=/tmp/router.log", - @"-Dwrapper.logfile.loglevel=DEBUG", - @"-Dwrapper.java.pidfile=/tmp/routerjvm.pid", - @"-Dwrapper.console.loglevel=DEBUG" -}; - -const std::vector<std::string> defaultFlagsForExtractorJob { - "-Xmx512M", - "-Xms128m", - "-Djava.awt.headless=true" -}; - -#endif - - -@class RTaskOptions; -@interface RTaskOptions : NSObject -@property (strong) NSString* binPath; -@property (strong) NSArray<NSString *>* arguments; -@property (strong) NSString* i2pBaseDir; -@end - -@class I2PRouterTask; -@interface I2PRouterTask : NSObject -@property (strong) NSTask* routerTask; -@property (strong) NSPipe *processPipe; -@property (atomic) BOOL isRouterRunning; -@property (atomic) BOOL userRequestedRestart; -- (instancetype) initWithOptions : (RTaskOptions*) options; -- (int) execute; -- (void) requestShutdown; -- (void) requestRestart; -- (BOOL) isRunning; -- (int) getPID; -- (void)routerStdoutData:(NSNotification *)notification; -@end - - -@interface IIProcessInfo : NSObject { - -@private - int numberOfProcesses; - NSMutableArray *processList; -} -- (id) init; -- (int)numberOfProcesses; -- (void)obtainFreshProcessList; -- (BOOL)findProcessWithStringInNameOrArguments:(NSString *)procNameToSearch; -@end - -#ifdef __cplusplus - -// Inspired by the "ps" util. - -inline std::string getArgvOfPid(int pid) { - int mib[3], argmax, nargs, c = 0; - size_t size; - char *procargs, *sp, *np, *cp; - int show_args = 1; - mib[0] = CTL_KERN; - mib[1] = KERN_ARGMAX; - - size = sizeof(argmax); - if (sysctl(mib, 2, &argmax, &size, NULL, 0) == -1) { - return std::string("sorry"); - } - - /* Allocate space for the arguments. */ - procargs = (char *)malloc(argmax); - if (procargs == NULL) { - return std::string("sorry"); - } - /* - * Make a sysctl() call to get the raw argument space of the process. - * The layout is documented in start.s, which is part of the Csu - * project. In summary, it looks like: - * - * /---------------\ 0x00000000 - * : : - * : : - * |---------------| - * | argc | - * |---------------| - * | arg[0] | - * |---------------| - * : : - * : : - * |---------------| - * | arg[argc - 1] | - * |---------------| - * | 0 | - * |---------------| - * | env[0] | - * |---------------| - * : : - * : : - * |---------------| - * | env[n] | - * |---------------| - * | 0 | - * |---------------| <-- Beginning of data returned by sysctl() is here. - * | argc | - * |---------------| - * | exec_path | - * |:::::::::::::::| - * | | - * | String area. | - * | | - * |---------------| <-- Top of stack. - * : : - * : : - * \---------------/ 0xffffffff - */ - mib[0] = CTL_KERN; - mib[1] = KERN_PROCARGS2; - mib[2] = pid; - - - size = (size_t)argmax; - if (sysctl(mib, 3, procargs, &size, NULL, 0) == -1) { - free(procargs); - return std::string("sorry"); - } - - memcpy(&nargs, procargs, sizeof(nargs)); - cp = procargs + sizeof(nargs); - - /* Skip the saved exec_path. */ - for (; cp < &procargs[size]; cp++) { - if (*cp == '\0') { - /* End of exec_path reached. */ - break; - } - } - if (cp == &procargs[size]) { - free(procargs); - return std::string("sorry"); - } - - /* Skip trailing '\0' characters. */ - for (; cp < &procargs[size]; cp++) { - if (*cp != '\0') { - /* Beginning of first argument reached. */ - break; - } - } - if (cp == &procargs[size]) { - free(procargs); - return std::string("sorry"); - } - /* Save where the argv[0] string starts. */ - sp = cp; - - /* - * Iterate through the '\0'-terminated strings and convert '\0' to ' ' - * until a string is found that has a '=' character in it (or there are - * no more strings in procargs). There is no way to deterministically - * know where the command arguments end and the environment strings - * start, which is why the '=' character is searched for as a heuristic. - */ - for (np = NULL; c < nargs && cp < &procargs[size]; cp++) { - if (*cp == '\0') { - c++; - if (np != NULL) { - /* Convert previous '\0'. */ - *np = ' '; - } else { - /* *argv0len = cp - sp; */ - } - /* Note location of current '\0'. */ - np = cp; - - if (!show_args) { - /* - * Don't convert '\0' characters to ' '. - * However, we needed to know that the - * command name was terminated, which we - * now know. - */ - break; - } - } - } - - /* - * sp points to the beginning of the arguments/environment string, and - * np should point to the '\0' terminator for the string. - */ - if (np == NULL || np == sp) { - /* Empty or unterminated string. */ - free(procargs); - return std::string("sorry"); - } - return std::string(sp); -} - -#endif diff --git a/launchers/macosx/I2PLauncher/ObjectiveC/RouterTask.mm b/launchers/macosx/I2PLauncher/ObjectiveC/RouterTask.mm deleted file mode 100644 index 9d2f3e8f0d..0000000000 --- a/launchers/macosx/I2PLauncher/ObjectiveC/RouterTask.mm +++ /dev/null @@ -1,242 +0,0 @@ -#include "RouterTask.h" - -#include <dispatch/dispatch.h> -#include <future> -#include <stdlib.h> - -#ifdef __cplusplus -// TODO: Configure the project to avoid such includes. -#include "../include/subprocess.hpp" -#include "../include/PidWatcher.h" - -#import "I2PLauncher-Swift.h" -#include "AppDelegate.h" - -#include <assert.h> -#include <errno.h> -#include <stdbool.h> -#include <sys/sysctl.h> -#endif - - -#import <AppKit/AppKit.h> -#import <Foundation/Foundation.h> - -@implementation RTaskOptions -@end - -@implementation I2PRouterTask - -- (void)routerStdoutData:(NSNotification *)notification -{ - NSLog(@"%@", [[NSString alloc] initWithData:[notification.object availableData] encoding:NSUTF8StringEncoding]); - [notification.object waitForDataInBackgroundAndNotify]; -} - -- (instancetype) initWithOptions : (RTaskOptions*) options -{ - self.userRequestedRestart = NO; - self.isRouterRunning = NO; - self.routerTask = [NSTask new]; - self.processPipe = [NSPipe new]; - [self.routerTask setLaunchPath:options.binPath]; - [self.routerTask setArguments:options.arguments]; - NSDictionary *envDict = @{ - @"I2PBASE": options.i2pBaseDir - }; - [self.routerTask setEnvironment: envDict]; - NSLog(@"Using environment variables: %@", envDict); - [self.routerTask setStandardOutput:self.processPipe]; - [self.routerTask setStandardError:self.processPipe]; - - [self.routerTask setTerminationHandler:^(NSTask* task) { - // Cleanup - NSLog(@"termHandler triggered!"); - [[[RouterProcessStatus alloc] init] triggerEventWithEn:@"router_stop" details:@"normal shutdown"]; - [[SBridge sharedInstance] setCurrentRouterInstance:nil]; - sendUserNotification(APP_IDSTR, @"I2P Router has stopped"); - }]; - return self; -} - -- (void) requestShutdown -{ - [self.routerTask interrupt]; -} - -- (void) requestRestart - -{ self.userRequestedRestart = YES; - kill([self.routerTask processIdentifier], SIGHUP); -} - -- (BOOL) isRunning -{ - return self.routerTask.running; -} - -- (int) execute -{ - @try { - [self.routerTask launch]; - self.isRouterRunning = YES; - return 1; - } - @catch (NSException *e) - { - NSLog(@"Expection occurred %@", [e reason]); - self.isRouterRunning = NO; - - [[[RouterProcessStatus alloc] init] triggerEventWithEn:@"router_exception" details:[e reason]]; - - [[SBridge sharedInstance] setCurrentRouterInstance:nil]; - sendUserNotification(@"An error occured, can't start the I2P Router", [e reason]); - return 0; - } -} - -- (int) getPID -{ - return [self.routerTask processIdentifier]; -} - -@end - -typedef struct kinfo_proc kinfo_proc; - -@implementation IIProcessInfo -- (id) init -{ - self = [super init]; - if (self != nil) - { - numberOfProcesses = -1; // means "not initialized" - processList = NULL; - } - return self; -} - -- (int)numberOfProcesses -{ - return numberOfProcesses; -} - -- (void)setNumberOfProcesses:(int)num -{ - numberOfProcesses = num; -} - -- (int)getBSDProcessList:(kinfo_proc **)procList - withNumberOfProcesses:(size_t *)procCount -{ -#ifdef __cplusplus - int err; - kinfo_proc * result; - bool done; - static const int name[] = { CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0 }; - size_t length; - - // a valid pointer procList holder should be passed - assert( procList != NULL ); - // But it should not be pre-allocated - assert( *procList == NULL ); - // a valid pointer to procCount should be passed - assert( procCount != NULL ); - - *procCount = 0; - result = NULL; - done = false; - - do - { - assert( result == NULL ); - - // Call sysctl with a NULL buffer to get proper length - length = 0; - err = sysctl((int *)name,(sizeof(name)/sizeof(*name))-1,NULL,&length,NULL,0); - if( err == -1 ) - err = errno; - - // Now, proper length is optained - if( err == 0 ) - { - result = (kinfo_proc *)malloc(length); - if( result == NULL ) - err = ENOMEM; // not allocated - } - - if( err == 0 ) - { - err = sysctl( (int *)name, (sizeof(name)/sizeof(*name))-1, result, &length, NULL, 0); - if( err == -1 ) - err = errno; - - if( err == 0 ) - done = true; - else if( err == ENOMEM ) - { - assert( result != NULL ); - free( result ); - result = NULL; - err = 0; - } - } - }while ( err == 0 && !done ); - - // Clean up and establish post condition - if( err != 0 && result != NULL ) - { - free(result); - result = NULL; - } - - *procList = result; // will return the result as procList - if( err == 0 ) - *procCount = length / sizeof( kinfo_proc ); - assert( (err == 0) == (*procList != NULL ) ); - return err; -} - -- (void)obtainFreshProcessList -{ - int i; - kinfo_proc *allProcs = 0; - size_t numProcs; - NSString *procName; - - int err = [self getBSDProcessList:&allProcs withNumberOfProcesses:&numProcs]; - if( err ) - { - numberOfProcesses = -1; - processList = NULL; - - return; - } - - // Construct an array for ( process name, pid, arguments concat'ed ) - processList = [NSMutableArray arrayWithCapacity:numProcs]; - for( i = 0; i < numProcs; i++ ) - { - int pid = (int)allProcs[i].kp_proc.p_pid; - procName = [NSString stringWithFormat:@"%s, pid %d, args: %s", allProcs[i].kp_proc.p_comm, pid, getArgvOfPid(pid).c_str()]; - [processList addObject:procName]; - } - - [self setNumberOfProcesses:(int)numProcs]; - free( allProcs ); -#endif -} - - -- (BOOL)findProcessWithStringInNameOrArguments:(NSString *)procNameToSearch -{ - BOOL seenProcessThatMatch = NO; - for (NSString* processInfoStr in processList) { - if ([processInfoStr containsString:procNameToSearch]) { - seenProcessThatMatch = YES; - break; - } - } - return seenProcessThatMatch; -} -@end diff --git a/launchers/macosx/I2PLauncher/ObjectiveC/SBridge.h b/launchers/macosx/I2PLauncher/ObjectiveC/SBridge.h deleted file mode 100644 index ff3344cf05..0000000000 --- a/launchers/macosx/I2PLauncher/ObjectiveC/SBridge.h +++ /dev/null @@ -1,64 +0,0 @@ -// -// SBridge.h -// I2PLauncher -// -// Created by Mikal Villa on 18/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -#import <Foundation/Foundation.h> -#import <Cocoa/Cocoa.h> - -#import "RouterTask.h" - -#ifdef __cplusplus -#include <memory> -#include <future> -#include <glob.h> -#include <string> -#include <vector> -// TODO: Configure the project to avoid such includes. -#include "../include/fn.h" - -namespace osx { - inline void openUrl(NSString* url) - { - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString: url]]; - } -} - -inline std::vector<std::string> globVector(const std::string& pattern){ - glob_t glob_result; - glob(pattern.c_str(),GLOB_TILDE,NULL,&glob_result); - std::vector<std::string> files; - for(unsigned int i=0;i<glob_result.gl_pathc;++i){ - files.push_back(std::string(glob_result.gl_pathv[i])); - } - globfree(&glob_result); - return files; -} - -inline std::string buildClassPathForObjC(std::string basePath) -{ - NSBundle *launcherBundle = [NSBundle mainBundle]; - auto jarList = globVector(basePath+std::string("/lib/*.jar")); - - std::string classpathStrHead = "-classpath"; - std::string classpathStr = ""; - classpathStr += [[launcherBundle pathForResource:@"launcher" ofType:@"jar"] UTF8String]; - std::string prefix(basePath); - prefix += "/lib/"; - for_each(jarList, [&classpathStr](std::string str){ classpathStr += std::string(":") + str; }); - return classpathStr; -} - -#endif - - -@interface SBridge : NSObject -@property (nonatomic, assign) I2PRouterTask* currentRouterInstance; -- (void) openUrl:(NSString*)url; -+ (void) logProxy:(int)level formattedMsg:(NSString*)formattedMsg; -+ (void) sendUserNotification:(NSString*)title formattedMsg:(NSString*)formattedMsg; -+ (instancetype)sharedInstance; // this makes it a singleton -@end diff --git a/launchers/macosx/I2PLauncher/ObjectiveC/SBridge.mm b/launchers/macosx/I2PLauncher/ObjectiveC/SBridge.mm deleted file mode 100644 index 678e6a609c..0000000000 --- a/launchers/macosx/I2PLauncher/ObjectiveC/SBridge.mm +++ /dev/null @@ -1,63 +0,0 @@ -// -// SBridge.m -// I2PLauncher -// -// Created by Mikal Villa on 18/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -#import "SBridge.h" - -#ifdef __cplusplus -#include <functional> -#include <memory> -#include <glob.h> -#include <string> -#include <list> -#include <stdlib.h> -#include <future> -#include <vector> - -#import <AppKit/AppKit.h> -#import "I2PLauncher-Swift.h" -#include "LoggerWorker.hpp" -#include "Logger.h" -#include "logger_c.h" - -#include "AppDelegate.h" -// TODO: Configure the project to avoid such includes. -#include "../include/fn.h" - - -@implementation SBridge - -// this makes it a singleton -+ (instancetype)sharedInstance { - static SBridge *sharedInstance = nil; - static dispatch_once_t onceToken; - - dispatch_once(&onceToken, ^{ - sharedInstance = [[SBridge alloc] init]; - }); - return sharedInstance; -} - -+ (void) sendUserNotification:(NSString*)title formattedMsg:(NSString*)formattedMsg -{ - sendUserNotification(title, formattedMsg); -} - -- (void) openUrl:(NSString*)url -{ - osx::openUrl(url); -} - -+ (void) logProxy:(int)level formattedMsg:(NSString*)formattedMsg -{ - MLog(level, formattedMsg); -} - -@end - - -#endif diff --git a/launchers/macosx/I2PLauncher/ObjectiveC/logger_c.h b/launchers/macosx/I2PLauncher/ObjectiveC/logger_c.h deleted file mode 100644 index 102204b38f..0000000000 --- a/launchers/macosx/I2PLauncher/ObjectiveC/logger_c.h +++ /dev/null @@ -1,88 +0,0 @@ -// -// logger_c.h -// I2PLauncher -// -// Created by Mikal Villa on 30/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -#ifndef logger_c_h -#define logger_c_h - -#include "Logger.h" -#include "LoggerWorker.hpp" - -/* -void genericLogger(int loglevel, va_list params) { -#ifdef __cplusplus - const char * paramArray[10]; - int numParams = 0; - - NSString* arg = nil; - while ((arg = va_arg(params, NSString *))) { - paramArray[numParams++] = [arg cStringUsingEncoding:[NSString defaultCStringEncoding]]; - } - - switch (loglevel) { - case 0: - MLOGF(ANNOYING) << params; - break; - case 1: - MLOGF(DEBUG) << params; - break; - case 2: - MLOGF(INFO) << params; - break; - case 3: - MLOGF(WARN) << params; - break; - default: - assert(false); - } -#endif -} - */ - -inline void MLog(int loglevel, NSString* format, ...) -{ -#ifdef __cplusplus - - va_list vargs; - va_start(vargs, format); - NSString* formattedMessage = [[NSString alloc] initWithFormat:format arguments:vargs]; - va_end(vargs); - - NSString* message = formattedMessage; - - switch (loglevel) { - case 0: - MLOG(ANNOYING) << [message UTF8String]; - break; - case 1: - MLOG(DEBUG) << [message UTF8String]; - break; - case 2: - MLOG(INFO) << [message UTF8String]; - break; - case 3: - MLOG(WARN) << [message UTF8String]; - break; - case 4: - MLOG(ERROR) << [message UTF8String]; - break; - default: -#if DEBUG - assert(false); -#else - return; -#endif - } - -#endif -} - - - -#define MMLog(format_string,...) ((MLog(1, [NSString stringWithFormat:format_string,##__VA_ARGS__]))) - -#endif /* logger_c_h */ diff --git a/launchers/macosx/I2PLauncher/Resources/Preferences.storyboard b/launchers/macosx/I2PLauncher/Resources/Preferences.storyboard deleted file mode 100644 index 49de4db2e2..0000000000 --- a/launchers/macosx/I2PLauncher/Resources/Preferences.storyboard +++ /dev/null @@ -1,388 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="E2c-ib-a9d"> - <dependencies> - <deployment identifier="macosx"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14460.31"/> - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> - </dependencies> - <scenes> - <!--Window Controller--> - <scene sceneID="2xO-NO-0Hd"> - <objects> - <windowController storyboardIdentifier="Preferences" id="E2c-ib-a9d" customClass="PreferencesWindowController" customModule="I2PLauncher" customModuleProvider="target" sceneMemberID="viewController"> - <window key="window" title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="" animationBehavior="default" id="7sM-0n-LvU"> - <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/> - <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/> - <rect key="contentRect" x="294" y="362" width="480" height="270"/> - <rect key="screenRect" x="0.0" y="0.0" width="1920" height="1177"/> - <connections> - <outlet property="delegate" destination="E2c-ib-a9d" id="0bv-to-0T8"/> - </connections> - </window> - <connections> - <segue destination="Gn4-1Z-ZmR" kind="relationship" relationship="window.shadowedContentViewController" id="awB-ye-0WY"/> - </connections> - </windowController> - <customObject id="BZB-oK-A8Y" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="-2004" y="208"/> - </scene> - <!--Tab View Controller--> - <scene sceneID="cDU-zb-AEX"> - <objects> - <tabViewController selectedTabViewItemIndex="2" tabStyle="toolbar" id="Gn4-1Z-ZmR" sceneMemberID="viewController"> - <tabViewItems> - <tabViewItem identifier="" image="NSInfo" id="IDv-FU-QPH"/> - <tabViewItem identifier="" image="NSUser" id="zLE-4e-HMO"/> - <tabViewItem image="NSAdvanced" id="1E7-3R-0EF"/> - </tabViewItems> - <viewControllerTransitionOptions key="transitionOptions" allowUserInteraction="YES"/> - <tabView key="tabView" type="noTabsNoBorder" id="MwI-11-flE"> - <rect key="frame" x="0.0" y="0.0" width="450" height="300"/> - <autoresizingMask key="autoresizingMask"/> - <font key="font" metaFont="message"/> - <connections> - <outlet property="delegate" destination="Gn4-1Z-ZmR" id="Sqn-qQ-We5"/> - </connections> - </tabView> - <connections> - <outlet property="tabView" destination="MwI-11-flE" id="dDk-kJ-uqy"/> - <segue destination="Ikw-G1-sbk" kind="relationship" relationship="tabItems" id="4gr-ZN-WkU"/> - <segue destination="ZrJ-Ig-h1D" kind="relationship" relationship="tabItems" id="BRO-ke-swp"/> - <segue destination="mVJ-sm-WjL" kind="relationship" relationship="tabItems" id="ksS-qq-FNs"/> - </connections> - </tabViewController> - <customObject id="H0i-51-VWT" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="-1263" y="201"/> - </scene> - <!--Launcher--> - <scene sceneID="aj7-2h-9Zl"> - <objects> - <viewController title="Launcher" id="Ikw-G1-sbk" customClass="PreferencesViewController" customModule="I2PLauncher" customModuleProvider="target" sceneMemberID="viewController"> - <view key="view" id="oyR-x0-o8B"> - <rect key="frame" x="0.0" y="0.0" width="361" height="242"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="aAH-4e-tuf"> - <rect key="frame" x="18" y="198" width="325" height="26"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <buttonCell key="cell" type="check" title="Start the I2P Launcher at User login (Mac startup)" bezelStyle="regularSquare" imagePosition="left" inset="2" id="EOY-1C-aqa"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="checkboxStartLauncherOnOSXStartupClicked:" target="Ikw-G1-sbk" id="rpo-MV-F0V"/> - </connections> - </button> - <box fixedFrame="YES" boxType="custom" cornerRadius="4" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="KlH-NM-u60"> - <rect key="frame" x="20" y="66" width="321" height="86"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <view key="contentView" ambiguous="YES" id="UL7-aj-Mxj"> - <rect key="frame" x="1" y="1" width="319" height="84"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="mgK-Va-AeP"> - <rect key="frame" x="5" y="52" width="83" height="25"/> - <autoresizingMask key="autoresizingMask"/> - <textFieldCell key="cell" lineBreakMode="clipping" title="Show as:" id="19Z-jV-gnQ"> - <font key="font" usesAppearanceFont="YES"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <button verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Edq-cq-ZrT"> - <rect key="frame" x="6" y="27" width="83" height="18"/> - <buttonCell key="cell" type="radio" title="Dock Icon" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="ZTf-wy-Wod"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="radioDockIconOnlySelected:" target="Ikw-G1-sbk" id="30f-en-hWz"/> - </connections> - </button> - <button verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Y74-ti-gJ4"> - <rect key="frame" x="238" y="27" width="51" height="18"/> - <buttonCell key="cell" type="radio" title="Both" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="TbR-qb-p7G"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="radioBothIconSelected:" target="Ikw-G1-sbk" id="M8u-jZ-0ub"/> - </connections> - </button> - <button verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hWQ-Fn-Au7"> - <rect key="frame" x="107" y="27" width="105" height="18"/> - <buttonCell key="cell" type="radio" title="Menubar Icon" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="FSa-BS-LVr"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="radioMenubarOnlySelected:" target="Ikw-G1-sbk" id="X24-j5-9sA"/> - </connections> - </button> - </subviews> - <constraints> - <constraint firstItem="Edq-cq-ZrT" firstAttribute="width" secondItem="Y74-ti-gJ4" secondAttribute="width" id="I3w-l3-2ZW"/> - <constraint firstItem="Edq-cq-ZrT" firstAttribute="width" secondItem="hWQ-Fn-Au7" secondAttribute="width" id="d1N-dE-tGj"/> - <constraint firstItem="Edq-cq-ZrT" firstAttribute="width" secondItem="Y74-ti-gJ4" secondAttribute="height" multiplier="5:1" id="dv4-dW-3FO"/> - </constraints> - </view> - </box> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="XPH-xk-vMg"> - <rect key="frame" x="18" y="173" width="313" height="23"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <buttonCell key="cell" type="check" title="Start Firefox with a I2P enabled profile at launch" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="i7v-mQ-d1Y"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="checkboxStartFirefoxAlsoAtLaunchClicked:" target="Ikw-G1-sbk" id="8L9-vJ-GyU"/> - </connections> - </button> - </subviews> - </view> - <connections> - <outlet property="checkboxStartFirefoxAlso" destination="XPH-xk-vMg" id="gzR-kC-XRa"/> - <outlet property="checkboxStartWithOSX" destination="aAH-4e-tuf" id="Lui-vl-1cg"/> - <outlet property="radioBothIcon" destination="Y74-ti-gJ4" id="tFQ-lh-RT8"/> - <outlet property="radioDockIcon" destination="Edq-cq-ZrT" id="BQ8-gt-vhx"/> - <outlet property="radioMenubarIcon" destination="hWQ-Fn-Au7" id="8p5-9H-RcJ"/> - </connections> - </viewController> - <customObject id="6YO-uB-NC9" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="-448.5" y="-209"/> - </scene> - <!--Router--> - <scene sceneID="D7p-Ep-rhA"> - <objects> - <viewController title="Router" id="ZrJ-Ig-h1D" customClass="PreferencesViewController" customModule="I2PLauncher" customModuleProvider="target" sceneMemberID="viewController"> - <view key="view" id="ueb-yj-LIx"> - <rect key="frame" x="0.0" y="0.0" width="319" height="132"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bWG-1q-47t"> - <rect key="frame" x="18" y="96" width="292" height="18"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <buttonCell key="cell" type="check" title="Start the router when the launcher is started" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="8aU-yf-Lzp"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="checkboxStartRouterWithLauncherClicked:" target="ZrJ-Ig-h1D" id="uEH-nn-EuL"/> - </connections> - </button> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="4Ii-hB-9X6"> - <rect key="frame" x="18" y="59" width="283" height="24"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <buttonCell key="cell" type="check" title="Stop the router when the launcher is exited" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="TgB-Sz-u2E"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="checkboxStopRouterWithLauncherClicked:" target="ZrJ-Ig-h1D" id="IdO-17-off"/> - </connections> - </button> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1k4-dg-OqV"> - <rect key="frame" x="14" y="13" width="159" height="32"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <buttonCell key="cell" type="push" title="Reset configuration" bezelStyle="rounded" alignment="center" enabled="NO" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="y6O-Pw-sua"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="buttonResetRouterConfigClicked:" target="ZrJ-Ig-h1D" id="hX2-JI-CrK"/> - </connections> - </button> - </subviews> - </view> - <connections> - <outlet property="buttonResetRouterConfig" destination="1k4-dg-OqV" id="eI9-Qx-foO"/> - <outlet property="checkboxStartWithLauncher" destination="bWG-1q-47t" id="s1f-zJ-9CW"/> - <outlet property="checkboxStopWithLauncher" destination="4Ii-hB-9X6" id="SUY-Nn-EkH"/> - </connections> - </viewController> - <customObject id="HfJ-oO-OiU" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="-455" y="-487"/> - </scene> - <!--Advanced--> - <scene sceneID="CCY-VE-I04"> - <objects> - <viewController title="Advanced" id="mVJ-sm-WjL" customClass="PreferencesViewController" customModule="I2PLauncher" customModuleProvider="target" sceneMemberID="viewController"> - <view key="view" id="za6-Zc-Mi0"> - <rect key="frame" x="0.0" y="0.0" width="601" height="391"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="SSS-Fz-fYY"> - <rect key="frame" x="18" y="345" width="257" height="28"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <buttonCell key="cell" type="check" title="Yes, I want to edit advanced settings" bezelStyle="regularSquare" imagePosition="left" inset="2" id="UzU-4G-MLw"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="checkboxEnableAdvancedPreferencesClicked:" target="mVJ-sm-WjL" id="6TH-cr-HJa"/> - </connections> - </button> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jMA-gl-Wbw"> - <rect key="frame" x="264" y="330" width="319" height="51"/> - <autoresizingMask key="autoresizingMask"/> - <textFieldCell key="cell" id="ygn-Tg-kwS"> - <font key="font" metaFont="system"/> - <string key="title">Note: Advanced settings are editable via the defaults command line tool. Features that are not ready are disabled in preferences.</string> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <scrollView identifier="ScollViewTableView" fixedFrame="YES" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HtO-MW-DI8"> - <rect key="frame" x="20" y="11" width="561" height="311"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <clipView key="contentView" ambiguous="YES" id="D8u-eX-bBu"> - <rect key="frame" x="1" y="0.0" width="559" height="310"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <tableView identifier="AdvancedView" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" headerView="M6Y-Yi-YWr" viewBased="YES" id="lzO-OC-oiQ" customClass="AdvancedTableView" customModule="I2PLauncher" customModuleProvider="target"> - <rect key="frame" x="0.0" y="0.0" width="645" height="285"/> - <autoresizingMask key="autoresizingMask"/> - <size key="intercellSpacing" width="3" height="2"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/> - <tableColumns> - <tableColumn identifier="KeyColumnID" editable="NO" width="116" minWidth="40" maxWidth="1000" id="3Hj-6J-5ww"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Key"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="d5O-BO-cq8"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - <prototypeCellViews> - <tableCellView id="8Z2-cm-fKP"> - <rect key="frame" x="1" y="1" width="116" height="17"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="s7j-Qx-PVz"> - <rect key="frame" x="0.0" y="0.0" width="116" height="17"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="tMT-gR-wu2"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - </subviews> - <connections> - <outlet property="textField" destination="s7j-Qx-PVz" id="Mt0-Gz-VEn"/> - </connections> - </tableCellView> - </prototypeCellViews> - </tableColumn> - <tableColumn identifier="DefaultColumnID" editable="NO" width="120" minWidth="40" maxWidth="1000" id="xna-T0-L5h"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Default Value"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="MUm-Xs-FfY"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - <prototypeCellViews> - <tableCellView id="b5W-zl-l9T"> - <rect key="frame" x="120" y="1" width="120" height="17"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="K1c-BK-Dzb"> - <rect key="frame" x="0.0" y="0.0" width="120" height="17"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="zRJ-Jw-vJZ"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - </subviews> - <connections> - <outlet property="textField" destination="K1c-BK-Dzb" id="824-qp-OmE"/> - </connections> - </tableCellView> - </prototypeCellViews> - </tableColumn> - <tableColumn identifier="ValueColumnID" width="400" minWidth="10" maxWidth="3.4028234663852886e+38" id="hjb-YH-EoM"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Selected Value"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="adF-18-fTe"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - <prototypeCellViews> - <tableCellView id="zRg-yl-f2l"> - <rect key="frame" x="243" y="1" width="400" height="17"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2ro-Gm-4DU"> - <rect key="frame" x="0.0" y="0.0" width="400" height="17"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" title="Table View Cell" usesSingleLineMode="YES" id="Sj7-Se-KMC"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <action selector="onEnterInTextField:" target="mVJ-sm-WjL" id="4y0-HJ-teb"/> - </connections> - </textField> - </subviews> - <connections> - <outlet property="textField" destination="2ro-Gm-4DU" id="bXs-LL-3SR"/> - </connections> - </tableCellView> - </prototypeCellViews> - </tableColumn> - </tableColumns> - </tableView> - </subviews> - </clipView> - <scroller key="horizontalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="Cnd-ra-6V7"> - <rect key="frame" x="1" y="294" width="559" height="16"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="Nnf-g8-3wh"> - <rect key="frame" x="224" y="17" width="15" height="102"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <tableHeaderView key="headerView" id="M6Y-Yi-YWr"> - <rect key="frame" x="0.0" y="0.0" width="645" height="25"/> - <autoresizingMask key="autoresizingMask"/> - </tableHeaderView> - </scrollView> - </subviews> - </view> - <connections> - <outlet property="advPrefTableView" destination="lzO-OC-oiQ" id="VfI-ro-Bq5"/> - </connections> - </viewController> - <customObject id="ASm-AK-p0y" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="-397.5" y="254.5"/> - </scene> - </scenes> - <resources> - <image name="NSAdvanced" width="128" height="128"/> - <image name="NSInfo" width="128" height="128"/> - <image name="NSUser" width="128" height="128"/> - </resources> -</document> diff --git a/launchers/macosx/I2PLauncher/Resources/RouterServices.plist b/launchers/macosx/I2PLauncher/Resources/RouterServices.plist deleted file mode 100644 index 56482cadf5..0000000000 --- a/launchers/macosx/I2PLauncher/Resources/RouterServices.plist +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>services</key> - <array> - <string>I2PRouterService</string> - <string>HttpTunnelService</string> - <string>IrcTunnelService</string> - </array> -</dict> -</plist> diff --git a/launchers/macosx/I2PLauncher/Resources/Storyboard.storyboard b/launchers/macosx/I2PLauncher/Resources/Storyboard.storyboard deleted file mode 100644 index e86fbfa1bb..0000000000 --- a/launchers/macosx/I2PLauncher/Resources/Storyboard.storyboard +++ /dev/null @@ -1,188 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> - <dependencies> - <deployment identifier="macosx"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14460.31"/> - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> - </dependencies> - <scenes> - <!--PopoverController--> - <scene sceneID="4eF-i8-6L0"> - <objects> - <viewController identifier="PopoverView" storyboardIdentifier="PopoverView" id="Ii7-Rb-Ls8" userLabel="PopoverController" customClass="PopoverViewController" customModule="I2PLauncher" customModuleProvider="target" sceneMemberID="viewController"> - <tabView key="view" drawsBackground="NO" allowsTruncatedLabels="NO" initialItem="Fle-u6-lgB" id="dmf-Go-6qY"> - <rect key="frame" x="0.0" y="0.0" width="450" height="333"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <font key="font" metaFont="system"/> - <tabViewItems> - <tabViewItem label="Router Status & Control" identifier="" id="Fle-u6-lgB"> - <view key="view" identifier="routerStatusTabView" canDrawConcurrently="YES" id="xXg-Bt-RWR" customClass="RouterStatusView" customModule="I2PLauncher" customModuleProvider="target"> - <rect key="frame" x="10" y="33" width="430" height="287"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <box fixedFrame="YES" boxType="secondary" title="Router information and status" translatesAutoresizingMaskIntoConstraints="NO" id="e8C-qI-SCp"> - <rect key="frame" x="3" y="49" width="285" height="231"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <view key="contentView" id="zBB-wE-VXr"> - <rect key="frame" x="3" y="3" width="279" height="213"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <textField identifier="RouterStatusLabel" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="0Eo-re-5WK" userLabel="RouterStatusLabel"> - <rect key="frame" x="6" y="189" width="245" height="17"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Router status: Unknown" id="m7V-Se-tnf"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField identifier="RouterVersionLabel" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="sGy-NV-gmH" userLabel="RouterVersionLabel"> - <rect key="frame" x="6" y="170" width="245" height="17"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Router version: Unknown" id="Mda-Os-8O9"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField identifier="RouterStartedByLabel" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tgG-IT-Ojg" userLabel="RouterStartedByLabel"> - <rect key="frame" x="6" y="151" width="245" height="17"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Router started by launcher? No" id="WBg-nH-kwu"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField identifier="RouterUptimeLabel" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="f2W-Kc-cxB" userLabel="RouterUptimeLabel"> - <rect key="frame" x="6" y="132" width="245" height="17"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Router uptime: Unknown" id="uQ0-cW-tYL"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField identifier="RouterPIDLabel" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bmP-Ui-gyo" userLabel="RouterPIDLabel"> - <rect key="frame" x="6" y="113" width="245" height="17"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Router PID: Unknown" id="uFb-he-Wf3"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - </subviews> - </view> - </box> - <box fixedFrame="YES" title="Quick Control" translatesAutoresizingMaskIntoConstraints="NO" id="IIP-Qi-7dp"> - <rect key="frame" x="287" y="49" width="150" height="231"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <view key="contentView" identifier="QuickControlView" id="D8V-d8-0wT"> - <rect key="frame" x="3" y="3" width="144" height="213"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <button identifier="startstopRouterButton" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1eu-Qw-TD9" userLabel="start-stop-button"> - <rect key="frame" x="10" y="175" width="126" height="32"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <buttonCell key="cell" type="push" title="Start/Stop Router" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="OYN-sS-eQH"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - </button> - <button identifier="openConsoleButton" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="XZi-oz-5gy" userLabel="open-console-button"> - <rect key="frame" x="10" y="149" width="126" height="32"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <buttonCell key="cell" type="push" title="Open Console" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Yh8-lj-JFi"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - </button> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="93P-Qg-IND"> - <rect key="frame" x="10" y="122" width="126" height="32"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <buttonCell key="cell" type="push" title="Preferences" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="vab-yq-aBK"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="onPreferencesClick:" target="Ii7-Rb-Ls8" id="xzS-61-nx7"/> - </connections> - </button> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="SQB-9F-cGZ"> - <rect key="frame" x="10" y="95" width="126" height="32"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <buttonCell key="cell" type="push" title="Launch Firefox" bezelStyle="rounded" alignment="center" enabled="NO" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="MDt-Na-H9e"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - </button> - </subviews> - </view> - </box> - </subviews> - <accessibility identifier="routerStatusTabView"/> - <connections> - <outlet property="launchFirefoxButton" destination="SQB-9F-cGZ" id="Rp9-UH-O8q"/> - <outlet property="openConsoleButton" destination="XZi-oz-5gy" id="6xH-8v-63j"/> - <outlet property="quickControlView" destination="D8V-d8-0wT" id="4to-rN-2eL"/> - <outlet property="routerPIDLabel" destination="bmP-Ui-gyo" id="x5L-c1-yja"/> - <outlet property="routerStartStopButton" destination="1eu-Qw-TD9" id="FLt-MK-y5u"/> - <outlet property="routerStartedByLabel" destination="tgG-IT-Ojg" id="dA0-3w-cuF"/> - <outlet property="routerStatusLabel" destination="0Eo-re-5WK" id="7dm-Et-eSn"/> - <outlet property="routerUptimeLabel" destination="f2W-Kc-cxB" id="4Ya-qU-eb3"/> - <outlet property="routerVersionLabel" destination="sGy-NV-gmH" id="tM5-4M-DKy"/> - </connections> - </view> - </tabViewItem> - <tabViewItem label="Router Log Viewer" identifier="" id="IFq-CR-cjD" customClass="LogViewerViewController" customModule="I2PLauncher" customModuleProvider="target"> - <view key="view" id="7U9-d7-IVr"> - <rect key="frame" x="10" y="33" width="430" height="287"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <scrollView identifier="LoggerTextScrollView" fixedFrame="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jca-Kn-cO2" userLabel="LoggerTextScrollView"> - <rect key="frame" x="11" y="17" width="409" height="228"/> - <autoresizingMask key="autoresizingMask"/> - <clipView key="contentView" ambiguous="YES" drawsBackground="NO" id="E5l-WA-qOn"> - <rect key="frame" x="1" y="1" width="407" height="226"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <textView identifier="LoggerTextView" ambiguous="YES" importsGraphics="NO" verticallyResizable="YES" usesFontPanel="YES" findStyle="panel" continuousSpellChecking="YES" allowsUndo="YES" usesRuler="YES" allowsNonContiguousLayout="YES" quoteSubstitution="YES" dashSubstitution="YES" spellingCorrection="YES" smartInsertDelete="YES" id="bgQ-8i-Xgb" userLabel="LoggerTextView"> - <rect key="frame" x="0.0" y="0.0" width="407" height="226"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - <size key="minSize" width="407" height="226"/> - <size key="maxSize" width="463" height="10000000"/> - <color key="insertionPointColor" name="textColor" catalog="System" colorSpace="catalog"/> - </textView> - </subviews> - </clipView> - <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="YES" id="MRF-Wt-zdZ"> - <rect key="frame" x="-100" y="-100" width="87" height="18"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <scroller key="verticalScroller" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="Xq6-ur-WuT"> - <rect key="frame" x="392" y="1" width="16" height="226"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - </scrollView> - </subviews> - </view> - <connections> - <outlet property="scrollView" destination="jca-Kn-cO2" id="qAi-hi-PsC"/> - <outlet property="textFieldView" destination="bgQ-8i-Xgb" id="SbC-0r-xPR"/> - </connections> - </tabViewItem> - </tabViewItems> - </tabView> - <connections> - <outlet property="routerStatusViewOutlet" destination="xXg-Bt-RWR" id="L98-nF-i0n"/> - </connections> - </viewController> - <customObject id="d8g-wS-Zts" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="-823" y="165.5"/> - </scene> - </scenes> -</document> diff --git a/launchers/macosx/I2PLauncher/SwiftApplicationDelegate.swift b/launchers/macosx/I2PLauncher/SwiftApplicationDelegate.swift deleted file mode 100644 index b1201513aa..0000000000 --- a/launchers/macosx/I2PLauncher/SwiftApplicationDelegate.swift +++ /dev/null @@ -1,247 +0,0 @@ -// -// SwiftMainDelegate.swift -// I2PLauncher -// -// Created by Mikal Villa on 17/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation -import Cocoa -import MBPopup - -extension Notification.Name { - static let killLauncher = Notification.Name("killStartupLauncher") - static let upgradeRouter = Notification.Name("upgradeRouter") - static let startRouter = Notification.Name("startRouter") - static let stopRouter = Notification.Name("stopRouter") -} - -class Logger { - static func MLog<T>(level:Int32, _ object: T?,file:String = #file, function:String = #function, line:Int = #line) { - SBridge.logProxy(level, formattedMsg: "\(makeTag(function: function, file: file, line: line)) : \(String(describing: object))") - } - - private static func makeTag(function: String, file: String, line: Int) -> String{ - let url = NSURL(fileURLWithPath: file) - let className:String! = url.lastPathComponent == nil ? file: url.lastPathComponent! - return "\(String(describing: className)) \(function)[\(line)]" - } - -} - - -@objc class SwiftApplicationDelegate : NSObject, NSApplicationDelegate, NSMenuDelegate { - - let statusBarController = StatusBarController() - let sharedRouterMgmr = RouterManager.shared() - //let popupController: MBPopupController - //let serviceTableViewController = ServiceTableViewController() - //let editorTableViewController: EditorTableViewController - - // Constructor, think of it like an early entrypoint. - override init() { - //self.popupController = MBPopupController(contentView: serviceTableViewController.contentView) - //self.editorTableViewController = serviceTableViewController.editorTableViewController - super.init() - - if (!DetectJava.shared().isJavaFound()) { - DetectJava.shared().findIt() - if (!DetectJava.shared().isJavaFound()) { - Logger.MLog(level:3, "Could not find java....") - terminate("No java..") - } - } - let javaBinPath = DetectJava.shared().javaBinary - Logger.MLog(level:1, "".appendingFormat("Found java home = %@", javaBinPath!)) - - let (portIsNotTaken, _) = NetworkUtil.checkTcpPortForListen(port: 7657) - if (!portIsNotTaken) { - RouterProcessStatus.isRouterRunning = true - RouterProcessStatus.isRouterChildProcess = false - Logger.MLog(level:2, "I2P Router seems to be running") - } else { - RouterProcessStatus.isRouterRunning = false - Logger.MLog(level:2, "I2P Router seems to NOT be running") - } - } // End of init() - - // A function which detects the current installed I2P router version - // NOTE: The return value tells if the function fails to detect I2P or not, and not if I2P is installed or not. - @objc func findInstalledI2PVersion() -> Bool { - let jarPath = Preferences.shared().i2pBaseDirectory + "/lib/i2p.jar" - let subCmd = Preferences.shared().javaCommandPath + "-cp " + jarPath + " net.i2p.CoreVersion" - let cmdArgs:[String] = ["-c", subCmd] - - let sub:Subprocess = Subprocess.init(executablePath: "/bin/sh", arguments: cmdArgs) - let results:ExecutionResult = sub.execute(captureOutput: true)! - - if (results.didCaptureOutput) { - if (results.status == 0) { - let i2pVersion = results.outputLines.first?.replace(target: "I2P Core version: ", withString: "") - Logger.MLog(level: 1, "".appendingFormat("I2P version detected: %@",i2pVersion ?? "Unknown")) - RouterProcessStatus.routerVersion = i2pVersion - RouterManager.shared().eventManager.trigger(eventName: "router_version", information: i2pVersion) - return true - } else { - Logger.MLog(level: 2, "Non zero exit code from subprocess while trying to detect version number!") - for line in results.errorsLines { - Logger.MLog(level: 2, line) - } - return false - } - } else { - Logger.MLog(level: 1, "Warning: Version Detection did NOT captured output") - } - return false - } - - - // Helper functions for the optional dock icon - func triggerDockIconShowHide(showIcon state: Bool) -> Bool { - var result: Bool - if state { - result = NSApp.setActivationPolicy(NSApplication.ActivationPolicy.regular) - } else { - result = NSApp.setActivationPolicy(NSApplication.ActivationPolicy.accessory) - } - return result - } - - // Helper functions for the optional dock icon - func getDockIconStateIsShowing() -> Bool { - if NSApp.activationPolicy() == NSApplication.ActivationPolicy.regular { - return true - } else { - return false - } - } - - @objc func updateServices() { - /* - serviceTableViewController.updateServices { [weak self] in - let title = self?.serviceTableViewController.generalStatus == .crashed ? "-.-" : "I2PLauncher" - self?.popupController.statusItem.title = title - - if Preferences.shared().notifyOnStatusChange { - self?.serviceTableViewController.services.forEach { $0.notifyIfNecessary() } - } - } - */ - } - - /** - * - * This is the swift "entrypoint". In C it would been "main(argc,argv)" - * - */ - @objc func applicationDidFinishLaunching() { - switch Preferences.shared().showAsIconMode { - case .bothIcon, .dockIcon: - if (!getDockIconStateIsShowing()) { - let _ = triggerDockIconShowHide(showIcon: true) - } - default: - if (getDockIconStateIsShowing()) { - let _ = triggerDockIconShowHide(showIcon: false) - } - } - let runningApps = NSWorkspace.shared.runningApplications - let isRunning = !runningApps.filter { $0.bundleIdentifier == Identifiers.launcherApplicationBundleId }.isEmpty - // SMLoginItemSetEnabled(launcherAppId as CFString, true) - - if isRunning { - DistributedNotificationCenter.default().post(name: .killLauncher, object: Bundle.main.bundleIdentifier!) - } - - if (Preferences.shared().alsoStartFirefoxOnLaunch) { - DispatchQueue.delay(.seconds(120)) { - print("two minutes has passed, executing firefox manager") - let _ = FirefoxManager.shared().executeFirefox() - } - } - - if #available(OSX 10.14, *) { - Appearance.addObserver(self) - } else { - //popupController.backgroundView.backgroundColor = .white - } - - NSUserNotificationCenter.default.delegate = self - /* - popupController.statusItem.button?.image = NSImage(named:"StatusBarButtonImage") - popupController.statusItem.button?.toolTip = "I2P Launch Manager" - popupController.statusItem.button?.font = NSFont(name: "SF Mono Regular", size: 10) ?? NSFont.systemFont(ofSize: 12) - popupController.statusItem.length = 30 - - popupController.contentView.wantsLayer = true - popupController.contentView.layer?.masksToBounds = true - - serviceTableViewController.setup() - - popupController.willOpenPopup = { [weak self] _ in - if self?.editorTableViewController.hidden == true { - self?.serviceTableViewController.willOpenPopup() - } else { - self?.editorTableViewController.willOpenPopup() - } - } - - popupController.didOpenPopup = { [weak self] in - if self?.editorTableViewController.hidden == false { - self?.editorTableViewController.didOpenPopup() - } - } - */ - } - - @objc func listenForEvent(eventName: String, callbackActionFn: @escaping ((Any?)->()) ) { - RouterManager.shared().eventManager.listenTo(eventName: eventName, action: callbackActionFn ) - } - - @objc func triggerEvent(en: String, details: String? = nil) { - RouterManager.shared().eventManager.trigger(eventName: en, information: details) - } - - @objc static func openLink(url: String) { - NSLog("Trying to open \(url)") - NSWorkspace.shared.open(NSURL(string: url)! as URL) - } - - /** - * - * This function will execute when the launcher shuts down for some reason. - * Could be either OS or user triggered. - * - */ - @objc func applicationWillTerminate() { - // Shutdown stuff - if (Preferences.shared().stopRouterOnLauncherShutdown) { - RouterManager.shared().routerRunner.TeardownLaunchd() - sleep(2) - let status: AgentStatus? = RouterRunner.launchAgent?.status() - if status != .unloaded { - Logger.MLog(level:2, "Router service not yet stopped") - RouterManager.shared().routerRunner.TeardownLaunchd() - sleep(5) - } - } - } - - @objc func terminate(_ why: Any?) { - Logger.MLog(level:2, "".appendingFormat("Stopping cause of ", why! as! CVarArg)) - } -} - -extension SwiftApplicationDelegate: NSUserNotificationCenterDelegate { - func userNotificationCenter(_ center: NSUserNotificationCenter, didActivate notification: NSUserNotification) { - //popupController.openPopup() - } -} - -extension SwiftApplicationDelegate: AppearanceObserver { - func changeAppearance(to newAppearance: NSAppearance) { - //popupController.backgroundView.backgroundColor = newAppearance.isDarkMode ? .windowBackgroundColor : .white - } -} - diff --git a/launchers/macosx/I2PLauncher/routermgmt/DetectJava.swift b/launchers/macosx/I2PLauncher/routermgmt/DetectJava.swift deleted file mode 100644 index 198e3bed86..0000000000 --- a/launchers/macosx/I2PLauncher/routermgmt/DetectJava.swift +++ /dev/null @@ -1,182 +0,0 @@ -// -// DetectJava.swift -// JavaI2PWrapper -// -// Created by Mikal Villa on 24/03/2018. -// Copyright © 2018 I2P. All rights reserved. -// - -import Foundation - - -@objc class DetectJava : NSObject { - - static var hasJRE : Bool = false - static var hasJDK : Bool = false - static var userWantJRE : Bool = false - static var userAcceptOracleEULA : Bool = false - - private static var sharedDetectJava: DetectJava = { - let javaDetector = DetectJava() - - // Configuration - // ... - return javaDetector - }() - - // Initialization - - private override init() { - super.init() - } - - // MARK: - Accessors - - - class func shared() -> DetectJava { - return sharedDetectJava - } - - @objc var javaBinary: String? { - didSet{ - print("DetectJava.javaBinary was set to "+self.javaBinary!) - } - } - - // Java checks - @objc var javaHome: String = ""{ - - //Called before the change - willSet(newValue){ - print("DetectJava.javaHome will change from "+self.javaHome+" to "+newValue) - } - - //Called after the change - didSet{ - DetectJava.hasJRE = true - // javaHome will have a trailing \n which we remove to not break the cli - self.javaBinary = (self.javaHome+"/bin/java").replace(target: "\n", withString: "") - print("DetectJava.javaHome did change to "+self.javaHome) - //RouterManager.shared().eventManager.trigger(eventName: "java_found", information: self.javaHome) - } - }; - private var testedEnv : Bool = false - private var testedJH : Bool = false - private var testedDfl : Bool = false - - @objc func isJavaFound() -> Bool { - if !(self.javaHome.isEmpty) { - return true - } - return false - } - - /** - * - * The order of the code blocks will decide the order, which will define the preffered. - * - **/ - @objc func findIt() { - if (DetectJava.hasJRE) { - return - } - print("Start with checking environment variable") - self.checkJavaEnvironmentVariable() - if !(self.javaHome.isEmpty) { - DetectJava.hasJRE = true - return - } - print("Checking with the java_home util") - self.runJavaHomeCmd() - if !(self.javaHome.isEmpty) { - DetectJava.hasJRE = true - return - } - print("Checking default JRE install path") - self.checkDefaultJREPath() - if !(self.javaHome.isEmpty) { - DetectJava.hasJRE = true - return - } - } - - @objc func getJavaViaLibexecBin() -> Array<String> { - return ["/usr/libexec/java_home", "-v", "1.7+", "--exec", "java"] - } - - @objc func runJavaHomeCmd() { - let task = Process() - task.launchPath = "/usr/libexec/java_home" - task.arguments = ["-v", "1.7+"] - let pipe = Pipe() - task.standardOutput = pipe - let outHandle = pipe.fileHandleForReading - outHandle.waitForDataInBackgroundAndNotify() - - var obs1 : NSObjectProtocol! - obs1 = NotificationCenter.default.addObserver( - forName: NSNotification.Name.NSFileHandleDataAvailable, - object: outHandle, queue: nil) { - notification -> Void in - let data = outHandle.availableData - if data.count > 0 { - let str = NSString(data: data, encoding: String.Encoding.utf8.rawValue) - if (str != nil) { - let stringVal = str! as String - print("got output: "+stringVal) - self.javaHome = stringVal - } - // TODO: Found something, check it out - outHandle.waitForDataInBackgroundAndNotify() - } else { - print("EOF on stdout from process") - NotificationCenter.default.removeObserver(obs1) - // No JRE so far - } - } - - var obs2 : NSObjectProtocol! - obs2 = NotificationCenter.default.addObserver( - forName: Process.didTerminateNotification, - object: task, queue: nil) { - notification -> Void in - print("terminated") - NotificationCenter.default.removeObserver(obs2) - } - - task.launch() - task.waitUntilExit() - self.testedJH = true - } - - - @objc func checkDefaultJREPath() { - var isDir : ObjCBool = false; - let defaultJREPath = "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home" - if (FileManager.default.fileExists(atPath: defaultJREPath, isDirectory:&isDir) && isDir.boolValue) { - // Found it!! - self.javaHome = defaultJREPath - } - self.testedDfl = true - // No JRE here - } - - @objc func getEnvironmentVar(_ name: String) -> String? { - guard let rawValue = getenv(name) else { return nil } - return String(utf8String: rawValue) - } - - @objc func checkJavaEnvironmentVariable() { - let dic = ProcessInfo.processInfo.environment - if let javaHomeEnv = dic["JAVA_HOME"] { - // Maybe we got an JRE - print("Found JAVA_HOME with value:") - print(javaHomeEnv) - self.javaHome = javaHomeEnv - } - self.testedEnv = true - print("JAVA HOME is not set") - } - - -} diff --git a/launchers/macosx/I2PLauncher/routermgmt/NetworkUtil.swift b/launchers/macosx/I2PLauncher/routermgmt/NetworkUtil.swift deleted file mode 100644 index 0764b51130..0000000000 --- a/launchers/macosx/I2PLauncher/routermgmt/NetworkUtil.swift +++ /dev/null @@ -1,50 +0,0 @@ -// -// NetworkUtil.swift -// I2PLauncher -// -// Created by Mikal Villa on 07/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Foundation - -class NetworkUtil { - static func checkTcpPortForListen(host: String = "127.0.0.1", port: in_port_t = 7657) -> (Bool, descr: String){ - - let socketFileDescriptor = socket(AF_INET, SOCK_STREAM, 0) - if socketFileDescriptor == -1 { - return (false, "SocketCreationFailed, \(descriptionOfLastError())") - } - - var addr = sockaddr_in() - let sizeOfSockkAddr = MemoryLayout<sockaddr_in>.size - addr.sin_len = __uint8_t(sizeOfSockkAddr) - addr.sin_family = sa_family_t(AF_INET) - addr.sin_port = Int(OSHostByteOrder()) == OSLittleEndian ? _OSSwapInt16(port) : port - addr.sin_addr = in_addr(s_addr: inet_addr(host)) - addr.sin_zero = (0, 0, 0, 0, 0, 0, 0, 0) - var bind_addr = sockaddr() - memcpy(&bind_addr, &addr, Int(sizeOfSockkAddr)) - - if Darwin.bind(socketFileDescriptor, &bind_addr, socklen_t(sizeOfSockkAddr)) == -1 { - let details = descriptionOfLastError() - release(socket: socketFileDescriptor) - return (false, "\(port), BindFailed, \(details)") - } - if listen(socketFileDescriptor, SOMAXCONN ) == -1 { - let details = descriptionOfLastError() - release(socket: socketFileDescriptor) - return (false, "\(port), ListenFailed, \(details)") - } - release(socket: socketFileDescriptor) - return (true, "\(port) is free for use") - } - - static func release(socket: Int32) { - Darwin.shutdown(socket, SHUT_RDWR) - close(socket) - } - static func descriptionOfLastError() -> String { - return String(cString: UnsafePointer(strerror(errno))) - } -} diff --git a/launchers/macosx/I2PLauncher/routermgmt/RouterManager.swift b/launchers/macosx/I2PLauncher/routermgmt/RouterManager.swift deleted file mode 100644 index b490f86f10..0000000000 --- a/launchers/macosx/I2PLauncher/routermgmt/RouterManager.swift +++ /dev/null @@ -1,184 +0,0 @@ -// -// RouterManager.swift -// I2PLauncher -// -// Created by Mikal Villa on 22/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - - -enum ErrorsInRouterMgmr: Swift.Error { - case NoJavaFound - case InvalidVersion - case NotFound -} - -class RouterManager : NSObject { - - // MARK: - Properties - - static let packedVersion : String = NSDEF_I2P_VERSION - - let eventManager = EventManager() - let routerRunner = RouterRunner() - - var logViewStorage: NSTextStorage? - var lastRouterPid : String? = nil - private var canRouterStart : Bool = false - - private static func handleRouterException(information:Any?) { - Logger.MLog(level:1,"event! - handle router exception") - Logger.MLog(level:1,information as? String) - } - private static func handleRouterStart(information:Any?) { - Logger.MLog(level:1,"event! - handle router start") - RouterProcessStatus.routerStartedAt = Date() - RouterProcessStatus.isRouterChildProcess = true - RouterProcessStatus.isRouterRunning = true - } - private static func handleRouterAlreadyStarted(information:Any?) { - Logger.MLog(level:1,"event! - handle router already started"); - } - private static func handleRouterStop(information:Any?) { - Logger.MLog(level:1,"event! - handle router stop") - // TODO: Double check, check if pid stored exists - RouterProcessStatus.routerStartedAt = nil - RouterProcessStatus.isRouterChildProcess = false - RouterProcessStatus.isRouterRunning = false - } - private static func handleRouterPid(information:Any?) { - Logger.MLog(level:1,"".appendingFormat("event! - handle router pid: ", information as! String)) - if (information != nil) { - let intPid = Int(information as! String) - print("Router pid is \(String(describing: intPid))..") - } - } - private static func handleRouterVersion(information:Any?) { - do { - Logger.MLog(level:1, "".appendingFormat("event! - handle router version: ", information as! String)) - guard let currentVersion : String = information as? String else { - throw ErrorsInRouterMgmr.InvalidVersion - } - if (currentVersion == "Unknown") { - throw ErrorsInRouterMgmr.InvalidVersion - } - if (packedVersion.compare(currentVersion, options: .numeric) == .orderedDescending) { - Logger.MLog(level:1,"event! - router version: Packed version is newer, gonna re-deploy") - RouterManager.shared().eventManager.trigger(eventName: "router_must_upgrade", information: "got new version") - } else { - Logger.MLog(level:1,"event! - router version: No update needed") - RouterManager.shared().eventManager.trigger(eventName: "router_can_setup", information: "all ok") - } - } catch ErrorsInRouterMgmr.InvalidVersion { - // This is most likely due to an earlier extract got killed halfway or something - // Trigger an update - RouterManager.shared().eventManager.trigger(eventName: "router_must_upgrade", information: "invalid version found") - } catch { - // WTF - NSLog("Fatal error in RouterManager"); - print(error) - } - } - - private static var sharedRouterManager: RouterManager = { - let routerManager = RouterManager(detectJavaInstance: DetectJava.shared()) - - // Configuration - // ... - routerManager.updateState() - - routerManager.eventManager.listenTo(eventName: "router_start", action: handleRouterStart) - routerManager.eventManager.listenTo(eventName: "router_stop", action: handleRouterStop) - routerManager.eventManager.listenTo(eventName: "router_pid", action: handleRouterPid) - routerManager.eventManager.listenTo(eventName: "router_version", action: handleRouterVersion) - routerManager.eventManager.listenTo(eventName: "router_exception", action: handleRouterException) - routerManager.eventManager.listenTo(eventName: "router_already_running", action: handleRouterAlreadyStarted) - routerManager.eventManager.listenTo(eventName: "router_can_start", action: routerManager.setLauncherReadyToStartRouter) - routerManager.eventManager.listenTo(eventName: "router_can_setup", action: routerManager.routerRunner.SetupAgent) - - //routerManager.eventManager.listenTo(eventName: "launch_agent_running", action: routerManager.routerRunner.onLoadedAgent) - - routerManager.eventManager.listenTo(eventName: "launch_agent_running", action: { - let agent = RouterRunner.launchAgent! - let agentStatus = agent.status() - switch agentStatus { - case .running(let pid): - DispatchQueue.main.async { - routerManager.eventManager.trigger(eventName: "router_start", information: String(pid)) - routerManager.routerRunner.routerStatus.setRouterStatus(true) - routerManager.routerRunner.routerStatus.setRouterRanByUs(true) - routerManager.eventManager.trigger(eventName: "router_pid", information: String(pid)) - } - break - - default: - NSLog("wtf, agent status = \(agentStatus)") - break - } - }) - return routerManager - }() - - // MARK: - - - let detectJava: DetectJava - private var routerInstance: I2PRouterTask?{ - //Called after the change - didSet{ - print("RouterManager.routerInstance did change to ", self.routerInstance ?? "null") - if (self.routerInstance != nil) { - RouterProcessStatus.isRouterRunning = (self.routerInstance?.isRouterRunning)! - } - } - }; - - // Initialization - - private init(detectJavaInstance: DetectJava) { - self.detectJava = detectJavaInstance - } - - // MARK: - Accessors - - static func logInfo(format: String, messages: String...) { - //SBridge.sharedInstance().logMessageWithFormat(0, format, messages)func k(_ x: Int32, _ params: String...) { - /*withVaList(messages) { - genericLogger(x, $0) - }*/ - } - - class func shared() -> RouterManager { - return sharedRouterManager - } - - func setLauncherReadyToStartRouter(_ information: Any?) { - self.canRouterStart = true - if (Preferences.shared().startRouterOnLauncherStart) { - // Trigger the actual start at launch time - print("Start router on launch preference is enabled - Starting") - self.routerRunner.StartAgent(information) - } else { - print("Start router on launch preference is disabled - Router ready when user are!") - SBridge.sendUserNotification("I2P Router Ready", formattedMsg: "The I2P Router is ready to be launched, however the autostart is disabled and require user input to start.") - } - } - - func checkIfRouterCanStart() -> Bool { - return self.canRouterStart - } - - func setRouterTask(router: I2PRouterTask) { - self.routerInstance = router - } - - func getRouterTask() -> I2PRouterTask? { - return self.routerInstance - } - - func updateState() { - self.routerInstance = SBridge.sharedInstance()?.currentRouterInstance - } - -} diff --git a/launchers/macosx/I2PLauncher/routermgmt/RouterProcessStatus+ObjectiveC.swift b/launchers/macosx/I2PLauncher/routermgmt/RouterProcessStatus+ObjectiveC.swift deleted file mode 100644 index 8810883d5b..0000000000 --- a/launchers/macosx/I2PLauncher/routermgmt/RouterProcessStatus+ObjectiveC.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// RouterProcessStatus+ObjectiveC.swift -// I2PLauncher -// -// Created by Mikal Villa on 18/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - -extension RouterProcessStatus { - -} diff --git a/launchers/macosx/I2PLauncher/routermgmt/RouterProcessStatus.swift b/launchers/macosx/I2PLauncher/routermgmt/RouterProcessStatus.swift deleted file mode 100644 index 1516c097df..0000000000 --- a/launchers/macosx/I2PLauncher/routermgmt/RouterProcessStatus.swift +++ /dev/null @@ -1,58 +0,0 @@ -// -// RouterProcessStatus.swift -// I2PLauncher -// -// Created by Mikal Villa on 18/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation -import AppKit - -@objc class RouterProcessStatus : NSObject { - - /** - * - * Why the functions bellow? Because the Objective-C bridge is limited, it can't do Swift "static's" over it. - * - **/ - - @objc func setRouterStatus(_ isRunning: Bool = false) { - RouterProcessStatus.isRouterRunning = isRunning - } - - @objc func setRouterRanByUs(_ ranByUs: Bool = false) { - RouterProcessStatus.isRouterChildProcess = ranByUs - } - - @objc func getRouterIsRunning() -> Bool { - return RouterProcessStatus.isRouterRunning - } - - @objc func getJavaHome() -> String { - return DetectJava.shared().javaHome - } - - @objc func getJavaViaLibexec() -> Array<String> { - return DetectJava.shared().getJavaViaLibexecBin() - } - - @objc func triggerEvent(en: String, details: String? = nil) { - RouterManager.shared().eventManager.trigger(eventName: en, information: details) - } - - @objc func listenForEvent(eventName: String, callbackActionFn: @escaping ((Any?)->()) ) { - RouterManager.shared().eventManager.listenTo(eventName: eventName, action: callbackActionFn ) - } -} - -extension RouterProcessStatus { - static var isRouterRunning : Bool = (RouterManager.shared().getRouterTask() != nil) - static var isRouterChildProcess : Bool = (RouterManager.shared().getRouterTask() != nil) - static var routerVersion : String? = Optional.none - static var routerStartedAt : Date? = Optional.none - static var i2pDirectoryPath : String = Preferences.shared().i2pBaseDirectory - - -} - diff --git a/launchers/macosx/I2PLauncher/routermgmt/RouterRunner.swift b/launchers/macosx/I2PLauncher/routermgmt/RouterRunner.swift deleted file mode 100644 index b4e40e407e..0000000000 --- a/launchers/macosx/I2PLauncher/routermgmt/RouterRunner.swift +++ /dev/null @@ -1,216 +0,0 @@ -// -// RouterRunner.swift -// I2PLauncher -// -// Created by Mikal Villa on 18/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - -class RouterRunner: NSObject { - - - var daemonPath: String? - var arguments: String? - - static var launchAgent: LaunchAgent? - let routerStatus: RouterProcessStatus = RouterProcessStatus() - - var currentRunningProcess: Subprocess? - var currentProcessResults: ExecutionResult? - - let domainLabel = String(NSString(format: "%@.I2PRouter", APPDOMAIN)) - - let plistName = String(NSString(format: "%@.I2PRouter.plist", APPDOMAIN)) - - let appSupportPath = FileManager.default.urls(for: FileManager.SearchPathDirectory.applicationSupportDirectory, in: FileManager.SearchPathDomainMask.userDomainMask) - - override init() { - super.init() - } - - func SetupAgent() { - let agent = SetupAndReturnAgent() - RouterRunner.launchAgent = agent - } - - typealias Async = (_ success: () -> Void, _ failure: (NSError) -> Void) -> Void - - func retry(numberOfTimes: Int, _ sleepForS: UInt32, task: () -> Async, success: () -> Void, failure: (NSError) -> Void) { - task()(success, { error in - if numberOfTimes > 1 { - sleep(sleepForS) - retry(numberOfTimes: numberOfTimes - 1, sleepForS, task: task, success: success, failure: failure) - } else { - failure(error) - } - }) - } - - func SetupAndReturnAgent() -> LaunchAgent { - - let applicationsSupportPath: URL = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask).first! - - let defaultStartupFlags:[String] = [ - "-Djava.awt.headless=true", - "".appendingFormat("-Di2p.base.dir=%@", Preferences.shared().i2pBaseDirectory), - "".appendingFormat("-Dwrapper.logfile=%@/i2p/router.log", applicationsSupportPath.absoluteString), - "".appendingFormat("-Dwrapper.java.pidfile=%@/i2p/router.pid", applicationsSupportPath.absoluteString), - "-Dwrapper.logfile.loglevel=DEBUG", // TODO: Allow loglevel to be set from Preferences? - "-Dwrapper.console.loglevel=DEBUG", - "net.i2p.router.Router" - ] - - let javaCliArgs = Preferences.shared().javaCommandPath.splitByWhitespace() - - self.daemonPath = javaCliArgs[0] - self.arguments = defaultStartupFlags.joined(separator: " ") - - let basePath = Preferences.shared().i2pBaseDirectory - - let jars = try! FileManager.default.contentsOfDirectory(atPath: basePath+"/lib") - var classpath:String = "." - for jar in jars { - if (jar.hasSuffix(".jar")) { - classpath += ":"+basePath+"/lib/"+jar - } - } - - var cliArgs:[String] = [ - self.daemonPath!, - ] - cliArgs.append(contentsOf: javaCliArgs.dropFirst()) - cliArgs.append(contentsOf: [ - "-cp", - classpath, - ]) - // This allow java arguments to be passed from the settings - cliArgs.append(contentsOf: Preferences.shared().javaCommandOptions.splitByWhitespace()) - cliArgs.append(contentsOf: defaultStartupFlags) - let agent = LaunchAgent(label: self.domainLabel,program: cliArgs) - agent.launchOnlyOnce = false - agent.keepAlive = false - agent.workingDirectory = basePath - agent.userName = NSUserName() - agent.standardErrorPath = NSString(format: "%@/router.stderr.log", Preferences.shared().i2pLogDirectory) as String - agent.standardOutPath = NSString(format: "%@/router.stdout.log", Preferences.shared().i2pLogDirectory) as String - agent.environmentVariables = [ - "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin", - "I2PBASE": basePath, - ] - agent.disabled = false - agent.processType = ProcessType.adaptive - RouterRunner.launchAgent = agent - - // NOTE: I suspect this is better to solve in the application - agent.runAtLoad = false //Preferences.shared().startRouterOnLauncherStart - agent.keepAlive = true - DispatchQueue(label: "background_starter").async { - do { - // TODO: Find a better way than sleep - try LaunchAgentManager.shared.write(agent, called: self.plistName) - sleep(1) - try LaunchAgentManager.shared.load(agent) - sleep(1) - - let agentStatus = LaunchAgentManager.shared.status(agent) - switch agentStatus { - case .running: - break - case .loaded: - DispatchQueue.main.async { - RouterManager.shared().eventManager.trigger(eventName: "router_can_start", information: agent) - } - break - case .unloaded: - break - } - } catch { - DispatchQueue.main.async { - RouterManager.shared().eventManager.trigger(eventName: "router_setup_error", information: "\(error)") - } - } - } - return agent - } - - - func StartAgent(_ information:Any? = nil) { - if (RouterManager.shared().checkIfRouterCanStart()) { - let agent = RouterRunner.launchAgent ?? information as! LaunchAgent - DispatchQueue(label: "background_block").async { - LaunchAgentManager.shared.start(agent, { (proc) in - NSLog("Will call onLaunchdStarted") - }) - } - } else { - SBridge.sendUserNotification("Whops! Please wait", formattedMsg: "I'm sorry but it's still something unresolved before we can start the I2P router. Please wait.") - } - } - - func StopAgent(_ callback: @escaping () -> () = {}) { - let agentStatus = LaunchAgentManager.shared.status(RouterRunner.launchAgent!) - DispatchQueue(label: "background_block").async { - do { - switch agentStatus { - case .running: - // For now we need to use unload to stop it. - try LaunchAgentManager.shared.unload(RouterRunner.launchAgent!, { (proc) in - // Called when stop is actually executed - proc.waitUntilExit() - DispatchQueue.main.async { - RouterManager.shared().eventManager.trigger(eventName: "router_stop", information: "ok") - callback() - } - }) - try LaunchAgentManager.shared.load(RouterRunner.launchAgent!) - break - case .unloaded: - // Seems it sometimes get unloaded on stop, we load it again. - try! LaunchAgentManager.shared.load(RouterRunner.launchAgent!) - return - default: break - } - } catch { - NSLog("Error \(error)") - } - } - } - - func SetupLaunchd() { - do { - try LaunchAgentManager.shared.write(RouterRunner.launchAgent!, called: self.plistName) - try LaunchAgentManager.shared.load(RouterRunner.launchAgent!) - } catch { - RouterManager.shared().eventManager.trigger(eventName: "router_exception", information: error) - } - } - - func TeardownLaunchd() { - /*let status = LaunchAgentManager.shared.status(RouterRunner.launchAgent!) - switch status { - case .running:*/ - do { - // Unload no matter previous state! - try LaunchAgentManager.shared.unload(RouterRunner.launchAgent!) - - let plistPath = NSHomeDirectory()+"/Library/LaunchAgents/"+self.plistName - - sleep(1) - if FileManager.default.fileExists(atPath: plistPath) { - try FileManager.default.removeItem(atPath: plistPath) - } - } catch LaunchAgentManagerError.urlNotSet(label: self.domainLabel) { - Logger.MLog(level:3, "URL not set in launch agent") - } catch { - Logger.MLog(level:3, "".appendingFormat("Error in launch agent: %s", error as CVarArg)) - RouterManager.shared().eventManager.trigger(eventName: "router_exception", information: error) - } - /* break - default: break - } - */ - } - -} diff --git a/launchers/macosx/I2PLauncher/routermgmt/RouterServices/HttpTunnelService.swift b/launchers/macosx/I2PLauncher/routermgmt/RouterServices/HttpTunnelService.swift deleted file mode 100644 index f502c3dbae..0000000000 --- a/launchers/macosx/I2PLauncher/routermgmt/RouterServices/HttpTunnelService.swift +++ /dev/null @@ -1,42 +0,0 @@ -// -// HttpTunnelService.swift -// I2PLauncher -// -// Created by Mikal Villa on 03/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Foundation -import Kanna - -class HttpTunnelService : Service { - - let dataURL: URL = URL(string: "http://127.0.0.1:7657/i2ptunnel/")! - - override func updateStatus(callback: @escaping (BaseService) -> Void) { - URLSession.shared.dataTask(with: dataURL) { [weak self] data, _, error in - guard let strongSelf = self else { return } - defer { callback(strongSelf) } - - guard let doc = try? HTML(html: data!, encoding: .utf8) else { return /*strongSelf._fail("Couldn't parse response")*/ } - - _ = doc.css("table#clientTunnels > tr.tunnelProperties > td.tunnelStatus").first - let maxStatus: ServiceStatus = .started - strongSelf.status = maxStatus - - switch maxStatus { - case .waiting: - strongSelf.message = "Waiting on router" - case .started: - strongSelf.message = "Started" - case .stopped: - strongSelf.message = "Stopped" - case .undetermined: - strongSelf.message = "Undetermined" - default: - strongSelf.message = "Undetermined" /*downComponents.map { $0["name"] as? String }.compactMap { $0 }.joined(separator: ", ")*/ - } - }.resume() - } - -} diff --git a/launchers/macosx/I2PLauncher/routermgmt/RouterServices/I2PRouterService.swift b/launchers/macosx/I2PLauncher/routermgmt/RouterServices/I2PRouterService.swift deleted file mode 100644 index 50eb997d3f..0000000000 --- a/launchers/macosx/I2PLauncher/routermgmt/RouterServices/I2PRouterService.swift +++ /dev/null @@ -1,23 +0,0 @@ -// -// I2PRouterService.swift -// I2PLauncher -// -// Created by Mikal Villa on 03/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Foundation - -class I2PRouterService : Service { - - override func updateStatus(callback: @escaping (BaseService) -> Void) { - //guard let strongSelf = self else { return } - defer { callback(self) } - DispatchQueue.main.async { - self.status = ServiceStatus(rawValue: 0)! - self.message = "Dead" - } - - } - -} diff --git a/launchers/macosx/I2PLauncher/routermgmt/RouterServices/IrcTunnelService.swift b/launchers/macosx/I2PLauncher/routermgmt/RouterServices/IrcTunnelService.swift deleted file mode 100644 index e0dedc26e7..0000000000 --- a/launchers/macosx/I2PLauncher/routermgmt/RouterServices/IrcTunnelService.swift +++ /dev/null @@ -1,20 +0,0 @@ -// -// IrcTunnelService.swift -// I2PLauncher -// -// Created by Mikal Villa on 03/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Foundation - -class IrcTunnelService : Service { - - override func updateStatus(callback: @escaping (BaseService) -> Void) { - defer { callback(self) } - - self.status = ServiceStatus(rawValue: 0)! - self.message = "Dead" - } - -} diff --git a/launchers/macosx/I2PLauncher/routermgmt/Service.swift b/launchers/macosx/I2PLauncher/routermgmt/Service.swift deleted file mode 100644 index 89af6e83e9..0000000000 --- a/launchers/macosx/I2PLauncher/routermgmt/Service.swift +++ /dev/null @@ -1,132 +0,0 @@ -// -// Service.swift -// I2PLauncher -// -// Created by Mikal Villa on 12/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Foundation - -public enum ServiceStatus: Int, Comparable { - case undetermined - case waiting - case started - case notice - case killed - case crashed - case stopped - case restarting - - public static func < (lhs: ServiceStatus, rhs: ServiceStatus) -> Bool { - return lhs.rawValue < rhs.rawValue - } -} - -protocol ComparableStatus: Comparable { - var serviceStatus: ServiceStatus { get } -} - -extension ComparableStatus { - public static func < (lhs: Self, rhs: Self) -> Bool { - return lhs.serviceStatus < rhs.serviceStatus - } -} - -typealias Service = BaseService & RequiredServiceProperties - -protocol RequiredServiceProperties { - var name: String { get } - //var url: URL { get } -} - -extension RequiredServiceProperties { - // Default implementation of the property `name` is to return the class name - var name: String { return "\(type(of: self))" } -} - -public class BaseService { - public var status: ServiceStatus = .undetermined { - didSet { - if oldValue == .undetermined || status == .undetermined || oldValue == status { - self.shouldNotify = false - } else if Preferences.shared().notifyOnStatusChange { - self.shouldNotify = true - } - } - } - var message: String = "Loading…" - var shouldNotify = false - - public static func all() -> [BaseService] { - guard let servicesPlist = Bundle.main.path(forResource: "RouterServices", ofType: "plist"), - let services = NSDictionary(contentsOfFile: servicesPlist)?["services"] as? [String] else { - fatalError("The RouterServices.plist file does not exist. The build phase script might have failed.") - } - - return services.map(BaseService.named).compactMap { $0 } - } - - static func named(_ name: String) -> BaseService? { - return (NSClassFromString("I2PLauncher.\(name)") as? Service.Type)?.init() - } - - public required init() {} - - public func updateStatus(callback: @escaping (BaseService) -> Void) {} - - func _fail(_ error: Error?) { - self.status = .undetermined - self.message = error.debugDescription// ?? "Unexpected error" - } - - func _fail(_ message: String) { - self.status = .undetermined - self.message = message - } - - func notifyIfNecessary() { - guard let realSelf = self as? Service else { fatalError("BaseService should not be used directly.") } - - guard shouldNotify else { return } - - self.shouldNotify = false - - let notification = NSUserNotification() - let possessiveS = realSelf.name.hasSuffix("s") ? "'" : "'s" - notification.title = "\(realSelf.name)\(possessiveS) status has changed" - notification.informativeText = message - - NSUserNotificationCenter.default.deliver(notification) - } -} - -extension BaseService: Equatable { - public static func == (lhs: BaseService, rhs: BaseService) -> Bool { - guard - let lhs = lhs as? Service, - let rhs = rhs as? Service - else { - fatalError("BaseService should not be used directly.") - } - - return lhs.name == rhs.name - } -} - -extension BaseService: Comparable { - public static func < (lhs: BaseService, rhs: BaseService) -> Bool { - guard - let lhs = lhs as? Service, - let rhs = rhs as? Service - else { - fatalError("BaseService should not be used directly.") - } - - let sameStatus = lhs.status == rhs.status - let differentStatus = - lhs.status != .started && lhs.status != .notice - && rhs.status == .started || rhs.status == .notice - return ((lhs.name < rhs.name) && sameStatus) || differentStatus - } -} diff --git a/launchers/macosx/I2PLauncher/routermgmt/launchd/LaunchAgent+Status.swift b/launchers/macosx/I2PLauncher/routermgmt/launchd/LaunchAgent+Status.swift deleted file mode 100644 index 8e1a19245d..0000000000 --- a/launchers/macosx/I2PLauncher/routermgmt/launchd/LaunchAgent+Status.swift +++ /dev/null @@ -1,69 +0,0 @@ -// -// LaunchAgent+Status.swift -// I2PLauncher -// -// Created by Mikal Villa on 05/10/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - -public enum AgentStatus: Equatable { - - case running(pid: Int) - case loaded - case unloaded - - public static func ==(lhs: AgentStatus, rhs: AgentStatus) -> Bool { - switch (lhs, rhs) { - case ( let .running(lhpid), let .running(rhpid) ): - return lhpid == rhpid - case (.loaded, .loaded): - return true - case (.unloaded, .unloaded): - return true - default: - return false - } - } - -} - -extension LaunchAgent { - - /// Run `launchctl start` on the agent - /// - /// Check the status of the job with `.status()` - public func start(_ callback: ((Process) -> Void)? = nil ) { - LaunchAgentManager.shared.start(self, callback) - } - - /// Run `launchctl stop` on the agent - /// - /// Check the status of the job with `.status()` - public func stop(_ callback: ((Process) -> Void)? = nil ) { - LaunchAgentManager.shared.stop(self, callback) - } - - /// Run `launchctl load` on the agent - /// - /// Check the status of the job with `.status()` - public func load() throws { - try LaunchAgentManager.shared.load(self) - } - - /// Run `launchctl unload` on the agent - /// - /// Check the status of the job with `.status()` - public func unload() throws { - try LaunchAgentManager.shared.unload(self) - } - - /// Retreives the status of the LaunchAgent from `launchctl` - /// - /// - Returns: the agent's status - public func status() -> AgentStatus { - return LaunchAgentManager.shared.status(self) - } - -} diff --git a/launchers/macosx/I2PLauncher/routermgmt/launchd/LaunchAgent.swift b/launchers/macosx/I2PLauncher/routermgmt/launchd/LaunchAgent.swift deleted file mode 100644 index 8428a93a6f..0000000000 --- a/launchers/macosx/I2PLauncher/routermgmt/launchd/LaunchAgent.swift +++ /dev/null @@ -1,124 +0,0 @@ -// -// LaunchAgent.swift -// I2PLauncher -// -// Created by Mikal Villa on 05/10/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - -public enum ProcessType: String, Codable { - case standard = "Standard" - case background = "Background" - case adaptive = "Adaptive" - case interactive = "Interactive" -} - -public class LaunchAgent: Codable { - - public var url: URL? = nil - - // Basic Properties - public var label: String - public var disabled: Bool? = nil - public var enableGlobbing: Bool? = nil - public var program: String? = nil { - didSet { - if program != nil { - programArguments = nil - } - } - } - - public var programArguments: [String]? = nil { - didSet { - guard let args = programArguments else { - return - } - if args.count == 1 { - self.program = args.first - programArguments = nil - } else { - program = nil - } - } - } - - public var processType: ProcessType? = nil - - // Program - public var workingDirectory: String? = nil - public var standardOutPath: String? = nil - public var standardErrorPath: String? = nil - public var environmentVariables: [String: String]? = nil - - // Run Conditions - public var runAtLoad: Bool? = nil - public var startInterval: Int? = nil - public var onDemand: Bool? = nil - public var keepAlive: Bool? = nil - public var watchPaths: [String]? = nil - - // Security - public var umask: Int? = nil - // System Daemon Security - public var groupName: String? = nil - public var userName: String? = nil - public var rootDirectory: String? = nil - - - // Run Constriants - public var launchOnlyOnce: Bool? = nil - public var limitLoadToSessionType: [String]? = nil - - public init(label: String, program: [String]) { - self.label = label - if program.count == 1 { - self.program = program.first - } else { - self.programArguments = program - } - - } - - public convenience init(label: String, program: String...) { - self.init(label: label, program: program) - } - - public enum CodingKeys: String, CodingKey { - case label = "Label" - case disabled = "Disabled" - case program = "Program" - case programArguments = "ProgramArguments" - - // Program - case workingDirectory = "WorkingDirectory" - case standardOutPath = "StandardOutPath" - case standardErrorPath = "StandardErrorPath" - case environmentVariables = "EnvironmentVariables" - - // Run Conditions - case runAtLoad = "RunAtLoad" - case startInterval = "StartInterval" - case onDemand = "OnDemand" - case keepAlive = "KeepAlive" - case watchPaths = "WatchPaths" - - // Security - case umask = "Umask" - case groupName = "GroupName" - case userName = "UserName" - case rootDirectory = "RootDirectory" - - // Run Constriants - case launchOnlyOnce = "LaunchOnlyOnce" - case limitLoadToSessionType = "LimitLoadToSessionType" - - // Process type - case processType = "ProcessType" - - } - - -} diff --git a/launchers/macosx/I2PLauncher/routermgmt/launchd/LaunchAgentManager.swift b/launchers/macosx/I2PLauncher/routermgmt/launchd/LaunchAgentManager.swift deleted file mode 100644 index b9c26c78f8..0000000000 --- a/launchers/macosx/I2PLauncher/routermgmt/launchd/LaunchAgentManager.swift +++ /dev/null @@ -1,203 +0,0 @@ -// -// LaunchAgentManager.swift -// I2PLauncher -// -// Created by Mikal Villa on 07/10/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - - -public enum LaunchAgentManagerError: Swift.Error { - case urlNotSet(label: String) - - public var localizedDescription: String { - switch self { - case .urlNotSet(let label): - return "The URL is not set for agent \(label)" - } - } -} - -public class LaunchAgentManager { - public static let shared = LaunchAgentManager() - - static let launchctl = "/bin/launchctl" - - var lastState: AgentStatus? - - let encoder = PropertyListEncoder() - let decoder = PropertyListDecoder() - - init() { - encoder.outputFormat = .xml - } - - func launchAgentsURL() throws -> URL { - let library = try FileManager.default.url(for: .libraryDirectory, in: .userDomainMask, appropriateFor: nil, create: false) - - return library.appendingPathComponent("LaunchAgents") - } - - public func read(agent called: String) throws -> LaunchAgent { - let url = try launchAgentsURL().appendingPathComponent(called) - - return try read(from: url) - } - - public func read(from url: URL) throws -> LaunchAgent { - return try decoder.decode(LaunchAgent.self, from: Data(contentsOf: url)) - } - - public func write(_ agent: LaunchAgent, called: String) throws { - let url = try launchAgentsURL().appendingPathComponent(called) - - try write(agent, to: url) - } - - public func write(_ agent: LaunchAgent, to url: URL) throws { - try encoder.encode(agent).write(to: url) - - agent.url = url - } - - public func setURL(for agent: LaunchAgent) throws { - let contents = try FileManager.default.contentsOfDirectory( - at: try launchAgentsURL(), - includingPropertiesForKeys: nil, - options: [.skipsPackageDescendants, .skipsHiddenFiles, .skipsSubdirectoryDescendants] - ) - - contents.forEach { url in - let testAgent = try? self.read(from: url) - - if agent.label == testAgent?.label { - agent.url = url - return - } - } - - - } - -} - -extension LaunchAgentManager { - - /// Run `launchctl start` on the agent - /// - /// Check the status of the job with `.status(_: LaunchAgent)` - public func start(_ agent: LaunchAgent, _ termHandler: ((Process) -> Void)? = nil ) { - let arguments = ["start", agent.label] - let proc = Process.launchedProcess(launchPath: LaunchAgentManager.launchctl, arguments: arguments) - if ((termHandler) != nil) { - proc.terminationHandler = termHandler - } - } - - /// Run `launchctl stop` on the agent - /// - /// Check the status of the job with `.status(_: LaunchAgent)` - public func stop(_ agent: LaunchAgent, _ termHandler: ((Process) -> Void)? = nil ) { - let arguments = ["stop", agent.label] - let proc = Process.launchedProcess(launchPath: LaunchAgentManager.launchctl, arguments: arguments) - if ((termHandler) != nil) { - proc.terminationHandler = termHandler - } - } - - /// Run `launchctl load` on the agent - /// - /// Check the status of the job with `.status(_: LaunchAgent)` - public func load(_ agent: LaunchAgent, _ termHandler: ((Process) -> Void)? = nil ) throws { - guard let agentURL = agent.url else { - throw LaunchAgentManagerError.urlNotSet(label: agent.label) - } - - let arguments = ["load", agentURL.path] - let proc = Process.launchedProcess(launchPath: LaunchAgentManager.launchctl, arguments: arguments) - if ((termHandler) != nil) { - proc.terminationHandler = termHandler - } - } - - /// Run `launchctl unload` on the agent - /// - /// Check the status of the job with `.status(_: LaunchAgent)` - public func unload(_ agent: LaunchAgent, _ termHandler: ((Process) -> Void)? = nil ) throws { - guard let agentURL = agent.url else { - throw LaunchAgentManagerError.urlNotSet(label: agent.label) - } - - let arguments = ["unload", agentURL.path] - let proc = Process.launchedProcess(launchPath: LaunchAgentManager.launchctl, arguments: arguments) - if ((termHandler) != nil) { - proc.terminationHandler = termHandler - } - } - - /// Retreives the status of the LaunchAgent from `launchctl` - /// - /// - Returns: the agent's status - public func status(_ agent: LaunchAgent) -> AgentStatus { - - let launchctlTask = Process() - let grepTask = Process() - let cutTask = Process() - - launchctlTask.launchPath = "/bin/launchctl" - launchctlTask.arguments = ["list"] - - grepTask.launchPath = "/usr/bin/grep" - grepTask.arguments = [agent.label] - - cutTask.launchPath = "/usr/bin/cut" - cutTask.arguments = ["-f1"] - - let pipeLaunchCtlToGrep = Pipe() - launchctlTask.standardOutput = pipeLaunchCtlToGrep - grepTask.standardInput = pipeLaunchCtlToGrep - - let pipeGrepToCut = Pipe() - grepTask.standardOutput = pipeGrepToCut - cutTask.standardInput = pipeGrepToCut - - let pipeCutToFile = Pipe() - cutTask.standardOutput = pipeCutToFile - - let fileHandle: FileHandle = pipeCutToFile.fileHandleForReading as FileHandle - - launchctlTask.launch() - grepTask.launch() - cutTask.launch() - - - let data = fileHandle.readDataToEndOfFile() - let stringResult = String(data: data, encoding: .utf8)?.trimmingCharacters(in: .newlines) ?? "" - - let em = RouterManager.shared().eventManager - - switch stringResult { - case "-": - if (self.lastState != AgentStatus.loaded) { - self.lastState = AgentStatus.loaded - em.trigger(eventName: "launch_agent_loaded") - } - - return .loaded - case "": - if (self.lastState != AgentStatus.unloaded) { - self.lastState = AgentStatus.unloaded - em.trigger(eventName: "launch_agent_unloaded") - } - return .unloaded - default: - if (self.lastState != AgentStatus.running(pid: Int(stringResult)!)) { - self.lastState = AgentStatus.running(pid: Int(stringResult)!) - em.trigger(eventName: "launch_agent_running") - } - return .running(pid: Int(stringResult)!) - } - } -} diff --git a/launchers/macosx/I2PLauncher/subprocesses/AppleStuffExceptionHandler.h b/launchers/macosx/I2PLauncher/subprocesses/AppleStuffExceptionHandler.h deleted file mode 100644 index fc9fd98770..0000000000 --- a/launchers/macosx/I2PLauncher/subprocesses/AppleStuffExceptionHandler.h +++ /dev/null @@ -1,12 +0,0 @@ -// -// AppleStuffExceptionHandler.h -// I2PLauncher -// -// Created by Mikal Villa on 17/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -#import <Foundation/Foundation.h> - -extern NSException* __nullable AppleStuffExecuteWithPossibleExceptionInBlock(dispatch_block_t _Nonnull block); - diff --git a/launchers/macosx/I2PLauncher/subprocesses/AppleStuffExceptionHandler.m b/launchers/macosx/I2PLauncher/subprocesses/AppleStuffExceptionHandler.m deleted file mode 100644 index 951a38355b..0000000000 --- a/launchers/macosx/I2PLauncher/subprocesses/AppleStuffExceptionHandler.m +++ /dev/null @@ -1,22 +0,0 @@ -// -// AppleStuffExceptionHandler.m -// I2PLauncher -// -// Created by Mikal Villa on 17/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -#import "AppleStuffExceptionHandler.h" - -NSException* __nullable AppleStuffExecuteWithPossibleExceptionInBlock(dispatch_block_t _Nonnull block) { - - @try { - if (block != nil) { - block(); - } - } - @catch (NSException *exception) { - return exception; - } - return nil; -} diff --git a/launchers/macosx/I2PLauncher/subprocesses/Error.swift b/launchers/macosx/I2PLauncher/subprocesses/Error.swift deleted file mode 100644 index cc3cfe02a0..0000000000 --- a/launchers/macosx/I2PLauncher/subprocesses/Error.swift +++ /dev/null @@ -1,22 +0,0 @@ -// -// Error.swift -// I2PLauncher -// -// Created by Mikal Villa on 17/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - -public class Error { - - /// Prints to console the arguments and exits with status 1 - static func die(arguments: Any...) -> Never { - let output = "ERROR: " + arguments.reduce("") { $0 + "\($1) " } - let trimOutput = output.trimmingCharacters(in: CharacterSet.whitespaces) + "\n" - let stderr = FileHandle.standardError - stderr.write(trimOutput.data(using: String.Encoding.utf8)!) - exit(1) - } -} - diff --git a/launchers/macosx/I2PLauncher/subprocesses/ExecutionResult.swift b/launchers/macosx/I2PLauncher/subprocesses/ExecutionResult.swift deleted file mode 100644 index f482bfd206..0000000000 --- a/launchers/macosx/I2PLauncher/subprocesses/ExecutionResult.swift +++ /dev/null @@ -1,63 +0,0 @@ -// -// ExecutionResult.swift -// I2PLauncher -// -// Created by Mikal Villa on 17/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - -public struct ExecutionResult { - - /// Whether the output was captured - public let didCaptureOutput : Bool - - /// The return status of the last subprocess - public var status: Int32 { - return pipelineStatuses.last! - } - - /// Return status of all subprocesses in the pipeline - public let pipelineStatuses : [Int32] - - /// The output of the subprocess. Empty string if no output was produced or not captured - public let output: String - - /// The error output of the last subprocess. Empty string if no error output was produced or not captured - public var errors : String { - return pipelineErrors?.last ?? "" - } - - /// The error output of all subprocesses in the pipeline. Empty string if no error output was produced or not captured - public let pipelineErrors : [String]? - - /// The output, split by newline - /// - SeeAlso: `output` - public var outputLines : [String] { - return self.output.splitByNewline() - } - - /// The error output, split by newline - /// - SeeAlso: `output` - public var errorsLines : [String] { - return self.errors.splitByNewline() - } - - /// An execution result where no output was captured - init(pipelineStatuses: [Int32]) { - self.pipelineStatuses = pipelineStatuses - self.didCaptureOutput = false - self.pipelineErrors = nil - self.output = "" - } - - /// An execution result where output was captured - init(pipelineStatuses: [Int32], pipelineErrors : [String], output : String) { - self.pipelineStatuses = pipelineStatuses - self.pipelineErrors = pipelineErrors - self.output = output - self.didCaptureOutput = true - } -} - diff --git a/launchers/macosx/I2PLauncher/subprocesses/Subprocess+CompactAPI.swift b/launchers/macosx/I2PLauncher/subprocesses/Subprocess+CompactAPI.swift deleted file mode 100644 index cb472e0c30..0000000000 --- a/launchers/macosx/I2PLauncher/subprocesses/Subprocess+CompactAPI.swift +++ /dev/null @@ -1,118 +0,0 @@ -// -// Subprocess+CompactAPI.swift -// I2PLauncher -// -// Created by Mikal Villa on 17/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - - -// MARK: - Compact API -extension Subprocess { - - /** - Executes a subprocess and wait for completion, returning the output. If there is an error in creating the task, - it immediately exits the process with status 1 - - returns: the output as a String - - note: in case there is any error in executing the process or creating the task, it will halt execution. Use - the constructor and `output` instance method for a more graceful error handling - */ - public static func output( - executablePath: String, - _ arguments: String..., - workingDirectory: String = ".") -> String { - - let process = Subprocess.init(executablePath: executablePath, arguments: arguments, workingDirectory: workingDirectory) - guard let result = process.execute(captureOutput: true) else { - Error.die(arguments: "Can't execute \"\(process)\"") - } - if result.status != 0 { - let errorLines = result.errors == "" ? "" : "\n" + result.errors - Error.die(arguments: "Process \"\(process)\" returned status \(result.status)", errorLines) - } - return result.output - } - - /** - Executes a subprocess and wait for completion, returning the execution result. If there is an error in creating the task, - it immediately exits the process with status 1 - - returns: the execution result - - note: in case there is any error in executing the process or creating the task, it will halt execution. Use - the constructor and `execute` instance method for a more graceful error handling - */ - public static func execute( - executablePath: String, - _ arguments: String..., - workingDirectory: String = ".") -> ExecutionResult { - - let process = Subprocess.init(executablePath: executablePath, arguments: arguments, workingDirectory: workingDirectory) - guard let result = process.execute(captureOutput: true) else { - Error.die(arguments: "Can't execute \"\(process)\"") - } - return result - } - - /** - Executes a subprocess and wait for completion, returning the output as an array of lines. If there is an error - in creating or executing the task, it immediately exits the process with status 1 - - returns: the output as a String - - note: in case there is any error in executing the process or creating the task, it will halt execution. Use - the constructor and `output` instance method for a more graceful error handling - */ - public static func outputLines( - executablePath: String, - _ arguments: String..., - workingDirectory: String = ".") -> [String] { - - let process = Subprocess.init(executablePath: executablePath, arguments: arguments, workingDirectory: workingDirectory) - guard let result = process.execute(captureOutput: true) else { - Error.die(arguments: "Can't execute \"\(process)\"") - } - if result.status != 0 { - let errorLines = result.errors == "" ? "" : "\n" + result.errors - Error.die(arguments: "Process \"\(process)\" returned status \(result.status)", errorLines) - } - return result.outputLines - } - - /** - Executes a subprocess and wait for completion, returning the exit status. If there is an error in creating the task, - it immediately exits the process with status 1 - - returns: the output as a String - - note: in case there is any error in launching the process or creating the task, it will halt execution. Use - the constructor and the `run` instance method for a more graceful error handling - */ - public static func run( - executablePath: String, - _ arguments: String..., - workingDirectory: String = ".") -> Int32 { - - let process = Subprocess.init(executablePath: executablePath, arguments: arguments, workingDirectory: workingDirectory) - guard let result = process.run() else { - Error.die(arguments: "Can't execute \"\(process)\"") - } - return result - } - - /** - Executes a subprocess and wait for completion. If there is an error in creating the task, or if the tasks - returns an exit status other than 0, it immediately exits the process with status 1 - - note: in case there is any error in launching the process or creating the task, or if the task exists with a exit status other than 0, it will halt execution. Use - the constructor and `run` instance method for a more graceful error handling - */ - public static func runOrDie( - executablePath: String, - _ arguments: String..., - workingDirectory: String = ".") { - - let process = Subprocess.init(executablePath: executablePath, arguments: arguments, workingDirectory: workingDirectory) - guard let result = process.run() else { - Error.die(arguments: "Can't execute \"\(process)\"") - } - if result != 0 { - Error.die(arguments: "Process \"\(process)\" returned status \(result)") - } - } -} diff --git a/launchers/macosx/I2PLauncher/subprocesses/Subprocess.swift b/launchers/macosx/I2PLauncher/subprocesses/Subprocess.swift deleted file mode 100644 index 2b83e747a2..0000000000 --- a/launchers/macosx/I2PLauncher/subprocesses/Subprocess.swift +++ /dev/null @@ -1,159 +0,0 @@ -// -// Subprocess.swift -// I2PLauncher -// -// Created by Mikal Villa on 17/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - - -public class Subprocess { - /// The path to the executable - let executablePath : String - - /// Arguments to pass to the executable - let arguments : [String] - - /// Working directory for the executable - let workingDirectory : String - - /// Process to pipe to, if any - let pipeDestination : Subprocess? - - public convenience init( - executablePath: String, - arguments: [String] = [], - workingDirectory: String = "." - ) { - self.init(executablePath: executablePath, - arguments: arguments, - workingDirectory: workingDirectory, - pipeTo: nil) - } - - public init( - executablePath: String, - arguments: [String] = [], - workingDirectory: String = ".", - pipeTo: Subprocess? - ) { - self.executablePath = executablePath - self.arguments = arguments - self.workingDirectory = workingDirectory - self.pipeDestination = pipeTo - } - - /** - Returns a subprocess ready to be executed - - SeeAlso: init(executablePath:arguments:workingDirectory) - */ - public convenience init( - _ executablePath: String, - _ arguments: String..., - workingDirectory: String = ".") { - self.init(executablePath: executablePath, arguments: arguments, workingDirectory: workingDirectory, pipeTo: nil) - } -} - -// Public API -extension Subprocess { - - /** - Executes the subprocess and wait for completition, returning the exit status - - returns: the termination status, or nil if it was not possible to execute the process - */ - public func run() -> Int32? { - return self.execute(captureOutput: false)?.status - } - - /** - Executes the subprocess and wait for completion, returning the output - - returns: the output of the process, or nil if it was not possible to execute the process - - warning: the entire output will be stored in a String in memory - */ - public func output() -> String? { - return self.execute(captureOutput: true)?.output - } - - /** - Executes the subprocess and wait for completition, returning the exit status - - returns: the execution result, or nil if it was not possible to execute the process - */ - public func execute(captureOutput: Bool = false) -> ExecutionResult? { - return buildPipeline(captureOutput: captureOutput).run() - } -} - -// Piping of STDIN, STDERR and STDOUT -extension Subprocess { - - /// Pipes the output to this process to another process. - /// Will return a new subprocess, you should execute that subprocess to - /// run the entire pipe - public func pipe(to destination: Subprocess) -> Subprocess { - let downstreamProcess : Subprocess - if let existingPipe = self.pipeDestination { - downstreamProcess = existingPipe.pipe(to: destination) - } else { - downstreamProcess = destination - } - return Subprocess(executablePath: self.executablePath, arguments: self.arguments, workingDirectory: self.workingDirectory, pipeTo: downstreamProcess) - } -} - -public func | (lhs: Subprocess, rhs: Subprocess) -> Subprocess { - return lhs.pipe(to: rhs) -} - -public func | (lhs: String, rhs: String) -> String { - return "(\(lhs)\(rhs))" -} - -// MARK: - Process execution -public enum SubprocessError : LocalizedError { - case Error(status: Int, message: String) -} - -extension Subprocess { - - /// Returns the task to execute - private func task() -> Process { - let task = Process() - task.launchPath = self.executablePath - task.arguments = self.arguments - task.currentDirectoryPath = self.workingDirectory - return task - } - - /// Returns the task pipeline for all the downstream processes - public func buildPipeline(captureOutput: Bool, input: AnyObject? = nil) -> TaskPipeline { - let task = self.task() - - if let inPipe = input { - task.standardInput = inPipe - } - - if let downstreamProcess = self.pipeDestination { - let downstreamPipeline = downstreamProcess.buildPipeline(captureOutput: captureOutput, input: task.standardOutput as AnyObject) - return downstreamPipeline.addToHead(task: task) - } - return TaskPipeline(task: task, captureOutput: captureOutput) - } -} - -// Description for pretty print etc. -extension Subprocess : CustomStringConvertible { - - public var description : String { - return self.executablePath - + (self.arguments.count > 0 - ? " " + self.arguments - .map { $0.replace(target: "\\ ", withString: " ") } - .joined(separator: " ") - : "" - ) - + (self.pipeDestination != nil ? " | " + self.pipeDestination!.description : "" ) - } -} diff --git a/launchers/macosx/I2PLauncher/subprocesses/TaskPipeline.swift b/launchers/macosx/I2PLauncher/subprocesses/TaskPipeline.swift deleted file mode 100644 index 2021692069..0000000000 --- a/launchers/macosx/I2PLauncher/subprocesses/TaskPipeline.swift +++ /dev/null @@ -1,113 +0,0 @@ -// -// TaskPipeline.swift -// I2PLauncher -// -// Created by Mikal Villa on 17/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation - - -// Extend the stdlib with the extension bellow -extension Process { - /// Launches a task, captures any objective-c exception and relaunches it as Swift error - public func launchCapturingExceptions() throws { - if let exception = AppleStuffExecuteWithPossibleExceptionInBlock({ - self.launch() - }) { - let reason = exception.reason ?? "unknown error" - throw SubprocessError.Error(status: -1, message: reason) - } - } -} - -/// A pipeline of tasks, connected in a cascade pattern with pipes -public struct TaskPipeline { - - /// List of tasks in the pipeline - let tasks: [Process] - - /// Output pipe - let outputPipe: Pipe? - - /// Whether the pipeline should capture output to stdErr and stdOut - let captureOutput : Bool - - /// Adds a task to the head of the pipeline, that is, the task will provide the input - /// for the first task currently on the head of the pipeline - func addToHead(task: Process) -> TaskPipeline { - guard let firstTask = tasks.first else { - fatalError("Expecting at least one task") - } - let inoutPipe = Pipe() - firstTask.standardInput = inoutPipe - task.standardOutput = inoutPipe - - var errorPipe : Pipe? - if self.captureOutput { - errorPipe = Pipe() - task.standardError = errorPipe - } - return TaskPipeline(tasks: [task] + self.tasks, outputPipe: self.outputPipe, captureOutput: self.captureOutput) - } - - /// Start all tasks in the pipeline, then wait for them to complete - /// - returns: the return status of the last process in the pipe, or nil if there was an error - func run() -> ExecutionResult? { - - let runTasks = launchAndReturnNotFailedTasks() - if runTasks.count != self.tasks.count { - // dropped a task? it's because it failed to start, so error - return nil - } - runTasks.forEach { $0.waitUntilExit() } - - // exit status - let exitStatuses = runTasks.map { $0.terminationStatus } - guard captureOutput else { - return ExecutionResult(pipelineStatuses: exitStatuses) - } - - // output - let errorOutput = runTasks.map { task -> String in - guard let errorPipe = task.standardError as? Pipe else { return "" } - let readData = errorPipe.fileHandleForReading.readDataToEndOfFile() - return String(data: readData, encoding: String.Encoding.utf8)! - } - let output = String(data: self.outputPipe!.fileHandleForReading.readDataToEndOfFile(), encoding: String.Encoding.utf8)! - return ExecutionResult(pipelineStatuses: exitStatuses, pipelineErrors: errorOutput, output: output) - } - - /// Run all tasks and return the tasks that did not fail to launch - private func launchAndReturnNotFailedTasks() -> [Process] { - return self.tasks.compactMap { task -> Process? in - do { - try task.launchCapturingExceptions() - return task - } catch { - return nil - } - } - } - - init(task: Process, captureOutput: Bool) { - self.tasks = [task] - self.captureOutput = captureOutput - if captureOutput { - self.outputPipe = Pipe() - task.standardOutput = self.outputPipe - let errorPipe = Pipe() - task.standardError = errorPipe - } else { - self.outputPipe = nil - } - } - - private init(tasks: [Process], outputPipe: Pipe?, captureOutput: Bool) { - self.tasks = tasks - self.outputPipe = outputPipe - self.captureOutput = captureOutput - } -} - diff --git a/launchers/macosx/I2PLauncher/userinterface/DownloadJavaViewController.swift b/launchers/macosx/I2PLauncher/userinterface/DownloadJavaViewController.swift deleted file mode 100644 index 43e6c8a673..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/DownloadJavaViewController.swift +++ /dev/null @@ -1,34 +0,0 @@ -// -// DownloadJavaViewController.swift -// I2PLauncher -// -// Created by Mikal Villa on 30/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import AppKit - -class DownloadJavaViewController: NSViewController { - - func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, - didFinishDownloadingTo location: URL) { - guard let httpResponse = downloadTask.response as? HTTPURLResponse, - (200...299).contains(httpResponse.statusCode) else { - print ("server error") - return - } - do { - let documentsURL = try - FileManager.default.url(for: .documentDirectory, - in: .userDomainMask, - appropriateFor: nil, - create: false) - let savedURL = documentsURL.appendingPathComponent( - location.lastPathComponent) - try FileManager.default.moveItem(at: location, to: savedURL) - } catch { - print ("file error: \(error)") - } - } - -} diff --git a/launchers/macosx/I2PLauncher/userinterface/LogViewController.swift b/launchers/macosx/I2PLauncher/userinterface/LogViewController.swift deleted file mode 100644 index 0b62b2f04e..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/LogViewController.swift +++ /dev/null @@ -1,62 +0,0 @@ -// -// LogViewController.swift -// I2PLauncher -// -// Created by Mikal Villa on 18/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Foundation -import AppKit - -class LogViewerViewController : NSTabViewItem { - - @IBOutlet var scrollView: NSScrollView? - @IBOutlet var textFieldView: NSTextView? - - private var outputPipe : Pipe? - - override init(identifier: Any?) { - super.init(identifier: identifier) - self.captureStandardOutputAndRouteToTextView() - } - - required init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - self.captureStandardOutputAndRouteToTextView() - } - - - func captureStandardOutputAndRouteToTextView() { - outputPipe = RouterManager.shared().getRouterTask()?.processPipe - outputPipe?.fileHandleForReading.waitForDataInBackgroundAndNotify() - - NotificationCenter.default.addObserver(forName: NSNotification.Name.NSFileHandleDataAvailable, object: outputPipe?.fileHandleForReading , queue: nil) { - notification in - - let output = self.outputPipe?.fileHandleForReading.availableData - let outputString = String(data: output!, encoding: String.Encoding.utf8) ?? "" - let workTask = DispatchWorkItem { - let previousOutput = self.textFieldView?.string ?? "" - let nextOutput = previousOutput + "\n" + outputString - self.textFieldView?.string = nextOutput - - let range = NSRange(location:nextOutput.count,length:0) - self.textFieldView?.scrollRangeToVisible(range) - } - DispatchQueue.main.async(execute: workTask) - - // When router stop, stop the stream as well. If not it will go wild and create high cpu load - RouterManager.shared().eventManager.listenTo(eventName: "router_stop", action: { - NSLog("Time to cancel stream!") - workTask.cancel() - }) - - - self.outputPipe?.fileHandleForReading.waitForDataInBackgroundAndNotify() - } - - } -} - - diff --git a/launchers/macosx/I2PLauncher/userinterface/PopoverViewController.swift b/launchers/macosx/I2PLauncher/userinterface/PopoverViewController.swift deleted file mode 100644 index fa79938e1f..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/PopoverViewController.swift +++ /dev/null @@ -1,47 +0,0 @@ -// -// PopoverViewController.swift -// I2PLauncher -// -// Created by Mikal Villa on 18/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Cocoa - -class PopoverViewController: NSViewController { - - @IBOutlet var routerStatusViewOutlet: RouterStatusView? - - func getRouterStatusView() -> RouterStatusView? { - return self.routerStatusViewOutlet - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - @IBAction func onPreferencesClick(_ sender: Any) { - StatusBarController.launchPreferences(sender) - } - - override func viewDidLoad() { - super.viewDidLoad() - // Do view setup here. - } -} - - -extension PopoverViewController { - static func freshController() -> PopoverViewController { - let storyboard = NSStoryboard(name: "Storyboard", bundle: Bundle.main) - //2. - let identifier = NSStoryboard.SceneIdentifier(stringLiteral: "PopoverView") - //3. - guard let viewcontroller = storyboard.instantiateController(withIdentifier: identifier as String) as? PopoverViewController else { - fatalError("Why cant i find PopoverViewController? - Check PopoverViewController.storyboard") - } - //let viewcontroller = PopoverViewController() - return viewcontroller - } -} - diff --git a/launchers/macosx/I2PLauncher/userinterface/RouterStatusView.swift b/launchers/macosx/I2PLauncher/userinterface/RouterStatusView.swift deleted file mode 100644 index 67cd2847e2..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/RouterStatusView.swift +++ /dev/null @@ -1,236 +0,0 @@ -// -// RouterStatusView.swift -// I2PLauncher -// -// Created by Mikal Villa on 22/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Cocoa - -@objc class RouterStatusView : NSView { - static var instance: RouterStatusView? - - static func getInstance() -> RouterStatusView? { - if (self.instance != Optional.none) { - return RouterStatusView.instance - } - return Optional.none - } - - var isFirefoxEnabled = false - - @IBOutlet var routerStatusLabel: NSTextField? - @IBOutlet var routerVersionLabel: NSTextField? - @IBOutlet var routerStartedByLabel: NSTextField? - @IBOutlet var routerUptimeLabel: NSTextField? - @IBOutlet var routerPIDLabel: NSTextField? - - - @IBOutlet var quickControlView: NSView? - @IBOutlet var routerStartStopButton: NSButton? - @IBOutlet var openConsoleButton: NSButton? - @IBOutlet var launchFirefoxButton: NSButton? - - - @objc func actionBtnOpenConsole(_ sender: Any?) { - SwiftApplicationDelegate.openLink(url: "http://localhost:7657") - } - - @objc func actionBtnStartRouter(_ sender: Any?) { - NSLog("Router start clicked") - (sender as! NSButton).isTransparent = true - let routerStatus = RouterRunner.launchAgent?.status() - DispatchQueue(label: "background_start").async { - switch routerStatus { - case .loaded?: - RouterManager.shared().routerRunner.StartAgent(RouterRunner.launchAgent) - case .unloaded?: - do { - try LaunchAgentManager.shared.load(RouterRunner.launchAgent!) - RouterManager.shared().routerRunner.StartAgent(RouterRunner.launchAgent) - } catch { - RouterManager.shared().eventManager.trigger(eventName: "router_exception", information: error) - } - break - default: - break - } - DispatchQueue.main.async { - self.reEnableButton() - } - } - } - - @objc func actionBtnStopRouter(_ sender: Any?) { - NSLog("Router stop clicked") - DispatchQueue(label: "background_shutdown").async { - RouterManager.shared().routerRunner.StopAgent({ - RouterProcessStatus.isRouterRunning = false - RouterProcessStatus.isRouterChildProcess = false - NSLog("Router should be stopped by now.") - }) - // Wait for it to die. - - } - RouterManager.shared().eventManager.trigger(eventName: "toggle_popover") - self.reEnableButton() - } - - @objc func actionBtnLaunchFirefox(_ sender: Any?) { - DispatchQueue.global(qos: .background).async { - Swift.print("Starting firefox") - let _ = FirefoxManager.shared().executeFirefox() - } - } - - func restartFn() { - RouterManager.shared().routerRunner.StopAgent({ - sleep(30) - RouterManager.shared().routerRunner.StartAgent() - }) - } - - func handlerRouterStart(information:Any?) { - NSLog("Triggered handlerRouterStart") - NSLog("PID2! %@", information as! String) - routerPIDLabel?.cell?.stringValue = "Router PID: "+(information as! String) - routerPIDLabel?.needsDisplay = true - routerStatusLabel?.cell?.stringValue = "Router status: Running" - RouterManager.shared().lastRouterPid = (information as? String) - self.toggleSetButtonStop() - self.reEnableButton() - } - - func reEnableButton() { - let currentStatus : AgentStatus = RouterRunner.launchAgent?.status() ?? AgentStatus.unloaded - if currentStatus != AgentStatus.loaded && currentStatus != AgentStatus.unloaded { - self.toggleSetButtonStop() - } else { - self.toggleSetButtonStart() - } - routerStartStopButton?.isTransparent = false - routerStartStopButton?.needsDisplay = true - self.setRouterStatusLabelText() - } - - func setupObservers() { - RouterManager.shared().eventManager.listenTo(eventName: "router_start", action: handlerRouterStart) - RouterManager.shared().eventManager.listenTo(eventName: "router_stop", action: handleRouterStop) - RouterManager.shared().eventManager.listenTo(eventName: "router_pid", action: handlerRouterStart) - RouterManager.shared().eventManager.listenTo(eventName: "launch_agent_running", action: reEnableButton) - RouterManager.shared().eventManager.listenTo(eventName: "launch_agent_unloaded", action: reEnableButton) - RouterManager.shared().eventManager.listenTo(eventName: "launch_agent_loaded", action: reEnableButton) - } - - func setupFirefoxBtn() { - DispatchQueue.global(qos: .background).async { - if (FirefoxManager.shared().IsFirefoxFound() && !self.isFirefoxEnabled) { - Swift.print("Enabling Firefox Launch Button") - DispatchQueue.main.async { - self.isFirefoxEnabled = true - self.launchFirefoxButton?.isEnabled = true - self.launchFirefoxButton?.isTransparent = false - self.launchFirefoxButton?.needsDisplay = true - self.launchFirefoxButton?.action = #selector(self.actionBtnLaunchFirefox(_:)) - self.launchFirefoxButton?.target = self - } - } - } - } - - override func viewWillDraw() { - super.viewWillDraw() - if (RouterStatusView.instance != nil) { - RouterStatusView.instance = self - } - self.reEnableButton() - openConsoleButton?.cell?.action = #selector(self.actionBtnOpenConsole(_:)) - openConsoleButton?.cell?.target = self - - } - - func handleRouterStop() { - routerPIDLabel?.cell?.stringValue = "Router PID: Not running" - RouterManager.shared().lastRouterPid = nil - self.toggleSetButtonStart() - reEnableButton() - } - - private func toggleSetButtonStart() { - routerStatusLabel?.cell?.stringValue = "Router status: Not running" - routerStartStopButton?.title = "Start Router" - routerStartStopButton?.action = #selector(self.actionBtnStartRouter(_:)) - } - - private func toggleSetButtonStop() { - routerStatusLabel?.cell?.stringValue = "Router status: Running" - routerStartStopButton?.title = "Stop Router" - routerStartStopButton?.action = #selector(self.actionBtnStopRouter(_:)) - } - - func setRouterStatusLabelText() { - routerStartStopButton?.target = self - let staticStartedByLabelText = "Router started by launcher? " - let staticIsRunningLabelText = "Router status: " - let staticRouterVersionLabelText = "Router version: " - let staticRouterPidLabelText = "Router PID: " - - // Use default here to avoid any potential crashes with force unwrapping - let currentStatus : AgentStatus = RouterRunner.launchAgent?.status() ?? AgentStatus.unloaded - if currentStatus == AgentStatus.loaded || currentStatus == AgentStatus.unloaded { - routerStatusLabel?.cell?.stringValue = staticIsRunningLabelText+"Not running" - } else { - routerStatusLabel?.cell?.stringValue = staticIsRunningLabelText+"Running" - } - - if RouterProcessStatus.isRouterChildProcess { - routerStartedByLabel?.cell?.stringValue = staticStartedByLabelText+"Yes" - } else { - routerStartedByLabel?.cell?.stringValue = staticStartedByLabelText+"No" - } - - // Try to display PID - if not, the string behind ?? is used as "default" - let tmpPidText = RouterManager.shared().lastRouterPid ?? "Not running" - routerPIDLabel?.cell?.stringValue = staticRouterPidLabelText+tmpPidText - - if let version = RouterProcessStatus.routerVersion { - routerVersionLabel?.cell?.stringValue = staticRouterVersionLabelText + version - } else { - routerVersionLabel?.cell?.stringValue = staticRouterVersionLabelText + "Still unknown" - } - - if let routerStartTime = RouterProcessStatus.routerStartedAt { - routerUptimeLabel?.cell?.stringValue = "Uptime: Router started " + DateTimeUtils.timeAgoSinceDate(date: NSDate(date: routerStartTime), numericDates: false) - } else { - routerUptimeLabel?.cell?.stringValue = "Uptime: Router isn't running" - } - - // Needs display function alerts the rendrerer that the UI parts need to be re-drawed. - routerStartStopButton?.needsDisplay = true - quickControlView?.needsDisplay = true - routerUptimeLabel?.needsDisplay = true - routerVersionLabel?.needsDisplay = true - routerStartedByLabel?.needsDisplay = true - routerPIDLabel?.needsDisplay = true - } - - - init() { - let c = NSCoder() - super.init(coder: c)! - self.setupObservers() - self.setupFirefoxBtn() - self.toggleSetButtonStart() - self.reEnableButton() - } - - required init?(coder decoder: NSCoder) { - super.init(coder: decoder) - self.setupObservers() - self.setupFirefoxBtn() - self.toggleSetButtonStart() - self.reEnableButton() - } - -} diff --git a/launchers/macosx/I2PLauncher/userinterface/StatusBarController.swift b/launchers/macosx/I2PLauncher/userinterface/StatusBarController.swift deleted file mode 100644 index e2c19f3176..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/StatusBarController.swift +++ /dev/null @@ -1,206 +0,0 @@ -// -// StatusBarController.swift -// I2PLauncher -// -// Created by Mikal Villa on 13/03/2018. -// Copyright © 2018 I2P. All rights reserved. -// - -import Foundation -import Cocoa -import Sparkle - -@objc class StatusBarController: NSObject, NSMenuDelegate { - - let popover = NSPopover() - let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) - let storyboard = NSStoryboard(name: "Storyboard", bundle: Bundle.main) - - let updaterObject: SUUpdater = SUUpdater() - - var ctrl : PopoverViewController? - private static var preferencesController: NSWindowController? - private static var experimentalConsoleViewController: NSWindowController? - - @IBOutlet var routerStatusTabView: RouterStatusView? - - @IBAction func handleNativePrefMenuClicked(_ sender: Any) { - StatusBarController.launchPreferences(sender) - } - - //var updateObjectRef : SUUpdater? - - @objc func handleOpenConsole(_ sender: Any?) { - SwiftApplicationDelegate.openLink(url: "http://localhost:7657") - } - - static func onExperimentalConsoleViewClick(_ sender: NSButton) { - if #available(OSX 10.12, *) { - print("Clicked for Experimental Console WebView") - if !(experimentalConsoleViewController != nil) { - let storyboard = NSStoryboard(name: "ConsoleWebView", bundle: Bundle.main) - experimentalConsoleViewController = storyboard.instantiateInitialController() as? NSWindowController - print("created experimental console webview controller") - } - if (experimentalConsoleViewController != nil) { - experimentalConsoleViewController!.showWindow(sender) - print("trying to view: Console WebView") - } - } else { - // Sorry, only OSX >= 10.12 - } - } - - @objc static func launchPreferences(_ sender: Any) { - print("Preferences clicked") - if !(preferencesController != nil) { - let storyboard = NSStoryboard(name: "Preferences", bundle: Bundle.main) - preferencesController = storyboard.instantiateInitialController() as? NSWindowController - print("created preferences controller") - } - if (preferencesController != nil) { - NSApp.activate(ignoringOtherApps: true) - preferencesController!.showWindow(sender) - print("trying to view: Preferences") - } - } - - @objc func launchPreferencesStaticProxy(_ sender: Any) { - StatusBarController.launchPreferences(sender) - } - - static func launchRouterConsole(_ sender: Any) { - if (!Preferences.shared().featureToggleExperimental) { - // The normal... - NSWorkspace.shared.open(URL(string: "http://127.0.0.1:7657")!) - } else { - // Experimental - } - } - - func pidReaction(information:Any?){ - let pidStr = information as! String - NSLog("Router PID is %@", pidStr) - showPopover(sender: nil) - RouterManager.shared().lastRouterPid = pidStr - self.ctrl?.getRouterStatusView()?.needsDisplay = true - } - - func event_toggle(information:Any?) { - self.togglePopover(sender: self) - } - - - override init() { - super.init() - self.ctrl = PopoverViewController.freshController() - popover.contentViewController = self.ctrl - RouterManager.shared().eventManager.listenTo(eventName: "router_pid", action: pidReaction) - - RouterManager.shared().eventManager.listenTo(eventName: "toggle_popover", action: event_toggle) - - let _ = FirefoxManager.shared().tryAutoDetect() - - print("Is Firefox found? \(FirefoxManager.shared().IsFirefoxFound())") - print("Is Firefox profile extracted at \(Preferences.shared()["I2Pref_firefoxProfilePath"] as! String)? \(FirefoxManager.shared().IsProfileExtracted())") - if (!FirefoxManager.shared().IsProfileExtracted()) { - let _ = FirefoxManager.shared().unzipProfile() - } - - if let button = statusItem.button { - button.image = NSImage(named:"StatusBarButtonImage") - button.toolTip = "I2P Launch Manager" - button.target = self - button.action = #selector(self.statusBarButtonClicked(sender:)) - button.sendAction(on: [.leftMouseUp, .rightMouseUp]) - } - } - - @IBAction func openConsoleClicked(_ sender: Any) { - NSLog("openConsoleClicked got clicked") - let realSender = sender as! NSMenuItem - NSLog("Sender: @%", realSender) - } - - @IBAction func quitClicked(_ sender: NSMenuItem) { - NSApplication.shared.terminate(self) - } - - @objc func checkUpdateClicked(_ sender: NSMenuItem) { - //DispatchQueue(label: "updaterqueue").async {} - self.updaterObject.checkForUpdates(sender) - } - -} - -/** - * - * Here you find menu & popover trigger related code. - * - */ - -extension StatusBarController { - - // This is the construction of the context (right-click) menu spawned at the system tray icon. - @objc func constructMenu() -> NSMenu { - let menu = NSMenu() - - let updateMenuItem = NSMenuItem(title: "Check for updates", action: #selector(self.checkUpdateClicked(_:)), keyEquivalent: "U") - updateMenuItem.isEnabled = true - updateMenuItem.target = self - - - let preferencesMenuItem = NSMenuItem(title: "Preferences", action: #selector(self.launchPreferencesStaticProxy(_:)), keyEquivalent: "P") - preferencesMenuItem.isEnabled = true - preferencesMenuItem.target = self - - menu.addItem(NSMenuItem(title: "Open I2P Console", action: #selector(self.handleOpenConsole(_:)), keyEquivalent: "O")) - menu.addItem(NSMenuItem.separator()) - menu.addItem(updateMenuItem) - menu.addItem(preferencesMenuItem) - menu.addItem(NSMenuItem.separator()) - menu.addItem(NSMenuItem(title: "Quit I2P Launcher", action: #selector(SwiftApplicationDelegate.terminate(_:)), keyEquivalent: "q")) - - return menu - } - - @objc func statusBarButtonClicked(sender: NSStatusBarButton) { - let event = NSApp.currentEvent! - - if event.type == NSEvent.EventType.rightMouseUp { - closePopover(sender: nil) - - let ctxMenu = constructMenu() - - statusItem.menu = ctxMenu - statusItem.popUpMenu(ctxMenu) - - // This is critical, otherwise clicks won't be processed again - statusItem.menu = nil - } else { - togglePopover(sender: nil) - } - } - - func togglePopover(sender: AnyObject?) { - if popover.isShown { - closePopover(sender: sender) - } else { - showPopover(sender: sender) - } - } - - func showPopover(sender: AnyObject?) { - if let button = statusItem.button { - let inst = RouterStatusView.getInstance() - if (inst != nil) { - if (inst != Optional.none) { RouterStatusView.getInstance()?.setRouterStatusLabelText() } - } - popover.show(relativeTo: button.bounds, of: button, preferredEdge: NSRectEdge.minY) - } - } - - func closePopover(sender: AnyObject?) { - popover.performClose(sender) - } -} diff --git a/launchers/macosx/I2PLauncher/userinterface/Style2019/AppearanceObserver.swift b/launchers/macosx/I2PLauncher/userinterface/Style2019/AppearanceObserver.swift deleted file mode 100644 index bdc1e380bc..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/Style2019/AppearanceObserver.swift +++ /dev/null @@ -1,83 +0,0 @@ -// -// AppearanceObserver.swift -// I2PLauncher -// -// Created by Mikal Villa on 15/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Cocoa - -protocol AppearanceObserver: AnyObject { - func changeAppearance(to newAppearance: NSAppearance) -} - -@available(OSX 10.14, *) -class Appearance { - class Weak { - fileprivate weak var object: AnyObject? - - init(_ object: AnyObject) { - self.object = object - } - } - - private static var effectiveAppearanceObserver: Any? = { - return NSApplication.shared.observe( - \NSApplication.effectiveAppearance, - options: [.new, .initial] - ) { _, change in - guard let newValue = change.newValue else { return } - - Appearance.fire(newAppearance: newValue) - } - }() - - private static var observers = [Weak]() - - private static func fire(newAppearance: NSAppearance) { - observers = observers.filter { - guard let object = $0.object else { return false } - - (object as? AppearanceObserver)?.changeAppearance(to: newAppearance) - return true - } - } - - static func addObserver(_ observer: AppearanceObserver) { - observers = observers.filter { $0.object != nil } - observers.append(Weak(observer)) - - if effectiveAppearanceObserver == nil { - fatalError("Did not setup appearance observer.") - } - } - - static func removeObserver(_ observer: AppearanceObserver) { - observers = observers.filter { $0.object != nil && $0.object !== observer } - } -} - -enum InterfaceStyle : String { - case Dark, Light - - init() { - let type = UserDefaults.standard.string(forKey: "AppleInterfaceStyle") ?? "Light" - self = InterfaceStyle(rawValue: type)! - } -} - - -extension NSAppearance { - var isDarkMode: Bool { - let currentStyle = InterfaceStyle() - if #available(OSX 10.14, *) { - return currentStyle == .Dark - } else { - return false - } - } -} - - - diff --git a/launchers/macosx/I2PLauncher/userinterface/Style2019/BottomBar.swift b/launchers/macosx/I2PLauncher/userinterface/Style2019/BottomBar.swift deleted file mode 100644 index 06f55dac42..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/Style2019/BottomBar.swift +++ /dev/null @@ -1,237 +0,0 @@ -// -// BottomBar.swift -// I2PLauncher -// -// Created by Mikal Villa on 17/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Cocoa -import SnapKit -import SwiftDate - -enum BottomBarStatus { - case undetermined - case updating - case updated(Date) -} - -class BottomBar: NSView { - let settingsButton = NSButton() - let reloadButton = NSButton() - let doneButton = NSButton() - let aboutButton = NSButton() - let quitButton = NSButton() - let statusField = NSTextField() - let separator = ServiceTableRowView() - - var status: BottomBarStatus = .undetermined { - didSet { - updateStatusText() - } - } - - var reloadServicesCallback: () -> Void = {} - var openSettingsCallback: () -> Void = {} - var closeSettingsCallback: () -> Void = {} - - override init(frame frameRect: NSRect) { - super.init(frame: frameRect) - commonInit() - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - commonInit() - } - - private func commonInit() { - addSubview(separator) - addSubview(settingsButton) - addSubview(reloadButton) - addSubview(statusField) - addSubview(doneButton) - addSubview(aboutButton) - addSubview(quitButton) - - let gearIcon = GearIcon() - settingsButton.addSubview(gearIcon) - - let refreshIcon = RefreshIcon() - reloadButton.addSubview(refreshIcon) - - separator.snp.makeConstraints { make in - make.height.equalTo(1) - make.left.top.right.equalTo(0) - } - - settingsButton.snp.makeConstraints { make in - make.height.width.equalTo(30) - make.bottom.left.equalTo(0) - } - - gearIcon.snp.makeConstraints { make in - make.centerX.centerY.equalToSuperview() - make.width.height.equalTo(22) - } - - reloadButton.snp.makeConstraints { make in - make.height.width.equalTo(30) - make.bottom.right.equalTo(0) - } - - refreshIcon.snp.makeConstraints { make in - make.centerX.centerY.equalToSuperview() - make.width.height.equalTo(18) - } - - statusField.snp.makeConstraints { make in - make.left.equalTo(settingsButton.snp.right) - make.right.equalTo(reloadButton.snp.left) - make.centerY.equalToSuperview() - } - - doneButton.snp.makeConstraints { make in - make.width.equalTo(60) - make.centerY.equalToSuperview() - make.right.equalTo(-3) - } - - aboutButton.snp.makeConstraints { make in - make.width.equalTo(56) - make.centerY.equalToSuperview() - make.left.equalTo(quitButton.snp.right).offset(6) - } - - quitButton.snp.makeConstraints { make in - make.width.equalTo(46) - make.centerY.equalToSuperview() - make.left.equalTo(3) - } - - settingsButton.isBordered = false - settingsButton.bezelStyle = .regularSquare - settingsButton.title = "" - settingsButton.target = self - settingsButton.action = #selector(BottomBar.openSettings) - gearIcon.scaleUnitSquare(to: NSSize(width: 0.46, height: 0.46)) - - reloadButton.isBordered = false - reloadButton.bezelStyle = .regularSquare - reloadButton.title = "" - reloadButton.target = self - reloadButton.action = #selector(BottomBar.reloadServices) - refreshIcon.scaleUnitSquare(to: NSSize(width: 0.38, height: 0.38)) - - statusField.isEditable = false - statusField.isBordered = false - statusField.isSelectable = false - let font = NSFont.systemFont(ofSize: 12) - let italicFont = NSFontManager.shared.font( - withFamily: font.fontName, - traits: NSFontTraitMask.italicFontMask, - weight: 5, - size: 10 - ) - - statusField.font = italicFont - statusField.textColor = NSColor.secondaryLabelColor - statusField.maximumNumberOfLines = 1 - statusField.backgroundColor = NSColor.clear - statusField.alignment = .center - statusField.cell?.truncatesLastVisibleLine = true - - doneButton.title = "Done" - doneButton.bezelStyle = .regularSquare - doneButton.controlSize = .regular - doneButton.isHidden = true - doneButton.target = self - doneButton.action = #selector(BottomBar.closeSettings) - - aboutButton.title = "About" - aboutButton.bezelStyle = .regularSquare - aboutButton.controlSize = .regular - aboutButton.isHidden = true - aboutButton.target = self - aboutButton.action = #selector(BottomBar.openAbout) - - quitButton.title = "Quit" - quitButton.bezelStyle = .regularSquare - quitButton.controlSize = .regular - quitButton.isHidden = true - quitButton.target = NSApp - quitButton.action = #selector(NSApplication.terminate(_:)) - } - - func updateStatusText() { - switch status { - case .undetermined: statusField.stringValue = "" - case .updating: statusField.stringValue = "Updating…" - case .updated(let date): - let colloquial = date.toRelative(style: RelativeFormatter.defaultStyle()) - statusField.stringValue = "Updated \(colloquial)" - } - } - - @objc func reloadServices() { - reloadServicesCallback() - } - - @objc func openSettings() { - settingsButton.isHidden = true - statusField.isHidden = true - reloadButton.isHidden = true - - doneButton.isHidden = false - aboutButton.isHidden = false - quitButton.isHidden = false - - openSettingsCallback() - } - - @objc func closeSettings() { - settingsButton.isHidden = false - statusField.isHidden = false - reloadButton.isHidden = false - - doneButton.isHidden = true - aboutButton.isHidden = true - quitButton.isHidden = true - - closeSettingsCallback() - } - - @objc func openAbout() { - let githubLink = "" - let contributorsLink = "" - - let openSourceNotice = "I2PLauncher is an open-source project\n\(githubLink)" - let iconGlyphCredit = "Activity glyph (app icon)\nCreated by Gregor ÄŒreÅ¡nar from the Noun Project" - let contributors = "Contributors\n\(contributorsLink)" - let credits = NSMutableAttributedString(string: "\n\(openSourceNotice)\n\n\(iconGlyphCredit)\n\n\(contributors)\n\n") - - let normalFont = NSFont.systemFont(ofSize: 11) - let boldFont = NSFont.boldSystemFont(ofSize: 11) - - credits.addAttribute(.font, value: normalFont, range: NSRange(location: 0, length: credits.length)) - for word in ["stts", "Activity", "Contributors"] { - credits.addAttribute(.font, value: boldFont, range: (credits.string as NSString).range(of: word)) - } - - credits.addAttribute( - .link, - value: "https://\(githubLink)", - range: (credits.string as NSString).range(of: githubLink) - ) - credits.addAttribute( - .link, - value: "https://\(contributorsLink)", - range: (credits.string as NSString).range(of: contributorsLink) - ) - - NSApp.orderFrontStandardAboutPanel(options: [NSApplication.AboutPanelOptionKey(rawValue: "Credits"): credits]) - NSApp.activate(ignoringOtherApps: true) - - } -} - diff --git a/launchers/macosx/I2PLauncher/userinterface/Style2019/CustomScrollView.swift b/launchers/macosx/I2PLauncher/userinterface/Style2019/CustomScrollView.swift deleted file mode 100644 index 258ce4ba28..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/Style2019/CustomScrollView.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// CustomScrollView.swift -// I2PLauncher -// -// Created by Mikal Villa on 07/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Cocoa -import SnapKit - -class CustomScrollView: NSScrollView { - var topConstraint: Constraint? - - override var isOpaque: Bool { - return false - } -} diff --git a/launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/EditorTableCell.swift b/launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/EditorTableCell.swift deleted file mode 100644 index 23580555d0..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/EditorTableCell.swift +++ /dev/null @@ -1,99 +0,0 @@ -// -// EditorTableCell.swift -// I2PLauncher -// -// Created by Mikal Villa on 08/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Cocoa -import SnapKit - -class EditorTableCell: NSTableCellView { - let toggleButton = NSButton() - var selected: Bool = false { - didSet { - setNeedsDisplay(frame) - } - } - - var toggleCallback: () -> Void = {} - - override init(frame frameRect: NSRect) { - super.init(frame: frameRect) - commonInit() - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - commonInit() - } - - private func commonInit() { - let textField = NSTextField() - textField.isEditable = false - textField.isBordered = false - textField.isSelectable = false - self.textField = textField - let font = NSFont.systemFont(ofSize: 11) - textField.font = font - textField.textColor = NSColor.textColor - textField.backgroundColor = NSColor.clear - addSubview(textField) - - textField.snp.makeConstraints { make in - make.left.equalTo(10) - make.centerY.equalToSuperview() - } - - addSubview(toggleButton) - toggleButton.title = "" - toggleButton.isBordered = false - toggleButton.bezelStyle = .texturedSquare - toggleButton.controlSize = .small - toggleButton.target = self - toggleButton.action = #selector(EditorTableCell.toggle) - toggleButton.wantsLayer = true - toggleButton.layer?.borderWidth = 1 - toggleButton.layer?.cornerRadius = 4 - toggleButton.snp.makeConstraints { make in - make.left.equalTo(textField.snp.right).offset(-4) - make.width.equalTo(36) - make.right.equalTo(-10) - make.height.equalTo(20) - make.centerY.equalToSuperview() - } - } - - @objc func toggle() { - self.selected = !selected - toggleCallback() - } - - override func draw(_ dirtyRect: NSRect) { - super.draw(dirtyRect) - - let color = selected ? StatusColor.green : NSColor.tertiaryLabelColor - let title = selected ? "ON" : "OFF" - - if #available(OSX 10.14, *) { - toggleButton.title = title - toggleButton.font = NSFont.systemFont(ofSize: 11) - toggleButton.contentTintColor = color - } else { - let paragraphStyle = NSMutableParagraphStyle() - paragraphStyle.alignment = .center - - let attributes: [NSAttributedString.Key: Any] = [ - .font: NSFont.systemFont(ofSize: 11), - .foregroundColor: color, - .paragraphStyle: paragraphStyle - ] - - toggleButton.attributedTitle = NSAttributedString(string: title, attributes: attributes) - } - - toggleButton.layer?.borderColor = color.cgColor - } -} - diff --git a/launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/EditorTableViewController.swift b/launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/EditorTableViewController.swift deleted file mode 100644 index afe24af55d..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/EditorTableViewController.swift +++ /dev/null @@ -1,171 +0,0 @@ -// -// EditorTableViewController.swift -// I2PLauncher -// -// Created by Mikal Villa on 08/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Cocoa -import SnapKit - -class EditorTableViewController: NSObject, SwitchableTableViewController { - let contentView: NSStackView - let scrollView: CustomScrollView - let tableView = NSTableView() - - let allServices: [BaseService] = BaseService.all().sorted() - var filteredServices: [BaseService] - var selectedServices: [BaseService] = []//Preferences.shared().selectedServices - - var selectionChanged = false - - let settingsView = SettingsView() - - var hidden: Bool = true - - init(contentView: NSStackView, scrollView: CustomScrollView) { - self.contentView = contentView - self.scrollView = scrollView - self.filteredServices = allServices - - print(allServices) - - super.init() - setup() - } - - func setup() { - tableView.frame = scrollView.bounds - let column = NSTableColumn(identifier: NSUserInterfaceItemIdentifier(rawValue: "editorColumnIdentifier")) - column.width = 200 - tableView.addTableColumn(column) - tableView.autoresizesSubviews = true - tableView.wantsLayer = true - tableView.layer?.cornerRadius = 6 - tableView.headerView = nil - tableView.rowHeight = 30 - tableView.gridStyleMask = NSTableView.GridLineStyle.init(rawValue: 0) - tableView.dataSource = self - tableView.delegate = self - tableView.selectionHighlightStyle = .none - tableView.backgroundColor = NSColor.clear - - settingsView.isHidden = true - settingsView.searchCallback = { [weak self] searchString in - guard - let strongSelf = self, - let allServices = strongSelf.allServices as? [Service] - else { return } - - if searchString.trimmingCharacters(in: .whitespacesAndNewlines) == "" { - strongSelf.filteredServices = allServices - } else { - // Can't filter array with NSPredicate without making Service inherit KVO from NSObject, therefore we create - // an array of service names that we can run the predicate on - let allServiceNames = allServices.compactMap { $0.name } as NSArray - let predicate = NSPredicate(format: "SELF LIKE[cd] %@", argumentArray: ["*\(searchString)*"]) - guard let filteredServiceNames = allServiceNames.filtered(using: predicate) as? [String] else { return } - - strongSelf.filteredServices = allServices.filter { filteredServiceNames.contains($0.name) } - } - - strongSelf.tableView.reloadData() - } - - contentView.addSubview(settingsView) - settingsView.snp.makeConstraints { make in - make.top.left.right.equalTo(0) - make.height.equalTo(130) - } - } - - func willShow() { - self.selectionChanged = false - - scrollView.topConstraint?.update(offset: settingsView.frame.size.height) - scrollView.documentView = tableView - - settingsView.isHidden = false - - // We should be using NSWindow's makeFirstResponder: instead of the search field's selectText:, but in this case, makeFirstResponder - // is causing a bug where the search field "gets focused" twice (focus ring animation) the first time it's drawn. - settingsView.searchField.selectText(nil) - - resizeViews() - } - - func resizeViews() { - tableView.frame = scrollView.bounds - tableView.tableColumns.first?.width = tableView.frame.size.width - - scrollView.frame.size.height = 400 - - /*(NSApp.delegate as? SwiftApplicationDelegate)?.popupController.resizePopup( - height: scrollView.frame.size.height + 30 // bottomBar.frame.size.height - )*/ - } - - func willOpenPopup() { - resizeViews() - } - - func didOpenPopup() { - settingsView.searchField.window?.makeFirstResponder(settingsView.searchField) - } - - func willHide() { - settingsView.isHidden = true - } -} - -extension EditorTableViewController: NSTableViewDataSource { - func numberOfRows(in tableView: NSTableView) -> Int { - return filteredServices.count - } - - func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? { - return nil - } -} - -extension EditorTableViewController: NSTableViewDelegate { - func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? { - let identifier = tableColumn?.identifier ?? NSUserInterfaceItemIdentifier(rawValue: "identifier") - let cell = tableView.makeView(withIdentifier: identifier, owner: self) ?? EditorTableCell() - - guard let view = cell as? EditorTableCell else { return nil } - guard let service = filteredServices[row] as? Service else { return nil } - - view.textField?.stringValue = service.name - view.selected = selectedServices.contains(service) - view.toggleCallback = { [weak self] in - guard let strongSelf = self else { return } - - strongSelf.selectionChanged = true - - if view.selected { - self?.selectedServices.append(service) - } else { - if let index = self?.selectedServices.index(of: service) { - self?.selectedServices.remove(at: index) - } - } - - //Preferences.shared().selectedServices = strongSelf.selectedServices - } - - return view - } - - func tableView(_ tableView: NSTableView, rowViewForRow row: Int) -> NSTableRowView? { - let cellIdentifier = NSUserInterfaceItemIdentifier(rawValue: "rowView") - let cell = tableView.makeView(withIdentifier: cellIdentifier, owner: self) ?? ServiceTableRowView() - - guard let view = cell as? ServiceTableRowView else { return nil } - - view.showSeparator = row + 1 < filteredServices.count - - return view - } -} diff --git a/launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/SectionHeaderView.swift b/launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/SectionHeaderView.swift deleted file mode 100644 index 1ef117c71e..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/SectionHeaderView.swift +++ /dev/null @@ -1,39 +0,0 @@ -// -// SectionHeaderView.swift -// I2PLauncher -// -// Created by Mikal Villa on 09/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Cocoa - -class SectionHeaderView: NSTextField { - init(name: String) { - super.init(frame: .zero) - - setup() - self.stringValue = name - } - - required init?(coder: NSCoder) { - super.init(frame: .zero) - setup() - } - - private func setup() { - self.isEditable = false - self.isBordered = false - self.isSelectable = false - let italicFont = NSFontManager.shared.font(withFamily: NSFont.systemFont(ofSize: 10).fontName, - traits: NSFontTraitMask.italicFontMask, - weight: 5, - size: 10) - self.font = italicFont - self.textColor = NSColor.secondaryLabelColor - self.maximumNumberOfLines = 1 - self.cell!.truncatesLastVisibleLine = true - self.backgroundColor = NSColor.clear - } -} - diff --git a/launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/SettingsView.swift b/launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/SettingsView.swift deleted file mode 100644 index 98d2f2b4bd..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/Style2019/EditorTableView/SettingsView.swift +++ /dev/null @@ -1,96 +0,0 @@ -// -// SettingsView.swift -// I2PLauncher -// -// Created by Mikal Villa on 08/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Cocoa -import SnapKit - -class SettingsView: NSView { - let settingsHeader = SectionHeaderView(name: "Hmm") - let notifyCheckbox = NSButton() - - let servicesHeader = SectionHeaderView(name: "Services") - let searchField = NSSearchField() - - var searchCallback: ((String) -> Void)? - - init() { - super.init(frame: .zero) - setup() - } - - required init?(coder: NSCoder) { - super.init(frame: .zero) - setup() - } - - func setup() { - addSubview(settingsHeader) - addSubview(notifyCheckbox) - addSubview(servicesHeader) - addSubview(searchField) - - let smallFont = NSFont.systemFont(ofSize: NSFont.systemFontSize(for: .small)) - - - notifyCheckbox.setButtonType(.switch) - notifyCheckbox.title = "Notify when a status changes" - notifyCheckbox.font = smallFont - notifyCheckbox.state = Preferences.shared().notifyOnStatusChange ? .on : .off - notifyCheckbox.action = #selector(SettingsView.updateNotifyOnStatusChange) - notifyCheckbox.target = self - - searchField.sendsSearchStringImmediately = true - searchField.sendsWholeSearchString = false - searchField.action = #selector(SettingsView.filterServices) - searchField.target = self - - settingsHeader.snp.makeConstraints { make in - make.top.left.equalTo(6) - make.right.equalTo(-6) - make.height.equalTo(16) - } - - /*startAtLoginCheckbox.snp.makeConstraints { make in - make.top.equalTo(settingsHeader.snp.bottom).offset(6) - make.left.equalTo(14) - make.right.equalTo(-14) - make.height.equalTo(18) - }*/ - - notifyCheckbox.snp.makeConstraints { make in - make.top.equalTo(settingsHeader.snp.bottom).offset(6) - make.left.equalTo(14) - make.right.equalTo(-14).priority(200) - make.height.equalTo(18) - } - - servicesHeader.snp.makeConstraints { make in - make.top.equalTo(notifyCheckbox.snp.bottom).offset(10) - make.left.equalTo(6) - make.right.equalTo(-6) - make.height.equalTo(16) - } - - searchField.snp.makeConstraints { make in - make.top.equalTo(servicesHeader.snp.bottom).offset(6) - make.left.equalTo(12) - make.right.equalTo(-12) - make.height.equalTo(22) - } - } - - - @objc private func updateNotifyOnStatusChange() { - Preferences.shared().notifyOnStatusChange = (notifyCheckbox.state == .on) - } - - @objc private func filterServices() { - searchCallback?(searchField.stringValue) - } -} - diff --git a/launchers/macosx/I2PLauncher/userinterface/Style2019/Icons.swift b/launchers/macosx/I2PLauncher/userinterface/Style2019/Icons.swift deleted file mode 100644 index 7847af87a5..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/Style2019/Icons.swift +++ /dev/null @@ -1,375 +0,0 @@ -// -// Icons.swift -// I2PLauncher -// -// Created by Mikal Villa on 11/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Cocoa - -class CheckmarkIcon: NSView { - var color: NSColor = NSColor(calibratedRed: 0.46, green: 0.78, blue: 0.56, alpha: 1) { - didSet { - self.needsDisplay = true - } - } - - override func draw(_ dirtyRect: NSRect) { - super.draw(dirtyRect) - - color.setStroke() - - let checkmarkPath = NSBezierPath() - checkmarkPath.lineWidth = 3 - checkmarkPath.move(to: NSPoint(x: 17.01, y: 9.15)) - checkmarkPath.curve(to: NSPoint(x: 16.3, y: 9.45), - controlPoint1: NSPoint(x: 16.75, y: 9.15), - controlPoint2: NSPoint(x: 16.5, y: 9.25)) - checkmarkPath.line(to: NSPoint(x: 2.3, y: 23.45)) - checkmarkPath.line(to: NSPoint(x: 3.71, y: 24.86)) - checkmarkPath.line(to: NSPoint(x: 17.01, y: 11.57)) - checkmarkPath.line(to: NSPoint(x: 42.3, y: 36.86)) - checkmarkPath.line(to: NSPoint(x: 43.71, y: 35.45)) - checkmarkPath.line(to: NSPoint(x: 17.71, y: 9.45)) - checkmarkPath.curve(to: NSPoint(x: 17.01, y: 9.15), - controlPoint1: NSPoint(x: 17.52, y: 9.25), - controlPoint2: NSPoint(x: 17.26, y: 9.15)) - checkmarkPath.close() - checkmarkPath.stroke() - } -} - -class CrossIcon: NSView { - var color: NSColor = NSColor(calibratedRed: 0.9, green: 0.78, blue: 0.56, alpha: 1) { - didSet { - self.needsDisplay = true - } - } - - override func draw(_ dirtyRect: NSRect) { - super.draw(dirtyRect) - - color.setFill() - - let context = NSGraphicsContext.current!.cgContext - - NSGraphicsContext.saveGraphicsState() - context.translateBy(x: 23, y: 23) - context.rotate(by: -45 * CGFloat.pi / 180) - NSBezierPath(rect: NSRect(x: -26.88, y: -1, width: 53.75, height: 4)).fill() - NSGraphicsContext.restoreGraphicsState() - - NSGraphicsContext.saveGraphicsState() - context.translateBy(x: 23, y: 23) - context.rotate(by: -45 * CGFloat.pi / 180) - NSBezierPath(rect: NSRect(x: -1, y: -26.88, width: 4, height: 53.75)).fill() - NSGraphicsContext.restoreGraphicsState() - } -} - -class RefreshIcon: NSView { - var color = NSColor.secondaryLabelColor { - didSet { - self.needsDisplay = true - } - } - - override func draw(_ dirtyRect: NSRect) { - super.draw(dirtyRect) - - color.setFill() - - let circle = NSBezierPath() - circle.move(to: NSPoint(x: 23, y: 3)) - circle.line(to: NSPoint(x: 23, y: 5)) - circle.curve(to: NSPoint(x: 41, y: 23), - controlPoint1: NSPoint(x: 32.93, y: 5), - controlPoint2: NSPoint(x: 41, y: 13.07)) - circle.curve(to: NSPoint(x: 23, y: 41), - controlPoint1: NSPoint(x: 41, y: 32.93), - controlPoint2: NSPoint(x: 32.93, y: 41)) - circle.curve(to: NSPoint(x: 5, y: 23), - controlPoint1: NSPoint(x: 13.07, y: 41), - controlPoint2: NSPoint(x: 5, y: 32.93)) - circle.curve(to: NSPoint(x: 14.47, y: 7.14), - controlPoint1: NSPoint(x: 5, y: 16.37), - controlPoint2: NSPoint(x: 8.63, y: 10.29)) - circle.line(to: NSPoint(x: 13.53, y: 5.38)) - circle.curve(to: NSPoint(x: 3, y: 23), - controlPoint1: NSPoint(x: 7.03, y: 8.88), - controlPoint2: NSPoint(x: 3, y: 15.63)) - circle.curve(to: NSPoint(x: 23, y: 43), - controlPoint1: NSPoint(x: 3, y: 34.03), - controlPoint2: NSPoint(x: 11.97, y: 43)) - circle.curve(to: NSPoint(x: 43, y: 23), - controlPoint1: NSPoint(x: 34.03, y: 43), - controlPoint2: NSPoint(x: 43, y: 34.03)) - circle.curve(to: NSPoint(x: 23, y: 3), - controlPoint1: NSPoint(x: 43, y: 11.97), - controlPoint2: NSPoint(x: 34.03, y: 3)) - circle.close() - circle.fill() - - let arrowHead = NSBezierPath() - arrowHead.move(to: NSPoint(x: 4.2, y: 3.02)) - arrowHead.line(to: NSPoint(x: 3.8, y: 4.98)) - arrowHead.line(to: NSPoint(x: 13, y: 6.82)) - arrowHead.line(to: NSPoint(x: 13, y: 16)) - arrowHead.line(to: NSPoint(x: 15, y: 16)) - arrowHead.line(to: NSPoint(x: 15, y: 6)) - arrowHead.curve(to: NSPoint(x: 14.2, y: 5.02), - controlPoint1: NSPoint(x: 15, y: 5.52), - controlPoint2: NSPoint(x: 14.66, y: 5.11)) - arrowHead.line(to: NSPoint(x: 4.2, y: 3.02)) - arrowHead.close() - arrowHead.fill() - } -} - -class GearIcon: NSView { - var color = NSColor.secondaryLabelColor { - didSet { - self.needsDisplay = true - } - } - - override func draw(_ dirtyRect: NSRect) { - super.draw(dirtyRect) - - color.setFill() - - let outerCog = NSBezierPath() - outerCog.move(to: NSPoint(x: 26.76, y: 9.49)) - outerCog.curve(to: NSPoint(x: 27.62, y: 8.99), - controlPoint1: NSPoint(x: 27.11, y: 9.49), - controlPoint2: NSPoint(x: 27.44, y: 9.3)) - outerCog.line(to: NSPoint(x: 28.4, y: 7.64)) - outerCog.curve(to: NSPoint(x: 31.13, y: 6.9), - controlPoint1: NSPoint(x: 28.93, y: 6.72), - controlPoint2: NSPoint(x: 30.21, y: 6.37)) - outerCog.line(to: NSPoint(x: 32.87, y: 7.9)) - outerCog.curve(to: NSPoint(x: 33.6, y: 10.64), - controlPoint1: NSPoint(x: 33.82, y: 8.46), - controlPoint2: NSPoint(x: 34.15, y: 9.68)) - outerCog.line(to: NSPoint(x: 32.82, y: 11.98)) - outerCog.curve(to: NSPoint(x: 32.98, y: 13.18), - controlPoint1: NSPoint(x: 32.6, y: 12.37), - controlPoint2: NSPoint(x: 32.66, y: 12.86)) - outerCog.curve(to: NSPoint(x: 36.48, y: 19.26), - controlPoint1: NSPoint(x: 34.63, y: 14.87), - controlPoint2: NSPoint(x: 35.85, y: 16.97)) - outerCog.curve(to: NSPoint(x: 37.44, y: 19.99), - controlPoint1: NSPoint(x: 36.6, y: 19.69), - controlPoint2: NSPoint(x: 36.99, y: 19.99)) - outerCog.line(to: NSPoint(x: 39, y: 19.99)) - outerCog.curve(to: NSPoint(x: 41, y: 21.99), - controlPoint1: NSPoint(x: 40.1, y: 19.99), - controlPoint2: NSPoint(x: 41, y: 20.89)) - outerCog.line(to: NSPoint(x: 41, y: 23.99)) - outerCog.curve(to: NSPoint(x: 39, y: 25.99), - controlPoint1: NSPoint(x: 41, y: 25.1), - controlPoint2: NSPoint(x: 40.1, y: 25.99)) - outerCog.line(to: NSPoint(x: 37.44, y: 25.99)) - outerCog.curve(to: NSPoint(x: 36.48, y: 26.73), - controlPoint1: NSPoint(x: 36.99, y: 25.99), - controlPoint2: NSPoint(x: 36.6, y: 26.29)) - outerCog.curve(to: NSPoint(x: 32.98, y: 32.81), - controlPoint1: NSPoint(x: 35.85, y: 29.02), - controlPoint2: NSPoint(x: 34.63, y: 31.12)) - outerCog.curve(to: NSPoint(x: 32.82, y: 34.01), - controlPoint1: NSPoint(x: 32.66, y: 33.13), - controlPoint2: NSPoint(x: 32.6, y: 33.62)) - outerCog.line(to: NSPoint(x: 33.6, y: 35.35)) - outerCog.curve(to: NSPoint(x: 32.87, y: 38.08), - controlPoint1: NSPoint(x: 34.15, y: 36.3), - controlPoint2: NSPoint(x: 33.82, y: 37.53)) - outerCog.line(to: NSPoint(x: 31.13, y: 39.08)) - outerCog.curve(to: NSPoint(x: 28.4, y: 38.35), - controlPoint1: NSPoint(x: 30.21, y: 39.62), - controlPoint2: NSPoint(x: 28.93, y: 39.26)) - outerCog.line(to: NSPoint(x: 27.62, y: 37)) - outerCog.curve(to: NSPoint(x: 26.51, y: 36.53), - controlPoint1: NSPoint(x: 27.4, y: 36.61), - controlPoint2: NSPoint(x: 26.94, y: 36.42)) - outerCog.curve(to: NSPoint(x: 19.49, y: 36.53), - controlPoint1: NSPoint(x: 24.14, y: 37.14), - controlPoint2: NSPoint(x: 21.86, y: 37.14)) - outerCog.curve(to: NSPoint(x: 18.38, y: 37), - controlPoint1: NSPoint(x: 19.06, y: 36.42), - controlPoint2: NSPoint(x: 18.6, y: 36.61)) - outerCog.line(to: NSPoint(x: 17.6, y: 38.35)) - outerCog.curve(to: NSPoint(x: 14.87, y: 39.08), - controlPoint1: NSPoint(x: 17.07, y: 39.26), - controlPoint2: NSPoint(x: 15.79, y: 39.62)) - outerCog.line(to: NSPoint(x: 13.13, y: 38.08)) - outerCog.curve(to: NSPoint(x: 12.4, y: 35.35), - controlPoint1: NSPoint(x: 12.18, y: 37.53), - controlPoint2: NSPoint(x: 11.85, y: 36.3)) - outerCog.line(to: NSPoint(x: 13.18, y: 34.01)) - outerCog.curve(to: NSPoint(x: 13.02, y: 32.81), - controlPoint1: NSPoint(x: 13.4, y: 33.62), - controlPoint2: NSPoint(x: 13.34, y: 33.13)) - outerCog.curve(to: NSPoint(x: 9.52, y: 26.73), - controlPoint1: NSPoint(x: 11.36, y: 31.12), - controlPoint2: NSPoint(x: 10.15, y: 29.02)) - outerCog.curve(to: NSPoint(x: 8.56, y: 25.99), - controlPoint1: NSPoint(x: 9.4, y: 26.29), - controlPoint2: NSPoint(x: 9.01, y: 25.99)) - outerCog.line(to: NSPoint(x: 7, y: 25.99)) - outerCog.curve(to: NSPoint(x: 5, y: 23.99), - controlPoint1: NSPoint(x: 5.9, y: 25.99), - controlPoint2: NSPoint(x: 5, y: 25.1)) - outerCog.line(to: NSPoint(x: 5, y: 21.99)) - outerCog.curve(to: NSPoint(x: 7, y: 19.99), - controlPoint1: NSPoint(x: 5, y: 20.89), - controlPoint2: NSPoint(x: 5.9, y: 19.99)) - outerCog.line(to: NSPoint(x: 8.56, y: 19.99)) - outerCog.curve(to: NSPoint(x: 9.52, y: 19.26), - controlPoint1: NSPoint(x: 9.01, y: 19.99), - controlPoint2: NSPoint(x: 9.4, y: 19.69)) - outerCog.curve(to: NSPoint(x: 13.02, y: 13.18), - controlPoint1: NSPoint(x: 10.15, y: 16.97), - controlPoint2: NSPoint(x: 11.36, y: 14.87)) - outerCog.curve(to: NSPoint(x: 13.18, y: 11.98), - controlPoint1: NSPoint(x: 13.34, y: 12.86), - controlPoint2: NSPoint(x: 13.4, y: 12.37)) - outerCog.line(to: NSPoint(x: 12.4, y: 10.64)) - outerCog.curve(to: NSPoint(x: 13.13, y: 7.9), - controlPoint1: NSPoint(x: 11.85, y: 9.68), - controlPoint2: NSPoint(x: 12.18, y: 8.46)) - outerCog.line(to: NSPoint(x: 14.87, y: 6.9)) - outerCog.curve(to: NSPoint(x: 17.6, y: 7.64), - controlPoint1: NSPoint(x: 15.79, y: 6.37), - controlPoint2: NSPoint(x: 17.07, y: 6.73)) - outerCog.line(to: NSPoint(x: 18.38, y: 8.99)) - outerCog.curve(to: NSPoint(x: 19.49, y: 9.46), - controlPoint1: NSPoint(x: 18.6, y: 9.38), - controlPoint2: NSPoint(x: 19.06, y: 9.57)) - outerCog.curve(to: NSPoint(x: 26.51, y: 9.45), - controlPoint1: NSPoint(x: 21.86, y: 8.84), - controlPoint2: NSPoint(x: 24.14, y: 8.84)) - outerCog.curve(to: NSPoint(x: 26.76, y: 9.49), - controlPoint1: NSPoint(x: 26.59, y: 9.48), - controlPoint2: NSPoint(x: 26.67, y: 9.49)) - outerCog.close() - outerCog.move(to: NSPoint(x: 30.14, y: 4.64)) - outerCog.curve(to: NSPoint(x: 26.67, y: 6.64), - controlPoint1: NSPoint(x: 28.71, y: 4.64), - controlPoint2: NSPoint(x: 27.38, y: 5.4)) - outerCog.line(to: NSPoint(x: 26.26, y: 7.34)) - outerCog.curve(to: NSPoint(x: 19.74, y: 7.34), - controlPoint1: NSPoint(x: 24.06, y: 6.88), - controlPoint2: NSPoint(x: 21.94, y: 6.88)) - outerCog.line(to: NSPoint(x: 19.33, y: 6.64)) - outerCog.curve(to: NSPoint(x: 15.86, y: 4.64), - controlPoint1: NSPoint(x: 18.62, y: 5.4), - controlPoint2: NSPoint(x: 17.29, y: 4.64)) - outerCog.curve(to: NSPoint(x: 13.87, y: 5.17), - controlPoint1: NSPoint(x: 15.16, y: 4.64), - controlPoint2: NSPoint(x: 14.47, y: 4.82)) - outerCog.line(to: NSPoint(x: 12.13, y: 6.17)) - outerCog.curve(to: NSPoint(x: 10.67, y: 11.64), - controlPoint1: NSPoint(x: 10.22, y: 7.28), - controlPoint2: NSPoint(x: 9.57, y: 9.73)) - outerCog.line(to: NSPoint(x: 11.07, y: 12.34)) - outerCog.curve(to: NSPoint(x: 7.81, y: 17.99), - controlPoint1: NSPoint(x: 9.61, y: 13.97), - controlPoint2: NSPoint(x: 8.5, y: 15.9)) - outerCog.line(to: NSPoint(x: 7, y: 17.99)) - outerCog.curve(to: NSPoint(x: 3, y: 21.99), - controlPoint1: NSPoint(x: 4.79, y: 17.99), - controlPoint2: NSPoint(x: 3, y: 19.79)) - outerCog.line(to: NSPoint(x: 3, y: 23.99)) - outerCog.curve(to: NSPoint(x: 7, y: 27.99), - controlPoint1: NSPoint(x: 3, y: 26.2), - controlPoint2: NSPoint(x: 4.79, y: 27.99)) - outerCog.line(to: NSPoint(x: 7.81, y: 27.99)) - outerCog.curve(to: NSPoint(x: 11.07, y: 33.65), - controlPoint1: NSPoint(x: 8.5, y: 30.08), - controlPoint2: NSPoint(x: 9.61, y: 32.02)) - outerCog.line(to: NSPoint(x: 10.67, y: 34.35)) - outerCog.curve(to: NSPoint(x: 12.13, y: 39.81), - controlPoint1: NSPoint(x: 9.57, y: 36.26), - controlPoint2: NSPoint(x: 10.22, y: 38.71)) - outerCog.line(to: NSPoint(x: 13.87, y: 40.81)) - outerCog.curve(to: NSPoint(x: 15.86, y: 41.35), - controlPoint1: NSPoint(x: 14.47, y: 41.16), - controlPoint2: NSPoint(x: 15.16, y: 41.35)) - outerCog.curve(to: NSPoint(x: 19.33, y: 39.35), - controlPoint1: NSPoint(x: 17.29, y: 41.35), - controlPoint2: NSPoint(x: 18.62, y: 40.58)) - outerCog.line(to: NSPoint(x: 19.74, y: 38.64)) - outerCog.curve(to: NSPoint(x: 26.26, y: 38.64), - controlPoint1: NSPoint(x: 21.94, y: 39.11), - controlPoint2: NSPoint(x: 24.06, y: 39.11)) - outerCog.line(to: NSPoint(x: 26.67, y: 39.35)) - outerCog.curve(to: NSPoint(x: 30.14, y: 41.35), - controlPoint1: NSPoint(x: 27.38, y: 40.58), - controlPoint2: NSPoint(x: 28.71, y: 41.35)) - outerCog.curve(to: NSPoint(x: 32.13, y: 40.81), - controlPoint1: NSPoint(x: 30.84, y: 41.35), - controlPoint2: NSPoint(x: 31.53, y: 41.16)) - outerCog.line(to: NSPoint(x: 33.87, y: 39.81)) - outerCog.curve(to: NSPoint(x: 35.33, y: 34.35), - controlPoint1: NSPoint(x: 35.78, y: 38.71), - controlPoint2: NSPoint(x: 36.43, y: 36.26)) - outerCog.line(to: NSPoint(x: 34.93, y: 33.65)) - outerCog.curve(to: NSPoint(x: 38.19, y: 27.99), - controlPoint1: NSPoint(x: 36.39, y: 32.02), - controlPoint2: NSPoint(x: 37.5, y: 30.08)) - outerCog.line(to: NSPoint(x: 39, y: 27.99)) - outerCog.curve(to: NSPoint(x: 43, y: 23.99), - controlPoint1: NSPoint(x: 41.21, y: 27.99), - controlPoint2: NSPoint(x: 43, y: 26.2)) - outerCog.line(to: NSPoint(x: 43, y: 21.99)) - outerCog.curve(to: NSPoint(x: 39, y: 17.99), - controlPoint1: NSPoint(x: 43, y: 19.79), - controlPoint2: NSPoint(x: 41.21, y: 17.99)) - outerCog.line(to: NSPoint(x: 38.19, y: 17.99)) - outerCog.curve(to: NSPoint(x: 34.93, y: 12.34), - controlPoint1: NSPoint(x: 37.5, y: 15.9), - controlPoint2: NSPoint(x: 36.39, y: 13.97)) - outerCog.line(to: NSPoint(x: 35.33, y: 11.64)) - outerCog.curve(to: NSPoint(x: 33.87, y: 6.17), - controlPoint1: NSPoint(x: 36.43, y: 9.73), - controlPoint2: NSPoint(x: 35.78, y: 7.28)) - outerCog.line(to: NSPoint(x: 32.13, y: 5.17)) - outerCog.curve(to: NSPoint(x: 30.14, y: 4.64), - controlPoint1: NSPoint(x: 31.53, y: 4.82), - controlPoint2: NSPoint(x: 30.84, y: 4.64)) - outerCog.close() - outerCog.fill() - - let innerCircle = NSBezierPath() - innerCircle.move(to: NSPoint(x: 23, y: 29.99)) - innerCircle.curve(to: NSPoint(x: 16, y: 22.99), - controlPoint1: NSPoint(x: 19.14, y: 29.99), - controlPoint2: NSPoint(x: 16, y: 26.85)) - innerCircle.curve(to: NSPoint(x: 23, y: 15.99), - controlPoint1: NSPoint(x: 16, y: 19.13), - controlPoint2: NSPoint(x: 19.14, y: 15.99)) - innerCircle.curve(to: NSPoint(x: 30, y: 22.99), - controlPoint1: NSPoint(x: 26.86, y: 15.99), - controlPoint2: NSPoint(x: 30, y: 19.13)) - innerCircle.curve(to: NSPoint(x: 23, y: 29.99), - controlPoint1: NSPoint(x: 30, y: 26.85), - controlPoint2: NSPoint(x: 26.86, y: 29.99)) - innerCircle.close() - innerCircle.move(to: NSPoint(x: 23, y: 13.99)) - innerCircle.curve(to: NSPoint(x: 14, y: 22.99), - controlPoint1: NSPoint(x: 18.04, y: 13.99), - controlPoint2: NSPoint(x: 14, y: 18.03)) - innerCircle.curve(to: NSPoint(x: 23, y: 31.99), - controlPoint1: NSPoint(x: 14, y: 27.96), - controlPoint2: NSPoint(x: 18.04, y: 31.99)) - innerCircle.curve(to: NSPoint(x: 32, y: 22.99), - controlPoint1: NSPoint(x: 27.96, y: 31.99), - controlPoint2: NSPoint(x: 32, y: 27.96)) - innerCircle.curve(to: NSPoint(x: 23, y: 13.99), - controlPoint1: NSPoint(x: 32, y: 18.03), - controlPoint2: NSPoint(x: 27.96, y: 13.99)) - innerCircle.close() - innerCircle.fill() - } -} diff --git a/launchers/macosx/I2PLauncher/userinterface/Style2019/ServiceTableRowView.swift b/launchers/macosx/I2PLauncher/userinterface/Style2019/ServiceTableRowView.swift deleted file mode 100644 index 1c982ca2f9..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/Style2019/ServiceTableRowView.swift +++ /dev/null @@ -1,37 +0,0 @@ -// -// ServiceTableRowView.swift -// I2PLauncher -// -// Created by Mikal Villa on 19/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Cocoa - -class ServiceTableRowView: NSTableRowView { - var showSeparator = true - var gradient: CAGradientLayer? - - override func layout() { - super.layout() - - let width = frame.size.width - let height = frame.size.height - - let gradient = self.gradient ?? CAGradientLayer() - - gradient.isHidden = !showSeparator - - self.wantsLayer = true - self.layer?.insertSublayer(gradient, at: 0) - self.gradient = gradient - - let separatorColor = NSColor.quaternaryLabelColor.cgColor - gradient.colors = [NSColor.clear.cgColor, separatorColor, separatorColor, separatorColor, NSColor.clear.cgColor] - gradient.locations = [0, 0.3, 0.5, 0.70, 1] - gradient.startPoint = CGPoint(x: 0, y: 0.5) - gradient.endPoint = CGPoint(x: 1, y: 0.5) - gradient.frame = CGRect(x: 0, y: height - 1, width: width, height: 1) - } -} - diff --git a/launchers/macosx/I2PLauncher/userinterface/Style2019/ServiceTableViewController.swift b/launchers/macosx/I2PLauncher/userinterface/Style2019/ServiceTableViewController.swift deleted file mode 100644 index ad9acb7a09..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/Style2019/ServiceTableViewController.swift +++ /dev/null @@ -1,266 +0,0 @@ -// -// ServiceTableViewController.swift -// I2PLauncher -// -// Created by Mikal Villa on 20/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Cocoa -import SnapKit -import MBPopup - -class ServiceTableViewController: NSObject, SwitchableTableViewController { - let contentView = NSStackView(frame: CGRect(x: 0, y: 0, width: 220, height: 400)) - let scrollView = CustomScrollView() - let tableView = NSTableView() - let bottomBar = BottomBar() - let addServicesNoticeField = NSTextField() - - var editorTableViewController: EditorTableViewController - - var services: [BaseService] = [I2PRouterService(),HttpTunnelService(),IrcTunnelService()] { - didSet { - addServicesNoticeField.isHidden = services.count > 0 - } - } - - var servicesBeingUpdated = [BaseService]() - var generalStatus: ServiceStatus { - let hasBadServices = services.first { $0.status > .stopped } != nil - - return hasBadServices ? .killed : .started - } - - var hidden: Bool = false - - var updateCallback: (() -> Void)? - - override init() { - self.editorTableViewController = EditorTableViewController(contentView: contentView, scrollView: scrollView) - super.init() - } - - func setup() { - //bottomBar.reloadServicesCallback = (NSApp.delegate as? SwiftApplicationDelegate)!.updateServices - - bottomBar.openSettingsCallback = { [weak self] in - self?.hide() - self?.editorTableViewController.show() - } - - bottomBar.closeSettingsCallback = { [weak self] in - self?.editorTableViewController.hide() - self?.show() - } - - contentView.snp.makeConstraints { make in - make.left.right.bottom.equalTo(0) - make.width.greaterThanOrEqualTo(220) - make.height.greaterThanOrEqualTo(40 + 30 + 2) // tableView.rowHeight + bottomBar.frame.size.height + 2 - } - - contentView.addSubview(scrollView) - contentView.addSubview(bottomBar) - - scrollView.snp.makeConstraints { make in - scrollView.topConstraint = make.top.equalToSuperview().constraint - make.left.right.equalTo(0) - } - - bottomBar.snp.makeConstraints { make in - make.width.equalToSuperview() - make.top.equalTo(scrollView.snp.bottom) - make.height.equalTo(30) - make.left.right.equalTo(0) - make.bottom.equalTo(0) - } - - contentView.addSubview(addServicesNoticeField) - addServicesNoticeField.snp.makeConstraints { make in - make.height.equalTo(22) - make.left.right.equalTo(0) - make.centerY.equalToSuperview().offset(-14) - } - - scrollView.borderType = .noBorder - scrollView.hasVerticalScroller = true - scrollView.hasHorizontalScroller = false - scrollView.autoresizesSubviews = true - scrollView.documentView = tableView - scrollView.drawsBackground = false - scrollView.wantsLayer = true - scrollView.layer?.cornerRadius = 6 - - tableView.frame = scrollView.bounds - let column = NSTableColumn(identifier: NSUserInterfaceItemIdentifier(rawValue: "serviceColumnIdentifier")) - column.width = tableView.frame.size.width - tableView.addTableColumn(column) - tableView.autoresizesSubviews = true - tableView.wantsLayer = true - tableView.layer?.cornerRadius = 6 - tableView.headerView = nil - tableView.rowHeight = 40 - tableView.gridStyleMask = NSTableView.GridLineStyle.init(rawValue: 0) - tableView.dataSource = self - tableView.delegate = self - tableView.selectionHighlightStyle = .none - tableView.backgroundColor = NSColor.clear - - addServicesNoticeField.isEditable = false - addServicesNoticeField.isBordered = false - addServicesNoticeField.isSelectable = false - - let italicFont = NSFontManager.shared.font( - withFamily: NSFont.systemFont(ofSize: 13).fontName, - traits: NSFontTraitMask.italicFontMask, - weight: 5, - size: 13 - ) - - addServicesNoticeField.font = italicFont - addServicesNoticeField.textColor = NSColor.textColor - addServicesNoticeField.maximumNumberOfLines = 1 - addServicesNoticeField.cell!.truncatesLastVisibleLine = true - addServicesNoticeField.alignment = .center - addServicesNoticeField.stringValue = "Oh, maybe too empty? :)" - addServicesNoticeField.backgroundColor = .clear - } - - func willOpenPopup() { - resizeViews() - reloadData() - - if case let .updated(date) = bottomBar.status { - if Date().timeIntervalSince1970 - date.timeIntervalSince1970 > 60 { - //(NSApp.delegate as? SwiftApplicationDelegate)?.updateServices() - } - } - } - - func willShow() { - scrollView.topConstraint?.update(offset: 0) - scrollView.documentView = tableView - - if editorTableViewController.selectionChanged { - //self.services = ["I2PRouter","HttpTunnel"]//Preferences.shared.selectedServices - reloadData() - - //(NSApp.delegate as? SwiftApplicationDelegate)?.updateServices() - } else { - addServicesNoticeField.isHidden = services.count > 0 - } - - resizeViews() - } - - func willHide() { - addServicesNoticeField.isHidden = true - } - - func resizeViews() { - var frame = scrollView.frame - frame.size.height = min(tableView.intrinsicContentSize.height, 490) - scrollView.frame = frame - - //(NSApp.delegate as? SwiftApplicationDelegate)?.popupController.resizePopup(height: scrollView.frame.size.height + bottomBar.frame.size.height) - } - - func reloadData(at index: Int? = nil) { - services.sort() - - bottomBar.updateStatusText() - - guard index != nil else { - tableView.reloadData() - return - } - - tableView.reloadData(forRowIndexes: IndexSet(integer: index!), columnIndexes: IndexSet(integer: 0)) - } - - func updateServices(updateCallback: @escaping () -> Void) { - self.servicesBeingUpdated = [Service]() - - guard services.count > 0 else { - reloadData() - bottomBar.status = .updated(Date()) - - self.updateCallback?() - self.updateCallback = nil - - return - } - - self.updateCallback = updateCallback - let serviceCallback: ((BaseService) -> Void) = { [weak self] service in self?.updatedStatus(for: service) } - - bottomBar.status = .updating - - services.forEach { - servicesBeingUpdated.append($0) - $0.updateStatus(callback: serviceCallback) - } - } - - func updatedStatus(for service: BaseService) { - if let index = servicesBeingUpdated.index(of: service) { - servicesBeingUpdated.remove(at: index) - } - - DispatchQueue.main.async { [weak self] in - self?.reloadData() - - if self?.servicesBeingUpdated.count == 0 { - self?.bottomBar.status = .updated(Date()) - - self?.updateCallback?() - self?.updateCallback = nil - } - } - } -} - -extension ServiceTableViewController: NSTableViewDataSource { - func numberOfRows(in tableView: NSTableView) -> Int { - return services.count - } - - func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? { - return nil - } -} - -extension ServiceTableViewController: NSTableViewDelegate { - func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? { - let identifier = tableColumn?.identifier ?? NSUserInterfaceItemIdentifier(rawValue: "identifier") - let cell = tableView.makeView(withIdentifier: identifier, owner: self) ?? StatusTableCell() - - guard let view = cell as? StatusTableCell else { return nil } - guard let service = services[row] as? Service else { return nil } - - view.textField?.stringValue = service.name - view.statusField.stringValue = service.message - view.statusIndicator.status = service.status - - return view - } - - func tableView(_ tableView: NSTableView, rowViewForRow row: Int) -> NSTableRowView? { - let cellIdentifier = NSUserInterfaceItemIdentifier(rawValue: "rowView") - let cell = tableView.makeView(withIdentifier: cellIdentifier, owner: self) ?? ServiceTableRowView() - - guard let view = cell as? ServiceTableRowView else { return nil } - - view.showSeparator = row + 1 < services.count - - return view - } - - func tableView(_ tableView: NSTableView, shouldSelectRow row: Int) -> Bool { - guard let _ = services[row] as? Service else { return false } - - //NSWorkspace.shared.open(service.url) - return false - } -} diff --git a/launchers/macosx/I2PLauncher/userinterface/Style2019/StatusIndicator.swift b/launchers/macosx/I2PLauncher/userinterface/Style2019/StatusIndicator.swift deleted file mode 100644 index 2e8cb1ceb9..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/Style2019/StatusIndicator.swift +++ /dev/null @@ -1,62 +0,0 @@ -// -// StatusIndicator.swift -// I2PLauncher -// -// Created by Mikal Villa on 09/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Cocoa - -class StatusIndicator: NSView { - var checkmarkIcon = CheckmarkIcon() - var crossIcon = CrossIcon() - - var status: ServiceStatus = .started { - didSet { - checkmarkIcon.isHidden = status > .stopped - crossIcon.isHidden = status <= .stopped - - switch status { - case .undetermined: crossIcon.color = StatusColor.gray - case .waiting: checkmarkIcon.color = StatusColor.gray - case .started: checkmarkIcon.color = StatusColor.green - case .notice: checkmarkIcon.color = StatusColor.green - case .killed: checkmarkIcon.color = StatusColor.red - case .crashed: checkmarkIcon.color = StatusColor.red - case .stopped: crossIcon.color = StatusColor.blue - case .restarting: crossIcon.color = StatusColor.orange - } - } - } - - init() { - super.init(frame: NSRect.zero) - commonInit() - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - commonInit() - } - - private func commonInit() { - addSubview(checkmarkIcon) - addSubview(crossIcon) - } - - override func setFrameSize(_ newSize: NSSize) { - super.setFrameSize(newSize) - - checkmarkIcon.frame = bounds - crossIcon.frame = bounds - } -} - -class StatusColor { - static var green = NSColor(calibratedRed: 0.36, green: 0.68, blue: 0.46, alpha: 1) - static var blue = NSColor(calibratedRed: 0.24, green: 0.54, blue: 1, alpha: 0.8) - static var orange = NSColor.orange - static var red = NSColor(calibratedRed: 0.9, green: 0.4, blue: 0.23, alpha: 1) - static var gray = NSColor.tertiaryLabelColor -} diff --git a/launchers/macosx/I2PLauncher/userinterface/Style2019/StatusTableCell.swift b/launchers/macosx/I2PLauncher/userinterface/Style2019/StatusTableCell.swift deleted file mode 100644 index d050e31e6d..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/Style2019/StatusTableCell.swift +++ /dev/null @@ -1,78 +0,0 @@ -// -// StatusTableCell.swift -// I2PLauncher -// -// Created by Mikal Villa on 18/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Cocoa -import SnapKit - -class StatusTableCell: NSTableCellView { - let statusIndicator = StatusIndicator() - let statusField = NSTextField() - - override init(frame frameRect: NSRect) { - super.init(frame: frameRect) - commonInit() - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - commonInit() - } - - private func commonInit() { - statusIndicator.scaleUnitSquare(to: NSSize(width: 0.3, height: 0.3)) - addSubview(statusIndicator) - - statusIndicator.snp.makeConstraints { make in - make.height.width.equalTo(14) - make.left.equalTo(8) - make.centerY.equalToSuperview() - } - - let textField = NSTextField() - textField.isEditable = false - textField.isBordered = false - textField.isSelectable = false - self.textField = textField - let font = NSFont.systemFont(ofSize: 12) - textField.font = font - textField.textColor = NSColor.labelColor - textField.backgroundColor = NSColor.clear - addSubview(textField) - - textField.snp.makeConstraints { make in - make.height.equalTo(18) - make.leading.equalTo(statusIndicator.snp.trailing).offset(4) - make.trailing.equalTo(8) - make.centerY.equalToSuperview().offset(-8) - } - - statusField.isEditable = false - statusField.isBordered = false - statusField.isSelectable = false - - let italicFont = NSFontManager.shared.font( - withFamily: font.fontName, - traits: NSFontTraitMask.italicFontMask, - weight: 5, - size: 10 - ) - statusField.font = italicFont - statusField.textColor = NSColor.secondaryLabelColor - statusField.maximumNumberOfLines = 1 - statusField.cell!.truncatesLastVisibleLine = true - statusField.backgroundColor = NSColor.clear - addSubview(statusField) - - statusField.snp.makeConstraints { make in - make.height.equalTo(18) - make.leading.equalTo(statusIndicator.snp.trailing).offset(4) - make.trailing.equalToSuperview().offset(-8) - make.centerY.equalToSuperview().offset(10) - } - } -} diff --git a/launchers/macosx/I2PLauncher/userinterface/Style2019/SwitchableTableViewController.swift b/launchers/macosx/I2PLauncher/userinterface/Style2019/SwitchableTableViewController.swift deleted file mode 100644 index 4999bfb5e9..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/Style2019/SwitchableTableViewController.swift +++ /dev/null @@ -1,31 +0,0 @@ -// -// SwitchableTableViewController.swift -// I2PLauncher -// -// Created by Mikal Villa on 30/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Cocoa - -protocol SwitchableTableViewController { - var hidden: Bool { get set } - - mutating func show() - mutating func hide() - func willShow() - func willHide() -} - -extension SwitchableTableViewController { - mutating func show() { - self.hidden = false - self.willShow() - } - - mutating func hide() { - self.hidden = true - self.willHide() - } -} - diff --git a/launchers/macosx/I2PLauncher/userinterface/preferences/AdvancedTableView.swift b/launchers/macosx/I2PLauncher/userinterface/preferences/AdvancedTableView.swift deleted file mode 100644 index 76a4bb3d17..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/preferences/AdvancedTableView.swift +++ /dev/null @@ -1,17 +0,0 @@ -// -// AdvancedTableView.swift -// I2PLauncher -// -// Created by Mikal Villa on 08/12/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Cocoa - - -class AdvancedTableView: NSTableView { - override func viewWillDraw() { - super.viewWillDraw() - } -} - diff --git a/launchers/macosx/I2PLauncher/userinterface/preferences/PreferencesViewController+TableView.swift b/launchers/macosx/I2PLauncher/userinterface/preferences/PreferencesViewController+TableView.swift deleted file mode 100644 index b9bf125e56..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/preferences/PreferencesViewController+TableView.swift +++ /dev/null @@ -1,96 +0,0 @@ -// -// PreferencesViewController+TableView.swift -// I2PLauncher -// -// Created by Mikal Villa on 08/12/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Cocoa - -extension PreferencesViewController: NSTableViewDataSource { - - func numberOfRows(in tableView: NSTableView) -> Int { - return Preferences.shared().count - } - -} - -extension PreferencesViewController: NSTableViewDelegate { - - fileprivate enum CellIdentifiers { - static let NameCell = "KeyColumnID" - static let DefaultCell = "DefaultColumnID" - static let ValueCell = "ValueColumnID" - } - - @objc func tableViewDoubleClick(_ sender:AnyObject) { - print("Double click") - // 1 - print(self.advPrefTableView.selectedRow) - guard self.advPrefTableView.selectedRow >= 0, - let item = Preferences.shared()[self.advPrefTableView.selectedRow] else { - return - } - print(item.name as Any) - /* - if item.isFolder { - // 2 - self.representedObject = item.url as Any - } - else { - // 3 - NSWorkspace.shared().open(item.url as URL) - } - */ - } - - func tableView(_ tableView: NSTableView, sortDescriptorsDidChange oldDescriptors: [NSSortDescriptor]) { - // 1 - guard let /*sortDescriptor*/ _ = self.advPrefTableView.sortDescriptors.first else { - return - } - /*if let order = Directory.FileOrder(rawValue: sortDescriptor.key!) { - // 2 - sortOrder = order - sortAscending = sortDescriptor.ascending - reloadFileList() - }*/ - } - - - func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? { - - //var image: NSImage? - var text: String = "" - var cellIdentifier: String = "" - - - // 1 - guard let item = Preferences.shared()[row] else { - return nil - } - - // 2 - if tableColumn == tableView.tableColumns[0] { - text = item.name! - cellIdentifier = CellIdentifiers.NameCell - } else if tableColumn == tableView.tableColumns[1] { - text = "\(item.defaultValue ?? "")" - cellIdentifier = CellIdentifiers.DefaultCell - } else if tableColumn == tableView.tableColumns[2] { - let thing = (item.selectedValue ?? "none") - text = "\(thing)" - cellIdentifier = CellIdentifiers.ValueCell - } - - // 3 - if let cell = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: cellIdentifier), owner: nil) as? NSTableCellView { - cell.textField?.stringValue = text - //cell.imageView?.image = image ?? nil - return cell - } - return nil - } - -} diff --git a/launchers/macosx/I2PLauncher/userinterface/preferences/PreferencesViewController.swift b/launchers/macosx/I2PLauncher/userinterface/preferences/PreferencesViewController.swift deleted file mode 100644 index 1ce3b78cf5..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/preferences/PreferencesViewController.swift +++ /dev/null @@ -1,290 +0,0 @@ -// -// PreferencesViewController.swift -// I2PLauncher -// -// Created by Mikal Villa on 07/11/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// -// Table view programming guide from Apple: -// https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/TableView/Introduction/Introduction.html -// - -import Cocoa -import ServiceManagement - - -@objc class PreferencesViewController: NSViewController { - - - var changeDockMenubarIconTimer: Timer? - - // MARK: - Advanced settings objects - @IBOutlet weak var advPrefTableView: NSTableView! - - // MARK: - Launcher settings objects - @IBOutlet var radioDockIcon: NSButton? - @IBOutlet var radioMenubarIcon: NSButton? - @IBOutlet var radioBothIcon: NSButton? - @IBOutlet var checkboxStartWithOSX: NSButton? - @IBOutlet var checkboxStartFirefoxAlso: NSButton? - - // MARK: - Router objects - @IBOutlet var checkboxStartWithLauncher: NSButton? - @IBOutlet var checkboxStopWithLauncher: NSButton? - @IBOutlet var buttonResetRouterConfig: NSButton? - - @IBAction func onEnterInTextField(_ sender: NSTextField) { - let selectedRowNumber = advPrefTableView.selectedRow - print("Trying to store preferences") - let currentItem = Preferences.shared()[selectedRowNumber] - currentItem?.selectedValue = sender.stringValue - Preferences.shared()[selectedRowNumber] = currentItem - UserDefaults.standard.set(sender.stringValue, forKey: (currentItem?.name)!) - Preferences.shared().syncPref() - } - - override func viewDidLoad() { - super.viewDidLoad() - - self.preferredContentSize = NSMakeSize(self.view.frame.size.width, self.view.frame.size.height) - - if (advPrefTableView != nil) { - // For data feeding and view - advPrefTableView.delegate = self - advPrefTableView.dataSource = self - - // Responding to Double-Click - advPrefTableView.target = self - advPrefTableView.doubleAction = #selector(tableViewDoubleClick(_:)) - - // Always redraw preference items which might have changed state since last draw. - Preferences.shared().redrawPrefTableItems() - - // For sorting - advPrefTableView.tableColumns[0].sortDescriptorPrototype = NSSortDescriptor(key: "name", ascending: true) - advPrefTableView.tableColumns[1].sortDescriptorPrototype = NSSortDescriptor(key: "defaultValue", ascending: true) - advPrefTableView.tableColumns[2].sortDescriptorPrototype = NSSortDescriptor(key: "selectedValue", ascending: true) - - self.advPrefTableView.isEnabled = Preferences.shared().allowAdvancedPreferenceEdit - } - - // Update radio buttons to reflect runtime/stored preferences - self.updateRadioButtonEffect(mode: Preferences.shared().showAsIconMode, withSideEffect: false) - - if (Preferences.shared().stopRouterOnLauncherShutdown) { - self.checkboxStopWithLauncher?.state = NSControl.StateValue.on; - } else { - self.checkboxStopWithLauncher?.state = NSControl.StateValue.off; - } - if (Preferences.shared().startRouterOnLauncherStart) { - self.checkboxStartWithLauncher?.state = NSControl.StateValue.on; - } else { - self.checkboxStartWithLauncher?.state = NSControl.StateValue.off; - } - - - } - - override func viewDidAppear() { - super.viewDidAppear() - - // Update window title - self.parent?.view.window?.title = self.title! - } - - // MARK: - Router settings functions - - @IBAction func checkboxStartRouterWithLauncherClicked(_ sender: NSButton) { - switch sender.state { - case NSControl.StateValue.on: - print("on") - Preferences.shared().startRouterOnLauncherStart = true - case NSControl.StateValue.off: - print("off") - Preferences.shared().startRouterOnLauncherStart = false - default: break - } - } - - @IBAction func checkboxStopRouterWithLauncherClicked(_ sender: NSButton) { - switch sender.state { - case NSControl.StateValue.on: - print("on") - Preferences.shared().stopRouterOnLauncherShutdown = true - case NSControl.StateValue.off: - print("off") - Preferences.shared().stopRouterOnLauncherShutdown = false - default: break - } - } - - @IBAction func buttonResetRouterConfigClicked(_ sender: Any) { - // TODO: Add a modal dialog asking user if they are **really** sure - } - - // MARK: - Launcher settings functions - - @IBAction func checkboxStartLauncherOnOSXStartupClicked(_ sender: NSButton) { - let launcherAppId = "net.i2p.bootstrap.macosx.StartupItemApp" - let startupMgr = Startup() - switch sender.state { - case NSControl.StateValue.on: - print("on") - Preferences.shared()["I2Pref_startLauncherAtLogin"] = true - if (Preferences.shared()["I2Pref_useServiceManagementAsStartupTool"] as! Bool) - { - let success = SMLoginItemSetEnabled(launcherAppId as CFString, true) - print("SMLoginItemSetEnabled returned \(success)....") - } else { - let _ = startupMgr.addLoginItem(Startup.appPath()) - print("Shared file for auto-startup added. (viewable via OSX Preferences -> Users -> Login Items)") - } - case NSControl.StateValue.off: - print("off") - Preferences.shared()["I2Pref_startLauncherAtLogin"] = false - if (Preferences.shared()["I2Pref_useServiceManagementAsStartupTool"] as! Bool) - { - let success = SMLoginItemSetEnabled(launcherAppId as CFString, false) - print("SMLoginItemSetEnabled returned \(success)....") - } else { - let _ = startupMgr.removeLoginItem(Startup.appPath()) - print("Shared file for auto-startup removed (if any). (viewable via OSX Preferences -> Users -> Login Items)") - } - default: break - } - } - @IBAction func checkboxStartFirefoxAlsoAtLaunchClicked(_ sender: NSButton) { - switch sender.state { - case NSControl.StateValue.on: - print("launch firefox: on") - Preferences.shared().alsoStartFirefoxOnLaunch = true - case NSControl.StateValue.off: - print("launch firefox: off") - Preferences.shared().alsoStartFirefoxOnLaunch = false - default: break - } - } - - // MARK: - Radio buttons functions - - func updateDockMenubarIcons(_ mode: Preferences.ShowAsMode) -> Bool { - // Update preferences with latest choise - Preferences.shared().showAsIconMode = mode - // Update runtime - switch mode { - case .bothIcon, .dockIcon: - // Show dock icon - print("Preferences: Update Dock Icon -> Show") - if (!getDockIconStateIsShowing()) { - return triggerDockIconShowHide(showIcon: true) - } - case .menubarIcon: - // Hide dock icon - print("Preferences: Update Dock Icon -> Hide") - if (getDockIconStateIsShowing()) { - return triggerDockIconShowHide(showIcon: false) - } - } - // Note: In reality, this won't ever happen. - // The switch statement above would return before this. - return false - } - - func updateRadioButtonEffect(mode: Preferences.ShowAsMode, withSideEffect: Bool = true) { - changeDockMenubarIconTimer?.invalidate() - - radioDockIcon?.state = NSControl.StateValue.off - radioMenubarIcon?.state = NSControl.StateValue.off - radioBothIcon?.state = NSControl.StateValue.off - - switch mode { - case .bothIcon: - radioBothIcon?.state = NSControl.StateValue.on - case .dockIcon: - radioDockIcon?.state = NSControl.StateValue.on - case .menubarIcon: - radioMenubarIcon?.state = NSControl.StateValue.on - } - - if (withSideEffect) { - if #available(OSX 10.12, *) { - changeDockMenubarIconTimer = Timer.scheduledTimer(withTimeInterval: 0.3, repeats: false, block: { _ in - // If we're on 10.12 or later - let _ = self.updateDockMenubarIcons(mode) - }) - } else { - // Fallback on earlier versions - let _ = self.updateDockMenubarIcons(mode) - } - } - } - - @IBAction func radioBothIconSelected(_ sender: Any) { - updateRadioButtonEffect(mode: Preferences.ShowAsMode.bothIcon) - } - - @IBAction func radioDockIconOnlySelected(_ sender: Any) { - updateRadioButtonEffect(mode: Preferences.ShowAsMode.dockIcon) - } - - @IBAction func radioMenubarOnlySelected(_ sender: Any) { - updateRadioButtonEffect(mode: Preferences.ShowAsMode.menubarIcon) - } - - // MARK: - Triggers - - func triggerDockIconHideShow(showIcon state: Bool) -> Bool { - // Get transform state. - var transformState: ProcessApplicationTransformState - if state { - transformState = ProcessApplicationTransformState(kProcessTransformToForegroundApplication) - } else { - transformState = ProcessApplicationTransformState(kProcessTransformToUIElementApplication) - } - - // Show / hide dock icon. - var psn = ProcessSerialNumber(highLongOfPSN: 0, lowLongOfPSN: UInt32(kCurrentProcess)) - let transformStatus: OSStatus = TransformProcessType(&psn, transformState) - return transformStatus == 0 - } - - func triggerDockIconShowHide(showIcon state: Bool) -> Bool { - var result: Bool - if state { - result = NSApp.setActivationPolicy(NSApplication.ActivationPolicy.regular) - } else { - result = NSApp.setActivationPolicy(NSApplication.ActivationPolicy.accessory) - } - return result - } - - func getDockIconStateIsShowing() -> Bool { - if NSApp.activationPolicy() == NSApplication.ActivationPolicy.regular { - return true - } else { - return false - } - } - - - // MARK: - Advanced - - @IBAction func checkboxEnableAdvancedPreferencesClicked(_ sender: NSButton) { - switch sender.state { - case NSControl.StateValue.on: - print("on") - Preferences.shared().allowAdvancedPreferenceEdit = true - self.advPrefTableView.isEnabled = true - case NSControl.StateValue.off: - print("off") - Preferences.shared().allowAdvancedPreferenceEdit = false - self.advPrefTableView.isEnabled = false - default: break - } - } - - - // End of Class -} - - diff --git a/launchers/macosx/I2PLauncher/userinterface/preferences/PreferencesWindowController.swift b/launchers/macosx/I2PLauncher/userinterface/preferences/PreferencesWindowController.swift deleted file mode 100644 index 1bed6b3d2b..0000000000 --- a/launchers/macosx/I2PLauncher/userinterface/preferences/PreferencesWindowController.swift +++ /dev/null @@ -1,32 +0,0 @@ -// -// PreferencesWindowController.swift -// I2PLauncher -// -// Created by Mikal Villa on 07/11/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Cocoa - -class PreferencesWindowController: NSWindowController, NSWindowDelegate { - - override func windowDidLoad() { - super.windowDidLoad() - - let visualEffect = NSVisualEffectView() - visualEffect.blendingMode = .behindWindow - visualEffect.state = .active - visualEffect.material = .dark - //self.window?.contentView = visualEffect - - //self.window?.titlebarAppearsTransparent = true - //self.window?.styleMask.insert(.fullSizeContentView) - window?.titlebarAppearsTransparent = true - } - - func windowShouldClose(_ sender: NSWindow) -> Bool { - self.window?.orderOut(sender) - return false - } - -} diff --git a/launchers/macosx/ItoopieTransparent.png b/launchers/macosx/ItoopieTransparent.png deleted file mode 100644 index 5edecdc1a19c9f8d7da9f6e646018c408f2efdf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2122 zcmV-Q2(|Z#P)<h;3K|Lk000e1NJLTq000&M000&U1^@s6#I$TX000CTX+uL$YePpv zZ)|UJQ*dEpWk+RhWpZg_Qb$4n062|}Rb6NtRTMtEb7vzY&QokOg><Mt4J8eeRy3is zx_{l>Hg1+lHrgWSWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6 zwD^Ni=!>T7nL9I?X}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8re zhoBb*p;u8ID_yBf0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J z`jH<$>RKN5V(7OqK*TS4xZz{h!*f1<jcI1&EaKCM1yxgOh?fwL%*FUd4Er&#)?c7a zYU`@#<)UJnb={z`aPMLMpKZZth4XF0r_Y(6K7{XKT>C3ECFkK$#7nA@pGN!$;%jYv zwjAKwmYb0gKL(K8-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z> z!FI&AHCpoWI|RUqx?7s@$8!5^Q=anY<?1z>%X@i5{QA6kNcMelpE>R6eCYFpmMsVT zrI(b06~u#xf1yS}_UGdMvD``!0~u-><w<`olA{h=FXLTprs&U03>P=lA4?YN`hilQ z|3tHka)7T{2CGqwjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^ z7T9R1gAN8V6s;5)ieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2b zW$~+pTw@bIek?ZvKPDL<64`^#UNTAck#RBsB6*5DP4<%<vJ+(Q`q)ZrMP58N*8RMU zGg79TMcp~HyP#nIGb&76Q`f944z`9P%PIQ>UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L z_AC5qq~L$#SMj%U$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPV<W~<yewN9Z=dbi# zJXvop4o0k(1^R0FRvAu>M6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6= zb6>{xYV#Ue-+LB$7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re z4r3qYr~6#KE>;1F`>_J_P5xC?ROxV(DIHdCO*p<m6O1H7WQ>$HRQI@7^PwV@Pvuf+ z5K}u-6REM(K@W$srgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5 zh^QEb$V`rCQ-|7ZS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX z2i^rZ^Mu;6+rb@?NPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV z0id6JRRdfL?*IS;>`6pHR5%fhRBdRRRTO^Syvds;d6RxD{a7=zQpB=#1GjeWqs~Tg z?1#=lt5EcZRFttFiZBG(aHt?EBK{FXJ5lBo8Deo?os_JMtt;D<w%E*cn6%xxu5CWr zZb|c<<GF29+I(2g%fo%|Ip=xq;oftvgtg7cDSH@CF|>?pj9$hJqo7FzBa4CkX0!ak zo~ELmO?x%a>VTWq)3|au?)Li=A92d5HTZeMts86f;mf@yA}U^mp}+OixWkZQ*4ufR z>?~BVy|h&BJNc7R9Sj%{jS^mMk0BBvocOvF4?_wZjwu{IMDxS$sDpKGW-lOTJC^2e zw7gi<s+u;yTJjxI$$jV_aN^HD6xh~(kH&3>(beUI<LQ9zVpmF3em+}AlkHfV@80)p z1i^qE)4nO3J#!wzZWF>`J$^ZT8Y3ef$g&NNXJSyzn%&GPq?056dv}kC&RwjeEnBOo z+6MaVoS8<(RcdIEsA+E%bziEWds8Zvl*nFY8*&s1I8J{2sd?eRCVesmAE^8<=4MKf zkwQ^rA=Z6KB}u|{)+lsVIr8m~Z!=PCNo-M6hzp1=S?rXSR%4o($8y;J;ZQl&`_>U5 zAS%s>W#+~7MTe14gb3$7kx!>kSCnzG!_%kTbZ1OP^8pF7@f1Qyg3Fsm$NM^ry=R0q zsn?DpQpauK<opNu7Fg+f!2;dzQP{|XdOFlpM&Ep^Qu}%<9kEx^hZ-AQ#bZR+&S;<( zSc%CO7^^x%-2Ihy+z#XMQ`jJ{<7eRnKL_<~3Eb~A;FJ4RurgPC!X}Zx6q48ky_gm; z!~)BfE$rhAs)d4=a2G??Is90!VE)}=RPaJ+{*nwWWPFZk+~6%%!4C-VGh>zTs`5Gb z)oskb+zf9ZXpvD@X~)qw6>JO(vZz&JQ3<yZf@gC%)@`rF70iV>_`k07tr;X-vPpmN zmByXQz&}Aa!vVx8jTjd-$|@bDap>zR(fDW$&JO++VAp31vB0tw>I$D?G`tqBu~@1% zKZ31oPoi^f62GcZB#-S!N!t#L&dlP6Gd+k#q8+T(xvaSKlfB28c!i`$#^+yu4wf=A zG#U*QS;j!m0BX0?AQp{d*MVJd^|>$`n004JE640T&cyt4{<%=UvmX-QS-v3%1w$CU zHHJIxyHFGzyn|lEqY06}aC#YHW-PQ75lT~u|6ZUuHXnm$(1W3CE{OloOb8R+39fz+ z)8o^gL_F~hi-j_RYmMSj`BJCoNN>=SNi~t#VkWIlOXbz&R8~>8;O881aP|4b3hlAT z)o?Xec}&N+AJ`r;CVdk=@s9WzqDtWt??sON3q}R3s~=-&n*aa+07*qoM6N<$f)HvO ARR910 diff --git a/launchers/macosx/Licenses/Kanna.License b/launchers/macosx/Licenses/Kanna.License deleted file mode 100644 index 30070bedd5..0000000000 --- a/launchers/macosx/Licenses/Kanna.License +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 - 2015 Atsushi Kiwaki (@_tid_) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/launchers/macosx/Licenses/MBPopup.License b/launchers/macosx/Licenses/MBPopup.License deleted file mode 100644 index 41c13540e1..0000000000 --- a/launchers/macosx/Licenses/MBPopup.License +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Mahdi Bchetnia 2016 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/launchers/macosx/Licenses/SnapKit.License b/launchers/macosx/Licenses/SnapKit.License deleted file mode 100644 index a18ccfbd95..0000000000 --- a/launchers/macosx/Licenses/SnapKit.License +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/launchers/macosx/Licenses/Sparkle.License b/launchers/macosx/Licenses/Sparkle.License deleted file mode 100644 index 1e9b1c6e6f..0000000000 --- a/launchers/macosx/Licenses/Sparkle.License +++ /dev/null @@ -1,61 +0,0 @@ -Copyright (c) 2006-2013 Andy Matuschak. -Copyright (c) 2009-2013 Elgato Systems GmbH. -Copyright (c) 2011-2014 Kornel LesiÅ„ski. -Copyright (c) 2015-2017 Mayur Pawashe. -Copyright (c) 2014 C.W. Betts. -Copyright (c) 2014 Petroules Corporation. -Copyright (c) 2014 Big Nerd Ranch. -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -================= -EXTERNAL LICENSES -================= - -bspatch.c and bsdiff.c, from bsdiff 4.3 <http://www.daemonology.net/bsdiff/>: - Copyright (c) 2003-2005 Colin Percival. - -sais.c and sais.c, from sais-lite (2010/08/07) <https://sites.google.com/site/yuta256/sais>: - Copyright (c) 2008-2010 Yuta Mori. - -SUDSAVerifier.m: - Copyright (c) 2011 Mark Hamlin. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted providing that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/launchers/macosx/Licenses/SwiftDate.License b/launchers/macosx/Licenses/SwiftDate.License deleted file mode 100644 index 807f30103b..0000000000 --- a/launchers/macosx/Licenses/SwiftDate.License +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2018 Daniele Margutti - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/launchers/macosx/Podfile b/launchers/macosx/Podfile deleted file mode 100644 index da54edc9db..0000000000 --- a/launchers/macosx/Podfile +++ /dev/null @@ -1,14 +0,0 @@ -# Uncomment the next line to define a global platform for your project -# platform :ios, '9.0' -platform :osx, '10.12' - -target 'I2PLauncher' do - # Comment the next line if you're not using Swift and don't want to use dynamic frameworks - use_frameworks! - - # Pods for I2PLauncher - pod 'MBPopup' - pod 'SnapKit' - pod 'SwiftDate' - pod 'Kanna' -end diff --git a/launchers/macosx/README.md b/launchers/macosx/README.md deleted file mode 100644 index 92713a51bb..0000000000 --- a/launchers/macosx/README.md +++ /dev/null @@ -1,55 +0,0 @@ -# The Mac OS X Launcher - -## The Event Manager - -This is some Swift code which makes the application use events to signal the different compoents of the application. This seems to be the cleanest way since we're doing java subprocesses and so on. This can also be named a publish-subscribe system as well. If you're familiar with Javascript it would be a handy skill. - -### Event Overview - -| Event name | Details sent as arguments | Description | -| ------------- | ------------- | ------------- | -| router_start | nothing | This event get triggered when the router starts | -| router_exception | exception message | This will be triggered in case something within the functions that start the java (router) subprocess throws an exception | -| java_found | the location | This will be triggered once the DetectJava swift class has found java | -| router_must_upgrade | nothing | This will be triggered if no I2P is found, or if it's failing to get the version from the jar file | -| extract_completed | nothing | This is triggered when the deployment process is done extracting I2P to it's directory | -| router_can_start | nothing | This event will be triggered when I2P is found and a version number has been found, router won't start before this event | -| router_stop | error if any | Triggered when the router subprocess exits | -| router_pid | the pid number as string | Triggered when we know the pid of the router subprocess | -| router_version | the version string | Triggered when we have successfully extracted current I2P version | -| extract_errored | the error message | Triggered if the process didn't exit correctly | -| router_already_running | an error message | Triggered if any processes containing i2p.jar in name/arguments already exists upon router launch | - -## Misc - -**Note** this project is WIP, cause Meeh has yet to merge in Obj-C/Swift code for GUI stuff in OSX. - -However, this is a thin wrapper launching both Mac OS X trayicon and the I2P router - and make them talk together. - -More code will be merged in, it's just a f* mess which Meeh needs to clean up and move into repo. - -### Java Auto Downloader - -We got a quite reliable source regarding the download url, -https://github.com/Homebrew/homebrew-cask/raw/master/Casks/java.rb - -Homebrew is quite well maintained on OSX and any updates at Oracle should quickly reflect to brew, which again will be noticed upon builds. - -## Howto build - -You can both build the project from the Xcode UI or you can build it from command line. - -An example build command: -`REPACK_I2P=1 xcodebuild -target I2PLauncher -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk` - -**Note** you don't need REPACK_I2P except for the first build, and each time you wish to repack the zip file containing i2p. - -## Objective-C / Swift Links - -* https://nshipster.com/at-compiler-directives/ -* https://developer.apple.com/documentation/swift/cocoa_design_patterns/handling_cocoa_errors_in_swift -* https://content.pivotal.io/blog/rails-to-ios-what-the-are-these-symbols-in-my-code -* https://mackuba.eu/2008/10/05/learn-objective-c-in-30-minutes/ -* https://en.wikipedia.org/wiki/Objective-C -* http://cocoadevcentral.com/d/learn_objectivec/ - diff --git a/launchers/macosx/RouterWrapper/main.swift b/launchers/macosx/RouterWrapper/main.swift deleted file mode 100644 index e240b221fd..0000000000 --- a/launchers/macosx/RouterWrapper/main.swift +++ /dev/null @@ -1,54 +0,0 @@ -// -// main.swift -// RouterWrapper -// -// Created by Mikal Villa on 24/04/2019. -// Copyright © 2019 The I2P Project. All rights reserved. -// - -import Foundation - -let applicationsSupportPath: URL = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask).first! - -let defaultStartupFlags:[String] = [ - "-Djava.awt.headless=true", - "".appendingFormat("-Di2p.base.dir=%@", Preferences.shared().i2pBaseDirectory), - "".appendingFormat("-Dwrapper.logfile=%@/i2p/router.log", applicationsSupportPath.absoluteString), - "".appendingFormat("-Dwrapper.java.pidfile=%@/i2p/router.pid", applicationsSupportPath.absoluteString), - "-Dwrapper.logfile.loglevel=DEBUG", // TODO: Allow loglevel to be set from Preferences? - "-Dwrapper.console.loglevel=DEBUG", - "net.i2p.router.Router" -] - -let javaCliArgs = Preferences.shared().javaCommandPath.splitByWhitespace() - -let daemonPath = javaCliArgs[0] -let arguments = defaultStartupFlags.joined(separator: " ") - -let basePath = Preferences.shared().i2pBaseDirectory - -let jars = try! FileManager.default.contentsOfDirectory(atPath: basePath+"/lib") -var classpath:String = "." -for jar in jars { - if (jar.hasSuffix(".jar")) { - classpath += ":"+basePath+"/lib/"+jar - } -} - -var cliArgs:[String] = [] -cliArgs.append(contentsOf: javaCliArgs.dropFirst()) -cliArgs.append(contentsOf: [ - "-cp", - classpath, - ]) -// This allow java arguments to be passed from the settings -cliArgs.append(contentsOf: Preferences.shared().javaCommandOptions.splitByWhitespace()) -cliArgs.append(contentsOf: defaultStartupFlags) - -print(cliArgs) - -let javaProc = Subprocess.init(executablePath: daemonPath, arguments: cliArgs, workingDirectory: basePath) - -let exitCode = javaProc.run() - -print("Exited with code \(exitCode)") diff --git a/launchers/macosx/StartupItemApp/AppDelegate.swift b/launchers/macosx/StartupItemApp/AppDelegate.swift deleted file mode 100644 index eed91414ce..0000000000 --- a/launchers/macosx/StartupItemApp/AppDelegate.swift +++ /dev/null @@ -1,53 +0,0 @@ -// -// AppDelegate.swift -// StartupItemApp -// -// Created by Mikal Villa on 21/12/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -import Cocoa - -extension Notification.Name { - static let killLauncher = Notification.Name("killStartupLauncher") -} - -@NSApplicationMain -class AppDelegate: NSObject { - - @objc func terminate() { - NSApp.terminate(nil) - } -} - -extension AppDelegate: NSApplicationDelegate { - - func applicationDidFinishLaunching(_ aNotification: Notification) { - - let runningApps = NSWorkspace.shared.runningApplications - let isRunning = !runningApps.filter { $0.bundleIdentifier == Identifiers.mainApplicationBundleId }.isEmpty - - if !isRunning { - DistributedNotificationCenter.default().addObserver(self, - selector: #selector(self.terminate), - name: .killLauncher, - object: Identifiers.mainApplicationBundleId) - - let path = Bundle.main.bundlePath as NSString - var components = path.pathComponents - components.removeLast() - components.removeLast() - components.removeLast() - components.append("MacOS") - components.append("I2PLauncher") //main app name - - let newPath = NSString.path(withComponents: components) - - NSWorkspace.shared.launchApplication(newPath) - } - else { - self.terminate() - } - } -} - diff --git a/launchers/macosx/StartupItemApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/launchers/macosx/StartupItemApp/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 2db2b1c7c6..0000000000 --- a/launchers/macosx/StartupItemApp/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,58 +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" - }, - { - "idiom" : "mac", - "size" : "512x512", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/launchers/macosx/StartupItemApp/Assets.xcassets/Contents.json b/launchers/macosx/StartupItemApp/Assets.xcassets/Contents.json deleted file mode 100644 index da4a164c91..0000000000 --- a/launchers/macosx/StartupItemApp/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/launchers/macosx/StartupItemApp/Info.plist b/launchers/macosx/StartupItemApp/Info.plist deleted file mode 100644 index 1838b63020..0000000000 --- a/launchers/macosx/StartupItemApp/Info.plist +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>$(DEVELOPMENT_LANGUAGE)</string> - <key>CFBundleExecutable</key> - <string>$(EXECUTABLE_NAME)</string> - <key>CFBundleIconFile</key> - <string></string> - <key>CFBundleIdentifier</key> - <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleName</key> - <string>$(PRODUCT_NAME)</string> - <key>CFBundlePackageType</key> - <string>APPL</string> - <key>CFBundleShortVersionString</key> - <string>1.0</string> - <key>CFBundleVersion</key> - <string>1</string> - <key>LSBackgroundOnly</key> - <true/> - <key>LSMinimumSystemVersion</key> - <string>$(MACOSX_DEPLOYMENT_TARGET)</string> - <key>NSHumanReadableCopyright</key> - <string>Copyright © 2018 The I2P Project. All rights reserved.</string> - <key>NSMainNibFile</key> - <string>MainMenu</string> - <key>NSPrincipalClass</key> - <string>NSApplication</string> -</dict> -</plist> diff --git a/launchers/macosx/StartupItemApp/StartupItemApp.entitlements b/launchers/macosx/StartupItemApp/StartupItemApp.entitlements deleted file mode 100644 index 35dbb596f8..0000000000 --- a/launchers/macosx/StartupItemApp/StartupItemApp.entitlements +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>com.apple.security.app-sandbox</key> - <true/> - <key>com.apple.security.application-groups</key> - <array> - <string>$(TeamIdentifierPrefix).i2p</string> - </array> - <key>com.apple.security.files.user-selected.read-only</key> - <true/> -</dict> -</plist> diff --git a/launchers/macosx/build.sbt b/launchers/macosx/build.sbt deleted file mode 100644 index 5ac371620c..0000000000 --- a/launchers/macosx/build.sbt +++ /dev/null @@ -1,35 +0,0 @@ -import java.io.{File, FileNotFoundException, FileOutputStream} -import java.util.zip._ - -lazy val i2pVersion = "0.9.35" - -lazy val cleanAllTask = taskKey[Unit]("Clean up and remove the OSX bundle") -lazy val buildAppBundleTask = taskKey[Unit](s"Build an Mac OS X bundle for I2P ${i2pVersion}.") -lazy val buildDeployZipTask = taskKey[String](s"Build an zipfile with base directory for I2P ${i2pVersion}.") -lazy val bundleBuildPath = new File("./output") - - -lazy val resDir = new File("./../installer/resources") -lazy val i2pBuildDir = new File("./../pkg-temp") -lazy val warsForCopy = new File(i2pBuildDir, "webapps").list.filter { f => f.endsWith(".war") } -lazy val jarsForCopy = new File(i2pBuildDir, "lib").list.filter { f => f.endsWith(".jar") } - - -// Unmanaged classpath will be available at compile time -unmanagedClasspath in Compile ++= Seq( - baseDirectory.value / ".." / ".." / "pkg-temp" / "lib" / "router.jar", - baseDirectory.value / ".." / ".." / "pkg-temp" / "lib" / "i2p.jar" -) - -unmanagedBase in Compile := baseDirectory.value / ".." / ".." / "pkg-temp" / "lib" - -assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false, includeDependency = false) - -assemblyExcludedJars in assembly := { - val cp = (fullClasspath in assembly).value - cp filter { c => jarsForCopy.toList.contains(c.data.getName) } -} - -javacOptions ++= Seq("-source", "1.7", "-target", "1.7") -scalacOptions in Compile := Seq("-deprecated","-target:jvm-1.7") - diff --git a/launchers/macosx/bumpInfoPlist.sh b/launchers/macosx/bumpInfoPlist.sh deleted file mode 100644 index 28728b4a38..0000000000 --- a/launchers/macosx/bumpInfoPlist.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env ruby -git = `sh /etc/profile; which git`.chomp -app_build = `#{git} rev-list HEAD --count`.chomp.to_i -`/usr/libexec/PlistBuddy -c "Set :CFBundleVersion #{app_build}" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"` -puts "Updated #{ENV['TARGET_BUILD_DIR']}/#{ENV['INFOPLIST_PATH']}" - diff --git a/launchers/macosx/check_latest_java.sh b/launchers/macosx/check_latest_java.sh deleted file mode 100755 index 2f953b2b92..0000000000 --- a/launchers/macosx/check_latest_java.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -SRCROOT=${SRCROOT:-"$DIR"} - -echo "SRCROOT == $SRCROOT" - -java_version=11 -jsubv=28 -randhash="55eed80b163941c8885ad9298e6d786a" -cookie_header="Cookie: oraclelicense=accept-securebackup-cookie" -url="http://download.oracle.com/otn-pub/java/jdk/${java_version}+${jsubv}/${randhash}/jdk-${java_version}_osx-x64_bin.dmg" - -expected_etag="81ee08846975d4b8d46acf3b6eddf103:1531792451.574613" - - -curl -I -H '${cookie_header}' -v -L $url 2> .tmp-java-check.log -up_to_date="$(grep '${expected_etag}' .tmp-java-check.log | perl -pe 'chomp')" - -if [ ! -z "${up_to_date}"]; then - echo "NEW JAVA VERSION!" - cat .tmp-java-check.log - exit 1; -fi - -echo "Java version check: Up to date!"; - -rm -f .tmp-java-check.log - -header_content=$(cat <<EOF -#ifndef __META_DL_JAVA_H__ -#define __META_DL_JAVA_H__ - -#define JAVA_DOWNLOAD_URL "$url" - -#endif // __META_DL_JAVA_H__ -EOF -) - -echo $header_content > $SRCROOT/meta_dl_java.h && echo "Wrote url to file $SRCROOT/meta_dl_java.h" - - diff --git a/launchers/macosx/download_and_build_sparkle.sh b/launchers/macosx/download_and_build_sparkle.sh deleted file mode 100755 index e4e667151c..0000000000 --- a/launchers/macosx/download_and_build_sparkle.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash -git clone --recursive https://github.com/sparkle-project/Sparkle.git -cd Sparkle -git checkout 1.21.3 -xcodebuild -project Sparkle.xcodeproj -configuration Release -target All ARCHS=x86_64 ONLY_ACTIVE_ARCH=YES CONFIGURATION_BUILD_DIR=build clean -xcodebuild -project Sparkle.xcodeproj -configuration Release -target All ARCHS=x86_64 ONLY_ACTIVE_ARCH=YES CONFIGURATION_BUILD_DIR=build - - diff --git a/launchers/macosx/images/128x128-Itoopie Transparent.png b/launchers/macosx/images/128x128-Itoopie Transparent.png deleted file mode 100644 index 6484936a817e5804aa0f73718ca1d454d2864e3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12872 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%0Dd4s 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 diff --git a/launchers/macosx/images/128x128-Itoopie Transparent@2x.png b/launchers/macosx/images/128x128-Itoopie Transparent@2x.png deleted file mode 100644 index ede3adf3c93eb1110e0df7d84c5045f0a04dfee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27642 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 diff --git a/launchers/macosx/images/16x16-Itoopie Transparent@2x.png b/launchers/macosx/images/16x16-Itoopie Transparent@2x.png deleted file mode 100644 index d31fa068d83e48debcb7e987450ea2d837efcf1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2843 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 diff --git a/launchers/macosx/images/256x256-Itoopie Transparent.png b/launchers/macosx/images/256x256-Itoopie Transparent.png deleted file mode 100644 index ede3adf3c93eb1110e0df7d84c5045f0a04dfee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27642 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 diff --git a/launchers/macosx/images/256x256-Itoopie Transparent@2x.png b/launchers/macosx/images/256x256-Itoopie Transparent@2x.png deleted file mode 100644 index 3fd1aa390f23aa8b376a15b46f87112c76a0eaea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60311 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 diff --git a/launchers/macosx/images/32x32-Itoopie Transparent.png b/launchers/macosx/images/32x32-Itoopie Transparent.png deleted file mode 100644 index d31fa068d83e48debcb7e987450ea2d837efcf1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2843 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 diff --git a/launchers/macosx/images/32x32-Itoopie Transparent@2x.png b/launchers/macosx/images/32x32-Itoopie Transparent@2x.png deleted file mode 100644 index 9eac5605c18ad4e7c7c5f70f20349266743e412c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5869 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 De-LH% diff --git a/launchers/macosx/images/512x512-Itoopie Transparent.png b/launchers/macosx/images/512x512-Itoopie Transparent.png deleted file mode 100644 index 3fd1aa390f23aa8b376a15b46f87112c76a0eaea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60311 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 diff --git a/launchers/macosx/images/512x512-Itoopie Transparent@2x.png b/launchers/macosx/images/512x512-Itoopie Transparent@2x.png deleted file mode 100644 index 61780fc9e3f821a1395b5182ea5c386eb233f015..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133970 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%0Doyz3zHNf;IuVExiA#|VD6WL9V?A}+UVhzYT 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 KN|};X$o~VCWIaCs diff --git a/launchers/macosx/images/AppIcon.icns b/launchers/macosx/images/AppIcon.icns deleted file mode 100644 index 73faa6a532bed8ba1baf719d0c9679d4ad679d85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87686 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 SiyP_y0000<MNUMnLSTZsDIfa) diff --git a/launchers/macosx/include/PidWatcher.h b/launchers/macosx/include/PidWatcher.h deleted file mode 100644 index ed738686d0..0000000000 --- a/launchers/macosx/include/PidWatcher.h +++ /dev/null @@ -1,40 +0,0 @@ -#pragma once - -#include <CoreFoundation/CoreFoundation.h> -#include <unistd.h> -#include <sys/event.h> - - -using callbackType = void (CFFileDescriptorRef, CFOptionFlags, void *); -using HandleFunction = std::function<void(int)>; - -static inline void noteProcDeath(CFFileDescriptorRef fdref, CFOptionFlags callBackTypes, void *info) { - struct kevent kev; - int fd = CFFileDescriptorGetNativeDescriptor(fdref); - kevent(fd, NULL, 0, &kev, 1, NULL); - // take action on death of process here - NSLog(@"process with pid '%u' died\n", (unsigned int)kev.ident); - //sendUserNotification(APP_IDSTR, @"The I2P router has stopped."); - CFFileDescriptorInvalidate(fdref); - CFRelease(fdref); // the CFFileDescriptorRef is no longer of any use in this example -} -// one argument, an integer pid to watch, required -int watchPid(int pid, callbackType callback = noteProcDeath) { - int fd = kqueue(); - struct kevent kev; - EV_SET(&kev, pid, EVFILT_PROC, EV_ADD|EV_ENABLE, NOTE_EXIT, 0, NULL); - kevent(fd, &kev, 1, NULL, 0, NULL); - CFFileDescriptorRef fdref = CFFileDescriptorCreate(kCFAllocatorDefault, fd, true, callback, NULL); - CFFileDescriptorEnableCallBacks(fdref, kCFFileDescriptorReadCallBack); - CFRunLoopSourceRef source = CFFileDescriptorCreateRunLoopSource(kCFAllocatorDefault, fdref, 0); - CFRunLoopAddSource(CFRunLoopGetMain(), source, kCFRunLoopDefaultMode); - CFRelease(source); - /* - seconds - The length of time to run the run loop. If 0, only one pass is made through the run loop before returning; - if multiple sources or timers are ready to fire immediately, only one (possibly two if one is a version - 0 source) will be fired, regardless of the value of returnAfterSourceHandled. - */ - CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false); - return 0; -} diff --git a/launchers/macosx/include/any.hpp b/launchers/macosx/include/any.hpp deleted file mode 100644 index c588a0ec47..0000000000 --- a/launchers/macosx/include/any.hpp +++ /dev/null @@ -1,461 +0,0 @@ -// -// Implementation of N4562 std::experimental::any (merged into C++17) for C++11 compilers. -// -// See also: -// + http://en.cppreference.com/w/cpp/any -// + http://en.cppreference.com/w/cpp/experimental/any -// + http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4562.html#any -// + https://cplusplus.github.io/LWG/lwg-active.html#2509 -// -// -// Copyright (c) 2016 Denilson das Mercês Amorim -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef LINB_ANY_HPP -#define LINB_ANY_HPP -#pragma once -#include <typeinfo> -#include <type_traits> -#include <stdexcept> - -namespace linb -{ - -class bad_any_cast : public std::bad_cast -{ -public: - const char* what() const noexcept override - { - return "bad any cast"; - } -}; - -class any final -{ -public: - /// Constructs an object of type any with an empty state. - any() : - vtable(nullptr) - { - } - - /// Constructs an object of type any with an equivalent state as other. - any(const any& rhs) : - vtable(rhs.vtable) - { - if(!rhs.empty()) - { - rhs.vtable->copy(rhs.storage, this->storage); - } - } - - /// Constructs an object of type any with a state equivalent to the original state of other. - /// rhs is left in a valid but otherwise unspecified state. - any(any&& rhs) noexcept : - vtable(rhs.vtable) - { - if(!rhs.empty()) - { - rhs.vtable->move(rhs.storage, this->storage); - rhs.vtable = nullptr; - } - } - - /// Same effect as this->clear(). - ~any() - { - this->clear(); - } - - /// Constructs an object of type any that contains an object of type T direct-initialized with std::forward<ValueType>(value). - /// - /// T shall satisfy the CopyConstructible requirements, otherwise the program is ill-formed. - /// This is because an `any` may be copy constructed into another `any` at any time, so a copy should always be allowed. - template<typename ValueType, typename = typename std::enable_if<!std::is_same<typename std::decay<ValueType>::type, any>::value>::type> - any(ValueType&& value) - { - static_assert(std::is_copy_constructible<typename std::decay<ValueType>::type>::value, - "T shall satisfy the CopyConstructible requirements."); - this->construct(std::forward<ValueType>(value)); - } - - /// Has the same effect as any(rhs).swap(*this). No effects if an exception is thrown. - any& operator=(const any& rhs) - { - any(rhs).swap(*this); - return *this; - } - - /// Has the same effect as any(std::move(rhs)).swap(*this). - /// - /// The state of *this is equivalent to the original state of rhs and rhs is left in a valid - /// but otherwise unspecified state. - any& operator=(any&& rhs) noexcept - { - any(std::move(rhs)).swap(*this); - return *this; - } - - /// Has the same effect as any(std::forward<ValueType>(value)).swap(*this). No effect if a exception is thrown. - /// - /// T shall satisfy the CopyConstructible requirements, otherwise the program is ill-formed. - /// This is because an `any` may be copy constructed into another `any` at any time, so a copy should always be allowed. - template<typename ValueType, typename = typename std::enable_if<!std::is_same<typename std::decay<ValueType>::type, any>::value>::type> - any& operator=(ValueType&& value) - { - static_assert(std::is_copy_constructible<typename std::decay<ValueType>::type>::value, - "T shall satisfy the CopyConstructible requirements."); - any(std::forward<ValueType>(value)).swap(*this); - return *this; - } - - /// If not empty, destroys the contained object. - void clear() noexcept - { - if(!empty()) - { - this->vtable->destroy(storage); - this->vtable = nullptr; - } - } - - /// Returns true if *this has no contained object, otherwise false. - bool empty() const noexcept - { - return this->vtable == nullptr; - } - - /// If *this has a contained object of type T, typeid(T); otherwise typeid(void). - const std::type_info& type() const noexcept - { - return empty()? typeid(void) : this->vtable->type(); - } - - /// Exchange the states of *this and rhs. - void swap(any& rhs) noexcept - { - if(this->vtable != rhs.vtable) - { - any tmp(std::move(rhs)); - - // move from *this to rhs. - rhs.vtable = this->vtable; - if(this->vtable != nullptr) - { - this->vtable->move(this->storage, rhs.storage); - //this->vtable = nullptr; -- uneeded, see below - } - - // move from tmp (previously rhs) to *this. - this->vtable = tmp.vtable; - if(tmp.vtable != nullptr) - { - tmp.vtable->move(tmp.storage, this->storage); - tmp.vtable = nullptr; - } - } - else // same types - { - if(this->vtable != nullptr) - this->vtable->swap(this->storage, rhs.storage); - } - } - -private: // Storage and Virtual Method Table - - union storage_union - { - using stack_storage_t = typename std::aligned_storage<2 * sizeof(void*), std::alignment_of<void*>::value>::type; - - void* dynamic; - stack_storage_t stack; // 2 words for e.g. shared_ptr - }; - - /// Base VTable specification. - struct vtable_type - { - // Note: The caller is responssible for doing .vtable = nullptr after destructful operations - // such as destroy() and/or move(). - - /// The type of the object this vtable is for. - const std::type_info& (*type)() noexcept; - - /// Destroys the object in the union. - /// The state of the union after this call is unspecified, caller must ensure not to use src anymore. - void(*destroy)(storage_union&) noexcept; - - /// Copies the **inner** content of the src union into the yet unitialized dest union. - /// As such, both inner objects will have the same state, but on separate memory locations. - void(*copy)(const storage_union& src, storage_union& dest); - - /// Moves the storage from src to the yet unitialized dest union. - /// The state of src after this call is unspecified, caller must ensure not to use src anymore. - void(*move)(storage_union& src, storage_union& dest) noexcept; - - /// Exchanges the storage between lhs and rhs. - void(*swap)(storage_union& lhs, storage_union& rhs) noexcept; - }; - - /// VTable for dynamically allocated storage. - template<typename T> - struct vtable_dynamic - { - static const std::type_info& type() noexcept - { - return typeid(T); - } - - static void destroy(storage_union& storage) noexcept - { - //assert(reinterpret_cast<T*>(storage.dynamic)); - delete reinterpret_cast<T*>(storage.dynamic); - } - - static void copy(const storage_union& src, storage_union& dest) - { - dest.dynamic = new T(*reinterpret_cast<const T*>(src.dynamic)); - } - - static void move(storage_union& src, storage_union& dest) noexcept - { - dest.dynamic = src.dynamic; - src.dynamic = nullptr; - } - - static void swap(storage_union& lhs, storage_union& rhs) noexcept - { - // just exchage the storage pointers. - std::swap(lhs.dynamic, rhs.dynamic); - } - }; - - /// VTable for stack allocated storage. - template<typename T> - struct vtable_stack - { - static const std::type_info& type() noexcept - { - return typeid(T); - } - - static void destroy(storage_union& storage) noexcept - { - reinterpret_cast<T*>(&storage.stack)->~T(); - } - - static void copy(const storage_union& src, storage_union& dest) - { - new (&dest.stack) T(reinterpret_cast<const T&>(src.stack)); - } - - static void move(storage_union& src, storage_union& dest) noexcept - { - // one of the conditions for using vtable_stack is a nothrow move constructor, - // so this move constructor will never throw a exception. - new (&dest.stack) T(std::move(reinterpret_cast<T&>(src.stack))); - destroy(src); - } - - static void swap(storage_union& lhs, storage_union& rhs) noexcept - { - storage_union tmp_storage; - move(rhs, tmp_storage); - move(lhs, rhs); - move(tmp_storage, lhs); - } - }; - - /// Whether the type T must be dynamically allocated or can be stored on the stack. - template<typename T> - struct requires_allocation : - std::integral_constant<bool, - !(std::is_nothrow_move_constructible<T>::value // N4562 §6.3/3 [any.class] - && sizeof(T) <= sizeof(storage_union::stack) - && std::alignment_of<T>::value <= std::alignment_of<storage_union::stack_storage_t>::value)> - {}; - - /// Returns the pointer to the vtable of the type T. - template<typename T> - static vtable_type* vtable_for_type() - { - using VTableType = typename std::conditional<requires_allocation<T>::value, vtable_dynamic<T>, vtable_stack<T>>::type; - static vtable_type table = { - VTableType::type, VTableType::destroy, - VTableType::copy, VTableType::move, - VTableType::swap, - }; - return &table; - } - -protected: - template<typename T> - friend const T* any_cast(const any* operand) noexcept; - template<typename T> - friend T* any_cast(any* operand) noexcept; - - /// Same effect as is_same(this->type(), t); - bool is_typed(const std::type_info& t) const - { - return is_same(this->type(), t); - } - - /// Checks if two type infos are the same. - /// - /// If ANY_IMPL_FAST_TYPE_INFO_COMPARE is defined, checks only the address of the - /// type infos, otherwise does an actual comparision. Checking addresses is - /// only a valid approach when there's no interaction with outside sources - /// (other shared libraries and such). - static bool is_same(const std::type_info& a, const std::type_info& b) - { -#ifdef ANY_IMPL_FAST_TYPE_INFO_COMPARE - return &a == &b; -#else - return a == b; -#endif - } - - /// Casts (with no type_info checks) the storage pointer as const T*. - template<typename T> - const T* cast() const noexcept - { - return requires_allocation<typename std::decay<T>::type>::value? - reinterpret_cast<const T*>(storage.dynamic) : - reinterpret_cast<const T*>(&storage.stack); - } - - /// Casts (with no type_info checks) the storage pointer as T*. - template<typename T> - T* cast() noexcept - { - return requires_allocation<typename std::decay<T>::type>::value? - reinterpret_cast<T*>(storage.dynamic) : - reinterpret_cast<T*>(&storage.stack); - } - -private: - storage_union storage; // on offset(0) so no padding for align - vtable_type* vtable; - - template<typename ValueType, typename T> - typename std::enable_if<requires_allocation<T>::value>::type - do_construct(ValueType&& value) - { - storage.dynamic = new T(std::forward<ValueType>(value)); - } - - template<typename ValueType, typename T> - typename std::enable_if<!requires_allocation<T>::value>::type - do_construct(ValueType&& value) - { - new (&storage.stack) T(std::forward<ValueType>(value)); - } - - /// Chooses between stack and dynamic allocation for the type decay_t<ValueType>, - /// assigns the correct vtable, and constructs the object on our storage. - template<typename ValueType> - void construct(ValueType&& value) - { - using T = typename std::decay<ValueType>::type; - - this->vtable = vtable_for_type<T>(); - - do_construct<ValueType,T>(std::forward<ValueType>(value)); - } -}; - - - -namespace detail -{ - template<typename ValueType> - inline ValueType any_cast_move_if_true(typename std::remove_reference<ValueType>::type* p, std::true_type) - { - return std::move(*p); - } - - template<typename ValueType> - inline ValueType any_cast_move_if_true(typename std::remove_reference<ValueType>::type* p, std::false_type) - { - return *p; - } -} - -/// Performs *any_cast<add_const_t<remove_reference_t<ValueType>>>(&operand), or throws bad_any_cast on failure. -template<typename ValueType> -inline ValueType any_cast(const any& operand) -{ - auto p = any_cast<typename std::add_const<typename std::remove_reference<ValueType>::type>::type>(&operand); - if(p == nullptr) throw bad_any_cast(); - return *p; -} - -/// Performs *any_cast<remove_reference_t<ValueType>>(&operand), or throws bad_any_cast on failure. -template<typename ValueType> -inline ValueType any_cast(any& operand) -{ - auto p = any_cast<typename std::remove_reference<ValueType>::type>(&operand); - if(p == nullptr) throw bad_any_cast(); - return *p; -} - -/// -/// If ANY_IMPL_ANYCAST_MOVEABLE is not defined, does as N4562 specifies: -/// Performs *any_cast<remove_reference_t<ValueType>>(&operand), or throws bad_any_cast on failure. -/// -/// If ANY_IMPL_ANYCAST_MOVEABLE is defined, does as LWG Defect 2509 specifies: -/// If ValueType is MoveConstructible and isn't a lvalue reference, performs -/// std::move(*any_cast<remove_reference_t<ValueType>>(&operand)), otherwise -/// *any_cast<remove_reference_t<ValueType>>(&operand). Throws bad_any_cast on failure. -/// -template<typename ValueType> -inline ValueType any_cast(any&& operand) -{ -#ifdef ANY_IMPL_ANY_CAST_MOVEABLE - // https://cplusplus.github.io/LWG/lwg-active.html#2509 - using can_move = std::integral_constant<bool, - std::is_move_constructible<ValueType>::value - && !std::is_lvalue_reference<ValueType>::value>; -#else - using can_move = std::false_type; -#endif - - auto p = any_cast<typename std::remove_reference<ValueType>::type>(&operand); - if(p == nullptr) throw bad_any_cast(); - return detail::any_cast_move_if_true<ValueType>(p, can_move()); -} - -/// If operand != nullptr && operand->type() == typeid(ValueType), a pointer to the object -/// contained by operand, otherwise nullptr. -template<typename T> -inline const T* any_cast(const any* operand) noexcept -{ - if(operand == nullptr || !operand->is_typed(typeid(T))) - return nullptr; - else - return operand->cast<T>(); -} - -/// If operand != nullptr && operand->type() == typeid(ValueType), a pointer to the object -/// contained by operand, otherwise nullptr. -template<typename T> -inline T* any_cast(any* operand) noexcept -{ - if(operand == nullptr || !operand->is_typed(typeid(T))) - return nullptr; - else - return operand->cast<T>(); -} - -} - -namespace std -{ - inline void swap(linb::any& lhs, linb::any& rhs) noexcept - { - lhs.swap(rhs); - } -} - -#endif diff --git a/launchers/macosx/include/fn.h b/launchers/macosx/include/fn.h deleted file mode 100644 index ffd9ed033c..0000000000 --- a/launchers/macosx/include/fn.h +++ /dev/null @@ -1,168 +0,0 @@ -#ifndef FN_H -#define FN_H - -#include <functional> -#include <algorithm> - -/* - * higher-order functions - * - * Read - * http://blog.madhukaraphatak.com/functional-programming-in-c++/ - * - * - * Lamda fingerprint: -namespace { - struct f { - void operator()(int) { - // do something - } - }; -} - * - * - * -template <typename Collection,typename unop> -void for_each(Collection col, unop op){ - std::for_each(col.begin(),col.end(),op); -} - -Usage: - -auto lambda_echo = [](int i ) { std::cout << i << std::endl; }; - std::vector<int> col{20,24,37,42,23,45,37}; - for_each(col,lambda_echo); - -*/ -template <typename Collection,typename unop> -void for_each(Collection col, unop op){ - std::for_each(col.begin(),col.end(),op); -} - -/** - * map - * - * Usage example: - auto addOne = [](int i) { return i+1;}; - auto returnCol = map(col,addOne); - for_each(returnCol,lambda_echo); - * - * - * - */ -template <typename Collection,typename unop> -Collection map(Collection col,unop op) { - std::transform(col.begin(),col.end(),col.begin(),op); - return col; -} - - - -/* -Filter usage: - -auto filteredCol = filter(col,[](int value){ return value > 30;}); - for_each(filteredCol,lambda_echo); -*/ - -template <typename Collection,typename Predicate> -Collection filterNot(Collection col,Predicate predicate ) { - auto returnIterator = std::remove_if(col.begin(),col.end(),predicate); - col.erase(returnIterator,std::end(col)); - return col; -} - -template <typename Collection,typename Predicate> -Collection filter(Collection col,Predicate predicate) { - //capture the predicate in order to be used inside function - auto fnCol = filterNot(col,[predicate](typename Collection::value_type i) { return !predicate(i);}); - return fnCol; -} - -/** - * - * Alternative map implementations - * - **/ -template<class F, class T, class U=decltype(std::declval<F>()(std::declval<T>()))> -std::vector<U> fmap(F f, const std::vector<T>& vec) -{ - std::vector<U> result; - std::transform(vec.begin(), vec.end(), std::back_inserter(result), f); - return result; -} - -template<class F, class T, class U=decltype(std::declval<F>()(std::declval<T>()))> -std::shared_ptr<U> fmap(F f, const std::shared_ptr<T>& p) -{ - if (p == nullptr) return nullptr; - else return std::shared_ptr<U>(new U(f(*p))); -} - - -/** - * Experimental code - should not be in production - */ - -namespace Experimental { - template <typename T> - T min3(const T& a, const T& b, const T& c) - { - return std::min(std::min(a, b), c); - } - - class LevenshteinDistance - { - mutable std::vector<std::vector<unsigned int> > matrix_; - - public: - explicit LevenshteinDistance(size_t initial_size = 8) - : matrix_(initial_size, std::vector<unsigned int>(initial_size)) - { - } - - unsigned int operator()(const std::string& s, const std::string& t) const - { - const size_t m = s.size(); - const size_t n = t.size(); - // The distance between a string and the empty string is the string's length - if (m == 0) { - return (unsigned int)n; - } - if (n == 0) { - return (unsigned int)m; - } - // Size the matrix as necessary - if (matrix_.size() < m + 1) { - matrix_.resize(m + 1, matrix_[0]); - } - if (matrix_[0].size() < n + 1) { - for (auto& mat : matrix_) { - mat.resize(n + 1); - } - } - // The top row and left column are prefixes that can be reached by - // insertions and deletions alone - unsigned int i, j; - for (i = 1; i <= m; ++i) { - matrix_[i][0] = i; - } - for (j = 1; j <= n; ++j) { - matrix_[0][j] = j; - } - // Fill in the rest of the matrix - for (j = 1; j <= n; ++j) { - for (i = 1; i <= m; ++i) { - unsigned int substitution_cost = s[i - 1] == t[j - 1] ? 0 : 1; - matrix_[i][j] = - min3(matrix_[i - 1][j] + 1, // Deletion - matrix_[i][j - 1] + 1, // Insertion - matrix_[i - 1][j - 1] + substitution_cost); // Substitution - } - } - return matrix_[m][n]; - } - }; -} - -#endif // FN_H diff --git a/launchers/macosx/include/optional.h b/launchers/macosx/include/optional.h deleted file mode 100644 index cd6f025ac6..0000000000 --- a/launchers/macosx/include/optional.h +++ /dev/null @@ -1,1066 +0,0 @@ -// Copyright (C) 2011 - 2012 Andrzej Krzemienski. -// -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// The idea and interface is based on Boost.Optional library -// authored by Fernando Luis Cacciola Carballal - -# ifndef ___OPTIONAL_HPP___ -# define ___OPTIONAL_HPP___ - -# include <utility> -# include <type_traits> -# include <initializer_list> -# include <cassert> -# include <functional> -# include <string> -# include <stdexcept> - -# define TR2_OPTIONAL_REQUIRES(...) typename enable_if<__VA_ARGS__::value, bool>::type = false - -# if defined __GNUC__ // NOTE: GNUC is also defined for Clang -# if (__GNUC__ == 4) && (__GNUC_MINOR__ >= 8) -# define TR2_OPTIONAL_GCC_4_8_AND_HIGHER___ -# elif (__GNUC__ > 4) -# define TR2_OPTIONAL_GCC_4_8_AND_HIGHER___ -# endif -# -# if (__GNUC__ == 4) && (__GNUC_MINOR__ >= 7) -# define TR2_OPTIONAL_GCC_4_7_AND_HIGHER___ -# elif (__GNUC__ > 4) -# define TR2_OPTIONAL_GCC_4_7_AND_HIGHER___ -# endif -# -# if (__GNUC__ == 4) && (__GNUC_MINOR__ == 8) && (__GNUC_PATCHLEVEL__ >= 1) -# define TR2_OPTIONAL_GCC_4_8_1_AND_HIGHER___ -# elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 9) -# define TR2_OPTIONAL_GCC_4_8_1_AND_HIGHER___ -# elif (__GNUC__ > 4) -# define TR2_OPTIONAL_GCC_4_8_1_AND_HIGHER___ -# endif -# endif -# -# if defined __clang_major__ -# if (__clang_major__ == 3 && __clang_minor__ >= 5) -# define TR2_OPTIONAL_CLANG_3_5_AND_HIGHTER_ -# elif (__clang_major__ > 3) -# define TR2_OPTIONAL_CLANG_3_5_AND_HIGHTER_ -# endif -# if defined TR2_OPTIONAL_CLANG_3_5_AND_HIGHTER_ -# define TR2_OPTIONAL_CLANG_3_4_2_AND_HIGHER_ -# elif (__clang_major__ == 3 && __clang_minor__ == 4 && __clang_patchlevel__ >= 2) -# define TR2_OPTIONAL_CLANG_3_4_2_AND_HIGHER_ -# endif -# endif -# -# if defined _MSC_VER -# if (_MSC_VER >= 1900) -# define TR2_OPTIONAL_MSVC_2015_AND_HIGHER___ -# endif -# endif - -# if defined __clang__ -# if (__clang_major__ > 2) || (__clang_major__ == 2) && (__clang_minor__ >= 9) -# define OPTIONAL_HAS_THIS_RVALUE_REFS 1 -# else -# define OPTIONAL_HAS_THIS_RVALUE_REFS 0 -# endif -# elif defined TR2_OPTIONAL_GCC_4_8_1_AND_HIGHER___ -# define OPTIONAL_HAS_THIS_RVALUE_REFS 1 -# elif defined TR2_OPTIONAL_MSVC_2015_AND_HIGHER___ -# define OPTIONAL_HAS_THIS_RVALUE_REFS 1 -# else -# define OPTIONAL_HAS_THIS_RVALUE_REFS 0 -# endif - - -# if defined TR2_OPTIONAL_GCC_4_8_1_AND_HIGHER___ -# define OPTIONAL_HAS_CONSTEXPR_INIT_LIST 1 -# define OPTIONAL_CONSTEXPR_INIT_LIST constexpr -# else -# define OPTIONAL_HAS_CONSTEXPR_INIT_LIST 0 -# define OPTIONAL_CONSTEXPR_INIT_LIST -# endif - -# if defined TR2_OPTIONAL_CLANG_3_5_AND_HIGHTER_ && (defined __cplusplus) && (__cplusplus != 201103L) -# define OPTIONAL_HAS_MOVE_ACCESSORS 1 -# else -# define OPTIONAL_HAS_MOVE_ACCESSORS 0 -# endif - -# // In C++11 constexpr implies const, so we need to make non-const members also non-constexpr -# if (defined __cplusplus) && (__cplusplus == 201103L) -# define OPTIONAL_MUTABLE_CONSTEXPR -# else -# define OPTIONAL_MUTABLE_CONSTEXPR constexpr -# endif - -namespace std{ - -namespace experimental{ - -// BEGIN workaround for missing is_trivially_destructible -# if defined TR2_OPTIONAL_GCC_4_8_AND_HIGHER___ - // leave it: it is already there -# elif defined TR2_OPTIONAL_CLANG_3_4_2_AND_HIGHER_ - // leave it: it is already there -# elif defined TR2_OPTIONAL_MSVC_2015_AND_HIGHER___ - // leave it: it is already there -# elif defined TR2_OPTIONAL_DISABLE_EMULATION_OF_TYPE_TRAITS - // leave it: the user doesn't want it -# else - template <typename T> - using is_trivially_destructible = std::has_trivial_destructor<T>; -# endif -// END workaround for missing is_trivially_destructible - -# if (defined TR2_OPTIONAL_GCC_4_7_AND_HIGHER___) - // leave it; our metafunctions are already defined. -# elif defined TR2_OPTIONAL_CLANG_3_4_2_AND_HIGHER_ - // leave it; our metafunctions are already defined. -# elif defined TR2_OPTIONAL_MSVC_2015_AND_HIGHER___ - // leave it: it is already there -# elif defined TR2_OPTIONAL_DISABLE_EMULATION_OF_TYPE_TRAITS - // leave it: the user doesn't want it -# else - - -// workaround for missing traits in GCC and CLANG -template <class T> -struct is_nothrow_move_constructible -{ - constexpr static bool value = std::is_nothrow_constructible<T, T&&>::value; -}; - - -template <class T, class U> -struct is_assignable -{ - template <class X, class Y> - constexpr static bool has_assign(...) { return false; } - - template <class X, class Y, size_t S = sizeof((std::declval<X>() = std::declval<Y>(), true)) > - // the comma operator is necessary for the cases where operator= returns void - constexpr static bool has_assign(bool) { return true; } - - constexpr static bool value = has_assign<T, U>(true); -}; - - -template <class T> -struct is_nothrow_move_assignable -{ - template <class X, bool has_any_move_assign> - struct has_nothrow_move_assign { - constexpr static bool value = false; - }; - - template <class X> - struct has_nothrow_move_assign<X, true> { - constexpr static bool value = noexcept( std::declval<X&>() = std::declval<X&&>() ); - }; - - constexpr static bool value = has_nothrow_move_assign<T, is_assignable<T&, T&&>::value>::value; -}; -// end workaround - - -# endif - - - -// 20.5.4, optional for object types -template <class T> class optional; - -// 20.5.5, optional for lvalue reference types -template <class T> class optional<T&>; - - -// workaround: std utility functions aren't constexpr yet -template <class T> inline constexpr T&& constexpr_forward(typename std::remove_reference<T>::type& t) noexcept -{ - return static_cast<T&&>(t); -} - -template <class T> inline constexpr T&& constexpr_forward(typename std::remove_reference<T>::type&& t) noexcept -{ - static_assert(!std::is_lvalue_reference<T>::value, "!!"); - return static_cast<T&&>(t); -} - -template <class T> inline constexpr typename std::remove_reference<T>::type&& constexpr_move(T&& t) noexcept -{ - return static_cast<typename std::remove_reference<T>::type&&>(t); -} - - -#if defined NDEBUG -# define TR2_OPTIONAL_ASSERTED_EXPRESSION(CHECK, EXPR) (EXPR) -#else -# define TR2_OPTIONAL_ASSERTED_EXPRESSION(CHECK, EXPR) ((CHECK) ? (EXPR) : ([]{assert(!#CHECK);}(), (EXPR))) -#endif - - -namespace detail_ -{ - -// static_addressof: a constexpr version of addressof -template <typename T> -struct has_overloaded_addressof -{ - template <class X> - constexpr static bool has_overload(...) { return false; } - - template <class X, size_t S = sizeof(std::declval<X&>().operator&()) > - constexpr static bool has_overload(bool) { return true; } - - constexpr static bool value = has_overload<T>(true); -}; - -template <typename T, TR2_OPTIONAL_REQUIRES(!has_overloaded_addressof<T>)> -constexpr T* static_addressof(T& ref) -{ - return &ref; -} - -template <typename T, TR2_OPTIONAL_REQUIRES(has_overloaded_addressof<T>)> -T* static_addressof(T& ref) -{ - return std::addressof(ref); -} - - -// the call to convert<A>(b) has return type A and converts b to type A iff b decltype(b) is implicitly convertible to A -template <class U> -constexpr U convert(U v) { return v; } - - -namespace swap_ns -{ - using std::swap; - - template <class T> - void adl_swap(T& t, T& u) noexcept(noexcept(swap(t, u))) - { - swap(t, u); - } - -} // namespace swap_ns - -} // namespace detail - - -constexpr struct trivial_init_t{} trivial_init{}; - - -// 20.5.6, In-place construction -constexpr struct in_place_t{} in_place{}; - - -// 20.5.7, Disengaged state indicator -struct nullopt_t -{ - struct init{}; - constexpr explicit nullopt_t(init){} -}; -constexpr nullopt_t nullopt{nullopt_t::init()}; - - -// 20.5.8, class bad_optional_access -class bad_optional_access : public logic_error { -public: - explicit bad_optional_access(const string& what_arg) : logic_error{what_arg} {} - explicit bad_optional_access(const char* what_arg) : logic_error{what_arg} {} -}; - - -template <class T> -union storage_t -{ - unsigned char dummy_; - T value_; - - constexpr storage_t( trivial_init_t ) noexcept : dummy_() {}; - - template <class... Args> - constexpr storage_t( Args&&... args ) : value_(constexpr_forward<Args>(args)...) {} - - ~storage_t(){} -}; - - -template <class T> -union constexpr_storage_t -{ - unsigned char dummy_; - T value_; - - constexpr constexpr_storage_t( trivial_init_t ) noexcept : dummy_() {}; - - template <class... Args> - constexpr constexpr_storage_t( Args&&... args ) : value_(constexpr_forward<Args>(args)...) {} - - ~constexpr_storage_t() = default; -}; - - -template <class T> -struct optional_base -{ - bool init_; - storage_t<T> storage_; - - constexpr optional_base() noexcept : init_(false), storage_(trivial_init) {}; - - explicit constexpr optional_base(const T& v) : init_(true), storage_(v) {} - - explicit constexpr optional_base(T&& v) : init_(true), storage_(constexpr_move(v)) {} - - template <class... Args> explicit optional_base(in_place_t, Args&&... args) - : init_(true), storage_(constexpr_forward<Args>(args)...) {} - - template <class U, class... Args, TR2_OPTIONAL_REQUIRES(is_constructible<T, std::initializer_list<U>>)> - explicit optional_base(in_place_t, std::initializer_list<U> il, Args&&... args) - : init_(true), storage_(il, std::forward<Args>(args)...) {} - - ~optional_base() { if (init_) storage_.value_.T::~T(); } -}; - - -template <class T> -struct constexpr_optional_base -{ - bool init_; - constexpr_storage_t<T> storage_; - - constexpr constexpr_optional_base() noexcept : init_(false), storage_(trivial_init) {}; - - explicit constexpr constexpr_optional_base(const T& v) : init_(true), storage_(v) {} - - explicit constexpr constexpr_optional_base(T&& v) : init_(true), storage_(constexpr_move(v)) {} - - template <class... Args> explicit constexpr constexpr_optional_base(in_place_t, Args&&... args) - : init_(true), storage_(constexpr_forward<Args>(args)...) {} - - template <class U, class... Args, TR2_OPTIONAL_REQUIRES(is_constructible<T, std::initializer_list<U>>)> - OPTIONAL_CONSTEXPR_INIT_LIST explicit constexpr_optional_base(in_place_t, std::initializer_list<U> il, Args&&... args) - : init_(true), storage_(il, std::forward<Args>(args)...) {} - - ~constexpr_optional_base() = default; -}; - -template <class T> -using OptionalBase = typename std::conditional< - is_trivially_destructible<T>::value, // if possible - constexpr_optional_base<typename std::remove_const<T>::type>, // use base with trivial destructor - optional_base<typename std::remove_const<T>::type> ->::type; - - - -template <class T> -class optional : private OptionalBase<T> -{ - static_assert( !std::is_same<typename std::decay<T>::type, nullopt_t>::value, "bad T" ); - static_assert( !std::is_same<typename std::decay<T>::type, in_place_t>::value, "bad T" ); - - - constexpr bool initialized() const noexcept { return OptionalBase<T>::init_; } - typename std::remove_const<T>::type* dataptr() { return std::addressof(OptionalBase<T>::storage_.value_); } - constexpr const T* dataptr() const { return detail_::static_addressof(OptionalBase<T>::storage_.value_); } - -# if OPTIONAL_HAS_THIS_RVALUE_REFS == 1 - constexpr const T& contained_val() const& { return OptionalBase<T>::storage_.value_; } -# if OPTIONAL_HAS_MOVE_ACCESSORS == 1 - OPTIONAL_MUTABLE_CONSTEXPR T&& contained_val() && { return std::move(OptionalBase<T>::storage_.value_); } - OPTIONAL_MUTABLE_CONSTEXPR T& contained_val() & { return OptionalBase<T>::storage_.value_; } -# else - T& contained_val() & { return OptionalBase<T>::storage_.value_; } - T&& contained_val() && { return std::move(OptionalBase<T>::storage_.value_); } -# endif -# else - constexpr const T& contained_val() const { return OptionalBase<T>::storage_.value_; } - T& contained_val() { return OptionalBase<T>::storage_.value_; } -# endif - - void clear() noexcept { - if (initialized()) dataptr()->T::~T(); - OptionalBase<T>::init_ = false; - } - - template <class... Args> - void initialize(Args&&... args) noexcept(noexcept(T(std::forward<Args>(args)...))) - { - assert(!OptionalBase<T>::init_); - ::new (static_cast<void*>(dataptr())) T(std::forward<Args>(args)...); - OptionalBase<T>::init_ = true; - } - - template <class U, class... Args> - void initialize(std::initializer_list<U> il, Args&&... args) noexcept(noexcept(T(il, std::forward<Args>(args)...))) - { - assert(!OptionalBase<T>::init_); - ::new (static_cast<void*>(dataptr())) T(il, std::forward<Args>(args)...); - OptionalBase<T>::init_ = true; - } - -public: - typedef T value_type; - - // 20.5.5.1, constructors - constexpr optional() noexcept : OptionalBase<T>() {}; - constexpr optional(nullopt_t) noexcept : OptionalBase<T>() {}; - - optional(const optional& rhs) - : OptionalBase<T>() - { - if (rhs.initialized()) { - ::new (static_cast<void*>(dataptr())) T(*rhs); - OptionalBase<T>::init_ = true; - } - } - - optional(optional&& rhs) noexcept(is_nothrow_move_constructible<T>::value) - : OptionalBase<T>() - { - if (rhs.initialized()) { - ::new (static_cast<void*>(dataptr())) T(std::move(*rhs)); - OptionalBase<T>::init_ = true; - } - } - - constexpr optional(const T& v) : OptionalBase<T>(v) {} - - constexpr optional(T&& v) : OptionalBase<T>(constexpr_move(v)) {} - - template <class... Args> - explicit constexpr optional(in_place_t, Args&&... args) - : OptionalBase<T>(in_place_t{}, constexpr_forward<Args>(args)...) {} - - template <class U, class... Args, TR2_OPTIONAL_REQUIRES(is_constructible<T, std::initializer_list<U>>)> - OPTIONAL_CONSTEXPR_INIT_LIST explicit optional(in_place_t, std::initializer_list<U> il, Args&&... args) - : OptionalBase<T>(in_place_t{}, il, constexpr_forward<Args>(args)...) {} - - // 20.5.4.2, Destructor - ~optional() = default; - - // 20.5.4.3, assignment - optional& operator=(nullopt_t) noexcept - { - clear(); - return *this; - } - - optional& operator=(const optional& rhs) - { - if (initialized() == true && rhs.initialized() == false) clear(); - else if (initialized() == false && rhs.initialized() == true) initialize(*rhs); - else if (initialized() == true && rhs.initialized() == true) contained_val() = *rhs; - return *this; - } - - optional& operator=(optional&& rhs) - noexcept(is_nothrow_move_assignable<T>::value && is_nothrow_move_constructible<T>::value) - { - if (initialized() == true && rhs.initialized() == false) clear(); - else if (initialized() == false && rhs.initialized() == true) initialize(std::move(*rhs)); - else if (initialized() == true && rhs.initialized() == true) contained_val() = std::move(*rhs); - return *this; - } - - template <class U> - auto operator=(U&& v) - -> typename enable_if - < - is_same<typename decay<U>::type, T>::value, - optional& - >::type - { - if (initialized()) { contained_val() = std::forward<U>(v); } - else { initialize(std::forward<U>(v)); } - return *this; - } - - - template <class... Args> - void emplace(Args&&... args) - { - clear(); - initialize(std::forward<Args>(args)...); - } - - template <class U, class... Args> - void emplace(initializer_list<U> il, Args&&... args) - { - clear(); - initialize<U, Args...>(il, std::forward<Args>(args)...); - } - - // 20.5.4.4, Swap - void swap(optional<T>& rhs) noexcept(is_nothrow_move_constructible<T>::value - && noexcept(detail_::swap_ns::adl_swap(declval<T&>(), declval<T&>()))) - { - if (initialized() == true && rhs.initialized() == false) { rhs.initialize(std::move(**this)); clear(); } - else if (initialized() == false && rhs.initialized() == true) { initialize(std::move(*rhs)); rhs.clear(); } - else if (initialized() == true && rhs.initialized() == true) { using std::swap; swap(**this, *rhs); } - } - - // 20.5.4.5, Observers - - explicit constexpr operator bool() const noexcept { return initialized(); } - constexpr bool has_value() const noexcept { return initialized(); } - - constexpr T const* operator ->() const { - return TR2_OPTIONAL_ASSERTED_EXPRESSION(initialized(), dataptr()); - } - -# if OPTIONAL_HAS_MOVE_ACCESSORS == 1 - - OPTIONAL_MUTABLE_CONSTEXPR T* operator ->() { - assert (initialized()); - return dataptr(); - } - - constexpr T const& operator *() const& { - return TR2_OPTIONAL_ASSERTED_EXPRESSION(initialized(), contained_val()); - } - - OPTIONAL_MUTABLE_CONSTEXPR T& operator *() & { - assert (initialized()); - return contained_val(); - } - - OPTIONAL_MUTABLE_CONSTEXPR T&& operator *() && { - assert (initialized()); - return constexpr_move(contained_val()); - } - - constexpr T const& value() const& { - return initialized() ? contained_val() : (throw bad_optional_access("bad optional access"), contained_val()); - } - - OPTIONAL_MUTABLE_CONSTEXPR T& value() & { - return initialized() ? contained_val() : (throw bad_optional_access("bad optional access"), contained_val()); - } - - OPTIONAL_MUTABLE_CONSTEXPR T&& value() && { - if (!initialized()) throw bad_optional_access("bad optional access"); - return std::move(contained_val()); - } - -# else - - T* operator ->() { - assert (initialized()); - return dataptr(); - } - - constexpr T const& operator *() const { - return TR2_OPTIONAL_ASSERTED_EXPRESSION(initialized(), contained_val()); - } - - T& operator *() { - assert (initialized()); - return contained_val(); - } - - constexpr T const& value() const { - return initialized() ? contained_val() : (throw bad_optional_access("bad optional access"), contained_val()); - } - - T& value() { - return initialized() ? contained_val() : (throw bad_optional_access("bad optional access"), contained_val()); - } - -# endif - -# if OPTIONAL_HAS_THIS_RVALUE_REFS == 1 - - template <class V> - constexpr T value_or(V&& v) const& - { - return *this ? **this : detail_::convert<T>(constexpr_forward<V>(v)); - } - -# if OPTIONAL_HAS_MOVE_ACCESSORS == 1 - - template <class V> - OPTIONAL_MUTABLE_CONSTEXPR T value_or(V&& v) && - { - return *this ? constexpr_move(const_cast<optional<T>&>(*this).contained_val()) : detail_::convert<T>(constexpr_forward<V>(v)); - } - -# else - - template <class V> - T value_or(V&& v) && - { - return *this ? constexpr_move(const_cast<optional<T>&>(*this).contained_val()) : detail_::convert<T>(constexpr_forward<V>(v)); - } - -# endif - -# else - - template <class V> - constexpr T value_or(V&& v) const - { - return *this ? **this : detail_::convert<T>(constexpr_forward<V>(v)); - } - -# endif - - // 20.6.3.6, modifiers - void reset() noexcept { clear(); } -}; - - -template <class T> -class optional<T&> -{ - static_assert( !std::is_same<T, nullopt_t>::value, "bad T" ); - static_assert( !std::is_same<T, in_place_t>::value, "bad T" ); - T* ref; - -public: - - // 20.5.5.1, construction/destruction - constexpr optional() noexcept : ref(nullptr) {} - - constexpr optional(nullopt_t) noexcept : ref(nullptr) {} - - constexpr optional(T& v) noexcept : ref(detail_::static_addressof(v)) {} - - optional(T&&) = delete; - - constexpr optional(const optional& rhs) noexcept : ref(rhs.ref) {} - - explicit constexpr optional(in_place_t, T& v) noexcept : ref(detail_::static_addressof(v)) {} - - explicit optional(in_place_t, T&&) = delete; - - ~optional() = default; - - // 20.5.5.2, mutation - optional& operator=(nullopt_t) noexcept { - ref = nullptr; - return *this; - } - - // optional& operator=(const optional& rhs) noexcept { - // ref = rhs.ref; - // return *this; - // } - - // optional& operator=(optional&& rhs) noexcept { - // ref = rhs.ref; - // return *this; - // } - - template <typename U> - auto operator=(U&& rhs) noexcept - -> typename enable_if - < - is_same<typename decay<U>::type, optional<T&>>::value, - optional& - >::type - { - ref = rhs.ref; - return *this; - } - - template <typename U> - auto operator=(U&& rhs) noexcept - -> typename enable_if - < - !is_same<typename decay<U>::type, optional<T&>>::value, - optional& - >::type - = delete; - - void emplace(T& v) noexcept { - ref = detail_::static_addressof(v); - } - - void emplace(T&&) = delete; - - - void swap(optional<T&>& rhs) noexcept - { - std::swap(ref, rhs.ref); - } - - // 20.5.5.3, observers - constexpr T* operator->() const { - return TR2_OPTIONAL_ASSERTED_EXPRESSION(ref, ref); - } - - constexpr T& operator*() const { - return TR2_OPTIONAL_ASSERTED_EXPRESSION(ref, *ref); - } - - constexpr T& value() const { - return ref ? *ref : (throw bad_optional_access("bad optional access"), *ref); - } - - explicit constexpr operator bool() const noexcept { - return ref != nullptr; - } - - constexpr bool has_value() const noexcept { - return ref != nullptr; - } - - template <class V> - constexpr typename decay<T>::type value_or(V&& v) const - { - return *this ? **this : detail_::convert<typename decay<T>::type>(constexpr_forward<V>(v)); - } - - // x.x.x.x, modifiers - void reset() noexcept { ref = nullptr; } -}; - - -template <class T> -class optional<T&&> -{ - static_assert( sizeof(T) == 0, "optional rvalue references disallowed" ); -}; - - -// 20.5.8, Relational operators -template <class T> constexpr bool operator==(const optional<T>& x, const optional<T>& y) -{ - return bool(x) != bool(y) ? false : bool(x) == false ? true : *x == *y; -} - -template <class T> constexpr bool operator!=(const optional<T>& x, const optional<T>& y) -{ - return !(x == y); -} - -template <class T> constexpr bool operator<(const optional<T>& x, const optional<T>& y) -{ - return (!y) ? false : (!x) ? true : *x < *y; -} - -template <class T> constexpr bool operator>(const optional<T>& x, const optional<T>& y) -{ - return (y < x); -} - -template <class T> constexpr bool operator<=(const optional<T>& x, const optional<T>& y) -{ - return !(y < x); -} - -template <class T> constexpr bool operator>=(const optional<T>& x, const optional<T>& y) -{ - return !(x < y); -} - - -// 20.5.9, Comparison with nullopt -template <class T> constexpr bool operator==(const optional<T>& x, nullopt_t) noexcept -{ - return (!x); -} - -template <class T> constexpr bool operator==(nullopt_t, const optional<T>& x) noexcept -{ - return (!x); -} - -template <class T> constexpr bool operator!=(const optional<T>& x, nullopt_t) noexcept -{ - return bool(x); -} - -template <class T> constexpr bool operator!=(nullopt_t, const optional<T>& x) noexcept -{ - return bool(x); -} - -template <class T> constexpr bool operator<(const optional<T>&, nullopt_t) noexcept -{ - return false; -} - -template <class T> constexpr bool operator<(nullopt_t, const optional<T>& x) noexcept -{ - return bool(x); -} - -template <class T> constexpr bool operator<=(const optional<T>& x, nullopt_t) noexcept -{ - return (!x); -} - -template <class T> constexpr bool operator<=(nullopt_t, const optional<T>&) noexcept -{ - return true; -} - -template <class T> constexpr bool operator>(const optional<T>& x, nullopt_t) noexcept -{ - return bool(x); -} - -template <class T> constexpr bool operator>(nullopt_t, const optional<T>&) noexcept -{ - return false; -} - -template <class T> constexpr bool operator>=(const optional<T>&, nullopt_t) noexcept -{ - return true; -} - -template <class T> constexpr bool operator>=(nullopt_t, const optional<T>& x) noexcept -{ - return (!x); -} - - - -// 20.5.10, Comparison with T -template <class T> constexpr bool operator==(const optional<T>& x, const T& v) -{ - return bool(x) ? *x == v : false; -} - -template <class T> constexpr bool operator==(const T& v, const optional<T>& x) -{ - return bool(x) ? v == *x : false; -} - -template <class T> constexpr bool operator!=(const optional<T>& x, const T& v) -{ - return bool(x) ? *x != v : true; -} - -template <class T> constexpr bool operator!=(const T& v, const optional<T>& x) -{ - return bool(x) ? v != *x : true; -} - -template <class T> constexpr bool operator<(const optional<T>& x, const T& v) -{ - return bool(x) ? *x < v : true; -} - -template <class T> constexpr bool operator>(const T& v, const optional<T>& x) -{ - return bool(x) ? v > *x : true; -} - -template <class T> constexpr bool operator>(const optional<T>& x, const T& v) -{ - return bool(x) ? *x > v : false; -} - -template <class T> constexpr bool operator<(const T& v, const optional<T>& x) -{ - return bool(x) ? v < *x : false; -} - -template <class T> constexpr bool operator>=(const optional<T>& x, const T& v) -{ - return bool(x) ? *x >= v : false; -} - -template <class T> constexpr bool operator<=(const T& v, const optional<T>& x) -{ - return bool(x) ? v <= *x : false; -} - -template <class T> constexpr bool operator<=(const optional<T>& x, const T& v) -{ - return bool(x) ? *x <= v : true; -} - -template <class T> constexpr bool operator>=(const T& v, const optional<T>& x) -{ - return bool(x) ? v >= *x : true; -} - - -// Comparison of optional<T&> with T -template <class T> constexpr bool operator==(const optional<T&>& x, const T& v) -{ - return bool(x) ? *x == v : false; -} - -template <class T> constexpr bool operator==(const T& v, const optional<T&>& x) -{ - return bool(x) ? v == *x : false; -} - -template <class T> constexpr bool operator!=(const optional<T&>& x, const T& v) -{ - return bool(x) ? *x != v : true; -} - -template <class T> constexpr bool operator!=(const T& v, const optional<T&>& x) -{ - return bool(x) ? v != *x : true; -} - -template <class T> constexpr bool operator<(const optional<T&>& x, const T& v) -{ - return bool(x) ? *x < v : true; -} - -template <class T> constexpr bool operator>(const T& v, const optional<T&>& x) -{ - return bool(x) ? v > *x : true; -} - -template <class T> constexpr bool operator>(const optional<T&>& x, const T& v) -{ - return bool(x) ? *x > v : false; -} - -template <class T> constexpr bool operator<(const T& v, const optional<T&>& x) -{ - return bool(x) ? v < *x : false; -} - -template <class T> constexpr bool operator>=(const optional<T&>& x, const T& v) -{ - return bool(x) ? *x >= v : false; -} - -template <class T> constexpr bool operator<=(const T& v, const optional<T&>& x) -{ - return bool(x) ? v <= *x : false; -} - -template <class T> constexpr bool operator<=(const optional<T&>& x, const T& v) -{ - return bool(x) ? *x <= v : true; -} - -template <class T> constexpr bool operator>=(const T& v, const optional<T&>& x) -{ - return bool(x) ? v >= *x : true; -} - -// Comparison of optional<T const&> with T -template <class T> constexpr bool operator==(const optional<const T&>& x, const T& v) -{ - return bool(x) ? *x == v : false; -} - -template <class T> constexpr bool operator==(const T& v, const optional<const T&>& x) -{ - return bool(x) ? v == *x : false; -} - -template <class T> constexpr bool operator!=(const optional<const T&>& x, const T& v) -{ - return bool(x) ? *x != v : true; -} - -template <class T> constexpr bool operator!=(const T& v, const optional<const T&>& x) -{ - return bool(x) ? v != *x : true; -} - -template <class T> constexpr bool operator<(const optional<const T&>& x, const T& v) -{ - return bool(x) ? *x < v : true; -} - -template <class T> constexpr bool operator>(const T& v, const optional<const T&>& x) -{ - return bool(x) ? v > *x : true; -} - -template <class T> constexpr bool operator>(const optional<const T&>& x, const T& v) -{ - return bool(x) ? *x > v : false; -} - -template <class T> constexpr bool operator<(const T& v, const optional<const T&>& x) -{ - return bool(x) ? v < *x : false; -} - -template <class T> constexpr bool operator>=(const optional<const T&>& x, const T& v) -{ - return bool(x) ? *x >= v : false; -} - -template <class T> constexpr bool operator<=(const T& v, const optional<const T&>& x) -{ - return bool(x) ? v <= *x : false; -} - -template <class T> constexpr bool operator<=(const optional<const T&>& x, const T& v) -{ - return bool(x) ? *x <= v : true; -} - -template <class T> constexpr bool operator>=(const T& v, const optional<const T&>& x) -{ - return bool(x) ? v >= *x : true; -} - - -// 20.5.12, Specialized algorithms -template <class T> -void swap(optional<T>& x, optional<T>& y) noexcept(noexcept(x.swap(y))) -{ - x.swap(y); -} - - -template <class T> -constexpr optional<typename decay<T>::type> make_optional(T&& v) -{ - return optional<typename decay<T>::type>(constexpr_forward<T>(v)); -} - -template <class X> -constexpr optional<X&> make_optional(reference_wrapper<X> v) -{ - return optional<X&>(v.get()); -} - - -} // namespace experimental -} // namespace std - -namespace std -{ - template <typename T> - struct hash<std::experimental::optional<T>> - { - typedef typename hash<T>::result_type result_type; - typedef std::experimental::optional<T> argument_type; - - constexpr result_type operator()(argument_type const& arg) const { - return arg ? std::hash<T>{}(*arg) : result_type{}; - } - }; - - template <typename T> - struct hash<std::experimental::optional<T&>> - { - typedef typename hash<T>::result_type result_type; - typedef std::experimental::optional<T&> argument_type; - - constexpr result_type operator()(argument_type const& arg) const { - return arg ? std::hash<T>{}(*arg) : result_type{}; - } - }; -} - -# undef TR2_OPTIONAL_REQUIRES -# undef TR2_OPTIONAL_ASSERTED_EXPRESSION - -# endif //___OPTIONAL_HPP___ diff --git a/launchers/macosx/include/portcheck.h b/launchers/macosx/include/portcheck.h deleted file mode 100644 index 39487369cb..0000000000 --- a/launchers/macosx/include/portcheck.h +++ /dev/null @@ -1,60 +0,0 @@ -#pragma once - -#include <stdio.h> -#include <unistd.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <arpa/inet.h> -#include <errno.h> - -typedef struct sockaddr *sad; /* A necesary dummy typedef */ - -int port_check(int portNum) -{ - int sock; /* Socket that will be bind */ - struct sockaddr_in sin; /* Address Structure */ - - /* Create the socket */ - /* PF_INET is the option for make a TCP socket. - You can try "man socket" for more info */ - sock = socket( PF_INET, SOCK_STREAM, 0 ); - - /* The socket creation failed */ - if ( 0 > sock ) { - perror( "socket" ); - return ( -1 ); - } - - /* Address */ - sin.sin_family = AF_INET; - sin.sin_port = htons( portNum ); /* htons() convert the number - to big endian */ - sin.sin_addr.s_addr = INADDR_ANY; - - /* We bind the socket to the port PORT to check if - the port is in use */ - if ( 0 > bind( sock, (sad)&sin, sizeof( sin ) ) ) { - /* Bind failed, now we can check if the address is - in use */ - - if ( EADDRINUSE == errno ) { - /* We put the code necesary to manage this case */ - printf( "The TCP port %d is in use.\n", portNum ); - } - - else - /* If the error were other than EADDRINUSE, we print it */ - perror( "bind" ); - - return 1; - } - - /* If we arrive to this point, the port weren't in use and - we have it attached to our program. We can close - the socket or use it */ - close( sock ); /* Close the socket */ - - return 0; -} - - diff --git a/launchers/macosx/include/sharedqueue.h b/launchers/macosx/include/sharedqueue.h deleted file mode 100644 index 319b854234..0000000000 --- a/launchers/macosx/include/sharedqueue.h +++ /dev/null @@ -1,66 +0,0 @@ -#ifndef SHAREDQUEUE_H__ -#define SHAREDQUEUE_H__ -// Public domain - -#include <queue> -#include <mutex> -#include <exception> -#include <condition_variable> - -/** Multiple producer, multiple consumer thread safe queue - * Since 'return by reference' is used this queue won't throw */ -template<typename T> -class shared_queue -{ - std::queue<T> queue_; - mutable std::mutex m_; - std::condition_variable data_cond_; - - shared_queue& operator=(const shared_queue&); - shared_queue(const shared_queue& other); - -public: - shared_queue(){} - - void push(T item){ - { - std::lock_guard<std::mutex> lock(m_); - queue_.push(item); - } - data_cond_.notify_one(); - } - - /// \return immediately, with true if successful retrieval - bool try_and_pop(T& popped_item){ - std::lock_guard<std::mutex> lock(m_); - if(queue_.empty()){ - return false; - } - popped_item=std::move(queue_.front()); - queue_.pop(); - return true; - } - - /// Try to retrieve, if no items, wait till an item is available and try again - void wait_and_pop(T& popped_item){ - std::unique_lock<std::mutex> lock(m_); // note: unique_lock is needed for std::condition_variable::wait - while(queue_.empty()) - { // The 'while' loop below is equal to - data_cond_.wait(lock); //data_cond_.wait(lock, [](bool result){return !queue_.empty();}); - } - popped_item=std::move(queue_.front()); - queue_.pop(); - } - - bool empty() const{ - std::lock_guard<std::mutex> lock(m_); - return queue_.empty(); - } - - unsigned size() const{ - std::lock_guard<std::mutex> lock(m_); - return queue_.size(); - } -}; - -#endif // SHAREDQUEUE_H__ diff --git a/launchers/macosx/include/strutil.hpp b/launchers/macosx/include/strutil.hpp deleted file mode 100644 index ca52442a2f..0000000000 --- a/launchers/macosx/include/strutil.hpp +++ /dev/null @@ -1,130 +0,0 @@ -#ifndef __STRUTIL_HPP__ -#define __STRUTIL_HPP__ - -#include <algorithm> -#include <functional> -#include <string> -#include <memory> -#include <iostream> -#include <cctype> -#include <locale> -#include "optional.h" - -#import <Foundation/NSString.h> - -#include <CoreFoundation/CoreFoundation.h> -#include <CoreFoundation/CFArray.h> -#include <CoreFoundation/CFString.h> - -inline std::string strprintf(const char *fromat, ...) -{ - std::string s; - s.resize(128); // best guess - char *buff = const_cast<char *>(s.data()); - - va_list arglist; - va_start(arglist, fromat); - auto len = vsnprintf(buff, 128, fromat, arglist); - va_end(arglist); - - if (len > 127) - { - va_start(arglist, fromat); - s.resize(len + 1); // leave room for null terminator - buff = const_cast<char *>(s.data()); - len = vsnprintf(buff, len+1, fromat, arglist); - va_end(arglist); - } - s.resize(len); - return s; // move semantics FTW -} - -inline std::string extractString(CFStringRef value) -{ - const char * data = CFStringGetCStringPtr(value, kCFStringEncodingUTF8); - if (data != NULL) - { - return std::string(data, strlen(data)); - } else { - CFIndex strSize = CFStringGetLength(value)+1; - char * retry = (char *)malloc((int)strSize); - if (CFStringGetCString(value, retry, strSize, kCFStringEncodingUTF8)) { - return std::string(retry, strlen(retry)); - } - return std::string("[null]"); - } -} - -inline bool replace(std::string& str, const std::string& from, const std::string& to) { - size_t start_pos = str.find(from); - if(start_pos == std::string::npos) - return false; - str.replace(start_pos, from.length(), to); - return true; -} - - -// trim from start (in place) -static inline void ltrim(std::string &s) { - s.erase(s.begin(), std::find_if(s.begin(), s.end(), - std::not1(std::ptr_fun<int, int>(std::isspace)))); -} - -// trim from end (in place) -static inline void rtrim(std::string &s) { - s.erase(std::find_if(s.rbegin(), s.rend(), - std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end()); -} - -// trim from both ends (in place) -static inline void trim(std::string &s) { - ltrim(s); - rtrim(s); -} - -// trim from start (copying) -static inline std::string ltrim_copy(std::string s) { - ltrim(s); - return s; -} - -// trim from end (copying) -static inline std::string rtrim_copy(std::string s) { - rtrim(s); - return s; -} - -// trim from both ends (copying) -static inline std::string trim_copy(std::string s) { - trim(s); - return s; -} - -inline NSString* stdStringToNSString(std::string &stdstr) { - return [NSString stringWithUTF8String:stdstr.c_str()]; -} - -inline std::string nsStringToStd(NSString* nsStr) { - const char *charlist = [nsStr UTF8String]; - return std::string(charlist); -} - -#if __cplusplus > 201402L - - -using std::optional; - -// Use CFStringRef instead of NSString*, otherwise disable ARC -inline optional<CFStringRef> optionalString(bool val) { - optional<CFStringRef> myOptString; - if(val) { - // Cast to corresponding CoreFoundation object - myOptString = (CFStringRef)@"String"; - } - return myOptString; -} - -#endif - - -#endif diff --git a/launchers/macosx/include/subprocess.hpp b/launchers/macosx/include/subprocess.hpp deleted file mode 100644 index fd3b1629d8..0000000000 --- a/launchers/macosx/include/subprocess.hpp +++ /dev/null @@ -1,1634 +0,0 @@ -/*! - -Documentation for C++ subprocessing libraray. - -@copyright The code is licensed under the [MIT - License](http://opensource.org/licenses/MIT): - <br> - Copyright © 2016-2018 Arun Muralidharan. - <br> - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - <br> - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - <br> - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - -@author [Arun Muralidharan] -@see https://github.com/arun11299/cpp-subprocess to download the source code - -@version 1.0.0 -*/ - -#ifndef SUBPROCESS_HPP -#define SUBPROCESS_HPP - -#ifdef __cplusplus - -#include <map> -#include <algorithm> -#include <iostream> -#include <string> -#include <cstdlib> -#include <cassert> -#include <cstring> -#include <cstdio> -#include <csignal> -#include <future> -#include <vector> -#include <sstream> -#include <memory> -#include <initializer_list> -#include <exception> - -extern "C" { - #include <unistd.h> - #include <fcntl.h> - #include <sys/types.h> - #include <sys/wait.h> - #include <signal.h> -} - -/*! - * Getting started with reading this source code. - * The source is mainly divided into four parts: - * 1. Exception Classes: - * These are very basic exception classes derived from - * runtime_error exception. - * There are two types of exception thrown from subprocess - * library: OSError and CalledProcessError - * - * 2. Popen Class - * This is the main class the users will deal with. It - * provides with all the API's to deal with processes. - * - * 3. Util namespace - * It includes some helper functions to split/join a string, - * reading from file descriptors, waiting on a process, fcntl - * options on file descriptors etc. - * - * 4. Detail namespace - * This includes some metaprogramming and helper classes. - */ - - -namespace subprocess { - -// Max buffer size allocated on stack for read error -// from pipe -static const size_t SP_MAX_ERR_BUF_SIZ = 1024; - -// Default buffer capcity for OutBuffer and ErrBuffer. -// If the data exceeds this capacity, the buffer size is grown -// by 1.5 times its previous capacity -static const size_t DEFAULT_BUF_CAP_BYTES = 8192; - - -/*----------------------------------------------- - * EXCEPTION CLASSES - *----------------------------------------------- - */ - -/*! - * class: CalledProcessError - * Thrown when there was error executing the command. - * Check Popen class API's to know when this exception - * can be thrown. - * - */ -class CalledProcessError: public std::runtime_error -{ -public: - CalledProcessError(const std::string& error_msg): - std::runtime_error(error_msg) - {} -}; - - -/*! - * class: OSError - * Thrown when some system call fails to execute or give result. - * The exception message contains the name of the failed system call - * with the stringisized errno code. - * Check Popen class API's to know when this exception would be - * thrown. - * Its usual that the API exception specification would have - * this exception together with CalledProcessError. - */ -class OSError: public std::runtime_error -{ -public: - OSError(const std::string& err_msg, int err_code): - std::runtime_error( err_msg + " : " + std::strerror(err_code) ) - {} -}; - -//-------------------------------------------------------------------- - -namespace util -{ - - /*! - * Function: split - * Parameters: - * [in] str : Input string which needs to be split based upon the - * delimiters provided. - * [in] deleims : Delimiter characters based upon which the string needs - * to be split. Default constructed to ' '(space) and '\t'(tab) - * [out] vector<string> : Vector of strings split at deleimiter. - */ - static inline std::vector<std::string> - split(const std::string& str, const std::string& delims=" \t") - { - std::vector<std::string> res; - size_t init = 0; - - while (true) { - auto pos = str.find_first_of(delims, init); - if (pos == std::string::npos) { - res.emplace_back(str.substr(init, str.length())); - break; - } - res.emplace_back(str.substr(init, pos - init)); - pos++; - init = pos; - } - - return res; - } - - - /*! - * Function: join - * Parameters: - * [in] vec : Vector of strings which needs to be joined to form - * a single string with words seperated by a seperator char. - * [in] sep : String used to seperate 2 words in the joined string. - * Default constructed to ' ' (space). - * [out] string: Joined string. - */ - static inline - std::string join(const std::vector<std::string>& vec, - const std::string& sep = " ") - { - std::string res; - for (auto& elem : vec) res.append(elem + sep); - res.erase(--res.end()); - return res; - } - - - /*! - * Function: set_clo_on_exec - * Sets/Resets the FD_CLOEXEC flag on the provided file descriptor - * based upon the `set` parameter. - * Parameters: - * [in] fd : The descriptor on which FD_CLOEXEC needs to be set/reset. - * [in] set : If 'true', set FD_CLOEXEC. - * If 'false' unset FD_CLOEXEC. - */ - static inline - void set_clo_on_exec(int fd, bool set = true) - { - int flags = fcntl(fd, F_GETFD, 0); - if (set) flags |= FD_CLOEXEC; - else flags &= ~FD_CLOEXEC; - //TODO: should check for errors - fcntl(fd, F_SETFD, flags); - } - - - /*! - * Function: pipe_cloexec - * Creates a pipe and sets FD_CLOEXEC flag on both - * read and write descriptors of the pipe. - * Parameters: - * [out] : A pair of file descriptors. - * First element of pair is the read descriptor of pipe. - * Second element is the write descriptor of pipe. - */ - static inline - std::pair<int, int> pipe_cloexec() throw (OSError) - { - int pipe_fds[2]; - int res = pipe(pipe_fds); - if (res) { - throw OSError("pipe failure", errno); - } - - set_clo_on_exec(pipe_fds[0]); - set_clo_on_exec(pipe_fds[1]); - - return std::make_pair(pipe_fds[0], pipe_fds[1]); - } - - - /*! - * Function: write_n - * Writes `length` bytes to the file descriptor `fd` - * from the buffer `buf`. - * Parameters: - * [in] fd : The file descriptotr to write to. - * [in] buf: Buffer from which data needs to be written to fd. - * [in] length: The number of bytes that needs to be written from - * `buf` to `fd`. - * [out] int : Number of bytes written or -1 in case of failure. - */ - static inline - int write_n(int fd, const char* buf, size_t length) - { - size_t nwritten = 0; - while (nwritten < length) { - int written = write(fd, buf + nwritten, (int)length - nwritten); - if (written == -1) return -1; - nwritten += written; - } - return (int)nwritten; - } - - - /*! - * Function: read_atmost_n - * Reads at the most `read_upto` bytes from the - * file descriptor `fd` before returning. - * Parameters: - * [in] fd : The file descriptor from which it needs to read. - * [in] buf : The buffer into which it needs to write the data. - * [in] read_upto: Max number of bytes which must be read from `fd`. - * [out] int : Number of bytes written to `buf` or read from `fd` - * OR -1 in case of error. - * NOTE: In case of EINTR while reading from socket, this API - * will retry to read from `fd`, but only till the EINTR counter - * reaches 50 after which it will return with whatever data it read. - */ - static inline - int read_atmost_n(int fd, char* buf, size_t read_upto) - { - int rbytes = 0; - int eintr_cnter = 0; - - while (1) { - int read_bytes = read(fd, buf + rbytes, (int)read_upto - rbytes); - if (read_bytes == -1) { - if (errno == EINTR) { - if (eintr_cnter >= 50) return -1; - eintr_cnter++; - continue; - } - return -1; - } - if (read_bytes == 0) return rbytes; - - rbytes += read_bytes; - } - return rbytes; - } - - - /*! - * Function: read_all - * Reads all the available data from `fd` into - * `buf`. Internally calls read_atmost_n. - * Parameters: - * [in] fd : The file descriptor from which to read from. - * [in] buf : The buffer of type `class Buffer` into which - * the read data is written to. - * [out] int: Number of bytes read OR -1 in case of failure. - * - * NOTE: `class Buffer` is a exposed public class. See below. - */ - template <typename Buffer> - // Requires Buffer to be of type class Buffer - static inline int read_all(int fd, Buffer& buf) - { - size_t orig_size = buf.size(); - int increment = (int)orig_size; - auto buffer = buf.data(); - int total_bytes_read = 0; - - while (1) { - int rd_bytes = read_atmost_n(fd, buffer, buf.size()); - if (rd_bytes == increment) { - // Resize the buffer to accomodate more - orig_size = orig_size * 1.5; - increment = (int)orig_size - (int)buf.size(); - buf.resize(orig_size); - //update the buffer pointer - buffer = buf.data(); - buffer += rd_bytes; - total_bytes_read += rd_bytes; - - } else if (rd_bytes != -1) { - total_bytes_read += rd_bytes; - break; - - } else { - if (total_bytes_read == 0) return -1; - break; - } - } - return total_bytes_read; - } - - - /*! - * Function: wait_for_child_exit - * Waits for the process with pid `pid` to exit - * and returns its status. - * Parameters: - * [in] pid : The pid of the process. - * [out] pair<int, int>: - * pair.first : Return code of the waitpid call. - * pair.second : Exit status of the process. - * - * NOTE: This is a blocking call as in, it will loop - * till the child is exited. - */ - static inline - std::pair<int, int> wait_for_child_exit(int pid) - { - int status = 0; - int ret = -1; - while (1) { - ret = waitpid(pid, &status, WNOHANG); - if (ret == -1) break; - if (ret == 0) continue; - return std::make_pair(ret, status); - } - - return std::make_pair(ret, status); - } - - -}; // end namespace util - - - -/* ------------------------------- - * Popen Arguments - * ------------------------------- - */ - -/*! - * The buffer size of the stdin/stdout/stderr - * streams of the child process. - * Default value is 0. - */ -struct bufsize { - bufsize(int siz): bufsiz(siz) {} - int bufsiz = 0; -}; - -/*! - * Option to defer spawning of the child process - * till `Popen::start_process` API is called. - * Default value is false. - */ -struct defer_spawn { - defer_spawn(bool d): defer(d) {} - bool defer = false; -}; - -/*! - * Option to close all file descriptors - * when the child process is spawned. - * The close fd list does not include - * input/output/error if they are explicitly - * set as part of the Popen arguments. - * - * Default value is false. - */ -struct close_fds { - close_fds(bool c): close_all(c) {} - bool close_all = false; -}; - -/*! - * Option to make the child process as the - * session leader and thus the process - * group leader. - * Default value is false. - */ -struct session_leader { - session_leader(bool sl): leader_(sl) {} - bool leader_ = false; -}; - -struct shell { - shell(bool s): shell_(s) {} - bool shell_ = false; -}; - -/*! - * Base class for all arguments involving string value. - */ -struct string_arg -{ - string_arg(const char* arg): arg_value(arg) {} - string_arg(std::string&& arg): arg_value(std::move(arg)) {} - string_arg(std::string arg): arg_value(std::move(arg)) {} - std::string arg_value; -}; - -/*! - * Option to specify the executable name seperately - * from the args sequence. - * In this case the cmd args must only contain the - * options required for this executable. - * - * Eg: executable{"ls"} - */ -struct executable: string_arg -{ - template <typename T> - executable(T&& arg): string_arg(std::forward<T>(arg)) {} -}; - -/*! - * Option to set the current working directory - * of the spawned process. - * - * Eg: cwd{"/som/path/x"} - */ -struct cwd: string_arg -{ - template <typename T> - cwd(T&& arg): string_arg(std::forward<T>(arg)) {} -}; - -/*! - * Option to specify environment variables required by - * the spawned process. - * - * Eg: environment{{ {"K1", "V1"}, {"K2", "V2"},... }} - */ -struct environment -{ - environment(std::map<std::string, std::string>&& env): - env_(std::move(env)) {} - environment(const std::map<std::string, std::string>& env): - env_(env) {} - std::map<std::string, std::string> env_; -}; - - -/*! - * Used for redirecting input/output/error - */ -enum IOTYPE { - STDOUT = 1, - STDERR, - PIPE, -}; - -//TODO: A common base/interface for below stream structures ?? - -/*! - * Option to specify the input channel for the child - * process. It can be: - * 1. An already open file descriptor. - * 2. A file name. - * 3. IOTYPE. Usuall a PIPE - * - * Eg: input{PIPE} - * OR in case of redirection, output of another Popen - * input{popen.output()} - */ -struct input -{ - // For an already existing file descriptor. - input(int fd): rd_ch_(fd) {} - - // FILE pointer. - input (FILE* fp):input(fileno(fp)) { assert(fp); } - - input(const char* filename) { - int fd = open(filename, O_RDONLY); - if (fd == -1) throw OSError("File not found: ", errno); - rd_ch_ = fd; - } - input(IOTYPE typ) { - assert (typ == PIPE && "STDOUT/STDERR not allowed"); - std::tie(rd_ch_, wr_ch_) = util::pipe_cloexec(); - } - - int rd_ch_ = -1; - int wr_ch_ = -1; -}; - - -/*! - * Option to specify the output channel for the child - * process. It can be: - * 1. An already open file descriptor. - * 2. A file name. - * 3. IOTYPE. Usually a PIPE. - * - * Eg: output{PIPE} - * OR output{"output.txt"} - */ -struct output -{ - output(int fd): wr_ch_(fd) {} - - output (FILE* fp):output(fileno(fp)) { assert(fp); } - - output(const char* filename) { - int fd = open(filename, O_APPEND | O_CREAT | O_RDWR, 0640); - if (fd == -1) throw OSError("File not found: ", errno); - wr_ch_ = fd; - } - output(IOTYPE typ) { - assert (typ == PIPE && "STDOUT/STDERR not allowed"); - std::tie(rd_ch_, wr_ch_) = util::pipe_cloexec(); - } - - int rd_ch_ = -1; - int wr_ch_ = -1; -}; - - -/*! - * Option to specify the error channel for the child - * process. It can be: - * 1. An already open file descriptor. - * 2. A file name. - * 3. IOTYPE. Usually a PIPE or STDOUT - * - */ -struct error -{ - error(int fd): wr_ch_(fd) {} - - error(FILE* fp):error(fileno(fp)) { assert(fp); } - - error(const char* filename) { - int fd = open(filename, O_APPEND | O_CREAT | O_RDWR, 0640); - if (fd == -1) throw OSError("File not found: ", errno); - wr_ch_ = fd; - } - error(IOTYPE typ) { - assert ((typ == PIPE || typ == STDOUT) && "STDERR not aloowed"); - if (typ == PIPE) { - std::tie(rd_ch_, wr_ch_) = util::pipe_cloexec(); - } else { - // Need to defer it till we have checked all arguments - deferred_ = true; - } - } - - bool deferred_ = false; - int rd_ch_ = -1; - int wr_ch_ = -1; -}; - -// Impoverished, meager, needy, truly needy -// version of type erasure to store function pointers -// needed to provide the functionality of preexec_func -// ATTN: Can be used only to execute functions with no -// arguments and returning void. -// Could have used more efficient methods, ofcourse, but -// that wont yield me the consistent syntax which I am -// aiming for. If you know, then please do let me know. - -class preexec_func -{ -public: - preexec_func() {} - - template <typename Func> - preexec_func(Func f): holder_(new FuncHolder<Func>(f)) - {} - - void operator()() { - (*holder_)(); - } - -private: - struct HolderBase { - virtual void operator()() const = 0; - }; - template <typename T> - struct FuncHolder: HolderBase { - FuncHolder(T func): func_(func) {} - void operator()() const override {} - // The function pointer/reference - T func_; - }; - - std::unique_ptr<HolderBase> holder_ = nullptr; -}; - -// ~~~~ End Popen Args ~~~~ - - -/*! - * class: Buffer - * This class is a very thin wrapper around std::vector<char> - * This is basically used to determine the length of the actual - * data stored inside the dynamically resized vector. - * - * This is what is returned as the output to communicate and check_output - * functions, so, users must know about this class. - * - * OutBuffer and ErrBuffer are just different typedefs to this class. - */ -class Buffer -{ -public: - Buffer() {} - Buffer(size_t cap) { buf.resize(cap); } - void add_cap(size_t cap) { buf.resize(cap); } - -#if 0 - Buffer(const Buffer& other): - buf(other.buf), - length(other.length) - { - std::cout << "COPY" << std::endl; - } - - Buffer(Buffer&& other): - buf(std::move(other.buf)), - length(other.length) - { - std::cout << "MOVE" << std::endl; - } -#endif - -public: - std::vector<char> buf; - size_t length = 0; -}; - -// Buffer for storing output written to output fd -using OutBuffer = Buffer; -// Buffer for storing output written to error fd -using ErrBuffer = Buffer; - - -// Fwd Decl. -class Popen; - -/*--------------------------------------------------- - * DETAIL NAMESPACE - *--------------------------------------------------- - */ - -namespace detail { - -// Metaprogram for searching a type within -// a variadic parameter pack -// This is particularly required to do a compile time -// checking of the arguments provided to 'check_ouput' function -// wherein the user is not expected to provide an 'ouput' option. - -template <typename... T> struct param_pack{}; - -template <typename F, typename T> struct has_type; - -template <typename F> -struct has_type<F, param_pack<> > { - static constexpr bool value = false; -}; - -template <typename F, typename... T> -struct has_type<F, param_pack<F, T...> > { - static constexpr bool value = true; -}; - -template <typename F, typename H, typename... T> -struct has_type<F, param_pack<H,T...> > { - static constexpr bool value = - std::is_same<F, typename std::decay<H>::type>::value ? true : has_type<F, param_pack<T...> >::value; -}; - -//---- - -/*! - * A helper class to Popen class for setting - * options as provided in the Popen constructor - * or in check_ouput arguments. - * This design allows us to _not_ have any fixed position - * to any arguments and specify them in a way similar to what - * can be done in python. - */ -struct ArgumentDeducer -{ - ArgumentDeducer(Popen* p): popen_(p) {} - - void set_option(executable&& exe); - void set_option(cwd&& cwdir); - void set_option(bufsize&& bsiz); - void set_option(environment&& env); - void set_option(defer_spawn&& defer); - void set_option(shell&& sh); - void set_option(input&& inp); - void set_option(output&& out); - void set_option(error&& err); - void set_option(close_fds&& cfds); - void set_option(preexec_func&& prefunc); - void set_option(session_leader&& sleader); - -private: - Popen* popen_ = nullptr; -}; - -/*! - * A helper class to Popen. - * This takes care of all the fork-exec logic - * in the execute_child API. - */ -class Child -{ -public: - Child(Popen* p, int err_wr_pipe): - parent_(p), - err_wr_pipe_(err_wr_pipe) - {} - - void execute_child(); - -private: - // Lets call it parent even though - // technically a bit incorrect - Popen* parent_ = nullptr; - int err_wr_pipe_ = -1; -}; - -// Fwd Decl. -class Streams; - -/*! - * A helper class to Streams. - * This takes care of management of communicating - * with the child process with the means of the correct - * file descriptor. - */ -class Communication -{ -public: - Communication(Streams* stream): stream_(stream) - {} - void operator=(const Communication&) = delete; -public: - int send(const char* msg, size_t length); - int send(const std::vector<char>& msg); - - std::pair<OutBuffer, ErrBuffer> communicate(const char* msg, size_t length); - std::pair<OutBuffer, ErrBuffer> communicate(const std::vector<char>& msg) - { return communicate(msg.data(), msg.size()); } - - void set_out_buf_cap(size_t cap) { out_buf_cap_ = cap; } - void set_err_buf_cap(size_t cap) { err_buf_cap_ = cap; } - -private: - std::pair<OutBuffer, ErrBuffer> communicate_threaded( - const char* msg, size_t length); - -private: - Streams* stream_; - size_t out_buf_cap_ = DEFAULT_BUF_CAP_BYTES; - size_t err_buf_cap_ = DEFAULT_BUF_CAP_BYTES; -}; - - - -/*! - * This is a helper class to Popen. - * It takes care of management of all the file descriptors - * and file pointers. - * It dispatches of the communication aspects to the - * Communication class. - * Read through the data members to understand about the - * various file descriptors used. - */ -class Streams -{ -public: - Streams():comm_(this) {} - void operator=(const Streams&) = delete; - -public: - void setup_comm_channels(); - - void cleanup_fds() - { - if (write_to_child_ != -1 && read_from_parent_ != -1) { - close(write_to_child_); - } - if (write_to_parent_ != -1 && read_from_child_ != -1) { - close(read_from_child_); - } - if (err_write_ != -1 && err_read_ != -1) { - close(err_read_); - } - } - - void close_parent_fds() - { - if (write_to_child_ != -1) close(write_to_child_); - if (read_from_child_ != -1) close(read_from_child_); - if (err_read_ != -1) close(err_read_); - } - - void close_child_fds() - { - if (write_to_parent_ != -1) close(write_to_parent_); - if (read_from_parent_ != -1) close(read_from_parent_); - if (err_write_ != -1) close(err_write_); - } - - FILE* input() { return input_.get(); } - FILE* output() { return output_.get(); } - FILE* error() { return error_.get(); } - - void input(FILE* fp) { input_.reset(fp, fclose); } - void output(FILE* fp) { output_.reset(fp, fclose); } - void error(FILE* fp) { error_.reset(fp, fclose); } - - void set_out_buf_cap(size_t cap) { comm_.set_out_buf_cap(cap); } - void set_err_buf_cap(size_t cap) { comm_.set_err_buf_cap(cap); } - -public: /* Communication forwarding API's */ - int send(const char* msg, size_t length) - { return comm_.send(msg, length); } - - int send(const std::vector<char>& msg) - { return comm_.send(msg); } - - std::pair<OutBuffer, ErrBuffer> communicate(const char* msg, size_t length) - { return comm_.communicate(msg, length); } - - std::pair<OutBuffer, ErrBuffer> communicate(const std::vector<char>& msg) - { return comm_.communicate(msg); } - - -public:// Yes they are public - - std::shared_ptr<FILE> input_ = nullptr; - std::shared_ptr<FILE> output_ = nullptr; - std::shared_ptr<FILE> error_ = nullptr; - - // Buffer size for the IO streams - int bufsiz_ = 0; - - // Pipes for communicating with child - - // Emulates stdin - int write_to_child_ = -1; // Parent owned descriptor - int read_from_parent_ = -1; // Child owned descriptor - - // Emulates stdout - int write_to_parent_ = -1; // Child owned descriptor - int read_from_child_ = -1; // Parent owned descriptor - - // Emulates stderr - int err_write_ = -1; // Write error to parent (Child owned) - int err_read_ = -1; // Read error from child (Parent owned) - -private: - Communication comm_; -}; - -}; // end namespace detail - - - -/*! - * class: Popen - * This is the single most important class in the whole library - * and glues together all the helper classes to provide a common - * interface to the client. - * - * API's provided by the class: - * 1. Popen({"cmd"}, output{..}, error{..}, cwd{..}, ....) - * Command provided as a sequence. - * 2. Popen("cmd arg1"m output{..}, error{..}, cwd{..}, ....) - * Command provided in a single string. - * 3. wait() - Wait for the child to exit. - * 4. retcode() - The return code of the exited child. - * 5. pid() - PID of the spawned child. - * 6. poll() - Check the status of the running child. - * 7. kill(sig_num) - Kill the child. SIGTERM used by default. - * 8. send(...) - Send input to the input channel of the child. - * 9. communicate(...) - Get the output/error from the child and close the channels - * from the parent side. - *10. input() - Get the input channel/File pointer. Can be used for - * cutomizing the way of sending input to child. - *11. output() - Get the output channel/File pointer. Usually used - in case of redirection. See piping examples. - *12. error() - Get the error channel/File poiner. Usually used - in case of redirection. - *13. start_process() - Start the child process. Only to be used when - * `defer_spawn` option was provided in Popen constructor. - */ -class Popen -{ -public: - friend struct detail::ArgumentDeducer; - friend class detail::Child; - - template <typename... Args> - Popen(const std::string& cmd_args, Args&& ...args): - args_(cmd_args) - { - vargs_ = util::split(cmd_args); - init_args(std::forward<Args>(args)...); - - // Setup the communication channels of the Popen class - stream_.setup_comm_channels(); - - if (!defer_process_start_) execute_process(); - } - - template <typename... Args> - Popen(std::initializer_list<const char*> cmd_args, Args&& ...args) - { - vargs_.insert(vargs_.end(), cmd_args.begin(), cmd_args.end()); - init_args(std::forward<Args>(args)...); - - // Setup the communication channels of the Popen class - stream_.setup_comm_channels(); - - if (!defer_process_start_) execute_process(); - } - - void start_process() throw (CalledProcessError, OSError); - - int pid() const noexcept { return child_pid_; } - - int retcode() const noexcept { return retcode_; } - - int wait() throw(OSError); - - int poll() throw(OSError); - - // Does not fail, Caller is expected to recheck the - // status with a call to poll() - void kill(int sig_num = 9); - - void set_out_buf_cap(size_t cap) { stream_.set_out_buf_cap(cap); } - - void set_err_buf_cap(size_t cap) { stream_.set_err_buf_cap(cap); } - - int send(const char* msg, size_t length) - { return stream_.send(msg, length); } - - int send(const std::vector<char>& msg) - { return stream_.send(msg); } - - std::pair<OutBuffer, ErrBuffer> communicate(const char* msg, size_t length) - { - auto res = stream_.communicate(msg, length); - retcode_ = wait(); - return res; - } - - std::pair<OutBuffer, ErrBuffer> communicate(const std::vector<char>& msg) - { - auto res = stream_.communicate(msg); - retcode_ = wait(); - return res; - } - - std::pair<OutBuffer, ErrBuffer> communicate() - { - return communicate(nullptr, 0); - } - - FILE* input() { return stream_.input(); } - FILE* output() { return stream_.output();} - FILE* error() { return stream_.error(); } - -private: - template <typename F, typename... Args> - void init_args(F&& farg, Args&&... args); - void init_args(); - void populate_c_argv(); - void execute_process() throw (CalledProcessError, OSError); - -private: - detail::Streams stream_; - - bool defer_process_start_ = false; - bool close_fds_ = false; - bool has_preexec_fn_ = false; - bool shell_ = false; - bool session_leader_ = false; - - std::string exe_name_; - std::string cwd_; - std::map<std::string, std::string> env_; - preexec_func preexec_fn_; - - // Command in string format - std::string args_; - // Comamnd provided as sequence - std::vector<std::string> vargs_; - std::vector<char*> cargv_; - - bool child_created_ = false; - // Pid of the child process - int child_pid_ = -1; - - int retcode_ = -1; -}; - -inline void Popen::init_args() { - populate_c_argv(); -} - -template <typename F, typename... Args> -inline void Popen::init_args(F&& farg, Args&&... args) -{ - detail::ArgumentDeducer argd(this); - argd.set_option(std::forward<F>(farg)); - init_args(std::forward<Args>(args)...); -} - -inline void Popen::populate_c_argv() -{ - cargv_.clear(); - cargv_.reserve(vargs_.size() + 1); - for (auto& arg : vargs_) cargv_.push_back(&arg[0]); - cargv_.push_back(nullptr); -} - -inline void Popen::start_process() throw (CalledProcessError, OSError) -{ - // The process was started/tried to be started - // in the constructor itself. - // For explicitly calling this API to start the - // process, 'defer_spawn' argument must be set to - // true in the constructor. - if (!defer_process_start_) { - assert (0); - return; - } - execute_process(); -} - -inline int Popen::wait() throw (OSError) -{ - int ret, status; - std::tie(ret, status) = util::wait_for_child_exit(pid()); - if (ret == -1) { - if (errno != ECHILD) throw OSError("waitpid failed", errno); - return 0; - } - if (WIFEXITED(status)) return WEXITSTATUS(status); - if (WIFSIGNALED(status)) return WTERMSIG(status); - else return 255; - - return 0; -} - -inline int Popen::poll() throw (OSError) -{ - int status; - if (!child_created_) return -1; // TODO: ?? - - // Returns zero if child is still running - int ret = waitpid(child_pid_, &status, WNOHANG); - if (ret == 0) return -1; - - if (ret == child_pid_) { - if (WIFSIGNALED(status)) { - retcode_ = WTERMSIG(status); - } else if (WIFEXITED(status)) { - retcode_ = WEXITSTATUS(status); - } else { - retcode_ = 255; - } - return retcode_; - } - - if (ret == -1) { - // From subprocess.py - // This happens if SIGCHLD is set to be ignored - // or waiting for child process has otherwise been disabled - // for our process. This child is dead, we cannot get the - // status. - if (errno == ECHILD) retcode_ = 0; - else throw OSError("waitpid failed", errno); - } else { - retcode_ = ret; - } - - return retcode_; -} - -inline void Popen::kill(int sig_num) -{ - if (session_leader_) killpg(child_pid_, sig_num); - else ::kill(child_pid_, sig_num); -} - - -inline void Popen::execute_process() throw (CalledProcessError, OSError) -{ - int err_rd_pipe, err_wr_pipe; - std::tie(err_rd_pipe, err_wr_pipe) = util::pipe_cloexec(); - - if (shell_) { - auto new_cmd = util::join(vargs_); - vargs_.clear(); - vargs_.insert(vargs_.begin(), {"/bin/sh", "-c"}); - vargs_.push_back(new_cmd); - populate_c_argv(); - } - - if (exe_name_.length()) { - vargs_.insert(vargs_.begin(), exe_name_); - populate_c_argv(); - } - exe_name_ = vargs_[0]; - - child_pid_ = fork(); - - if (child_pid_ < 0) { - close(err_rd_pipe); - close(err_wr_pipe); - throw OSError("fork failed", errno); - } - - child_created_ = true; - - if (child_pid_ == 0) - { - // Close descriptors belonging to parent - stream_.close_parent_fds(); - - //Close the read end of the error pipe - close(err_rd_pipe); - - detail::Child chld(this, err_wr_pipe); - chld.execute_child(); - } - else - { - close (err_wr_pipe);// close child side of pipe, else get stuck in read below - - stream_.close_child_fds(); - - try { - char err_buf[SP_MAX_ERR_BUF_SIZ] = {0,}; - - int read_bytes = util::read_atmost_n( - err_rd_pipe, - err_buf, - SP_MAX_ERR_BUF_SIZ); - close(err_rd_pipe); - - if (read_bytes || strlen(err_buf)) { - // Call waitpid to reap the child process - // waitpid suspends the calling process until the - // child terminates. - wait(); - - // Throw whatever information we have about child failure - throw CalledProcessError(err_buf); - } - } catch (std::exception& exp) { - stream_.cleanup_fds(); - throw exp; - } - - } -} - -namespace detail { - - inline void ArgumentDeducer::set_option(executable&& exe) { - popen_->exe_name_ = std::move(exe.arg_value); - } - - inline void ArgumentDeducer::set_option(cwd&& cwdir) { - popen_->cwd_ = std::move(cwdir.arg_value); - } - - inline void ArgumentDeducer::set_option(bufsize&& bsiz) { - popen_->stream_.bufsiz_ = bsiz.bufsiz; - } - - inline void ArgumentDeducer::set_option(environment&& env) { - popen_->env_ = std::move(env.env_); - } - - inline void ArgumentDeducer::set_option(defer_spawn&& defer) { - popen_->defer_process_start_ = defer.defer; - } - - inline void ArgumentDeducer::set_option(shell&& sh) { - popen_->shell_ = sh.shell_; - } - - inline void ArgumentDeducer::set_option(session_leader&& sleader) { - popen_->session_leader_ = sleader.leader_; - } - - inline void ArgumentDeducer::set_option(input&& inp) { - if (inp.rd_ch_ != -1) popen_->stream_.read_from_parent_ = inp.rd_ch_; - if (inp.wr_ch_ != -1) popen_->stream_.write_to_child_ = inp.wr_ch_; - } - - inline void ArgumentDeducer::set_option(output&& out) { - if (out.wr_ch_ != -1) popen_->stream_.write_to_parent_ = out.wr_ch_; - if (out.rd_ch_ != -1) popen_->stream_.read_from_child_ = out.rd_ch_; - } - - inline void ArgumentDeducer::set_option(error&& err) { - if (err.deferred_) { - if (popen_->stream_.write_to_parent_) { - popen_->stream_.err_write_ = popen_->stream_.write_to_parent_; - } else { - throw std::runtime_error("Set output before redirecting error to output"); - } - } - if (err.wr_ch_ != -1) popen_->stream_.err_write_ = err.wr_ch_; - if (err.rd_ch_ != -1) popen_->stream_.err_read_ = err.rd_ch_; - } - - inline void ArgumentDeducer::set_option(close_fds&& cfds) { - popen_->close_fds_ = cfds.close_all; - } - - inline void ArgumentDeducer::set_option(preexec_func&& prefunc) { - popen_->preexec_fn_ = std::move(prefunc); - popen_->has_preexec_fn_ = true; - } - - - inline void Child::execute_child() { - int sys_ret = -1; - auto& stream = parent_->stream_; - - try { - if (stream.write_to_parent_ == 0) - stream.write_to_parent_ = dup(stream.write_to_parent_); - - if (stream.err_write_ == 0 || stream.err_write_ == 1) - stream.err_write_ = dup(stream.err_write_); - - // Make the child owned descriptors as the - // stdin, stdout and stderr for the child process - auto _dup2_ = [](int fd, int to_fd) { - if (fd == to_fd) { - // dup2 syscall does not reset the - // CLOEXEC flag if the descriptors - // provided to it are same. - // But, we need to reset the CLOEXEC - // flag as the provided descriptors - // are now going to be the standard - // input, output and error - util::set_clo_on_exec(fd, false); - } else if(fd != -1) { - int res = dup2(fd, to_fd); - if (res == -1) throw OSError("dup2 failed", errno); - } - }; - - // Create the standard streams - _dup2_(stream.read_from_parent_, 0); // Input stream - _dup2_(stream.write_to_parent_, 1); // Output stream - _dup2_(stream.err_write_, 2); // Error stream - - // Close the duped descriptors - if (stream.read_from_parent_ != -1 && stream.read_from_parent_ > 2) - close(stream.read_from_parent_); - - if (stream.write_to_parent_ != -1 && stream.write_to_parent_ > 2) - close(stream.write_to_parent_); - - if (stream.err_write_ != -1 && stream.err_write_ > 2) - close(stream.err_write_); - - // Close all the inherited fd's except the error write pipe - if (parent_->close_fds_) { - long max_fd = sysconf(_SC_OPEN_MAX); - if (max_fd == -1) throw OSError("sysconf failed", errno); - - for (int i = 3; i < max_fd; i++) { - if (i == err_wr_pipe_) continue; - close(i); - } - } - - // Change the working directory if provided - if (parent_->cwd_.length()) { - sys_ret = chdir(parent_->cwd_.c_str()); - if (sys_ret == -1) throw OSError("chdir failed", errno); - } - - if (parent_->has_preexec_fn_) { - parent_->preexec_fn_(); - } - - if (parent_->session_leader_) { - sys_ret = setsid(); - if (sys_ret == -1) throw OSError("setsid failed", errno); - } - - // Replace the current image with the executable - if (parent_->env_.size()) { - for (auto& kv : parent_->env_) { - setenv(kv.first.c_str(), kv.second.c_str(), 1); - } - sys_ret = execvp(parent_->exe_name_.c_str(), parent_->cargv_.data()); - } else { - sys_ret = execvp(parent_->exe_name_.c_str(), parent_->cargv_.data()); - } - - if (sys_ret == -1) throw OSError("execve failed", errno); - - } catch (const OSError& exp) { - // Just write the exception message - // TODO: Give back stack trace ? - std::string err_msg(exp.what()); - //ATTN: Can we do something on error here ? - util::write_n(err_wr_pipe_, err_msg.c_str(), err_msg.length()); - throw exp; - } - - // Calling application would not get this - // exit failure - exit (EXIT_FAILURE); - } - - - inline void Streams::setup_comm_channels() - { - if (write_to_child_ != -1) input(fdopen(write_to_child_, "wb")); - if (read_from_child_ != -1) output(fdopen(read_from_child_, "rb")); - if (err_read_ != -1) error(fdopen(err_read_, "rb")); - - auto handles = {input(), output(), error()}; - - for (auto& h : handles) { - if (h == nullptr) continue; - switch (bufsiz_) { - case 0: - setvbuf(h, nullptr, _IONBF, BUFSIZ); - break; - case 1: - setvbuf(h, nullptr, _IONBF, BUFSIZ); - break; - default: - setvbuf(h, nullptr, _IOFBF, bufsiz_); - }; - } - } - - inline int Communication::send(const char* msg, size_t length) - { - if (stream_->input() == nullptr) return -1; - return std::fwrite(msg, sizeof(char), (int)length, stream_->input()); - } - - inline int Communication::send(const std::vector<char>& msg) - { - return send(msg.data(), msg.size()); - } - - inline std::pair<OutBuffer, ErrBuffer> - Communication::communicate(const char* msg, size_t length) - { - // Optimization from subprocess.py - // If we are using one pipe, or no pipe - // at all, using select() or threads is unnecessary. - auto hndls = {stream_->input(), stream_->output(), stream_->error()}; - int count = std::count(std::begin(hndls), std::end(hndls), nullptr); - const int len_conv = (int)length; - - if (count >= 2) { - OutBuffer obuf; - ErrBuffer ebuf; - if (stream_->input()) { - if (msg) { - int wbytes = std::fwrite(msg, sizeof(char), (int)length, stream_->input()); - if (wbytes < len_conv) { - if (errno != EPIPE && errno != EINVAL) { - throw OSError("fwrite error", errno); - } - } - } - // Close the input stream - stream_->input_.reset(); - } else if (stream_->output()) { - // Read till EOF - // ATTN: This could be blocking, if the process - // at the other end screws up, we get screwed as well - obuf.add_cap(out_buf_cap_); - - int rbytes = util::read_all( - fileno(stream_->output()), - obuf.buf); - - if (rbytes == -1) { - throw OSError("read to obuf failed", errno); - } - - obuf.length = rbytes; - // Close the output stream - stream_->output_.reset(); - - } else if (stream_->error()) { - // Same screwness applies here as well - ebuf.add_cap(err_buf_cap_); - - int rbytes = util::read_atmost_n( - fileno(stream_->error()), - ebuf.buf.data(), - ebuf.buf.size()); - - if (rbytes == -1) { - throw OSError("read to ebuf failed", errno); - } - - ebuf.length = rbytes; - // Close the error stream - stream_->error_.reset(); - } - return std::make_pair(std::move(obuf), std::move(ebuf)); - } - - return communicate_threaded(msg, length); - } - - - inline std::pair<OutBuffer, ErrBuffer> - Communication::communicate_threaded(const char* msg, size_t length) - { - OutBuffer obuf; - ErrBuffer ebuf; - std::future<int> out_fut, err_fut; - const int length_conv = (int)length; - - if (stream_->output()) { - obuf.add_cap(out_buf_cap_); - - out_fut = std::async(std::launch::async, - [&obuf, this] { - return util::read_all(fileno(this->stream_->output()), obuf.buf); - }); - } - if (stream_->error()) { - ebuf.add_cap(err_buf_cap_); - - err_fut = std::async(std::launch::async, - [&ebuf, this] { - return util::read_all(fileno(this->stream_->error()), ebuf.buf); - }); - } - if (stream_->input()) { - if (msg) { - int wbytes = std::fwrite(msg, sizeof(char), (int)length, stream_->input()); - if (wbytes < length_conv) { - if (errno != EPIPE && errno != EINVAL) { - throw OSError("fwrite error", errno); - } - } - } - stream_->input_.reset(); - } - - if (out_fut.valid()) { - int res = out_fut.get(); - if (res != -1) obuf.length = res; - else obuf.length = 0; - } - if (err_fut.valid()) { - int res = err_fut.get(); - if (res != -1) ebuf.length = res; - else ebuf.length = 0; - } - - return std::make_pair(std::move(obuf), std::move(ebuf)); - } - -}; // end namespace detail - - - -// Convenience Functions -// -// -namespace detail -{ - template<typename F, typename... Args> - OutBuffer check_output_impl(F& farg, Args&&... args) - { - static_assert(!detail::has_type<output, detail::param_pack<Args...> >::value, "output not allowed in args"); - auto p = Popen(std::forward<F>(farg), std::forward<Args>(args)..., output{PIPE}); - auto res = p.communicate(); - auto retcode = p.poll(); - if (retcode > 0) { - throw CalledProcessError("Command failed : Non zero retcode"); - } - return std::move(res.first); - } - - template<typename F, typename... Args> - int call_impl(F& farg, Args&&... args) - { - return Popen(std::forward<F>(farg), std::forward<Args>(args)...).wait(); - } - - static inline void pipeline_impl(std::vector<Popen>& cmds) - { - /* EMPTY IMPL */ - } - - template<typename... Args> - static inline void pipeline_impl(std::vector<Popen>& cmds, - const std::string& cmd, - Args&&... args) - { - if (cmds.size() == 0) { - cmds.emplace_back(cmd, output{PIPE}, defer_spawn{true}); - } else { - cmds.emplace_back(cmd, input{cmds.back().output()}, output{PIPE}, defer_spawn{true}); - } - - pipeline_impl(cmds, std::forward<Args>(args)...); - } - -} - -/*----------------------------------------------------------- - * CONVIENIENCE FUNCTIONS - *----------------------------------------------------------- - */ - - -/*! - * Run the command with arguments and wait for it to complete. - * The parameters passed to the argument are exactly the same - * one would use for Popen constructors. - */ -template<typename... Args> -int call(std::initializer_list<const char*> plist, Args&&... args) -{ - return (detail::call_impl(plist, std::forward<Args>(args)...)); -} - -template<typename... Args> -int call(const std::string& arg, Args&&... args) -{ - return (detail::call_impl(arg, std::forward<Args>(args)...)); -} - - -/*! - * Run the command with arguments and wait for it to complete. - * If the exit code was non-zero it raises a CalledProcessError. - * The arguments are the same as for the Popen constructor. - */ -template <typename... Args> -OutBuffer check_output(std::initializer_list<const char*> plist, Args&&... args) -{ - return (detail::check_output_impl(plist, std::forward<Args>(args)...)); -} - -template <typename... Args> -OutBuffer check_output(const std::string& arg, Args&&... args) -{ - return (detail::check_output_impl(arg, std::forward<Args>(args)...)); -} - - -/*! - * An easy way to pipeline easy commands. - * Provide the commands that needs to be pipelined in the order they - * would appear in a regular command. - * It would wait for the last command provided in the pipeline - * to finish and then return the OutBuffer. - */ -template<typename... Args> -// Args expected to be flat commands using string instead of initializer_list -OutBuffer pipeline(Args&&... args) -{ - std::vector<Popen> pcmds; - detail::pipeline_impl(pcmds, std::forward<Args>(args)...); - - for (auto& p : pcmds) p.start_process(); - return (pcmds.back().communicate().first); -} - -}; - -#endif // __cplusplus - -#endif // SUBPROCESS_HPP diff --git a/launchers/macosx/main.mm b/launchers/macosx/main.mm deleted file mode 100644 index 54e0b5ee8c..0000000000 --- a/launchers/macosx/main.mm +++ /dev/null @@ -1,245 +0,0 @@ -#include <functional> -#include <memory> -#include <iostream> -#include <algorithm> -#include <string> -#include <list> -#include <sys/stat.h> -#include <stdlib.h> -#include <future> -#include <vector> - -#import <Foundation/Foundation.h> -#import <Foundation/NSFileManager.h> -#include <CoreFoundation/CFPreferences.h> - -#import <objc/Object.h> -#import <Cocoa/Cocoa.h> -#import <AppKit/AppKit.h> -#import <AppKit/NSApplication.h> - -#import "I2PLauncher-Swift.h" - -#include "AppDelegate.h" -#include "RouterTask.h" -#include "include/fn.h" -#include "include/portcheck.h" -#import "SBridge.h" -#import "Deployer.h" -#include "logger_c.h" - -#ifdef __cplusplus -#include <string> - -#include "include/subprocess.hpp" -#include "include/strutil.hpp" - -#include "Logger.h" -#include "LoggerWorker.hpp" - -using namespace subprocess; -#endif - -#define debug(format, ...) CFShow([NSString stringWithFormat:format, ## __VA_ARGS__]); - - - -@interface AppDelegate () <NSUserNotificationCenterDelegate, NSApplicationDelegate> -@end - - -@implementation ExtractMetaInfo : NSObject -@end - - -@implementation AppDelegate - -- (void) awakeFromNib { -} - - -- (BOOL)userNotificationCenter:(NSUserNotificationCenter *)center - shouldPresentNotification:(NSUserNotification *)notification { - return YES; -} - -- (void)extractI2PBaseDir:(void(^)(BOOL success, NSError *error))completion -{ - self.deployer = [[I2PDeployer alloc] initWithMetaInfo:self.metaInfo]; - [self.deployer extractI2PBaseDir:completion]; -} - -- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { - // Init application here - - // Here we initialize the swift code which would do most of the job from now on. - self.swiftRuntime = [[SwiftApplicationDelegate alloc] init]; - - // This setup allows the application to send notifications - [[NSUserNotificationCenter defaultUserNotificationCenter] setDelegate:self]; - - - // Start with user preferences - self.userPreferences = [NSUserDefaults standardUserDefaults]; - // In case we are unbundled, make us a proper UI application - [NSApp setActivationPolicy:NSApplicationActivationPolicyAccessory]; - [NSApp activateIgnoringOtherApps:YES]; - - -#ifdef __cplusplus - - RouterProcessStatus* routerStatus = [[RouterProcessStatus alloc] init]; - std::string i2pBaseDir(getDefaultBaseDir()); - MLOG(INFO) << "i2pBaseDir = " << i2pBaseDir.c_str(); - bool shouldAutoStartRouter = false; - - // Initialize the Swift environment (the UI components) - [self.swiftRuntime applicationDidFinishLaunching]; - - NSInteger portNum = [self.userPreferences integerForKey:@"consolePortCheckNum"]; - if (port_check((int)portNum) != 0) - { - NSLog(@"Seems i2p is already running - I will not start the router (port %d is in use..)", (int)portNum); - sendUserNotification(@"Found already running router", @"TCP port 7657 seem to be used by another i2p instance."); - - [routerStatus setRouterStatus: true]; - [routerStatus setRouterRanByUs: false]; - shouldAutoStartRouter = false; - } else { - shouldAutoStartRouter = true; - } - if (![self.userPreferences boolForKey:@"startRouterAtLogin"] && ![self.userPreferences boolForKey:@"startRouterAtStartup"]) - { - // In this case we don't want to find a running service - std::string launchdFile(RealHomeDirectory()); - launchdFile += "/Library/LaunchAgents/net.i2p.macosx.I2PRouter.plist"; - - } - - NSBundle *launcherBundle = [NSBundle mainBundle]; - - - // Helper object to hold statefull path information - self.metaInfo = [[ExtractMetaInfo alloc] init]; - self.metaInfo.i2pBase = [NSString stringWithUTF8String:i2pBaseDir.c_str()]; - self.metaInfo.javaBinary = [routerStatus getJavaHome]; - self.metaInfo.jarFile = [launcherBundle pathForResource:@"launcher" ofType:@"jar"]; - self.metaInfo.zipFile = [launcherBundle pathForResource:@"base" ofType:@"zip"]; - - std::string basearg("-Di2p.dir.base="); - basearg += i2pBaseDir; - - std::string jarfile("-cp "); - jarfile += [self.metaInfo.zipFile UTF8String]; - - // This will trigger the router start after an upgrade. - [routerStatus listenForEventWithEventName:@"router_must_upgrade" callbackActionFn:^(NSString* information) { - NSLog(@"Got signal, router must be deployed from base.zip"); - [self extractI2PBaseDir:^(BOOL success, NSError *error) { - if (success) { - sendUserNotification(@"I2P is done extracting", @"I2P is now installed and ready to run!"); - NSLog(@"Done extracting I2P"); - [routerStatus triggerEventWithEn:@"extract_completed" details:@"upgrade complete"]; - } else { - NSLog(@"Error while extracting I2P"); - [routerStatus triggerEventWithEn:@"extract_errored" details:[NSString stringWithFormat:@"%@", error]]; - } - }]; - }]; - - NSString *nsI2PBaseStr = [NSString stringWithUTF8String:i2pBaseDir.c_str()]; - - [routerStatus listenForEventWithEventName:@"extract_completed" callbackActionFn:^(NSString* information) { - NSLog(@"Time to detect I2P version in install directory"); - [self.swiftRuntime findInstalledI2PVersion]; - }]; - - //struct stat sb; - //if ( !(stat(i2pBaseDir.c_str(), &sb) == 0 && S_ISDIR(sb.st_mode)) ) - BOOL shouldBeTrueOnReturnDir = YES; - if (! [NSFileManager.defaultManager fileExistsAtPath: nsI2PBaseStr isDirectory: &shouldBeTrueOnReturnDir]) - { - // I2P is not extracted. - if (shouldBeTrueOnReturnDir) { - if (self.enableVerboseLogging) NSLog(@"I2P Directory don't exists!"); - [routerStatus triggerEventWithEn:@"router_must_upgrade" details:@"deploy needed"]; - } else { - // TODO: handle if i2p path exists but it's not a dir. - } - } else { - // I2P was already found extracted - NSString *nsI2pJar = [NSString stringWithFormat:@"%@/lib/i2p.jar", nsI2PBaseStr]; - - // But does I2PBASE/lib/i2p.jar exists? - if ([NSFileManager.defaultManager fileExistsAtPath:nsI2pJar]) { - NSLog(@"Time to detect I2P version in install directory"); - [self.swiftRuntime findInstalledI2PVersion]; - } else { - // The directory exists, but not i2p.jar - most likely we're in mid-extraction state. - [routerStatus triggerEventWithEn:@"router_must_upgrade" details:@"deploy needed"]; - } - } - -#endif -} - -/** - * - * Exit sequence - * - **/ -- (void)applicationWillTerminate:(NSNotification *)aNotification { - // Tear down here - [self.swiftRuntime applicationWillTerminate]; - NSString *string = @"applicationWillTerminate executed"; - NSLog(@"%@", string); - [[NSUserNotificationCenter defaultUserNotificationCenter] setDelegate:nil]; -} - - -/* wrapper for main */ -- (AppDelegate *)initWithArgc:(int)argc argv:(const char **)argv { - return self; -} -@end - -#ifdef __cplusplus -namespace { - const std::string logDirectory = getDefaultLogDir(); -} -#endif - -int main(int argc, const char **argv) -{ - NSApplication *app = [NSApplication sharedApplication]; - -#ifdef __cplusplus - mkdir(logDirectory.c_str(), S_IRUSR | S_IWUSR | S_IXUSR); - - SharedLogWorker logger("I2PLauncher", logDirectory); - MeehLog::initializeLogging(&logger); - - MLOG(INFO) << "Application is starting up"; -#endif - - AppDelegate *appDelegate = [[AppDelegate alloc] initWithArgc:argc argv:argv]; - app.delegate = appDelegate; - auto mainBundle = [NSBundle mainBundle]; - NSString* stringNameBundle = [mainBundle objectForInfoDictionaryKey:(NSString *)kCFBundleNameKey]; - if ([[NSRunningApplication runningApplicationsWithBundleIdentifier:[mainBundle bundleIdentifier]] count] > 1) { - [[NSAlert alertWithMessageText:[NSString stringWithFormat:@"Another copy of %@ is already running.",stringNameBundle] - defaultButton:nil alternateButton:nil otherButton:nil informativeTextWithFormat:@"This copy will now quit."] runModal]; - - [NSApp terminate:nil]; - } -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - [NSBundle loadNibNamed:@"I2Launcher" owner:NSApp]; -#pragma GCC diagnostic pop - - [NSApp run]; - return 0; -} - - - diff --git a/launchers/macosx/osx_create_dmg.sh b/launchers/macosx/osx_create_dmg.sh deleted file mode 100755 index 501ad7239a..0000000000 --- a/launchers/macosx/osx_create_dmg.sh +++ /dev/null @@ -1,114 +0,0 @@ -#!/usr/bin/env bash -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -source $DIR/.sign-secrets - -APP_NAME="I2PLauncher" -VERSION="`/usr/libexec/PlistBuddy -c 'Print I2PRouterVersion' Info.plist`" -DMG_BACKGROUND_IMG=${BACKGROUND_IMG:-"Background.png"} - -APP_EXE="${APP_NAME}.app/Contents/MacOS/${APP_NAME}" -VOL_NAME="${APP_NAME}-${VERSION}" -DMG_TMP="${VOL_NAME}-temp.dmg" -DMG_FINAL="${DMG_NAME:-"I2PMacLauncher-fallback"}.dmg" -STAGING_DIR="/tmp/mkdmg$$" - -# Check the background image DPI and convert it if it isn't 72x72 -_BACKGROUND_IMAGE_DPI_H=`sips -g dpiHeight ${DMG_BACKGROUND_IMG} | grep -Eo '[0-9]+\.[0-9]+'` -_BACKGROUND_IMAGE_DPI_W=`sips -g dpiWidth ${DMG_BACKGROUND_IMG} | grep -Eo '[0-9]+\.[0-9]+'` - -if [ $(echo " $_BACKGROUND_IMAGE_DPI_H != 72.0 " | bc) -eq 1 -o $(echo " $_BACKGROUND_IMAGE_DPI_W != 72.0 " | bc) -eq 1 ]; then - echo "WARNING: The background image's DPI is not 72. This will result in distorted backgrounds on Mac OS X 10.7+." - echo " I will convert it to 72 DPI for you." - - _DMG_BACKGROUND_TMP="${DMG_BACKGROUND_IMG%.*}"_dpifix."${DMG_BACKGROUND_IMG##*.}" - - sips -s dpiWidth 72 -s dpiHeight 72 $DIR/${DMG_BACKGROUND_IMG} --out $DIR/${_DMG_BACKGROUND_TMP} - - - DMG_BACKGROUND_IMG="${_DMG_BACKGROUND_TMP}" -fi - -# copy over the stuff we want in the final disk image to our staging dir -mkdir -p "${STAGING_DIR}" -cp -Rpf "${APP_NAME}.app" "${STAGING_DIR}" -# ... cp anything else you want in the DMG - documentation, etc. - -# figure out how big our DMG needs to be -# assumes our contents are at least 1M! -SIZE=`du -sh "${STAGING_DIR}" | sed 's/\([0-9\.]*\)M\(.*\)/\1/'` -SIZE=`echo "${SIZE} + 23.0" | bc | awk '{print int($1+0.5)}'` - -if [ $? -ne 0 ]; then - echo "Error: Cannot compute size of staging dir" - exit -fi - -# create the temp DMG file -hdiutil create -srcfolder "${STAGING_DIR}" -volname "${VOL_NAME}" -fs HFS+ \ - -fsargs "-c c=64,a=16,e=16" -format UDRW -size ${SIZE}M "$RELEASE_DIR/${DMG_TMP}" - -echo "Created DMG: ${DMG_TMP}" - -# mount it and save the device -DEVICE=$(hdiutil attach -readwrite -noverify "$RELEASE_DIR/${DMG_TMP}" | \ - egrep '^/dev/' | sed 1q | awk '{print $1}') - -sleep 2 - - - -# add a link to the Applications dir -echo "Add link to /Applications" -cd /Volumes/"${VOL_NAME}" -ln -sf /Applications Applications - -# add a background image -mkdir -p /Volumes/"${VOL_NAME}"/.background -cp "$DIR/`basename ${DMG_BACKGROUND_IMG}`" /Volumes/"${VOL_NAME}"/.background/`basename ${DMG_BACKGROUND_IMG}` - -cd $RELEASE_DIR - -# tell the Finder to resize the window, set the background, -# change the icon size, place the icons in the right position, etc. -echo ' - tell application "Finder" - tell disk "'${VOL_NAME}'" - open - set current view of container window to icon view - set toolbar visible of container window to false - set statusbar visible of container window to false - set the bounds of container window to {400, 100, 920, 440} - set viewOptions to the icon view options of container window - set arrangement of viewOptions to not arranged - set icon size of viewOptions to 72 - set background picture of viewOptions to file ".background:'${DMG_BACKGROUND_IMG}'" - set position of item "'${APP_NAME}'.app" of container window to {160, 205} - set position of item "Applications" of container window to {360, 205} - close - open - update without registering applications - delay 2 - end tell - end tell -' | osascript - -sync - -# unmount it -hdiutil detach "${DEVICE}" - -# now make the final image a compressed disk image -echo "Creating compressed image" -hdiutil convert "$RELEASE_DIR/${DMG_TMP}" -format UDZO -imagekey zlib-level=9 -o "$RELEASE_DIR/${DMG_FINAL}" - -codesign --force --deep --sign "${APPLE_CODE_SIGNER_ID}" "$RELEASE_DIR/${DMG_FINAL}" - -# clean up -rm -rf "$RELEASE_DIR/${DMG_TMP}" -rm -rf "${STAGING_DIR}" - - -echo 'Done.' - -exit diff --git a/launchers/macosx/project/plugins.sbt b/launchers/macosx/project/plugins.sbt deleted file mode 100644 index 36cfe76603..0000000000 --- a/launchers/macosx/project/plugins.sbt +++ /dev/null @@ -1,2 +0,0 @@ -addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6") -addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.4") diff --git a/launchers/macosx/requirements.txt b/launchers/macosx/requirements.txt deleted file mode 100644 index 58c95be88f..0000000000 --- a/launchers/macosx/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -builddmg diff --git a/launchers/macosx/src/main/java/net/i2p/launchers/BaseExtractor.java b/launchers/macosx/src/main/java/net/i2p/launchers/BaseExtractor.java deleted file mode 100644 index c7009cf172..0000000000 --- a/launchers/macosx/src/main/java/net/i2p/launchers/BaseExtractor.java +++ /dev/null @@ -1,85 +0,0 @@ -package net.i2p.launchers; - - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.FileSystem; -import java.nio.file.FileSystems; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Enumeration; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; -import java.nio.file.*; -import java.nio.file.attribute.BasicFileAttributes; - -import static java.nio.file.Files.*; - -/** - * As the name suggest, it extracts the base path. - * - * @author Meeh - * @since 0.9.35 - */ -public class BaseExtractor extends EnvCheck { - - public boolean printDebug = false; - - public void unzip(final Path zipFile) { - try { - String destinationPath = this.baseDirPath; - final Path destDir = Files.createDirectories(FileSystems.getDefault().getPath(destinationPath)); - if (notExists(destDir)) { - createDirectories(destDir); - } - - try (FileSystem zipFileSystem = FileSystems.newFileSystem(zipFile, null)) { - final Path root = zipFileSystem.getRootDirectories().iterator().next(); - - walkFileTree(root, new SimpleFileVisitor<Path>() { - @Override - public FileVisitResult visitFile(Path file, - BasicFileAttributes attrs) throws IOException { - final Path destFile = Paths.get(destDir.toString(), file.toString()); - try { - copy(file, destFile, StandardCopyOption.REPLACE_EXISTING); - } catch (DirectoryNotEmptyException ignore) { - } - return FileVisitResult.CONTINUE; - } - - @Override - public FileVisitResult preVisitDirectory(Path dir, - BasicFileAttributes attrs) throws IOException { - final Path dirToCreate = Paths.get(destDir.toString(), dir.toString()); - if (notExists(dirToCreate)) { - createDirectory(dirToCreate); - } - return FileVisitResult.CONTINUE; - } - }); - } - } catch (IOException e) { - // - System.err.println("Exception in extractor!"); - System.err.println(e.toString()); - } - } - - public BaseExtractor(String[] args) { - super(args); - } - - public static void main(String[] args) { - System.out.println("Starting extraction"); - BaseExtractor be = new BaseExtractor(args); - String debug = System.getProperty("print.debug"); - if (debug != null) { - be.printDebug = true; - } - be.unzip( FileSystems.getDefault().getPath(System.getProperty("i2p.base.zip")) ); - } -} diff --git a/launchers/macosx/src/main/java/net/i2p/launchers/EnvCheck.java b/launchers/macosx/src/main/java/net/i2p/launchers/EnvCheck.java deleted file mode 100644 index 3fa214b6f7..0000000000 --- a/launchers/macosx/src/main/java/net/i2p/launchers/EnvCheck.java +++ /dev/null @@ -1,27 +0,0 @@ -package net.i2p.launchers; - -/** - * Both the extractor class and the launcher class needs to be able to verify - * the environment (variables) to work. This is a base class implementing it. - * - * @author Meeh - * @since 0.9.35 - */ -public class EnvCheck { - - protected String baseDirPath = null; - - protected boolean isBaseDirectorySet() { - baseDirPath = System.getProperty("i2p.base.dir"); - if (baseDirPath == null) { - baseDirPath = System.getenv("I2PBASE"); - } - return (baseDirPath != null); - } - - public EnvCheck(String[] args) { - if (!isBaseDirectorySet()) { - throw new RuntimeException("Can't detect I2P's base directory!"); - } - } -} diff --git a/launchers/macosx/src/main/java/net/i2p/launchers/SimpleOSXLauncher.java b/launchers/macosx/src/main/java/net/i2p/launchers/SimpleOSXLauncher.java deleted file mode 100644 index 3897a32f0e..0000000000 --- a/launchers/macosx/src/main/java/net/i2p/launchers/SimpleOSXLauncher.java +++ /dev/null @@ -1,25 +0,0 @@ -package net.i2p.launchers; - -import net.i2p.router.Router; - -public class SimpleOSXLauncher extends EnvCheck { - - protected Router i2pRouter; - - /** - * - * This is bairly a abstraction layer for the Router. - * Why? I suspect we will add some spesific osx launcher code at startup - * in the jvm somewhere, and this seem like a nice place to not make a mess everywhere. - * - * @author Meeh - * @since 0.9.35 - */ - public SimpleOSXLauncher(String[] args) { - super(args); - i2pRouter = new Router(); - } - public static void main(String[] args) { - new SimpleOSXLauncher(args); - } -} diff --git a/launchers/macosx/version.h.tpl b/launchers/macosx/version.h.tpl deleted file mode 100644 index 282589a72a..0000000000 --- a/launchers/macosx/version.h.tpl +++ /dev/null @@ -1,22 +0,0 @@ -// -// version.h -// I2PLauncher -// -// Created by Mikal Villa on 28/09/2018. -// Copyright © 2018 The I2P Project. All rights reserved. -// - -#ifndef version_h -#define version_h - - -#define DEF_I2P_VERSION "VERSION_REPLACED_BY_XCODE_BUILD_SCRIPT" -#define NSDEF_I2P_VERSION @"VERSION_REPLACED_BY_XCODE_BUILD_SCRIPT" -#define DEF_BUILD_INFO "BUILD_INFO_REPLACED_BY_XCODE_BUILD_SCRIPT" -#define APPDOMAIN "net.i2p.bootstrap-macosx" -#define NSAPPDOMAIN @APPDOMAIN -#define CFAPPDOMAIN CFSTR(APPDOMAIN) -#define APP_IDSTR @"I2P Launcher" - - -#endif /* version_h */ diff --git a/launchers/project/IconHelper.scala b/launchers/project/IconHelper.scala deleted file mode 100644 index 2cc82bba72..0000000000 --- a/launchers/project/IconHelper.scala +++ /dev/null @@ -1,52 +0,0 @@ -package root - -import sbt._, Keys._ -import java.io.File - -/** - * - * This is an autoplugin for sbt which makes it possible to - * create an correctly made icns file for usage as app icon. - * - * The task "convertToICNSTask" should become available for us to define - * because of this class. - * - * sips is only a command on Mac OS X afaik so this would probably need to be - * built on a mac. - * - * @since 0.9.35 - */ -object IconHelper extends AutoPlugin { - - def convertToICNS(inF: File, outF: File) { - if (inF.ext == "icns") { - IO.copyFile(inF, outF, preserveLastModified = true) - } else { - import sys.process._ - val lines = Seq("sips", "-g", "pixelHeight", "-g", "pixelWidth", inF.getPath).lines - val PixelWidth = "\\s+pixelWidth: (\\d+)".r - val PixelHeight = "\\s+pixelHeight: (\\d+)".r - val srcWidth = lines.collect { case PixelWidth (s) => s.toInt } .head - val srcHeight = lines.collect { case PixelHeight(s) => s.toInt } .head - val supported = IndexedSeq(16, 32, 48, 128, 256, 512) - val srcSize = math.min(512, math.max(srcWidth, srcHeight)) - val tgtSize = supported(supported.indexWhere(_ >= srcSize)) - val args0 = Seq(inF.getPath, "--out", outF.getPath) - val args1 = if (tgtSize != srcWidth || tgtSize != srcHeight) { - Seq("-z", tgtSize.toString, tgtSize.toString) - } else { - Seq.empty - } - val args = Seq("sips", "-s", "format", "icns") ++ args1 ++ args0 - args.!! - } - } - - object autoImport { - val convertToICNSTask = taskKey[Unit]("Converts an image to Mac OS X's ICNS icon format") - } - - import autoImport._ - -} - diff --git a/launchers/project/build.properties b/launchers/project/build.properties deleted file mode 100644 index 05313438a1..0000000000 --- a/launchers/project/build.properties +++ /dev/null @@ -1 +0,0 @@ -sbt.version=1.1.2 diff --git a/launchers/project/plugins.sbt b/launchers/project/plugins.sbt deleted file mode 100644 index 42c612c7ab..0000000000 --- a/launchers/project/plugins.sbt +++ /dev/null @@ -1,4 +0,0 @@ -addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.1.1") -addSbtPlugin("com.oradian.sbt" % "sbt-sh" % "0.3.0") -addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6") -addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.4") diff --git a/launchers/sbt b/launchers/sbt deleted file mode 100755 index 94496df8de..0000000000 --- a/launchers/sbt +++ /dev/null @@ -1,579 +0,0 @@ -#!/usr/bin/env bash -# -# A more capable sbt runner, coincidentally also called sbt. -# Author: Paul Phillips <paulp@improving.org> -# https://github.com/paulp/sbt-extras - -set -o pipefail - -declare -r sbt_release_version="0.13.16" -declare -r sbt_unreleased_version="0.13.16" - -declare -r latest_213="2.13.0-M2" -declare -r latest_212="2.12.4" -declare -r latest_211="2.11.12" -declare -r latest_210="2.10.7" -declare -r latest_29="2.9.3" -declare -r latest_28="2.8.2" - -declare -r buildProps="project/build.properties" - -declare -r sbt_launch_ivy_release_repo="http://repo.typesafe.com/typesafe/ivy-releases" -declare -r sbt_launch_ivy_snapshot_repo="https://repo.scala-sbt.org/scalasbt/ivy-snapshots" -declare -r sbt_launch_mvn_release_repo="http://repo.scala-sbt.org/scalasbt/maven-releases" -declare -r sbt_launch_mvn_snapshot_repo="http://repo.scala-sbt.org/scalasbt/maven-snapshots" - -declare -r default_jvm_opts_common="-Xms512m -Xmx1536m -Xss2m" -declare -r noshare_opts="-Dsbt.global.base=project/.sbtboot -Dsbt.boot.directory=project/.boot -Dsbt.ivy.home=project/.ivy" - -declare sbt_jar sbt_dir sbt_create sbt_version sbt_script sbt_new -declare sbt_explicit_version -declare verbose noshare batch trace_level -declare debugUs - -declare java_cmd="java" -declare sbt_launch_dir="$HOME/.sbt/launchers" -declare sbt_launch_repo - -# pull -J and -D options to give to java. -declare -a java_args scalac_args sbt_commands residual_args - -# args to jvm/sbt via files or environment variables -declare -a extra_jvm_opts extra_sbt_opts - -echoerr () { echo >&2 "$@"; } -vlog () { [[ -n "$verbose" ]] && echoerr "$@"; } -die () { echo "Aborting: $@" ; exit 1; } - -setTrapExit () { - # save stty and trap exit, to ensure echo is re-enabled if we are interrupted. - export SBT_STTY="$(stty -g 2>/dev/null)" - - # restore stty settings (echo in particular) - onSbtRunnerExit() { - [ -t 0 ] || return - vlog "" - vlog "restoring stty: $SBT_STTY" - stty "$SBT_STTY" - } - - vlog "saving stty: $SBT_STTY" - trap onSbtRunnerExit EXIT -} - -# this seems to cover the bases on OSX, and someone will -# have to tell me about the others. -get_script_path () { - local path="$1" - [[ -L "$path" ]] || { echo "$path" ; return; } - - local target="$(readlink "$path")" - if [[ "${target:0:1}" == "/" ]]; then - echo "$target" - else - echo "${path%/*}/$target" - fi -} - -declare -r script_path="$(get_script_path "$BASH_SOURCE")" -declare -r script_name="${script_path##*/}" - -init_default_option_file () { - local overriding_var="${!1}" - local default_file="$2" - if [[ ! -r "$default_file" && "$overriding_var" =~ ^@(.*)$ ]]; then - local envvar_file="${BASH_REMATCH[1]}" - if [[ -r "$envvar_file" ]]; then - default_file="$envvar_file" - fi - fi - echo "$default_file" -} - -declare sbt_opts_file="$(init_default_option_file SBT_OPTS .sbtopts)" -declare jvm_opts_file="$(init_default_option_file JVM_OPTS .jvmopts)" - -build_props_sbt () { - [[ -r "$buildProps" ]] && \ - grep '^sbt\.version' "$buildProps" | tr '=\r' ' ' | awk '{ print $2; }' -} - -update_build_props_sbt () { - local ver="$1" - local old="$(build_props_sbt)" - - [[ -r "$buildProps" ]] && [[ "$ver" != "$old" ]] && { - perl -pi -e "s/^sbt\.version\b.*\$/sbt.version=${ver}/" "$buildProps" - grep -q '^sbt.version[ =]' "$buildProps" || printf "\nsbt.version=%s\n" "$ver" >> "$buildProps" - - vlog "!!!" - vlog "!!! Updated file $buildProps setting sbt.version to: $ver" - vlog "!!! Previous value was: $old" - vlog "!!!" - } -} - -set_sbt_version () { - sbt_version="${sbt_explicit_version:-$(build_props_sbt)}" - [[ -n "$sbt_version" ]] || sbt_version=$sbt_release_version - export sbt_version -} - -url_base () { - local version="$1" - - case "$version" in - 0.7.*) echo "http://simple-build-tool.googlecode.com" ;; - 0.10.* ) echo "$sbt_launch_ivy_release_repo" ;; - 0.11.[12]) echo "$sbt_launch_ivy_release_repo" ;; - 0.*-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9]) # ie "*-yyyymmdd-hhMMss" - echo "$sbt_launch_ivy_snapshot_repo" ;; - 0.*) echo "$sbt_launch_ivy_release_repo" ;; - *-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9]) # ie "*-yyyymmdd-hhMMss" - echo "$sbt_launch_mvn_snapshot_repo" ;; - *) echo "$sbt_launch_mvn_release_repo" ;; - esac -} - -make_url () { - local version="$1" - - local base="${sbt_launch_repo:-$(url_base "$version")}" - - case "$version" in - 0.7.*) echo "$base/files/sbt-launch-0.7.7.jar" ;; - 0.10.* ) echo "$base/org.scala-tools.sbt/sbt-launch/$version/sbt-launch.jar" ;; - 0.11.[12]) echo "$base/org.scala-tools.sbt/sbt-launch/$version/sbt-launch.jar" ;; - 0.*) echo "$base/org.scala-sbt/sbt-launch/$version/sbt-launch.jar" ;; - *) echo "$base/org/scala-sbt/sbt-launch/$version/sbt-launch.jar" ;; - esac -} - -addJava () { vlog "[addJava] arg = '$1'" ; java_args+=("$1"); } -addSbt () { vlog "[addSbt] arg = '$1'" ; sbt_commands+=("$1"); } -addScalac () { vlog "[addScalac] arg = '$1'" ; scalac_args+=("$1"); } -addResidual () { vlog "[residual] arg = '$1'" ; residual_args+=("$1"); } - -addResolver () { addSbt "set resolvers += $1"; } -addDebugger () { addJava "-Xdebug" ; addJava "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=$1"; } -setThisBuild () { - vlog "[addBuild] args = '$@'" - local key="$1" && shift - addSbt "set $key in ThisBuild := $@" -} -setScalaVersion () { - [[ "$1" == *"-SNAPSHOT" ]] && addResolver 'Resolver.sonatypeRepo("snapshots")' - addSbt "++ $1" -} -setJavaHome () { - java_cmd="$1/bin/java" - setThisBuild javaHome "_root_.scala.Some(file(\"$1\"))" - export JAVA_HOME="$1" - export JDK_HOME="$1" - export PATH="$JAVA_HOME/bin:$PATH" -} - -getJavaVersion() { "$1" -version 2>&1 | grep -E -e '(java|openjdk) version' | awk '{ print $3 }' | tr -d \"; } - -checkJava() { - # Warn if there is a Java version mismatch between PATH and JAVA_HOME/JDK_HOME - - [[ -n "$JAVA_HOME" && -e "$JAVA_HOME/bin/java" ]] && java="$JAVA_HOME/bin/java" - [[ -n "$JDK_HOME" && -e "$JDK_HOME/lib/tools.jar" ]] && java="$JDK_HOME/bin/java" - - if [[ -n "$java" ]]; then - pathJavaVersion=$(getJavaVersion java) - homeJavaVersion=$(getJavaVersion "$java") - if [[ "$pathJavaVersion" != "$homeJavaVersion" ]]; then - echoerr "Warning: Java version mismatch between PATH and JAVA_HOME/JDK_HOME, sbt will use the one in PATH" - echoerr " Either: fix your PATH, remove JAVA_HOME/JDK_HOME or use -java-home" - echoerr " java version from PATH: $pathJavaVersion" - echoerr " java version from JAVA_HOME/JDK_HOME: $homeJavaVersion" - fi - fi -} - -java_version () { - local version=$(getJavaVersion "$java_cmd") - vlog "Detected Java version: $version" - echo "${version:2:1}" -} - -# MaxPermSize critical on pre-8 JVMs but incurs noisy warning on 8+ -default_jvm_opts () { - local v="$(java_version)" - if [[ $v -ge 8 ]]; then - echo "$default_jvm_opts_common" - else - echo "-XX:MaxPermSize=384m $default_jvm_opts_common" - fi -} - -build_props_scala () { - if [[ -r "$buildProps" ]]; then - versionLine="$(grep '^build.scala.versions' "$buildProps")" - versionString="${versionLine##build.scala.versions=}" - echo "${versionString%% .*}" - fi -} - -execRunner () { - # print the arguments one to a line, quoting any containing spaces - vlog "# Executing command line:" && { - for arg; do - if [[ -n "$arg" ]]; then - if printf "%s\n" "$arg" | grep -q ' '; then - printf >&2 "\"%s\"\n" "$arg" - else - printf >&2 "%s\n" "$arg" - fi - fi - done - vlog "" - } - - setTrapExit - - if [[ -n "$batch" ]]; then - "$@" < /dev/null - else - "$@" - fi -} - -jar_url () { make_url "$1"; } - -is_cygwin () [[ "$(uname -a)" == "CYGWIN"* ]] - -jar_file () { - is_cygwin \ - && echo "$(cygpath -w $sbt_launch_dir/"$1"/sbt-launch.jar)" \ - || echo "$sbt_launch_dir/$1/sbt-launch.jar" -} - -download_url () { - local url="$1" - local jar="$2" - - echoerr "Downloading sbt launcher for $sbt_version:" - echoerr " From $url" - echoerr " To $jar" - - mkdir -p "${jar%/*}" && { - if command -v curl > /dev/null 2>&1; then - curl --fail --silent --location "$url" --output "$jar" - elif command -v wget > /dev/null 2>&1; then - wget -q -O "$jar" "$url" - fi - } && [[ -r "$jar" ]] -} - -acquire_sbt_jar () { - { - sbt_jar="$(jar_file "$sbt_version")" - [[ -r "$sbt_jar" ]] - } || { - sbt_jar="$HOME/.ivy2/local/org.scala-sbt/sbt-launch/$sbt_version/jars/sbt-launch.jar" - [[ -r "$sbt_jar" ]] - } || { - sbt_jar="$(jar_file "$sbt_version")" - download_url "$(make_url "$sbt_version")" "$sbt_jar" - } -} - -usage () { - set_sbt_version - cat <<EOM -Usage: $script_name [options] - -Note that options which are passed along to sbt begin with -- whereas -options to this runner use a single dash. Any sbt command can be scheduled -to run first by prefixing the command with --, so --warn, --error and so on -are not special. - -Output filtering: if there is a file in the home directory called .sbtignore -and this is not an interactive sbt session, the file is treated as a list of -bash regular expressions. Output lines which match any regex are not echoed. -One can see exactly which lines would have been suppressed by starting this -runner with the -x option. - - -h | -help print this message - -v verbose operation (this runner is chattier) - -d, -w, -q aliases for --debug, --warn, --error (q means quiet) - -x debug this script - -trace <level> display stack traces with a max of <level> frames (default: -1, traces suppressed) - -debug-inc enable debugging log for the incremental compiler - -no-colors disable ANSI color codes - -sbt-create start sbt even if current directory contains no sbt project - -sbt-dir <path> path to global settings/plugins directory (default: ~/.sbt/<version>) - -sbt-boot <path> path to shared boot directory (default: ~/.sbt/boot in 0.11+) - -ivy <path> path to local Ivy repository (default: ~/.ivy2) - -no-share use all local caches; no sharing - -offline put sbt in offline mode - -jvm-debug <port> Turn on JVM debugging, open at the given port. - -batch Disable interactive mode - -prompt <expr> Set the sbt prompt; in expr, 's' is the State and 'e' is Extracted - -script <file> Run the specified file as a scala script - - # sbt version (default: sbt.version from $buildProps if present, otherwise $sbt_release_version) - -sbt-force-latest force the use of the latest release of sbt: $sbt_release_version - -sbt-version <version> use the specified version of sbt (default: $sbt_release_version) - -sbt-dev use the latest pre-release version of sbt: $sbt_unreleased_version - -sbt-jar <path> use the specified jar as the sbt launcher - -sbt-launch-dir <path> directory to hold sbt launchers (default: $sbt_launch_dir) - -sbt-launch-repo <url> repo url for downloading sbt launcher jar (default: $(url_base "$sbt_version")) - - # scala version (default: as chosen by sbt) - -28 use $latest_28 - -29 use $latest_29 - -210 use $latest_210 - -211 use $latest_211 - -212 use $latest_212 - -213 use $latest_213 - -scala-home <path> use the scala build at the specified directory - -scala-version <version> use the specified version of scala - -binary-version <version> use the specified scala version when searching for dependencies - - # java version (default: java from PATH, currently $(java -version 2>&1 | grep version)) - -java-home <path> alternate JAVA_HOME - - # passing options to the jvm - note it does NOT use JAVA_OPTS due to pollution - # The default set is used if JVM_OPTS is unset and no -jvm-opts file is found - <default> $(default_jvm_opts) - JVM_OPTS environment variable holding either the jvm args directly, or - the reference to a file containing jvm args if given path is prepended by '@' (e.g. '@/etc/jvmopts') - Note: "@"-file is overridden by local '.jvmopts' or '-jvm-opts' argument. - -jvm-opts <path> file containing jvm args (if not given, .jvmopts in project root is used if present) - -Dkey=val pass -Dkey=val directly to the jvm - -J-X pass option -X directly to the jvm (-J is stripped) - - # passing options to sbt, OR to this runner - SBT_OPTS environment variable holding either the sbt args directly, or - the reference to a file containing sbt args if given path is prepended by '@' (e.g. '@/etc/sbtopts') - Note: "@"-file is overridden by local '.sbtopts' or '-sbt-opts' argument. - -sbt-opts <path> file containing sbt args (if not given, .sbtopts in project root is used if present) - -S-X add -X to sbt's scalacOptions (-S is stripped) -EOM -} - -process_args () { - require_arg () { - local type="$1" - local opt="$2" - local arg="$3" - - if [[ -z "$arg" ]] || [[ "${arg:0:1}" == "-" ]]; then - die "$opt requires <$type> argument" - fi - } - while [[ $# -gt 0 ]]; do - case "$1" in - -h|-help) usage; exit 0 ;; - -v) verbose=true && shift ;; - -d) addSbt "--debug" && shift ;; - -w) addSbt "--warn" && shift ;; - -q) addSbt "--error" && shift ;; - -x) debugUs=true && shift ;; - -trace) require_arg integer "$1" "$2" && trace_level="$2" && shift 2 ;; - -ivy) require_arg path "$1" "$2" && addJava "-Dsbt.ivy.home=$2" && shift 2 ;; - -no-colors) addJava "-Dsbt.log.noformat=true" && shift ;; - -no-share) noshare=true && shift ;; - -sbt-boot) require_arg path "$1" "$2" && addJava "-Dsbt.boot.directory=$2" && shift 2 ;; - -sbt-dir) require_arg path "$1" "$2" && sbt_dir="$2" && shift 2 ;; - -debug-inc) addJava "-Dxsbt.inc.debug=true" && shift ;; - -offline) addSbt "set offline in Global := true" && shift ;; - -jvm-debug) require_arg port "$1" "$2" && addDebugger "$2" && shift 2 ;; - -batch) batch=true && shift ;; - -prompt) require_arg "expr" "$1" "$2" && setThisBuild shellPrompt "(s => { val e = Project.extract(s) ; $2 })" && shift 2 ;; - -script) require_arg file "$1" "$2" && sbt_script="$2" && addJava "-Dsbt.main.class=sbt.ScriptMain" && shift 2 ;; - - -sbt-create) sbt_create=true && shift ;; - -sbt-jar) require_arg path "$1" "$2" && sbt_jar="$2" && shift 2 ;; - -sbt-version) require_arg version "$1" "$2" && sbt_explicit_version="$2" && shift 2 ;; - -sbt-force-latest) sbt_explicit_version="$sbt_release_version" && shift ;; - -sbt-dev) sbt_explicit_version="$sbt_unreleased_version" && shift ;; - -sbt-launch-dir) require_arg path "$1" "$2" && sbt_launch_dir="$2" && shift 2 ;; - -sbt-launch-repo) require_arg path "$1" "$2" && sbt_launch_repo="$2" && shift 2 ;; - -scala-version) require_arg version "$1" "$2" && setScalaVersion "$2" && shift 2 ;; - -binary-version) require_arg version "$1" "$2" && setThisBuild scalaBinaryVersion "\"$2\"" && shift 2 ;; - -scala-home) require_arg path "$1" "$2" && setThisBuild scalaHome "_root_.scala.Some(file(\"$2\"))" && shift 2 ;; - -java-home) require_arg path "$1" "$2" && setJavaHome "$2" && shift 2 ;; - -sbt-opts) require_arg path "$1" "$2" && sbt_opts_file="$2" && shift 2 ;; - -jvm-opts) require_arg path "$1" "$2" && jvm_opts_file="$2" && shift 2 ;; - - -D*) addJava "$1" && shift ;; - -J*) addJava "${1:2}" && shift ;; - -S*) addScalac "${1:2}" && shift ;; - -28) setScalaVersion "$latest_28" && shift ;; - -29) setScalaVersion "$latest_29" && shift ;; - -210) setScalaVersion "$latest_210" && shift ;; - -211) setScalaVersion "$latest_211" && shift ;; - -212) setScalaVersion "$latest_212" && shift ;; - -213) setScalaVersion "$latest_213" && shift ;; - new) sbt_new=true && : ${sbt_explicit_version:=$sbt_release_version} && addResidual "$1" && shift ;; - *) addResidual "$1" && shift ;; - esac - done -} - -# process the direct command line arguments -process_args "$@" - -# skip #-styled comments and blank lines -readConfigFile() { - local end=false - until $end; do - read || end=true - [[ $REPLY =~ ^# ]] || [[ -z $REPLY ]] || echo "$REPLY" - done < "$1" -} - -# if there are file/environment sbt_opts, process again so we -# can supply args to this runner -if [[ -r "$sbt_opts_file" ]]; then - vlog "Using sbt options defined in file $sbt_opts_file" - while read opt; do extra_sbt_opts+=("$opt"); done < <(readConfigFile "$sbt_opts_file") -elif [[ -n "$SBT_OPTS" && ! ("$SBT_OPTS" =~ ^@.*) ]]; then - vlog "Using sbt options defined in variable \$SBT_OPTS" - extra_sbt_opts=( $SBT_OPTS ) -else - vlog "No extra sbt options have been defined" -fi - -[[ -n "${extra_sbt_opts[*]}" ]] && process_args "${extra_sbt_opts[@]}" - -# reset "$@" to the residual args -set -- "${residual_args[@]}" -argumentCount=$# - -# set sbt version -set_sbt_version - -checkJava - -# only exists in 0.12+ -setTraceLevel() { - case "$sbt_version" in - "0.7."* | "0.10."* | "0.11."* ) echoerr "Cannot set trace level in sbt version $sbt_version" ;; - *) setThisBuild traceLevel $trace_level ;; - esac -} - -# set scalacOptions if we were given any -S opts -[[ ${#scalac_args[@]} -eq 0 ]] || addSbt "set scalacOptions in ThisBuild += \"${scalac_args[@]}\"" - -# Update build.properties on disk to set explicit version - sbt gives us no choice -[[ -n "$sbt_explicit_version" && -z "$sbt_new" ]] && update_build_props_sbt "$sbt_explicit_version" -vlog "Detected sbt version $sbt_version" - -if [[ -n "$sbt_script" ]]; then - residual_args=( $sbt_script ${residual_args[@]} ) -else - # no args - alert them there's stuff in here - (( argumentCount > 0 )) || { - vlog "Starting $script_name: invoke with -help for other options" - residual_args=( shell ) - } -fi - -# verify this is an sbt dir, -create was given or user attempts to run a scala script -[[ -r ./build.sbt || -d ./project || -n "$sbt_create" || -n "$sbt_script" || -n "$sbt_new" ]] || { - cat <<EOM -$(pwd) doesn't appear to be an sbt project. -If you want to start sbt anyway, run: - $0 -sbt-create - -EOM - exit 1 -} - -# pick up completion if present; todo -[[ -r .sbt_completion.sh ]] && source .sbt_completion.sh - -# directory to store sbt launchers -[[ -d "$sbt_launch_dir" ]] || mkdir -p "$sbt_launch_dir" -[[ -w "$sbt_launch_dir" ]] || sbt_launch_dir="$(mktemp -d -t sbt_extras_launchers.XXXXXX)" - -# no jar? download it. -[[ -r "$sbt_jar" ]] || acquire_sbt_jar || { - # still no jar? uh-oh. - echo "Download failed. Obtain the jar manually and place it at $sbt_jar" - exit 1 -} - -if [[ -n "$noshare" ]]; then - for opt in ${noshare_opts}; do - addJava "$opt" - done -else - case "$sbt_version" in - "0.7."* | "0.10."* | "0.11."* | "0.12."* ) - [[ -n "$sbt_dir" ]] || { - sbt_dir="$HOME/.sbt/$sbt_version" - vlog "Using $sbt_dir as sbt dir, -sbt-dir to override." - } - ;; - esac - - if [[ -n "$sbt_dir" ]]; then - addJava "-Dsbt.global.base=$sbt_dir" - fi -fi - -if [[ -r "$jvm_opts_file" ]]; then - vlog "Using jvm options defined in file $jvm_opts_file" - while read opt; do extra_jvm_opts+=("$opt"); done < <(readConfigFile "$jvm_opts_file") -elif [[ -n "$JVM_OPTS" && ! ("$JVM_OPTS" =~ ^@.*) ]]; then - vlog "Using jvm options defined in \$JVM_OPTS variable" - extra_jvm_opts=( $JVM_OPTS ) -else - vlog "Using default jvm options" - extra_jvm_opts=( $(default_jvm_opts) ) -fi - -# traceLevel is 0.12+ -[[ -n "$trace_level" ]] && setTraceLevel - -main () { - execRunner "$java_cmd" \ - "${extra_jvm_opts[@]}" \ - "${java_args[@]}" \ - -jar "$sbt_jar" \ - "${sbt_commands[@]}" \ - "${residual_args[@]}" -} - -# sbt inserts this string on certain lines when formatting is enabled: -# val OverwriteLine = "\r\u001BM\u001B[2K" -# ...in order not to spam the console with a million "Resolving" lines. -# Unfortunately that makes it that much harder to work with when -# we're not going to print those lines anyway. We strip that bit of -# line noise, but leave the other codes to preserve color. -mainFiltered () { - local ansiOverwrite='\r\x1BM\x1B[2K' - local excludeRegex=$(egrep -v '^#|^$' ~/.sbtignore | paste -sd'|' -) - - echoLine () { - local line="$1" - local line1="$(echo "$line" | sed 's/\r\x1BM\x1B\[2K//g')" # This strips the OverwriteLine code. - local line2="$(echo "$line1" | sed 's/\x1B\[[0-9;]*[JKmsu]//g')" # This strips all codes - we test regexes against this. - - if [[ $line2 =~ $excludeRegex ]]; then - [[ -n $debugUs ]] && echo "[X] $line1" - else - [[ -n $debugUs ]] && echo " $line1" || echo "$line1" - fi - } - - echoLine "Starting sbt with output filtering enabled." - main | while read -r line; do echoLine "$line"; done -} - -# Only filter if there's a filter file and we don't see a known interactive command. -# Obviously this is super ad hoc but I don't know how to improve on it. Testing whether -# stdin is a terminal is useless because most of my use cases for this filtering are -# exactly when I'm at a terminal, running sbt non-interactively. -shouldFilter () { [[ -f ~/.sbtignore ]] && ! egrep -q '\b(shell|console|consoleProject)\b' <<<"${residual_args[@]}"; } - -# run sbt -if shouldFilter; then mainFiltered; else main; fi -- GitLab