12 Commits

Author SHA1 Message Date
macmade 87f051a3a1 1.1.2-39 2021-10-08 17:05:15 +02:00
macmade 6ffa0a951d Preparing for 1.1.2 2021-10-08 17:02:48 +02:00
macmade 8a0489103a Reading history from all pages 2021-10-08 17:02:01 +02:00
macmade 18debc3ed3 Better error reporting. Fixed altool location for latest Xcode versions. 2021-10-08 16:42:09 +02:00
macmade 7b6f1db509 Travis 2020-11-20 06:36:25 +01:00
macmade 7c91b7848a 1.1.1 2020-11-20 06:32:37 +01:00
macmade 1ec63d8aee About winndow... 2020-11-20 06:31:45 +01:00
macmade fe69ebc21c Square icon 2020-11-20 06:30:46 +01:00
macmade 6842731242 Update for macOS BigSur 2020-11-20 06:23:44 +01:00
macmade 2e7f852baa Xcode project update 2020-11-20 06:09:44 +01:00
macmade 9964307ee8 Update for Swift 5 2020-11-20 06:09:33 +01:00
macmade bf65074c50 Submodules update 2020-11-20 06:09:19 +01:00
15 changed files with 292 additions and 226 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
language: objective-c
xcode_project: Notarize.xcodeproj
xcode_scheme: Notarize
osx_image: xcode10
osx_image: xcode12
script:
- xcodebuild build -project Notarize.xcodeproj -scheme Notarize
Binary file not shown.
+3 -3
View File
@@ -376,7 +376,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1010;
LastUpgradeCheck = 1010;
LastUpgradeCheck = 1220;
ORGANIZATIONNAME = "XS-Labs";
TargetAttributes = {
059A0B4621905010004E1D89 = {
@@ -545,7 +545,6 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 05D746EC21924850002CF085 /* Debug.xcconfig */;
buildSettings = {
SWIFT_VERSION = 4.2;
};
name = Debug;
};
@@ -553,7 +552,6 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 05D746ED21924850002CF085 /* Release.xcconfig */;
buildSettings = {
SWIFT_VERSION = 4.2;
};
name = Release;
};
@@ -565,6 +563,7 @@
"$(inherited)",
"@executable_path/../Frameworks",
);
MARKETING_VERSION = 1.1.2;
PRODUCT_BUNDLE_IDENTIFIER = "com.xs-labs.Notarize";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -578,6 +577,7 @@
"$(inherited)",
"@executable_path/../Frameworks",
);
MARKETING_VERSION = 1.1.2;
PRODUCT_BUNDLE_IDENTIFIER = "com.xs-labs.Notarize";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1010"
LastUpgradeVersion = "1220"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@@ -27,8 +27,6 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
@@ -38,8 +36,8 @@
ReferencedContainer = "container:Notarize.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
@@ -61,8 +59,6 @@
ReferencedContainer = "container:Notarize.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
+68 -42
View File
@@ -31,9 +31,12 @@ class ALTool
class func isAvailable() -> Bool
{
let out = try? ALTool.run( arguments: [ "--help" ] )
guard let out = try? ALTool.run( arguments: [ "--help" ] ) else
{
return false
}
return out?.count ?? 0 > 0
return out.stdout.count > 0 || out.stderr.count > 0
}
init( username: String, password: String )
@@ -44,56 +47,69 @@ class ALTool
func checkPassword() throws
{
do
{
let _ = try ALTool.run( arguments: [ "--notarization-history", "-u", self.username, "-p", self.password, "--output-format", "xml" ] )
}
catch let e as NSError
{
throw e
}
let _ = try ALTool.run( arguments: [ "--notarization-history", "0", "-u", self.username, "-p", self.password, "--output-format", "xml" ] )
}
func notarizationHistory() throws -> String?
func notarizationHistory( page: Int64 ) throws -> String?
{
do
{
let out = try ALTool.run( arguments: [ "--notarization-history", "-u", self.username, "-p", self.password, "--output-format", "xml" ] )
return out.trimmingCharacters( in: NSCharacterSet.whitespacesAndNewlines )
}
catch let e as NSError
{
throw e
}
let out = try ALTool.run( arguments: [ "--notarization-history", "\( page )", "-u", self.username, "-p", self.password, "--output-format", "xml" ] )
return out.stdout.trimmingCharacters( in: NSCharacterSet.whitespacesAndNewlines )
}
func notarizationInfo( for uuid: String ) throws -> String?
{
do
{
let out = try ALTool.run( arguments: [ "--notarization-info", uuid, "-u", self.username, "-p", self.password, "--output-format", "xml" ] )
return out.trimmingCharacters( in: NSCharacterSet.whitespacesAndNewlines )
}
catch let e as NSError
{
throw e
}
let out = try ALTool.run( arguments: [ "--notarization-info", uuid, "-u", self.username, "-p", self.password, "--output-format", "xml" ] )
return out.stdout.trimmingCharacters( in: NSCharacterSet.whitespacesAndNewlines )
}
private class func run( arguments: [ String ] ) throws -> String
private class var executablePath: String?
{
var args = [ "altool" ]
args.append( contentsOf: arguments )
let pipe = Pipe()
let process = Process()
process.launchPath = "/usr/bin/xcrun"
process.arguments = args
process.arguments = [ "-f", "altool" ]
process.standardOutput = pipe
do
{
try process.run()
}
catch let e as NSError
{
Swift.print( e )
return nil
}
process.waitUntilExit()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
guard let out = String( bytes: data, encoding: .utf8 ) else
{
return nil
}
return out.trimmingCharacters( in: .whitespacesAndNewlines )
}
private class func run( arguments: [ String ] ) throws -> ( stdout: String, stderr: String )
{
guard let exec = ALTool.executablePath else
{
throw NSError( domain: NSCocoaErrorDomain, code: -1, userInfo: [ NSLocalizedDescriptionKey : "altool executable not found" ] )
}
let pipeOut = Pipe()
let pipeErr = Pipe()
let process = Process()
process.launchPath = exec
process.arguments = arguments
process.standardOutput = pipeOut
process.standardError = pipeErr
do
{
try process.run()
@@ -107,9 +123,12 @@ class ALTool
process.waitUntilExit()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let dataOut = pipeOut.fileHandleForReading.readDataToEndOfFile()
let dataErr = pipeErr.fileHandleForReading.readDataToEndOfFile()
guard let out = String( bytes: data, encoding: .utf8 ) else
guard let out = String( bytes: dataOut, encoding: .utf8 ),
let err = String( bytes: dataErr, encoding: .utf8 )
else
{
throw NSError( domain: NSCocoaErrorDomain, code: -1, userInfo: [ NSLocalizedDescriptionKey : "No data received from altool" ] )
}
@@ -118,7 +137,7 @@ class ALTool
{
if let dict = try? PropertyListSerialization.propertyList( from: data, options: [], format: nil ) as? NSDictionary
{
if let errors = dict?.object( forKey: "product-errors") as? NSArray
if let errors = dict.object( forKey: "product-errors") as? NSArray
{
if errors.count > 0
{
@@ -127,13 +146,20 @@ class ALTool
let code = errorDict.object( forKey: "code" ) as? NSNumber ?? NSNumber( integerLiteral: 0 )
let message = errorDict.object( forKey: "message" ) as? NSString ?? "Unknown error" as NSString
throw NSError( domain: NSCocoaErrorDomain, code: code.intValue, userInfo: [ NSLocalizedDescriptionKey : "Error", NSLocalizedRecoverySuggestionErrorKey : message ] )
if let info = errorDict.object( forKey: "userInfo" ) as? NSDictionary, let failure = info.object( forKey: "NSLocalizedFailureReason" ) as? NSString
{
throw NSError( domain: NSCocoaErrorDomain, code: code.intValue, userInfo: [ NSLocalizedDescriptionKey : message, NSLocalizedRecoverySuggestionErrorKey : failure ] )
}
else
{
throw NSError( domain: NSCocoaErrorDomain, code: code.intValue, userInfo: [ NSLocalizedDescriptionKey : "Error", NSLocalizedRecoverySuggestionErrorKey : message ] )
}
}
}
}
}
}
return out
return ( stdout: out, stderr: err )
}
}
+15 -13
View File
@@ -1,7 +1,7 @@
/*******************************************************************************
* The MIT License (MIT)
*
* Copyright (c) 2018 Jean-David Gadina - www.xs-labs.com
* Copyright (c) 2020 Jean-David Gadina - www.xs-labs.com
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -24,31 +24,33 @@
import Cocoa
@objc class AboutWindowController: NSWindowController
public class AboutWindowController: NSWindowController
{
@objc private dynamic var name: String?
@objc private dynamic var version: String?
@objc private dynamic var copyright: String?
override var windowNibName: NSNib.Name?
public override var windowNibName: NSNib.Name?
{
return NSNib.Name( NSStringFromClass( type( of: self ) ) )
return NSStringFromClass( type( of: self ) )
}
override func windowDidLoad()
override public func windowDidLoad()
{
super.windowDidLoad()
self.window?.titlebarAppearsTransparent = true
self.window?.titleVisibility = .hidden
let version = Bundle.main.object( forInfoDictionaryKey: "CFBundleShortVersionString" ) as? String ?? "0.0.0"
self.name = Bundle.main.object( forInfoDictionaryKey: "CFBundleName" ) as? String
self.version = Bundle.main.object( forInfoDictionaryKey: "CFBundleShortVersionString" ) as? String
self.copyright = Bundle.main.object( forInfoDictionaryKey: "NSHumanReadableCopyright" ) as? String
if let rev = Bundle.main.object( forInfoDictionaryKey: "CFBundleVersion" ) as? String
if let build = Bundle.main.object( forInfoDictionaryKey: "CFBundleVersion" ) as? String
{
self.version?.append( " (" + rev + ")" )
self.version = "\(version) (\(build))"
}
else
{
self.version = version
}
self.name = Bundle.main.object( forInfoDictionaryKey: "CFBundleName" ) as? String
self.copyright = Bundle.main.object( forInfoDictionaryKey: "NSHumanReadableCopyright" ) as? String
}
}
+69 -26
View File
@@ -134,39 +134,87 @@ class HistoryViewController: NSViewController, NSTableViewDelegate, NSTableViewD
DispatchQueue.global( qos: .userInitiated ).async
{
let altool = ALTool( username: account.username, password: password )
let xml = try? altool.notarizationHistory()
if let xmlData = xml??.data( using: .utf8 )
do
{
if let history = try? PropertyListSerialization.propertyList( from: xmlData, options: [], format: nil ) as? NSDictionary
let items = try self.loadHistory( username: account.username, password: password )
DispatchQueue.main.async
{
let items = HistoryItem.ItemsFromDictionary( dict: history )
DispatchQueue.main.async
items.forEach
{
items.forEach
o in
if self.items.contains( o ) == false
{
o in
if self.items.contains( o ) == false
{
self.items.insert( o )
}
self.items.insert( o )
}
}
self.loading = false
self.refreshing = false
}
}
DispatchQueue.main.async
catch let error
{
self.loading = false
self.refreshing = false
if userInitiated
{
DispatchQueue.main.async
{
let alert = NSAlert( error: error )
if let window = self.view.window
{
alert.beginSheetModal( for: window, completionHandler: nil )
}
else
{
alert.runModal()
}
self.loading = false
self.refreshing = false
}
}
else
{
print( error )
}
}
}
}
}
private func loadHistory( username: String, password: String ) throws -> [ HistoryItem ]
{
var items = [ HistoryItem ]()
let altool = ALTool( username: username, password: password )
var page = Int64( 0 )
repeat
{
let xml = try altool.notarizationHistory( page: page )
page = -1
if let xmlData = xml?.data( using: .utf8 )
{
if let history = try? PropertyListSerialization.propertyList( from: xmlData, options: [], format: nil ) as? NSDictionary
{
let current = HistoryItem.ItemsFromDictionary( dict: history )
items.append( contentsOf: current )
if current.count > 0, let history = history.object( forKey: "notarization-history" ) as? NSDictionary, let next = history.object( forKey: "next-page" ) as? Int64
{
page = next
}
}
}
}
while page >= 0
return items
}
private func getInfo()
{
DispatchQueue.main.async
@@ -203,7 +251,7 @@ class HistoryViewController: NSViewController, NSTableViewDelegate, NSTableViewD
return
}
guard let xmlData = xml?.data( using: .utf8 ) else
guard let xmlData = xml.data( using: .utf8 ) else
{
return
}
@@ -213,12 +261,7 @@ class HistoryViewController: NSViewController, NSTableViewDelegate, NSTableViewD
return
}
guard let plist = info else
{
return
}
guard let notarization = plist[ "notarization-info" ] as? NSDictionary else
guard let notarization = info[ "notarization-info" ] as? NSDictionary else
{
return
}
+2 -1
View File
@@ -82,7 +82,8 @@ class MainWindowController: NSWindowController
return
}
self.controller = controller
self.controller = controller
controller.view.frame = self.historyViewContainer.bounds
controller.view.translatesAutoresizingMaskIntoConstraints = false
+5 -3
View File
@@ -17,13 +17,15 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.1.0</string>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>27</string>
<string>39</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.developer-tools</string>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2018 XS-Labs. All rights reserved.</string>
<string>Copyright © 2020 XS-Labs. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
@@ -1,98 +1,99 @@
<?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">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17506" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14460.31"/>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17506"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="AboutWindowController" customModule="Notarize" customModuleProvider="target">
<customObject id="-2" userLabel="File's Owner" customClass="AboutWindowController" customModule="Xclean" customModuleProvider="target">
<connections>
<outlet property="window" destination="QvC-M9-y7g" id="3uC-xA-AhB"/>
<outlet property="window" destination="QvC-M9-y7g" id="MQd-GZ-qWp"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="About" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="QvC-M9-y7g">
<window title="About Xclean" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" titlebarAppearsTransparent="YES" titleVisibility="hidden" id="QvC-M9-y7g">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" fullSizeContentView="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="196" y="240" width="395" height="296"/>
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1177"/>
<rect key="contentRect" x="196" y="240" width="277" height="168"/>
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1175"/>
<view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
<rect key="frame" x="0.0" y="0.0" width="395" height="296"/>
<rect key="frame" x="0.0" y="0.0" width="307" height="198"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<visualEffectView appearanceType="vibrantDark" blendingMode="behindWindow" material="windowBackground" state="followsWindowActiveState" translatesAutoresizingMaskIntoConstraints="NO" id="2na-Z2-u9Y">
<rect key="frame" x="0.0" y="0.0" width="395" height="296"/>
<visualEffectView blendingMode="behindWindow" material="underWindowBackground" state="followsWindowActiveState" translatesAutoresizingMaskIntoConstraints="NO" id="ls5-I3-hMR">
<rect key="frame" x="0.0" y="0.0" width="307" height="198"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="H8T-8E-DDN">
<rect key="frame" x="20" y="20" width="256" height="256"/>
<imageView wantsLayer="YES" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="bkJ-Ud-XM8">
<rect key="frame" x="30" y="30" width="128" height="128"/>
<constraints>
<constraint firstAttribute="width" constant="256" id="HER-vU-ej4"/>
<constraint firstAttribute="height" constant="256" id="tEO-yL-v7f"/>
<constraint firstAttribute="width" constant="128" id="CSW-JZ-Wa6"/>
<constraint firstAttribute="height" constant="128" id="kJV-3v-pYD"/>
</constraints>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyUpOrDown" image="NSApplicationIcon" id="6bs-kJ-2MD"/>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyUpOrDown" image="NSApplicationIcon" id="GGX-kf-SmE"/>
</imageView>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="eUO-Xh-gcg">
<rect key="frame" x="282" y="176" width="95" height="24"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Label" id="n4t-G6-Fj5">
<font key="font" metaFont="systemThin" size="20"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="-2" name="value" keyPath="version" id="9GC-rX-a5S"/>
</connections>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zOn-oh-QdP">
<rect key="frame" x="282" y="50" width="95" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Label" id="JEk-lW-tk0">
<font key="font" metaFont="systemThin" size="13"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="-2" name="value" keyPath="copyright" id="j3k-9t-5tC"/>
</connections>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2ba-9s-ZV8">
<rect key="frame" x="282" y="208" width="95" height="48"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Label" id="UGy-b9-cuI">
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="c3B-11-Nnn">
<rect key="frame" x="186" y="111" width="93" height="47"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="Mhf-3U-WaO">
<font key="font" metaFont="systemThin" size="40"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="-2" name="value" keyPath="name" id="OKL-6y-FGO"/>
<binding destination="-2" name="value" keyPath="self.name" id="joW-A0-HfH"/>
</connections>
</textField>
<textField wantsLayer="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yLd-6Z-IaF">
<rect key="frame" x="186" y="79" width="50" height="24"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="GPR-R9-Yud">
<font key="font" metaFont="systemThin" size="20"/>
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="-2" name="value" keyPath="self.version" id="zcF-Mv-hcv"/>
</connections>
</textField>
<textField wantsLayer="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qK4-am-2Hl">
<rect key="frame" x="186" y="40" width="36" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="CqC-AJ-UHI">
<font key="font" metaFont="systemThin" size="13"/>
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="-2" name="value" keyPath="self.copyright" id="Q5j-jh-2rr"/>
</connections>
</textField>
</subviews>
<constraints>
<constraint firstItem="H8T-8E-DDN" firstAttribute="top" secondItem="2na-Z2-u9Y" secondAttribute="top" constant="20" id="3I5-PH-yU3"/>
<constraint firstItem="zOn-oh-QdP" firstAttribute="leading" secondItem="eUO-Xh-gcg" secondAttribute="leading" id="9z8-TQ-exV"/>
<constraint firstItem="eUO-Xh-gcg" firstAttribute="top" secondItem="2ba-9s-ZV8" secondAttribute="bottom" constant="8" id="Ab9-it-JUm"/>
<constraint firstAttribute="trailing" secondItem="zOn-oh-QdP" secondAttribute="trailing" constant="20" id="H1w-13-zMV"/>
<constraint firstItem="zOn-oh-QdP" firstAttribute="bottom" secondItem="H8T-8E-DDN" secondAttribute="bottom" constant="-30" id="I3a-5Y-YXv"/>
<constraint firstItem="eUO-Xh-gcg" firstAttribute="leading" secondItem="2ba-9s-ZV8" secondAttribute="leading" id="QtV-Me-2JH"/>
<constraint firstAttribute="trailing" secondItem="eUO-Xh-gcg" secondAttribute="trailing" constant="20" id="ZzX-cc-IvF"/>
<constraint firstAttribute="trailing" secondItem="2ba-9s-ZV8" secondAttribute="trailing" constant="20" id="a49-qe-KTA"/>
<constraint firstItem="2ba-9s-ZV8" firstAttribute="top" secondItem="H8T-8E-DDN" secondAttribute="top" constant="20" id="hUd-bj-u1o"/>
<constraint firstItem="H8T-8E-DDN" firstAttribute="leading" secondItem="2na-Z2-u9Y" secondAttribute="leading" constant="20" id="qEC-HE-IWz"/>
<constraint firstAttribute="bottom" secondItem="H8T-8E-DDN" secondAttribute="bottom" constant="20" id="sib-85-ry4"/>
<constraint firstItem="2ba-9s-ZV8" firstAttribute="leading" secondItem="H8T-8E-DDN" secondAttribute="trailing" constant="8" id="zlY-3J-nRY"/>
<constraint firstItem="qK4-am-2Hl" firstAttribute="bottom" secondItem="bkJ-Ud-XM8" secondAttribute="bottom" constant="-10" id="4eU-i4-CHR"/>
<constraint firstItem="c3B-11-Nnn" firstAttribute="leading" secondItem="bkJ-Ud-XM8" secondAttribute="trailing" constant="30" id="BpG-VA-Nxl"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="yLd-6Z-IaF" secondAttribute="trailing" constant="30" id="IQu-ql-HkC"/>
<constraint firstItem="qK4-am-2Hl" firstAttribute="leading" secondItem="c3B-11-Nnn" secondAttribute="leading" id="Yot-mk-hra"/>
<constraint firstItem="bkJ-Ud-XM8" firstAttribute="top" secondItem="ls5-I3-hMR" secondAttribute="top" constant="40" id="bpQ-Rd-Kjd"/>
<constraint firstItem="yLd-6Z-IaF" firstAttribute="top" secondItem="c3B-11-Nnn" secondAttribute="bottom" constant="8" id="cvA-Hq-TDd"/>
<constraint firstItem="bkJ-Ud-XM8" firstAttribute="leading" secondItem="ls5-I3-hMR" secondAttribute="leading" constant="30" id="mLH-C3-hte"/>
<constraint firstAttribute="bottom" secondItem="bkJ-Ud-XM8" secondAttribute="bottom" constant="30" id="nEf-eO-eJA"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="c3B-11-Nnn" secondAttribute="trailing" constant="30" id="oqv-O4-gKi"/>
<constraint firstItem="c3B-11-Nnn" firstAttribute="top" secondItem="bkJ-Ud-XM8" secondAttribute="top" id="ryd-fl-aVO"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="qK4-am-2Hl" secondAttribute="trailing" constant="30" id="xUl-C7-IqA"/>
<constraint firstItem="yLd-6Z-IaF" firstAttribute="leading" secondItem="c3B-11-Nnn" secondAttribute="leading" id="zma-HZ-8Vb"/>
</constraints>
</visualEffectView>
</subviews>
<constraints>
<constraint firstItem="2na-Z2-u9Y" firstAttribute="width" secondItem="EiT-Mj-1SZ" secondAttribute="width" id="4dA-8n-C7v"/>
<constraint firstItem="2na-Z2-u9Y" firstAttribute="centerY" secondItem="EiT-Mj-1SZ" secondAttribute="centerY" id="O55-qt-7R1"/>
<constraint firstItem="2na-Z2-u9Y" firstAttribute="centerX" secondItem="EiT-Mj-1SZ" secondAttribute="centerX" id="dSe-Gv-BQM"/>
<constraint firstItem="2na-Z2-u9Y" firstAttribute="height" secondItem="EiT-Mj-1SZ" secondAttribute="height" id="hu6-Xm-VtI"/>
<constraint firstItem="ls5-I3-hMR" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" id="O6b-Af-UWg"/>
<constraint firstItem="ls5-I3-hMR" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" id="OTa-DV-nY1"/>
<constraint firstAttribute="trailing" secondItem="ls5-I3-hMR" secondAttribute="trailing" id="S6O-Rs-Cnd"/>
<constraint firstAttribute="bottom" secondItem="ls5-I3-hMR" secondAttribute="bottom" id="hL3-Sx-v9S"/>
</constraints>
</view>
<point key="canvasLocation" x="-53.5" y="-162"/>
<point key="canvasLocation" x="37.5" y="147"/>
</window>
</objects>
<resources>
<image name="NSApplicationIcon" width="128" height="128"/>
<image name="NSApplicationIcon" width="32" height="32"/>
</resources>
</document>
@@ -1,7 +1,7 @@
<?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">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17506" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14460.31"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17506"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
@@ -14,20 +14,20 @@
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<customView id="c22-O7-iKe">
<rect key="frame" x="0.0" y="0.0" width="791" height="589"/>
<rect key="frame" x="0.0" y="0.0" width="786" height="554"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<subviews>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="y0e-GG-izO">
<rect key="frame" x="0.0" y="0.0" width="791" height="589"/>
<rect key="frame" x="0.0" y="0.0" width="786" height="554"/>
<subviews>
<progressIndicator wantsLayer="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" bezeled="NO" indeterminate="YES" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="arN-Pa-Zux">
<rect key="frame" x="380" y="279" width="32" height="32"/>
<rect key="frame" x="377" y="261" width="32" height="32"/>
<connections>
<binding destination="-2" name="animate" keyPath="loading" id="4Sy-Cj-3UZ"/>
</connections>
</progressIndicator>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ihm-Ui-xRh">
<rect key="frame" x="290" y="242" width="211" height="17"/>
<rect key="frame" x="288" y="225" width="211" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Getting latest data... Please wait..." id="S2v-Df-W0w">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -50,10 +50,10 @@
</connections>
</customView>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="4gW-Wz-KbZ">
<rect key="frame" x="0.0" y="0.0" width="791" height="589"/>
<rect key="frame" x="0.0" y="0.0" width="786" height="554"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3Np-5q-xRo">
<rect key="frame" x="287" y="443" width="217" height="36"/>
<rect key="frame" x="284" y="425" width="218" height="35"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="No Data Available" id="WDl-1p-B7p">
<font key="font" metaFont="systemThin" size="30"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -61,7 +61,7 @@
</textFieldCell>
</textField>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="qKQ-Pd-1H7">
<rect key="frame" x="268" y="167" width="256" height="256"/>
<rect key="frame" x="265" y="149" width="256" height="256"/>
<constraints>
<constraint firstAttribute="height" constant="256" id="EFm-8K-mFN"/>
<constraint firstAttribute="width" constant="256" id="dy3-Ix-Ru7"/>
@@ -69,7 +69,7 @@
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyUpOrDown" image="NSApplicationIcon" id="gLF-aJ-vlK"/>
</imageView>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4GV-g7-iLV">
<rect key="frame" x="342" y="119" width="107" height="32"/>
<rect key="frame" x="344" y="102" width="98" height="32"/>
<buttonCell key="cell" type="push" title="Refresh" bezelStyle="rounded" image="NSRefreshFreestandingTemplate" imagePosition="leading" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="8Xy-jP-dKA">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@@ -101,14 +101,14 @@
</connections>
</customView>
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="32" horizontalPageScroll="10" verticalLineScroll="32" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YfE-Rw-vXm">
<rect key="frame" x="0.0" y="0.0" width="791" height="589"/>
<rect key="frame" x="0.0" y="0.0" width="786" height="554"/>
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="jMg-EM-3u0">
<rect key="frame" x="0.0" y="0.0" width="791" height="589"/>
<rect key="frame" x="0.0" y="0.0" width="786" height="554"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" rowHeight="30" rowSizeStyle="automatic" headerView="tru-nL-4Nv" viewBased="YES" id="oOe-qW-nZ3">
<rect key="frame" x="0.0" y="0.0" width="791" height="564"/>
<autoresizingMask key="autoresizingMask"/>
<rect key="frame" x="0.0" y="0.0" width="786" height="529"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
<tableViewGridLines key="gridStyleMask" horizontal="YES"/>
@@ -116,7 +116,6 @@
<tableColumns>
<tableColumn width="275" minWidth="40" maxWidth="1000" id="Eln-m9-G0Q">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="UUID">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
@@ -129,7 +128,7 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="9Vq-2S-COa">
<rect key="frame" x="1" y="1" width="275" height="30"/>
<rect key="frame" x="11" y="1" width="280" height="30"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="B57-Ql-AvZ">
@@ -159,9 +158,9 @@
</connections>
</imageView>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Ab2-iB-rRT">
<rect key="frame" x="24" y="7" width="248" height="17"/>
<rect key="frame" x="24" y="9" width="253" height="13"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" sendsActionOnEndEditing="YES" title="Table View Cell" id="Wh1-g4-y03">
<font key="font" metaFont="fixedUser" size="11"/>
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
@@ -187,7 +186,6 @@
</tableColumn>
<tableColumn width="150" minWidth="40" maxWidth="1000" id="A29-w4-mOr">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Date">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
@@ -200,7 +198,7 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="0Op-pU-bvM">
<rect key="frame" x="279" y="1" width="150" height="30"/>
<rect key="frame" x="294" y="1" width="150" height="30"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="09o-ka-h6V">
@@ -229,7 +227,6 @@
</tableColumn>
<tableColumn width="50" minWidth="40" maxWidth="1000" id="mub-zn-Ehu">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Status">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
@@ -242,7 +239,7 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="mIa-xm-IaL">
<rect key="frame" x="432" y="1" width="50" height="30"/>
<rect key="frame" x="447" y="1" width="50" height="30"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="rTh-gx-u7f">
@@ -268,9 +265,8 @@
</tableCellView>
</prototypeCellViews>
</tableColumn>
<tableColumn width="304" minWidth="40" maxWidth="1000" id="4kz-5j-cdK">
<tableColumn width="270" minWidth="40" maxWidth="1000" id="4kz-5j-cdK">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Message">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
@@ -283,11 +279,11 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="a0C-v9-jpd">
<rect key="frame" x="485" y="1" width="304" height="30"/>
<rect key="frame" x="500" y="1" width="274" height="30"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Htf-9O-HfB">
<rect key="frame" x="0.0" y="8" width="270" height="14"/>
<rect key="frame" x="0.0" y="8" width="240" height="14"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" sendsActionOnEndEditing="YES" title="Table View Cell" id="qAC-Pe-dzF">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@@ -298,7 +294,7 @@
</connections>
</textField>
<button translatesAutoresizingMaskIntoConstraints="NO" id="9LR-mA-ejX">
<rect key="frame" x="278" y="7" width="16" height="16"/>
<rect key="frame" x="248" y="5" width="16.5" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="16" id="oce-eh-do7"/>
<constraint firstAttribute="height" constant="16" id="pVl-48-3rY"/>
@@ -351,7 +347,7 @@
</subviews>
</clipView>
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="qkh-yU-UA0">
<rect key="frame" x="0.0" y="198" width="676" height="16"/>
<rect key="frame" x="0.0" y="548" width="786" height="16"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="x2G-CM-hRQ">
@@ -359,7 +355,7 @@
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" wantsLayer="YES" id="tru-nL-4Nv">
<rect key="frame" x="0.0" y="0.0" width="791" height="25"/>
<rect key="frame" x="0.0" y="0.0" width="786" height="25"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
<connections>
@@ -377,20 +373,20 @@
</scrollView>
</subviews>
<constraints>
<constraint firstItem="YfE-Rw-vXm" firstAttribute="centerY" secondItem="c22-O7-iKe" secondAttribute="centerY" id="2AA-KP-qpA"/>
<constraint firstItem="y0e-GG-izO" firstAttribute="height" secondItem="c22-O7-iKe" secondAttribute="height" id="85b-vY-aAN"/>
<constraint firstItem="YfE-Rw-vXm" firstAttribute="height" secondItem="c22-O7-iKe" secondAttribute="height" id="D9R-3s-7Er"/>
<constraint firstAttribute="bottom" secondItem="YfE-Rw-vXm" secondAttribute="bottom" id="92V-pH-tmB"/>
<constraint firstItem="4gW-Wz-KbZ" firstAttribute="centerX" secondItem="c22-O7-iKe" secondAttribute="centerX" id="JNR-aR-bQH"/>
<constraint firstItem="YfE-Rw-vXm" firstAttribute="width" secondItem="c22-O7-iKe" secondAttribute="width" id="RPG-qq-pLL"/>
<constraint firstItem="4gW-Wz-KbZ" firstAttribute="width" secondItem="c22-O7-iKe" secondAttribute="width" id="aWP-4w-t98"/>
<constraint firstItem="4gW-Wz-KbZ" firstAttribute="centerY" secondItem="c22-O7-iKe" secondAttribute="centerY" id="bsR-hV-zQN"/>
<constraint firstItem="4gW-Wz-KbZ" firstAttribute="height" secondItem="c22-O7-iKe" secondAttribute="height" id="fOP-mC-eEj"/>
<constraint firstItem="y0e-GG-izO" firstAttribute="centerY" secondItem="c22-O7-iKe" secondAttribute="centerY" id="jBd-TP-tQr"/>
<constraint firstAttribute="trailing" secondItem="YfE-Rw-vXm" secondAttribute="trailing" id="kTD-DU-5Qq"/>
<constraint firstItem="y0e-GG-izO" firstAttribute="centerX" secondItem="c22-O7-iKe" secondAttribute="centerX" id="q1m-8K-XeG"/>
<constraint firstItem="YfE-Rw-vXm" firstAttribute="centerX" secondItem="c22-O7-iKe" secondAttribute="centerX" id="wGP-sd-B5Z"/>
<constraint firstItem="YfE-Rw-vXm" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="sxE-w8-Ief"/>
<constraint firstItem="YfE-Rw-vXm" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" id="u9h-xa-DNR"/>
<constraint firstItem="y0e-GG-izO" firstAttribute="width" secondItem="c22-O7-iKe" secondAttribute="width" id="zd5-MY-JRk"/>
</constraints>
<point key="canvasLocation" x="75.5" y="79.5"/>
<point key="canvasLocation" x="75" y="-224"/>
</customView>
<arrayController selectsInsertedObjects="NO" avoidsEmptySelection="NO" automaticallyRearrangesObjects="YES" id="scX-MD-094">
<connections>
@@ -399,9 +395,9 @@
</arrayController>
</objects>
<resources>
<image name="NSApplicationIcon" width="128" height="128"/>
<image name="NSQuickLookTemplate" width="19" height="12"/>
<image name="NSRefreshFreestandingTemplate" width="14" height="14"/>
<image name="NSApplicationIcon" width="32" height="32"/>
<image name="NSQuickLookTemplate" width="21" height="13"/>
<image name="NSRefreshFreestandingTemplate" width="15" height="15"/>
<image name="NSStatusAvailable" width="16" height="16"/>
<image name="NSStatusUnavailable" width="16" height="16"/>
</resources>
@@ -1,7 +1,7 @@
<?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">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17506" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14460.31"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17506"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
@@ -14,11 +14,11 @@
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="Notarize" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="MainWindow" animationBehavior="default" titlebarAppearsTransparent="YES" titleVisibility="hidden" id="QvC-M9-y7g">
<window title="Notarize" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="MainWindow" animationBehavior="default" id="QvC-M9-y7g">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES" fullSizeContentView="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="196" y="240" width="1000" height="500"/>
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1177"/>
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1175"/>
<value key="minSize" type="size" width="1000" height="500"/>
<view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
<rect key="frame" x="0.0" y="0.0" width="1000" height="500"/>
@@ -28,14 +28,14 @@
<rect key="frame" x="0.0" y="0.0" width="1000" height="500"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="cER-yh-PyD">
<rect key="frame" x="374" y="398" width="252" height="36"/>
<rect key="frame" x="374" y="398" width="252" height="35"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="altool is not available" id="W46-Qb-BLg">
<font key="font" metaFont="systemThin" size="30"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="osz-bR-rMP">
<imageView wantsLayer="YES" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="osz-bR-rMP">
<rect key="frame" x="372" y="122" width="256" height="256"/>
<constraints>
<constraint firstAttribute="height" constant="256" id="lVq-xd-SDe"/>
@@ -44,15 +44,15 @@
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyUpOrDown" image="NSApplicationIcon" id="pth-35-ZJs"/>
</imageView>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="a5i-eI-2yO">
<rect key="frame" x="343" y="85" width="315" height="17"/>
<rect key="frame" x="346" y="86" width="308" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Please install latest version of Xcode and try again..." id="jEq-R4-Isq">
<font key="font" metaFont="systemThin" size="13"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="caJ-Is-8xp">
<rect key="frame" x="467" y="37" width="66" height="32"/>
<button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="caJ-Is-8xp">
<rect key="frame" x="470" y="39" width="60" height="32"/>
<buttonCell key="cell" type="push" title="Quit" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Gp0-Bb-tZO">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@@ -80,28 +80,27 @@
<rect key="frame" x="0.0" y="0.0" width="1000" height="500"/>
<subviews>
<customView id="pXY-N9-ZRU">
<rect key="frame" x="0.0" y="0.0" width="200" height="500"/>
<rect key="frame" x="0.0" y="0.0" width="220" height="500"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<visualEffectView appearanceType="vibrantDark" blendingMode="behindWindow" material="underWindowBackground" state="followsWindowActiveState" translatesAutoresizingMaskIntoConstraints="NO" id="njS-QH-WfR">
<rect key="frame" x="0.0" y="0.0" width="200" height="500"/>
<rect key="frame" x="0.0" y="0.0" width="220" height="500"/>
<subviews>
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="44" horizontalPageScroll="10" verticalLineScroll="44" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6s6-Zi-U9w">
<rect key="frame" x="0.0" y="0.0" width="200" height="470"/>
<rect key="frame" x="0.0" y="0.0" width="220" height="470"/>
<clipView key="contentView" drawsBackground="NO" id="Qpm-Cm-Fke">
<rect key="frame" x="0.0" y="0.0" width="200" height="470"/>
<rect key="frame" x="0.0" y="0.0" width="220" height="470"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="42" rowSizeStyle="automatic" viewBased="YES" id="13n-Bw-pPy">
<rect key="frame" x="0.0" y="0.0" width="200" height="470"/>
<autoresizingMask key="autoresizingMask"/>
<rect key="frame" x="0.0" y="0.0" width="220" height="470"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn width="197" minWidth="40" maxWidth="1000" id="dGh-q6-bLv">
<tableColumn width="188" minWidth="40" maxWidth="1000" id="dGh-q6-bLv">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
@@ -113,10 +112,10 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="HYN-0l-Rb9">
<rect key="frame" x="1" y="1" width="197" height="42"/>
<rect key="frame" x="11" y="1" width="197" height="42"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="o1R-Ox-0Av">
<imageView wantsLayer="YES" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="o1R-Ox-0Av">
<rect key="frame" x="5" y="5" width="32" height="32"/>
<constraints>
<constraint firstAttribute="height" constant="32" id="dm3-qa-Fho"/>
@@ -125,7 +124,7 @@
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyUpOrDown" image="Accounts" id="wMV-10-rc2"/>
</imageView>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="clD-pW-mXY">
<rect key="frame" x="40" y="13" width="133" height="17"/>
<rect key="frame" x="40" y="13" width="133" height="16"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="IdH-II-0F8">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@@ -135,7 +134,7 @@
<binding destination="HYN-0l-Rb9" name="value" keyPath="objectValue.username" id="R7L-U5-8iz"/>
</connections>
</textField>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="vVa-vh-gr4">
<imageView wantsLayer="YES" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="vVa-vh-gr4">
<rect key="frame" x="176" y="13" width="16" height="16"/>
<constraints>
<constraint firstAttribute="width" constant="16" id="F9F-TH-YUP"/>
@@ -185,8 +184,8 @@
<autoresizingMask key="autoresizingMask"/>
</scroller>
</scrollView>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KHT-Hm-7By">
<rect key="frame" x="162" y="-1" width="19" height="21"/>
<button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KHT-Hm-7By">
<rect key="frame" x="182" y="-1" width="19" height="21"/>
<constraints>
<constraint firstAttribute="height" constant="19" id="EcL-XK-5sH"/>
<constraint firstAttribute="width" constant="19" id="xln-pD-rc5"/>
@@ -199,8 +198,8 @@
<action selector="addAccount:" target="-2" id="VfW-DT-J3H"/>
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DSc-zQ-Ozj">
<rect key="frame" x="181" y="-1" width="19" height="21"/>
<button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DSc-zQ-Ozj">
<rect key="frame" x="201" y="-1" width="19" height="21"/>
<constraints>
<constraint firstAttribute="height" constant="19" id="UOY-oY-XMH"/>
<constraint firstAttribute="width" constant="19" id="huj-mW-syx"/>
@@ -235,11 +234,11 @@
</constraints>
</customView>
<customView id="rtG-3L-X4C">
<rect key="frame" x="201" y="0.0" width="799" height="500"/>
<rect key="frame" x="221" y="0.0" width="779" height="500"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="LaH-3W-s0y">
<rect key="frame" x="272" y="122" width="256" height="256"/>
<rect key="frame" x="262" y="122" width="256" height="256"/>
<constraints>
<constraint firstAttribute="width" constant="256" id="30m-Zb-xZi"/>
<constraint firstAttribute="height" constant="256" id="xSA-4x-iZN"/>
@@ -254,7 +253,7 @@
</connections>
</imageView>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="EvW-Vu-3hB">
<rect key="frame" x="0.0" y="0.0" width="799" height="500"/>
<rect key="frame" x="0.0" y="0.0" width="779" height="500"/>
<connections>
<binding destination="-2" name="hidden" keyPath="self.controller" id="2yG-pe-Lq0">
<dictionary key="options">
@@ -309,9 +308,9 @@
</objects>
<resources>
<image name="Accounts" width="512" height="512"/>
<image name="NSAddTemplate" width="11" height="11"/>
<image name="NSApplicationIcon" width="128" height="128"/>
<image name="NSRemoveTemplate" width="11" height="11"/>
<image name="NSAddTemplate" width="14" height="13"/>
<image name="NSApplicationIcon" width="32" height="32"/>
<image name="NSRemoveTemplate" width="14" height="4"/>
<image name="NSStatusAvailable" width="16" height="16"/>
</resources>
</document>
Binary file not shown.