Showing preview only (429K chars total). Download the full file or copy to clipboard to get everything.
Repository: marcuswestin/WebViewJavascriptBridge
Branch: master
Commit: 9a1ae72d9924
Files: 91
Total size: 398.4 KB
Directory structure:
gitextract_5yrp9xbx/
├── .github/
│ ├── ISSUE_TEMPLATE.md
│ └── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── COPYRIGHT
├── Changelog
├── Example Apps/
│ ├── ExampleApp-OSX/
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── ExampleApp-OSX-Info.plist
│ │ ├── ExampleApp-OSX-Prefix.pch
│ │ ├── MainMenu.xib
│ │ ├── en.lproj/
│ │ │ ├── Credits.rtf
│ │ │ └── InfoPlist.strings
│ │ └── main.m
│ ├── ExampleApp-OSX.xcodeproj/
│ │ └── project.pbxproj
│ ├── ExampleApp-iOS/
│ │ ├── ExampleApp-iOS-Info.plist
│ │ ├── ExampleApp-iOS-Prefix.pch
│ │ ├── ExampleAppDelegate.h
│ │ ├── ExampleAppDelegate.m
│ │ ├── ExampleUIWebViewController.h
│ │ ├── ExampleUIWebViewController.m
│ │ ├── ExampleWKWebViewController.h
│ │ ├── ExampleWKWebViewController.m
│ │ ├── en.lproj/
│ │ │ └── InfoPlist.strings
│ │ └── main.m
│ ├── ExampleApp-iOS.xcodeproj/
│ │ └── project.pbxproj
│ ├── ExampleApp.html
│ └── ExampleSwiftApp-iOS/
│ ├── ExampleSwiftApp-iOS/
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets/
│ │ │ └── AppIcon.appiconset/
│ │ │ └── Contents.json
│ │ ├── Base.lproj/
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── ViewController.swift
│ ├── ExampleSwiftApp-iOS.xcodeproj/
│ │ └── project.pbxproj
│ ├── ExampleSwiftApp-iOSTests/
│ │ ├── ExampleSwiftApp_iOSTests.swift
│ │ └── Info.plist
│ ├── Podfile
│ ├── Pods/
│ │ ├── Local Podspecs/
│ │ │ └── WebViewJavascriptBridge.podspec.json
│ │ ├── Pods.xcodeproj/
│ │ │ └── project.pbxproj
│ │ └── Target Support Files/
│ │ ├── Pods-ExampleSwiftApp-iOS/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-ExampleSwiftApp-iOS-acknowledgements.markdown
│ │ │ ├── Pods-ExampleSwiftApp-iOS-acknowledgements.plist
│ │ │ ├── Pods-ExampleSwiftApp-iOS-dummy.m
│ │ │ ├── Pods-ExampleSwiftApp-iOS-frameworks.sh
│ │ │ ├── Pods-ExampleSwiftApp-iOS-resources.sh
│ │ │ ├── Pods-ExampleSwiftApp-iOS-umbrella.h
│ │ │ ├── Pods-ExampleSwiftApp-iOS.debug.xcconfig
│ │ │ ├── Pods-ExampleSwiftApp-iOS.modulemap
│ │ │ └── Pods-ExampleSwiftApp-iOS.release.xcconfig
│ │ ├── Pods-ExampleSwiftApp-iOSTests/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-ExampleSwiftApp-iOSTests-acknowledgements.markdown
│ │ │ ├── Pods-ExampleSwiftApp-iOSTests-acknowledgements.plist
│ │ │ ├── Pods-ExampleSwiftApp-iOSTests-dummy.m
│ │ │ ├── Pods-ExampleSwiftApp-iOSTests-frameworks.sh
│ │ │ ├── Pods-ExampleSwiftApp-iOSTests-resources.sh
│ │ │ ├── Pods-ExampleSwiftApp-iOSTests-umbrella.h
│ │ │ ├── Pods-ExampleSwiftApp-iOSTests.debug.xcconfig
│ │ │ ├── Pods-ExampleSwiftApp-iOSTests.modulemap
│ │ │ └── Pods-ExampleSwiftApp-iOSTests.release.xcconfig
│ │ └── WebViewJavascriptBridge/
│ │ ├── Info.plist
│ │ ├── WebViewJavascriptBridge-dummy.m
│ │ ├── WebViewJavascriptBridge-prefix.pch
│ │ ├── WebViewJavascriptBridge-umbrella.h
│ │ ├── WebViewJavascriptBridge.modulemap
│ │ └── WebViewJavascriptBridge.xcconfig
│ └── echo.html
├── LICENSE
├── Makefile
├── README.md
├── Roadmap.md
├── Tests/
│ ├── WebViewJavascriptBridge.xcodeproj/
│ │ ├── project.pbxproj
│ │ └── xcshareddata/
│ │ └── xcschemes/
│ │ └── WebViewJavascriptBridge.xcscheme
│ ├── WebViewJavascriptBridgeTestHost/
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Info.plist
│ │ ├── WebViewJavascriptBridgeTestHost-Bridging-Header.h
│ │ └── main.m
│ └── WebViewJavascriptBridgeTests/
│ ├── BridgeTests.m
│ ├── BridgeTests.swift
│ ├── Info.plist
│ ├── WebViewJavascriptBridgeTests-Bridging-Header.h
│ └── echo.html
├── WebViewJavascriptBridge/
│ ├── WKWebViewJavascriptBridge.h
│ ├── WKWebViewJavascriptBridge.m
│ ├── WebViewJavascriptBridge.h
│ ├── WebViewJavascriptBridge.m
│ ├── WebViewJavascriptBridgeBase.h
│ ├── WebViewJavascriptBridgeBase.m
│ ├── WebViewJavascriptBridge_JS.h
│ └── WebViewJavascriptBridge_JS.m
├── WebViewJavascriptBridge.podspec
└── circle.yml
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
# WVJB Bug Report
Thanks for reporting an issue with WebViewJavascriptBridge.
### Do these 4 things and I will fix your problem!
1. Go to https://github.com/marcuswestin/WebViewJavascriptBridge and click Fork.
2. Clone your fork, `cd` into it and run `make test`. All tests should pass!
3. Edit `Tests/WebViewJavascriptBridgeTests/BridgeTests.m` and create a new, failing test which demostrates your issue.
4. Create a pull request for https://github.com/marcuswestin/WebViewJavascriptBridge
#### That's it!
I will take it from there and promise that I'll fix your problem ASAP.
#### If you don't do this then I can't help you!
And I probably won't :)
Cheers,
@marcuswestin
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
## Before your create your PR:
#### Please add tests for any new or changed functionality!
1. Edit `Tests/WebViewJavascriptBridgeTests/BridgeTests.m`
2. Create a new test which demostrates your changes.
3. Run `make test` and make sure your test is passing
4. That's it!
#### Thanks for improving WebViewJavascriptBridge!
Cheers,
@marcuswestin
================================================
FILE: .gitignore
================================================
# Mac OS X
*.DS_Store
# Xcode
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
*.xcuserstate
*.xcworkspace/
xcuserdata/
================================================
FILE: COPYRIGHT
================================================
Copyright (c) 2023 - Marcus Westin
================================================
FILE: Changelog
================================================
WebViewJavascriptBridge Changelog
=================================
Release Checklist
-----------------
- gitu-update
- Note Changelog
- Bump `WebViewJavascriptBridge.podspec` version "X.Y.Z"
- gitm-commit "vX.Y.Z"
- gitt-tag "vX.Y.Z"
- pod trunk push
Version History
---------------
v5.1.1
+ Swift unit tests and examples
+ Implement removeHandler
v5.1.0
+ A single instantiation function for all webview types.
+ Improved test runner.
+ New instructions & templates for github issues and pull requests.
v5.0.5
+ Run all tests for both UIWebView and WKWebView webviews/bridges.
+ Allow for calling handlers from JS with just a handler name and responseCallback function (#184).
v5.0.3 & v5.0.4
+ Recalled builds :)
v5.0.2
+ Fix bug that could cause a crash if the webview loads a new page immediately after JS sends a message.
v5.0.1
+ Removed `WebViewJavascriptBridge -reset`. It should never have been exposed as a public API.
+ Fixed compilation in C99 mode
+ Inline JS source code. WVJB no longer requires `WebViewJavascriptBridge.js.txt` to be included as a resource.
+ Automated testing: see `make test`
+ Added Makefile with common commands
+ Significantly simplified and improved wvjb load detection
+ Simplify API by focusing on explicitly named handlers instead of a default handler and plain `send`.
v4.1.4
+ Improve how WVJB handles the case when there is no ObjC handler for a message received from js.
+ If an objc handler throws and exception, let it bubble up to the webkit engine instead of catching it in WVJB.
v4.1.3
+ Update podspec file with tag
v4.1.2
+ Fix bug: webViewDidStart/FinishLoad were called twice and isLoading was always true (#86)
v4.1.1
+ Better JS initialization script (thank @refractalize!)
+ When passing nil to an objc response callback, replace it with [NSNull null] (becomes null in js)
v4.1.0
+ Allow for sending null/nil data packets
+ Drop support for JSONKit
+ Clean up internal represenation of messages
v4.0.2
+ Fix NSInvalidArgumentException: "attempt to insert nil object" when using shorthand -callHandler:
+ Fix sending messages including __WVJB_MESSAGE_SEPERATOR__ string
v4.0.1
+ Fix detection of arc_weak support
v4.0.0
+ Consolidate platform-specific code into a single WebViewJavascriptBridge.m/h using macros (57ee322a4c5310eadd28b28f4d8522cd54123301)
+ Bugfix: Don't make navigation decisions for webviews we don't control (254ea00267f8c1e03727885f4e1e0fd5f5c78be8)
v3.1.0
+ Dont inject the WVJB bridge until all requests have finished loading (61b853)
+ Add podspec file (818d49cfc)
+ Memory leaks fixed (b06988f1, 20ce1b0b)
+ New major contributor @peyton!
v3.0.0
+ OSX Support
+ New major contributor @oakho!
v2.1.2
+ Copy handler and response blocks
v2.1.1
+ Handle edge cases gracefully (e.g. don't crash on unknown command or unexpected response)
v2.1.0
+ Remove WVJBResponse object and the notion of responding with an error. See 4ab41bb4d7.
v2.0.0
+ Messages are objects instead of strings. Supports NSDictionary*/Objects, NSArray*/Arrays, NSNumber*/Number & NSString*/String.
+ Messages are encoded with NSJSONSerialization. Optional fallback to JSONKit for iOS 4 support.
+ Messages can expect responses. A message received with an expected response is accompanied by a WVJBResponse* object.
+ Handlers can be registered by name, and called with data and an optional expected response.
+ Responses expect either an error or data (`-(void)respond:(id)data`, -(void)respondWithError:(id)error)
v0.0.1
+ ObjC: A WebViewJavascriptBridge class (a UIWebViewDelegate) that enables message passing to and from the JS
+ ObjC: A protocol called WebViewJavascriptBridgeDelegate that lets you handle messages received from the JS
+ JS: Event when the bridge is ready - document.addEventListener('WebViewJavascriptBridgeReady', function() {}, false)
+ JS: Ability to set your message handler - WebViewJavascriptBridge.setMessageHandler(function() {})
+ JS: Function to send messages - WebViewJavascriptBridge.sendMessage('a message');
+ All messages are strings. Use JSON in your js and e.g. JSONKit in iOS to send structured messages
================================================
FILE: Example Apps/ExampleApp-OSX/AppDelegate.h
================================================
//
// AppDelegate.h
// ExampleApp-OSX
//
// Created by Marcus Westin on 6/8/13.
// Copyright (c) 2013 Marcus Westin. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (assign) IBOutlet NSWindow *window;
@end
================================================
FILE: Example Apps/ExampleApp-OSX/AppDelegate.m
================================================
//
// AppDelegate.m
// ExampleApp-OSX
//
// Created by Marcus Westin on 6/8/13.
// Copyright (c) 2013 Marcus Westin. All rights reserved.
//
#import "AppDelegate.h"
#import <WebKit/WebKit.h>
#import "WebViewJavascriptBridge.h"
@implementation AppDelegate {
WebView* _webView;
WKWebView *_WKWebView;
WebViewJavascriptBridge* _bridge;
WebViewJavascriptBridge* _WKBridge;
NSView* _WKWebViewWrapper;
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[self _createViews];
[self _configureWebview];
[self _configureWKWebview];
}
- (void)_configureWebview {
// Create Bridge
_bridge = [WebViewJavascriptBridge bridgeForWebView:_webView];
[_bridge registerHandler:@"testObjcCallback" handler:^(id data, WVJBResponseCallback responseCallback) {
NSLog(@"testObjcCallback called: %@", data);
responseCallback(@"Response from testObjcCallback");
}];
[_bridge callHandler:@"testJavascriptHandler" data:@{ @"foo":@"before ready" }];
// Create Buttons
NSButton *callbackButton = [[NSButton alloc] initWithFrame:NSMakeRect(5, 0, 120, 40)];
[callbackButton setTitle:@"Call handler"];
[callbackButton setBezelStyle:NSRoundedBezelStyle];
[callbackButton setTarget:self];
[callbackButton setAction:@selector(_callHandler)];
[_webView addSubview:callbackButton];
NSButton *webViewToggleButton = [[NSButton alloc] initWithFrame:NSMakeRect(120, 0, 180, 40)];
[webViewToggleButton setTitle:@"Switch to WKWebView"];
[webViewToggleButton setBezelStyle:NSRoundedBezelStyle];
[webViewToggleButton setTarget:self];
[webViewToggleButton setAction:@selector(_toggleExample)];
[_webView addSubview:webViewToggleButton];
// Load Page
NSString* htmlPath = [[NSBundle mainBundle] pathForResource:@"ExampleApp" ofType:@"html"];
NSString* html = [NSString stringWithContentsOfFile:htmlPath encoding:NSUTF8StringEncoding error:nil];
NSURL *baseURL = [NSURL fileURLWithPath:htmlPath];
[[_webView mainFrame] loadHTMLString:html baseURL: baseURL];
}
- (void)_configureWKWebview {
// Create Bridge
_WKBridge = [WebViewJavascriptBridge bridgeForWebView:_WKWebView];
[_WKBridge registerHandler:@"testObjcCallback" handler:^(id data, WVJBResponseCallback responseCallback) {
NSLog(@"testObjcCallback called: %@", data);
responseCallback(@"Response from testObjcCallback");
}];
[_WKBridge callHandler:@"testJavascriptHandler" data:@{ @"foo":@"before ready" }];
// Create Buttons
NSButton *callbackButton = [[NSButton alloc] initWithFrame:NSMakeRect(5, 0, 120, 40)];
[callbackButton setTitle:@"Call handler"];
[callbackButton setBezelStyle:NSRoundedBezelStyle];
[callbackButton setTarget:self];
[callbackButton setAction:@selector(_WKCallHandler)];
[_WKWebView addSubview:callbackButton];
NSButton *webViewToggleButton = [[NSButton alloc] initWithFrame:NSMakeRect(120, 0, 180, 40)];
[webViewToggleButton setTitle:@"Switch to WebView"];
[webViewToggleButton setBezelStyle:NSRoundedBezelStyle];
[webViewToggleButton setTarget:self];
[webViewToggleButton setAction:@selector(_toggleExample)];
[_WKWebView addSubview:webViewToggleButton];
// Load Page
NSString* htmlPath = [[NSBundle mainBundle] pathForResource:@"ExampleApp" ofType:@"html"];
NSString* html = [NSString stringWithContentsOfFile:htmlPath encoding:NSUTF8StringEncoding error:nil];
NSURL *baseURL = [NSURL fileURLWithPath:htmlPath];
[_WKWebView loadHTMLString:html baseURL:baseURL];
}
-(void)_toggleExample {
_WKWebView.hidden = !_WKWebView.isHidden;
_webView.hidden = !_webView.isHidden;
}
- (void)_callHandler {
id data = @{ @"greetingFromObjC": @"Hi there, JS!" };
[_bridge callHandler:@"testJavascriptHandler" data:data responseCallback:^(id response) {
NSLog(@"testJavascriptHandler responded: %@", response);
}];
}
- (void)_WKCallHandler {
id data = @{ @"greetingFromObjC": @"Hi there, JS!" };
[_WKBridge callHandler:@"testJavascriptHandler" data:data responseCallback:^(id response) {
NSLog(@"testJavascriptHandler responded: %@", response);
}];
}
- (void)_createViews {
NSView* contentView = _window.contentView;
// WebView
_webView = [[WebView alloc] initWithFrame:contentView.frame];
[_webView setAutoresizingMask:(NSViewHeightSizable | NSViewWidthSizable)];
_webView.hidden = YES;
// WKWebView
_WKWebView = [[WKWebView alloc] initWithFrame:contentView.frame];
[_WKWebView setAutoresizingMask:(NSViewHeightSizable | NSViewWidthSizable)];
[contentView addSubview:_WKWebView];
[contentView addSubview:_webView];
}
@end
================================================
FILE: Example Apps/ExampleApp-OSX/ExampleApp-OSX-Info.plist
================================================
<?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>en</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>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2013 Marcus Westin. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
================================================
FILE: Example Apps/ExampleApp-OSX/ExampleApp-OSX-Prefix.pch
================================================
//
// Prefix header for all source files of the 'ExampleApp-OSX' target in the 'ExampleApp-OSX' project
//
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#endif
================================================
FILE: Example Apps/ExampleApp-OSX/MainMenu.xib
================================================
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1070</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2844</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<dictionary class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="com.apple.InterfaceBuilder.CocoaPlugin">2844</string>
<string key="com.apple.WebKitIBPlugin">1810</string>
</dictionary>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSCustomObject</string>
<string>NSMenu</string>
<string>NSMenuItem</string>
<string>NSView</string>
<string>NSWindowTemplate</string>
<string>WebView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.WebKitIBPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1048">
<object class="NSCustomObject" id="1021">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSCustomObject" id="1014">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="1050">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSMenu" id="649796088">
<string key="NSTitle">AMainMenu</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="694149608">
<reference key="NSMenu" ref="649796088"/>
<string key="NSTitle">ExampleApp-OSX</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<object class="NSCustomResource" key="NSOnImage" id="35465992">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSMenuCheckmark</string>
</object>
<object class="NSCustomResource" key="NSMixedImage" id="502551668">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSMenuMixedState</string>
</object>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="110575045">
<string key="NSTitle">ExampleApp-OSX</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="238522557">
<reference key="NSMenu" ref="110575045"/>
<string key="NSTitle">About ExampleApp-OSX</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="304266470">
<reference key="NSMenu" ref="110575045"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="609285721">
<reference key="NSMenu" ref="110575045"/>
<string key="NSTitle">Preferences…</string>
<string key="NSKeyEquiv">,</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="481834944">
<reference key="NSMenu" ref="110575045"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="1046388886">
<reference key="NSMenu" ref="110575045"/>
<string key="NSTitle">Services</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="752062318">
<string key="NSTitle">Services</string>
<array class="NSMutableArray" key="NSMenuItems"/>
<string key="NSName">_NSServicesMenu</string>
</object>
</object>
<object class="NSMenuItem" id="646227648">
<reference key="NSMenu" ref="110575045"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="755159360">
<reference key="NSMenu" ref="110575045"/>
<string key="NSTitle">Hide ExampleApp-OSX</string>
<string key="NSKeyEquiv">h</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="342932134">
<reference key="NSMenu" ref="110575045"/>
<string key="NSTitle">Hide Others</string>
<string key="NSKeyEquiv">h</string>
<int key="NSKeyEquivModMask">1572864</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="908899353">
<reference key="NSMenu" ref="110575045"/>
<string key="NSTitle">Show All</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="1056857174">
<reference key="NSMenu" ref="110575045"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="632727374">
<reference key="NSMenu" ref="110575045"/>
<string key="NSTitle">Quit ExampleApp-OSX</string>
<string key="NSKeyEquiv">q</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
<string key="NSName">_NSAppleMenu</string>
</object>
</object>
<object class="NSMenuItem" id="379814623">
<reference key="NSMenu" ref="649796088"/>
<string key="NSTitle">File</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="720053764">
<string key="NSTitle">File</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="705341025">
<reference key="NSMenu" ref="720053764"/>
<string key="NSTitle">New</string>
<string key="NSKeyEquiv">n</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="722745758">
<reference key="NSMenu" ref="720053764"/>
<string key="NSTitle">Open…</string>
<string key="NSKeyEquiv">o</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="1025936716">
<reference key="NSMenu" ref="720053764"/>
<string key="NSTitle">Open Recent</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="1065607017">
<string key="NSTitle">Open Recent</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="759406840">
<reference key="NSMenu" ref="1065607017"/>
<string key="NSTitle">Clear Menu</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
<string key="NSName">_NSRecentDocumentsMenu</string>
</object>
</object>
<object class="NSMenuItem" id="425164168">
<reference key="NSMenu" ref="720053764"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="776162233">
<reference key="NSMenu" ref="720053764"/>
<string key="NSTitle">Close</string>
<string key="NSKeyEquiv">w</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="1023925487">
<reference key="NSMenu" ref="720053764"/>
<string key="NSTitle">Save…</string>
<string key="NSKeyEquiv">s</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="579971712">
<reference key="NSMenu" ref="720053764"/>
<string key="NSTitle">Revert to Saved</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="1010469920">
<reference key="NSMenu" ref="720053764"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="294629803">
<reference key="NSMenu" ref="720053764"/>
<string key="NSTitle">Page Setup...</string>
<string key="NSKeyEquiv">P</string>
<int key="NSKeyEquivModMask">1179648</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSToolTip"/>
</object>
<object class="NSMenuItem" id="49223823">
<reference key="NSMenu" ref="720053764"/>
<string key="NSTitle">Print…</string>
<string key="NSKeyEquiv">p</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
</object>
</object>
<object class="NSMenuItem" id="952259628">
<reference key="NSMenu" ref="649796088"/>
<string key="NSTitle">Edit</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="789758025">
<string key="NSTitle">Edit</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="1058277027">
<reference key="NSMenu" ref="789758025"/>
<string key="NSTitle">Undo</string>
<string key="NSKeyEquiv">z</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="790794224">
<reference key="NSMenu" ref="789758025"/>
<string key="NSTitle">Redo</string>
<string key="NSKeyEquiv">Z</string>
<int key="NSKeyEquivModMask">1179648</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="1040322652">
<reference key="NSMenu" ref="789758025"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="296257095">
<reference key="NSMenu" ref="789758025"/>
<string key="NSTitle">Cut</string>
<string key="NSKeyEquiv">x</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="860595796">
<reference key="NSMenu" ref="789758025"/>
<string key="NSTitle">Copy</string>
<string key="NSKeyEquiv">c</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="29853731">
<reference key="NSMenu" ref="789758025"/>
<string key="NSTitle">Paste</string>
<string key="NSKeyEquiv">v</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="82994268">
<reference key="NSMenu" ref="789758025"/>
<string key="NSTitle">Paste and Match Style</string>
<string key="NSKeyEquiv">V</string>
<int key="NSKeyEquivModMask">1572864</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="437104165">
<reference key="NSMenu" ref="789758025"/>
<string key="NSTitle">Delete</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="583158037">
<reference key="NSMenu" ref="789758025"/>
<string key="NSTitle">Select All</string>
<string key="NSKeyEquiv">a</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="212016141">
<reference key="NSMenu" ref="789758025"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="892235320">
<reference key="NSMenu" ref="789758025"/>
<string key="NSTitle">Find</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="963351320">
<string key="NSTitle">Find</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="447796847">
<reference key="NSMenu" ref="963351320"/>
<string key="NSTitle">Find…</string>
<string key="NSKeyEquiv">f</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<int key="NSTag">1</int>
</object>
<object class="NSMenuItem" id="738670835">
<reference key="NSMenu" ref="963351320"/>
<string key="NSTitle">Find and Replace…</string>
<string key="NSKeyEquiv">f</string>
<int key="NSKeyEquivModMask">1572864</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<int key="NSTag">12</int>
</object>
<object class="NSMenuItem" id="326711663">
<reference key="NSMenu" ref="963351320"/>
<string key="NSTitle">Find Next</string>
<string key="NSKeyEquiv">g</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<int key="NSTag">2</int>
</object>
<object class="NSMenuItem" id="270902937">
<reference key="NSMenu" ref="963351320"/>
<string key="NSTitle">Find Previous</string>
<string key="NSKeyEquiv">G</string>
<int key="NSKeyEquivModMask">1179648</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<int key="NSTag">3</int>
</object>
<object class="NSMenuItem" id="159080638">
<reference key="NSMenu" ref="963351320"/>
<string key="NSTitle">Use Selection for Find</string>
<string key="NSKeyEquiv">e</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<int key="NSTag">7</int>
</object>
<object class="NSMenuItem" id="88285865">
<reference key="NSMenu" ref="963351320"/>
<string key="NSTitle">Jump to Selection</string>
<string key="NSKeyEquiv">j</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
</object>
</object>
<object class="NSMenuItem" id="972420730">
<reference key="NSMenu" ref="789758025"/>
<string key="NSTitle">Spelling and Grammar</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="769623530">
<string key="NSTitle">Spelling and Grammar</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="679648819">
<reference key="NSMenu" ref="769623530"/>
<string key="NSTitle">Show Spelling and Grammar</string>
<string key="NSKeyEquiv">:</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="96193923">
<reference key="NSMenu" ref="769623530"/>
<string key="NSTitle">Check Document Now</string>
<string key="NSKeyEquiv">;</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="859480356">
<reference key="NSMenu" ref="769623530"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="948374510">
<reference key="NSMenu" ref="769623530"/>
<string key="NSTitle">Check Spelling While Typing</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="967646866">
<reference key="NSMenu" ref="769623530"/>
<string key="NSTitle">Check Grammar With Spelling</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="795346622">
<reference key="NSMenu" ref="769623530"/>
<string key="NSTitle">Correct Spelling Automatically</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
</object>
</object>
<object class="NSMenuItem" id="507821607">
<reference key="NSMenu" ref="789758025"/>
<string key="NSTitle">Substitutions</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="698887838">
<string key="NSTitle">Substitutions</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="65139061">
<reference key="NSMenu" ref="698887838"/>
<string key="NSTitle">Show Substitutions</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="19036812">
<reference key="NSMenu" ref="698887838"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="605118523">
<reference key="NSMenu" ref="698887838"/>
<string key="NSTitle">Smart Copy/Paste</string>
<string key="NSKeyEquiv">f</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<int key="NSTag">1</int>
</object>
<object class="NSMenuItem" id="197661976">
<reference key="NSMenu" ref="698887838"/>
<string key="NSTitle">Smart Quotes</string>
<string key="NSKeyEquiv">g</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<int key="NSTag">2</int>
</object>
<object class="NSMenuItem" id="672708820">
<reference key="NSMenu" ref="698887838"/>
<string key="NSTitle">Smart Dashes</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="708854459">
<reference key="NSMenu" ref="698887838"/>
<string key="NSTitle">Smart Links</string>
<string key="NSKeyEquiv">G</string>
<int key="NSKeyEquivModMask">1179648</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<int key="NSTag">3</int>
</object>
<object class="NSMenuItem" id="537092702">
<reference key="NSMenu" ref="698887838"/>
<string key="NSTitle">Text Replacement</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
</object>
</object>
<object class="NSMenuItem" id="288088188">
<reference key="NSMenu" ref="789758025"/>
<string key="NSTitle">Transformations</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="579392910">
<string key="NSTitle">Transformations</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="1060694897">
<reference key="NSMenu" ref="579392910"/>
<string key="NSTitle">Make Upper Case</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="879586729">
<reference key="NSMenu" ref="579392910"/>
<string key="NSTitle">Make Lower Case</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="56570060">
<reference key="NSMenu" ref="579392910"/>
<string key="NSTitle">Capitalize</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
</object>
</object>
<object class="NSMenuItem" id="676164635">
<reference key="NSMenu" ref="789758025"/>
<string key="NSTitle">Speech</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="785027613">
<string key="NSTitle">Speech</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="731782645">
<reference key="NSMenu" ref="785027613"/>
<string key="NSTitle">Start Speaking</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="680220178">
<reference key="NSMenu" ref="785027613"/>
<string key="NSTitle">Stop Speaking</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
</object>
</object>
</array>
</object>
</object>
<object class="NSMenuItem" id="302598603">
<reference key="NSMenu" ref="649796088"/>
<string key="NSTitle">Format</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="941447902">
<string key="NSTitle">Format</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="792887677">
<reference key="NSMenu" ref="941447902"/>
<string key="NSTitle">Font</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="786677654">
<string key="NSTitle">Font</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="159677712">
<reference key="NSMenu" ref="786677654"/>
<string key="NSTitle">Show Fonts</string>
<string key="NSKeyEquiv">t</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="305399458">
<reference key="NSMenu" ref="786677654"/>
<string key="NSTitle">Bold</string>
<string key="NSKeyEquiv">b</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<int key="NSTag">2</int>
</object>
<object class="NSMenuItem" id="814362025">
<reference key="NSMenu" ref="786677654"/>
<string key="NSTitle">Italic</string>
<string key="NSKeyEquiv">i</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<int key="NSTag">1</int>
</object>
<object class="NSMenuItem" id="330926929">
<reference key="NSMenu" ref="786677654"/>
<string key="NSTitle">Underline</string>
<string key="NSKeyEquiv">u</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="533507878">
<reference key="NSMenu" ref="786677654"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="158063935">
<reference key="NSMenu" ref="786677654"/>
<string key="NSTitle">Bigger</string>
<string key="NSKeyEquiv">+</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<int key="NSTag">3</int>
</object>
<object class="NSMenuItem" id="885547335">
<reference key="NSMenu" ref="786677654"/>
<string key="NSTitle">Smaller</string>
<string key="NSKeyEquiv">-</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<int key="NSTag">4</int>
</object>
<object class="NSMenuItem" id="901062459">
<reference key="NSMenu" ref="786677654"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="767671776">
<reference key="NSMenu" ref="786677654"/>
<string key="NSTitle">Kern</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="175441468">
<string key="NSTitle">Kern</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="252969304">
<reference key="NSMenu" ref="175441468"/>
<string key="NSTitle">Use Default</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="766922938">
<reference key="NSMenu" ref="175441468"/>
<string key="NSTitle">Use None</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="677519740">
<reference key="NSMenu" ref="175441468"/>
<string key="NSTitle">Tighten</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="238351151">
<reference key="NSMenu" ref="175441468"/>
<string key="NSTitle">Loosen</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
</object>
</object>
<object class="NSMenuItem" id="691570813">
<reference key="NSMenu" ref="786677654"/>
<string key="NSTitle">Ligatures</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="1058217995">
<string key="NSTitle">Ligatures</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="706297211">
<reference key="NSMenu" ref="1058217995"/>
<string key="NSTitle">Use Default</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="568384683">
<reference key="NSMenu" ref="1058217995"/>
<string key="NSTitle">Use None</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="663508465">
<reference key="NSMenu" ref="1058217995"/>
<string key="NSTitle">Use All</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
</object>
</object>
<object class="NSMenuItem" id="769124883">
<reference key="NSMenu" ref="786677654"/>
<string key="NSTitle">Baseline</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="18263474">
<string key="NSTitle">Baseline</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="257962622">
<reference key="NSMenu" ref="18263474"/>
<string key="NSTitle">Use Default</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="644725453">
<reference key="NSMenu" ref="18263474"/>
<string key="NSTitle">Superscript</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="1037576581">
<reference key="NSMenu" ref="18263474"/>
<string key="NSTitle">Subscript</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="941806246">
<reference key="NSMenu" ref="18263474"/>
<string key="NSTitle">Raise</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="1045724900">
<reference key="NSMenu" ref="18263474"/>
<string key="NSTitle">Lower</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
</object>
</object>
<object class="NSMenuItem" id="739652853">
<reference key="NSMenu" ref="786677654"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="1012600125">
<reference key="NSMenu" ref="786677654"/>
<string key="NSTitle">Show Colors</string>
<string key="NSKeyEquiv">C</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="214559597">
<reference key="NSMenu" ref="786677654"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="596732606">
<reference key="NSMenu" ref="786677654"/>
<string key="NSTitle">Copy Style</string>
<string key="NSKeyEquiv">c</string>
<int key="NSKeyEquivModMask">1572864</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="393423671">
<reference key="NSMenu" ref="786677654"/>
<string key="NSTitle">Paste Style</string>
<string key="NSKeyEquiv">v</string>
<int key="NSKeyEquivModMask">1572864</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
<string key="NSName">_NSFontMenu</string>
</object>
</object>
<object class="NSMenuItem" id="215659978">
<reference key="NSMenu" ref="941447902"/>
<string key="NSTitle">Text</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="446991534">
<string key="NSTitle">Text</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="875092757">
<reference key="NSMenu" ref="446991534"/>
<string key="NSTitle">Align Left</string>
<string key="NSKeyEquiv">{</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="630155264">
<reference key="NSMenu" ref="446991534"/>
<string key="NSTitle">Center</string>
<string key="NSKeyEquiv">|</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="945678886">
<reference key="NSMenu" ref="446991534"/>
<string key="NSTitle">Justify</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="512868991">
<reference key="NSMenu" ref="446991534"/>
<string key="NSTitle">Align Right</string>
<string key="NSKeyEquiv">}</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="163117631">
<reference key="NSMenu" ref="446991534"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="31516759">
<reference key="NSMenu" ref="446991534"/>
<string key="NSTitle">Writing Direction</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="956096989">
<string key="NSTitle">Writing Direction</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="257099033">
<reference key="NSMenu" ref="956096989"/>
<bool key="NSIsDisabled">YES</bool>
<string key="NSTitle">Paragraph</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="551969625">
<reference key="NSMenu" ref="956096989"/>
<string type="base64-UTF8" key="NSTitle">CURlZmF1bHQ</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="249532473">
<reference key="NSMenu" ref="956096989"/>
<string type="base64-UTF8" key="NSTitle">CUxlZnQgdG8gUmlnaHQ</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="607364498">
<reference key="NSMenu" ref="956096989"/>
<string type="base64-UTF8" key="NSTitle">CVJpZ2h0IHRvIExlZnQ</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="508151438">
<reference key="NSMenu" ref="956096989"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="981751889">
<reference key="NSMenu" ref="956096989"/>
<bool key="NSIsDisabled">YES</bool>
<string key="NSTitle">Selection</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="380031999">
<reference key="NSMenu" ref="956096989"/>
<string type="base64-UTF8" key="NSTitle">CURlZmF1bHQ</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="825984362">
<reference key="NSMenu" ref="956096989"/>
<string type="base64-UTF8" key="NSTitle">CUxlZnQgdG8gUmlnaHQ</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="560145579">
<reference key="NSMenu" ref="956096989"/>
<string type="base64-UTF8" key="NSTitle">CVJpZ2h0IHRvIExlZnQ</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
</object>
</object>
<object class="NSMenuItem" id="908105787">
<reference key="NSMenu" ref="446991534"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="644046920">
<reference key="NSMenu" ref="446991534"/>
<string key="NSTitle">Show Ruler</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="231811626">
<reference key="NSMenu" ref="446991534"/>
<string key="NSTitle">Copy Ruler</string>
<string key="NSKeyEquiv">c</string>
<int key="NSKeyEquivModMask">1310720</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="883618387">
<reference key="NSMenu" ref="446991534"/>
<string key="NSTitle">Paste Ruler</string>
<string key="NSKeyEquiv">v</string>
<int key="NSKeyEquivModMask">1310720</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
</object>
</object>
</array>
</object>
</object>
<object class="NSMenuItem" id="586577488">
<reference key="NSMenu" ref="649796088"/>
<string key="NSTitle">View</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="466310130">
<string key="NSTitle">View</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="102151532">
<reference key="NSMenu" ref="466310130"/>
<string key="NSTitle">Show Toolbar</string>
<string key="NSKeyEquiv">t</string>
<int key="NSKeyEquivModMask">1572864</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="237841660">
<reference key="NSMenu" ref="466310130"/>
<string key="NSTitle">Customize Toolbar…</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
</object>
</object>
<object class="NSMenuItem" id="713487014">
<reference key="NSMenu" ref="649796088"/>
<string key="NSTitle">Window</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="835318025">
<string key="NSTitle">Window</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="1011231497">
<reference key="NSMenu" ref="835318025"/>
<string key="NSTitle">Minimize</string>
<string key="NSKeyEquiv">m</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="575023229">
<reference key="NSMenu" ref="835318025"/>
<string key="NSTitle">Zoom</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="299356726">
<reference key="NSMenu" ref="835318025"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
<object class="NSMenuItem" id="625202149">
<reference key="NSMenu" ref="835318025"/>
<string key="NSTitle">Bring All to Front</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
<string key="NSName">_NSWindowsMenu</string>
</object>
</object>
<object class="NSMenuItem" id="448692316">
<reference key="NSMenu" ref="649796088"/>
<string key="NSTitle">Help</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="992780483">
<string key="NSTitle">Help</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="105068016">
<reference key="NSMenu" ref="992780483"/>
<string key="NSTitle">ExampleApp-OSX Help</string>
<string key="NSKeyEquiv">?</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="35465992"/>
<reference key="NSMixedImage" ref="502551668"/>
</object>
</array>
<string key="NSName">_NSHelpMenu</string>
</object>
</object>
</array>
<string key="NSName">_NSMainMenu</string>
</object>
<object class="NSWindowTemplate" id="972006081">
<int key="NSWindowStyleMask">15</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{335, 390}, {480, 360}}</string>
<int key="NSWTFlags">1954021376</int>
<string key="NSWindowTitle">ExampleApp-OSX</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<nil key="NSUserInterfaceItemIdentifier"/>
<object class="NSView" key="NSWindowView" id="439893737">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{480, 360}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1280, 778}}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
<object class="NSCustomObject" id="976324537">
<string key="NSClassName">AppDelegate</string>
</object>
<object class="NSCustomObject" id="755631768">
<string key="NSClassName">NSFontManager</string>
</object>
<object class="WebView" id="956305226">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<set class="NSMutableSet" key="NSDragTypes">
<string>Apple HTML pasteboard type</string>
<string>Apple PDF pasteboard type</string>
<string>Apple PICT pasteboard type</string>
<string>Apple URL pasteboard type</string>
<string>Apple Web Archive pasteboard type</string>
<string>NSColor pasteboard type</string>
<string>NSFilenamesPboardType</string>
<string>NSStringPboardType</string>
<string>NeXT RTFD pasteboard type</string>
<string>NeXT Rich Text Format v1.0 pasteboard type</string>
<string>NeXT TIFF v4.0 pasteboard type</string>
<string>WebURLsWithTitlesPboardType</string>
<string>public.png</string>
<string>public.url</string>
<string>public.url-name</string>
</set>
<string key="NSFrameSize">{254, 200}</string>
<reference key="NSSuperview"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<string key="FrameName"/>
<string key="GroupName"/>
<object class="WebPreferences" key="Preferences">
<string key="Identifier"/>
<dictionary class="NSMutableDictionary" key="Values">
<integer value="12" key="WebKitDefaultFixedFontSize"/>
<integer value="12" key="WebKitDefaultFontSize"/>
<integer value="1" key="WebKitMinimumFontSize"/>
</dictionary>
</object>
<bool key="UseBackForwardList">YES</bool>
<bool key="AllowsUndo">YES</bool>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">terminate:</string>
<reference key="source" ref="1050"/>
<reference key="destination" ref="632727374"/>
</object>
<int key="connectionID">449</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">orderFrontStandardAboutPanel:</string>
<reference key="source" ref="1021"/>
<reference key="destination" ref="238522557"/>
</object>
<int key="connectionID">142</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="1021"/>
<reference key="destination" ref="976324537"/>
</object>
<int key="connectionID">495</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">performMiniaturize:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="1011231497"/>
</object>
<int key="connectionID">37</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">arrangeInFront:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="625202149"/>
</object>
<int key="connectionID">39</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">print:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="49223823"/>
</object>
<int key="connectionID">86</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">runPageLayout:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="294629803"/>
</object>
<int key="connectionID">87</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">clearRecentDocuments:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="759406840"/>
</object>
<int key="connectionID">127</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">performClose:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="776162233"/>
</object>
<int key="connectionID">193</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">toggleContinuousSpellChecking:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="948374510"/>
</object>
<int key="connectionID">222</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">undo:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="1058277027"/>
</object>
<int key="connectionID">223</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">copy:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="860595796"/>
</object>
<int key="connectionID">224</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">checkSpelling:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="96193923"/>
</object>
<int key="connectionID">225</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">paste:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="29853731"/>
</object>
<int key="connectionID">226</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">stopSpeaking:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="680220178"/>
</object>
<int key="connectionID">227</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">cut:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="296257095"/>
</object>
<int key="connectionID">228</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">showGuessPanel:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="679648819"/>
</object>
<int key="connectionID">230</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">redo:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="790794224"/>
</object>
<int key="connectionID">231</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">selectAll:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="583158037"/>
</object>
<int key="connectionID">232</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">startSpeaking:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="731782645"/>
</object>
<int key="connectionID">233</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">delete:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="437104165"/>
</object>
<int key="connectionID">235</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">performZoom:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="575023229"/>
</object>
<int key="connectionID">240</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">performFindPanelAction:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="447796847"/>
</object>
<int key="connectionID">241</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">centerSelectionInVisibleArea:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="88285865"/>
</object>
<int key="connectionID">245</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">toggleGrammarChecking:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="967646866"/>
</object>
<int key="connectionID">347</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">toggleSmartInsertDelete:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="605118523"/>
</object>
<int key="connectionID">355</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">toggleAutomaticQuoteSubstitution:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="197661976"/>
</object>
<int key="connectionID">356</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">toggleAutomaticLinkDetection:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="708854459"/>
</object>
<int key="connectionID">357</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">saveDocument:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="1023925487"/>
</object>
<int key="connectionID">362</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">revertDocumentToSaved:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="579971712"/>
</object>
<int key="connectionID">364</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">runToolbarCustomizationPalette:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="237841660"/>
</object>
<int key="connectionID">365</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">toggleToolbarShown:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="102151532"/>
</object>
<int key="connectionID">366</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">hide:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="755159360"/>
</object>
<int key="connectionID">367</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">hideOtherApplications:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="342932134"/>
</object>
<int key="connectionID">368</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">unhideAllApplications:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="908899353"/>
</object>
<int key="connectionID">370</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">newDocument:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="705341025"/>
</object>
<int key="connectionID">373</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">openDocument:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="722745758"/>
</object>
<int key="connectionID">374</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">raiseBaseline:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="941806246"/>
</object>
<int key="connectionID">426</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">lowerBaseline:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="1045724900"/>
</object>
<int key="connectionID">427</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">copyFont:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="596732606"/>
</object>
<int key="connectionID">428</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">subscript:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="1037576581"/>
</object>
<int key="connectionID">429</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">superscript:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="644725453"/>
</object>
<int key="connectionID">430</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">tightenKerning:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="677519740"/>
</object>
<int key="connectionID">431</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">underline:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="330926929"/>
</object>
<int key="connectionID">432</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">orderFrontColorPanel:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="1012600125"/>
</object>
<int key="connectionID">433</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">useAllLigatures:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="663508465"/>
</object>
<int key="connectionID">434</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">loosenKerning:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="238351151"/>
</object>
<int key="connectionID">435</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">pasteFont:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="393423671"/>
</object>
<int key="connectionID">436</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">unscript:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="257962622"/>
</object>
<int key="connectionID">437</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">useStandardKerning:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="252969304"/>
</object>
<int key="connectionID">438</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">useStandardLigatures:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="706297211"/>
</object>
<int key="connectionID">439</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">turnOffLigatures:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="568384683"/>
</object>
<int key="connectionID">440</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">turnOffKerning:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="766922938"/>
</object>
<int key="connectionID">441</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">toggleAutomaticSpellingCorrection:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="795346622"/>
</object>
<int key="connectionID">456</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">orderFrontSubstitutionsPanel:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="65139061"/>
</object>
<int key="connectionID">458</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">toggleAutomaticDashSubstitution:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="672708820"/>
</object>
<int key="connectionID">461</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">toggleAutomaticTextReplacement:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="537092702"/>
</object>
<int key="connectionID">463</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">uppercaseWord:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="1060694897"/>
</object>
<int key="connectionID">464</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">capitalizeWord:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="56570060"/>
</object>
<int key="connectionID">467</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">lowercaseWord:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="879586729"/>
</object>
<int key="connectionID">468</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">pasteAsPlainText:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="82994268"/>
</object>
<int key="connectionID">486</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">performFindPanelAction:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="326711663"/>
</object>
<int key="connectionID">487</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">performFindPanelAction:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="270902937"/>
</object>
<int key="connectionID">488</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">performFindPanelAction:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="159080638"/>
</object>
<int key="connectionID">489</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">showHelp:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="105068016"/>
</object>
<int key="connectionID">493</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">alignCenter:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="630155264"/>
</object>
<int key="connectionID">518</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">pasteRuler:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="883618387"/>
</object>
<int key="connectionID">519</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">toggleRuler:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="644046920"/>
</object>
<int key="connectionID">520</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">alignRight:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="512868991"/>
</object>
<int key="connectionID">521</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">copyRuler:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="231811626"/>
</object>
<int key="connectionID">522</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">alignJustified:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="945678886"/>
</object>
<int key="connectionID">523</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">alignLeft:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="875092757"/>
</object>
<int key="connectionID">524</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">makeBaseWritingDirectionNatural:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="551969625"/>
</object>
<int key="connectionID">525</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">makeBaseWritingDirectionLeftToRight:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="249532473"/>
</object>
<int key="connectionID">526</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">makeBaseWritingDirectionRightToLeft:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="607364498"/>
</object>
<int key="connectionID">527</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">makeTextWritingDirectionNatural:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="380031999"/>
</object>
<int key="connectionID">528</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">makeTextWritingDirectionLeftToRight:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="825984362"/>
</object>
<int key="connectionID">529</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">makeTextWritingDirectionRightToLeft:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="560145579"/>
</object>
<int key="connectionID">530</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">performFindPanelAction:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="738670835"/>
</object>
<int key="connectionID">535</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">addFontTrait:</string>
<reference key="source" ref="755631768"/>
<reference key="destination" ref="305399458"/>
</object>
<int key="connectionID">421</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">addFontTrait:</string>
<reference key="source" ref="755631768"/>
<reference key="destination" ref="814362025"/>
</object>
<int key="connectionID">422</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">modifyFont:</string>
<reference key="source" ref="755631768"/>
<reference key="destination" ref="885547335"/>
</object>
<int key="connectionID">423</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">orderFrontFontPanel:</string>
<reference key="source" ref="755631768"/>
<reference key="destination" ref="159677712"/>
</object>
<int key="connectionID">424</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">modifyFont:</string>
<reference key="source" ref="755631768"/>
<reference key="destination" ref="158063935"/>
</object>
<int key="connectionID">425</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="972006081"/>
</object>
<int key="connectionID">532</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="1048"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="1021"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="1014"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="1050"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">29</int>
<reference key="object" ref="649796088"/>
<array class="NSMutableArray" key="children">
<reference ref="713487014"/>
<reference ref="694149608"/>
<reference ref="952259628"/>
<reference ref="379814623"/>
<reference ref="586577488"/>
<reference ref="302598603"/>
<reference ref="448692316"/>
</array>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">19</int>
<reference key="object" ref="713487014"/>
<array class="NSMutableArray" key="children">
<reference ref="835318025"/>
</array>
<reference key="parent" ref="649796088"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">56</int>
<reference key="object" ref="694149608"/>
<array class="NSMutableArray" key="children">
<reference ref="110575045"/>
</array>
<reference key="parent" ref="649796088"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">217</int>
<reference key="object" ref="952259628"/>
<array class="NSMutableArray" key="children">
<reference ref="789758025"/>
</array>
<reference key="parent" ref="649796088"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">83</int>
<reference key="object" ref="379814623"/>
<array class="NSMutableArray" key="children">
<reference ref="720053764"/>
</array>
<reference key="parent" ref="649796088"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">81</int>
<reference key="object" ref="720053764"/>
<array class="NSMutableArray" key="children">
<reference ref="1023925487"/>
<reference ref="49223823"/>
<reference ref="722745758"/>
<reference ref="705341025"/>
<reference ref="1025936716"/>
<reference ref="294629803"/>
<reference ref="776162233"/>
<reference ref="425164168"/>
<reference ref="579971712"/>
<reference ref="1010469920"/>
</array>
<reference key="parent" ref="379814623"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">75</int>
<reference key="object" ref="1023925487"/>
<reference key="parent" ref="720053764"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">78</int>
<reference key="object" ref="49223823"/>
<reference key="parent" ref="720053764"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">72</int>
<reference key="object" ref="722745758"/>
<reference key="parent" ref="720053764"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">82</int>
<reference key="object" ref="705341025"/>
<reference key="parent" ref="720053764"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">124</int>
<reference key="object" ref="1025936716"/>
<array class="NSMutableArray" key="children">
<reference ref="1065607017"/>
</array>
<reference key="parent" ref="720053764"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">77</int>
<reference key="object" ref="294629803"/>
<reference key="parent" ref="720053764"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">73</int>
<reference key="object" ref="776162233"/>
<reference key="parent" ref="720053764"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">79</int>
<reference key="object" ref="425164168"/>
<reference key="parent" ref="720053764"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">112</int>
<reference key="object" ref="579971712"/>
<reference key="parent" ref="720053764"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">74</int>
<reference key="object" ref="1010469920"/>
<reference key="parent" ref="720053764"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">125</int>
<reference key="object" ref="1065607017"/>
<array class="NSMutableArray" key="children">
<reference ref="759406840"/>
</array>
<reference key="parent" ref="1025936716"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">126</int>
<reference key="object" ref="759406840"/>
<reference key="parent" ref="1065607017"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">205</int>
<reference key="object" ref="789758025"/>
<array class="NSMutableArray" key="children">
<reference ref="437104165"/>
<reference ref="583158037"/>
<reference ref="1058277027"/>
<reference ref="212016141"/>
<reference ref="296257095"/>
<reference ref="29853731"/>
<reference ref="860595796"/>
<reference ref="1040322652"/>
<reference ref="790794224"/>
<reference ref="892235320"/>
<reference ref="972420730"/>
<reference ref="676164635"/>
<reference ref="507821607"/>
<reference ref="288088188"/>
<reference ref="82994268"/>
</array>
<reference key="parent" ref="952259628"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">202</int>
<reference key="object" ref="437104165"/>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">198</int>
<reference key="object" ref="583158037"/>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">207</int>
<reference key="object" ref="1058277027"/>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">214</int>
<reference key="object" ref="212016141"/>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">199</int>
<reference key="object" ref="296257095"/>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">203</int>
<reference key="object" ref="29853731"/>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">197</int>
<reference key="object" ref="860595796"/>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">206</int>
<reference key="object" ref="1040322652"/>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">215</int>
<reference key="object" ref="790794224"/>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">218</int>
<reference key="object" ref="892235320"/>
<array class="NSMutableArray" key="children">
<reference ref="963351320"/>
</array>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">216</int>
<reference key="object" ref="972420730"/>
<array class="NSMutableArray" key="children">
<reference ref="769623530"/>
</array>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">200</int>
<reference key="object" ref="769623530"/>
<array class="NSMutableArray" key="children">
<reference ref="948374510"/>
<reference ref="96193923"/>
<reference ref="679648819"/>
<reference ref="967646866"/>
<reference ref="859480356"/>
<reference ref="795346622"/>
</array>
<reference key="parent" ref="972420730"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">219</int>
<reference key="object" ref="948374510"/>
<reference key="parent" ref="769623530"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">201</int>
<reference key="object" ref="96193923"/>
<reference key="parent" ref="769623530"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">204</int>
<reference key="object" ref="679648819"/>
<reference key="parent" ref="769623530"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">220</int>
<reference key="object" ref="963351320"/>
<array class="NSMutableArray" key="children">
<reference ref="270902937"/>
<reference ref="88285865"/>
<reference ref="159080638"/>
<reference ref="326711663"/>
<reference ref="447796847"/>
<reference ref="738670835"/>
</array>
<reference key="parent" ref="892235320"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">213</int>
<reference key="object" ref="270902937"/>
<reference key="parent" ref="963351320"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">210</int>
<reference key="object" ref="88285865"/>
<reference key="parent" ref="963351320"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">221</int>
<reference key="object" ref="159080638"/>
<reference key="parent" ref="963351320"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">208</int>
<reference key="object" ref="326711663"/>
<reference key="parent" ref="963351320"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">209</int>
<reference key="object" ref="447796847"/>
<reference key="parent" ref="963351320"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">57</int>
<reference key="object" ref="110575045"/>
<array class="NSMutableArray" key="children">
<reference ref="238522557"/>
<reference ref="755159360"/>
<reference ref="908899353"/>
<reference ref="632727374"/>
<reference ref="646227648"/>
<reference ref="609285721"/>
<reference ref="481834944"/>
<reference ref="304266470"/>
<reference ref="1046388886"/>
<reference ref="1056857174"/>
<reference ref="342932134"/>
</array>
<reference key="parent" ref="694149608"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">58</int>
<reference key="object" ref="238522557"/>
<reference key="parent" ref="110575045"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">134</int>
<reference key="object" ref="755159360"/>
<reference key="parent" ref="110575045"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">150</int>
<reference key="object" ref="908899353"/>
<reference key="parent" ref="110575045"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">136</int>
<reference key="object" ref="632727374"/>
<reference key="parent" ref="110575045"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">144</int>
<reference key="object" ref="646227648"/>
<reference key="parent" ref="110575045"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">129</int>
<reference key="object" ref="609285721"/>
<reference key="parent" ref="110575045"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">143</int>
<reference key="object" ref="481834944"/>
<reference key="parent" ref="110575045"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">236</int>
<reference key="object" ref="304266470"/>
<reference key="parent" ref="110575045"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">131</int>
<reference key="object" ref="1046388886"/>
<array class="NSMutableArray" key="children">
<reference ref="752062318"/>
</array>
<reference key="parent" ref="110575045"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">149</int>
<reference key="object" ref="1056857174"/>
<reference key="parent" ref="110575045"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">145</int>
<reference key="object" ref="342932134"/>
<reference key="parent" ref="110575045"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">130</int>
<reference key="object" ref="752062318"/>
<reference key="parent" ref="1046388886"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">24</int>
<reference key="object" ref="835318025"/>
<array class="NSMutableArray" key="children">
<reference ref="299356726"/>
<reference ref="625202149"/>
<reference ref="575023229"/>
<reference ref="1011231497"/>
</array>
<reference key="parent" ref="713487014"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">92</int>
<reference key="object" ref="299356726"/>
<reference key="parent" ref="835318025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="625202149"/>
<reference key="parent" ref="835318025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">239</int>
<reference key="object" ref="575023229"/>
<reference key="parent" ref="835318025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">23</int>
<reference key="object" ref="1011231497"/>
<reference key="parent" ref="835318025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">295</int>
<reference key="object" ref="586577488"/>
<array class="NSMutableArray" key="children">
<reference ref="466310130"/>
</array>
<reference key="parent" ref="649796088"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">296</int>
<reference key="object" ref="466310130"/>
<array class="NSMutableArray" key="children">
<reference ref="102151532"/>
<reference ref="237841660"/>
</array>
<reference key="parent" ref="586577488"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">297</int>
<reference key="object" ref="102151532"/>
<reference key="parent" ref="466310130"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">298</int>
<reference key="object" ref="237841660"/>
<reference key="parent" ref="466310130"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">211</int>
<reference key="object" ref="676164635"/>
<array class="NSMutableArray" key="children">
<reference ref="785027613"/>
</array>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">212</int>
<reference key="object" ref="785027613"/>
<array class="NSMutableArray" key="children">
<reference ref="680220178"/>
<reference ref="731782645"/>
</array>
<reference key="parent" ref="676164635"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">195</int>
<reference key="object" ref="680220178"/>
<reference key="parent" ref="785027613"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">196</int>
<reference key="object" ref="731782645"/>
<reference key="parent" ref="785027613"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">346</int>
<reference key="object" ref="967646866"/>
<reference key="parent" ref="769623530"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">348</int>
<reference key="object" ref="507821607"/>
<array class="NSMutableArray" key="children">
<reference ref="698887838"/>
</array>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">349</int>
<reference key="object" ref="698887838"/>
<array class="NSMutableArray" key="children">
<reference ref="605118523"/>
<reference ref="197661976"/>
<reference ref="708854459"/>
<reference ref="65139061"/>
<reference ref="19036812"/>
<reference ref="672708820"/>
<reference ref="537092702"/>
</array>
<reference key="parent" ref="507821607"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">350</int>
<reference key="object" ref="605118523"/>
<reference key="parent" ref="698887838"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">351</int>
<reference key="object" ref="197661976"/>
<reference key="parent" ref="698887838"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">354</int>
<reference key="object" ref="708854459"/>
<reference key="parent" ref="698887838"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">375</int>
<reference key="object" ref="302598603"/>
<array class="NSMutableArray" key="children">
<reference ref="941447902"/>
</array>
<reference key="parent" ref="649796088"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">376</int>
<reference key="object" ref="941447902"/>
<array class="NSMutableArray" key="children">
<reference ref="792887677"/>
<reference ref="215659978"/>
</array>
<reference key="parent" ref="302598603"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">377</int>
<reference key="object" ref="792887677"/>
<array class="NSMutableArray" key="children">
<reference ref="786677654"/>
</array>
<reference key="parent" ref="941447902"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">388</int>
<reference key="object" ref="786677654"/>
<array class="NSMutableArray" key="children">
<reference ref="159677712"/>
<reference ref="305399458"/>
<reference ref="814362025"/>
<reference ref="330926929"/>
<reference ref="533507878"/>
<reference ref="158063935"/>
<reference ref="885547335"/>
<reference ref="901062459"/>
<reference ref="767671776"/>
<reference ref="691570813"/>
<reference ref="769124883"/>
<reference ref="739652853"/>
<reference ref="1012600125"/>
<reference ref="214559597"/>
<reference ref="596732606"/>
<reference ref="393423671"/>
</array>
<reference key="parent" ref="792887677"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">389</int>
<reference key="object" ref="159677712"/>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">390</int>
<reference key="object" ref="305399458"/>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">391</int>
<reference key="object" ref="814362025"/>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">392</int>
<reference key="object" ref="330926929"/>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">393</int>
<reference key="object" ref="533507878"/>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">394</int>
<reference key="object" ref="158063935"/>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">395</int>
<reference key="object" ref="885547335"/>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">396</int>
<reference key="object" ref="901062459"/>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">397</int>
<reference key="object" ref="767671776"/>
<array class="NSMutableArray" key="children">
<reference ref="175441468"/>
</array>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">398</int>
<reference key="object" ref="691570813"/>
<array class="NSMutableArray" key="children">
<reference ref="1058217995"/>
</array>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">399</int>
<reference key="object" ref="769124883"/>
<array class="NSMutableArray" key="children">
<reference ref="18263474"/>
</array>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">400</int>
<reference key="object" ref="739652853"/>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">401</int>
<reference key="object" ref="1012600125"/>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">402</int>
<reference key="object" ref="214559597"/>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">403</int>
<reference key="object" ref="596732606"/>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">404</int>
<reference key="object" ref="393423671"/>
<reference key="parent" ref="786677654"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">405</int>
<reference key="object" ref="18263474"/>
<array class="NSMutableArray" key="children">
<reference ref="257962622"/>
<reference ref="644725453"/>
<reference ref="1037576581"/>
<reference ref="941806246"/>
<reference ref="1045724900"/>
</array>
<reference key="parent" ref="769124883"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">406</int>
<reference key="object" ref="257962622"/>
<reference key="parent" ref="18263474"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">407</int>
<reference key="object" ref="644725453"/>
<reference key="parent" ref="18263474"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">408</int>
<reference key="object" ref="1037576581"/>
<reference key="parent" ref="18263474"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">409</int>
<reference key="object" ref="941806246"/>
<reference key="parent" ref="18263474"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">410</int>
<reference key="object" ref="1045724900"/>
<reference key="parent" ref="18263474"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">411</int>
<reference key="object" ref="1058217995"/>
<array class="NSMutableArray" key="children">
<reference ref="706297211"/>
<reference ref="568384683"/>
<reference ref="663508465"/>
</array>
<reference key="parent" ref="691570813"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">412</int>
<reference key="object" ref="706297211"/>
<reference key="parent" ref="1058217995"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">413</int>
<reference key="object" ref="568384683"/>
<reference key="parent" ref="1058217995"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">414</int>
<reference key="object" ref="663508465"/>
<reference key="parent" ref="1058217995"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">415</int>
<reference key="object" ref="175441468"/>
<array class="NSMutableArray" key="children">
<reference ref="252969304"/>
<reference ref="766922938"/>
<reference ref="677519740"/>
<reference ref="238351151"/>
</array>
<reference key="parent" ref="767671776"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">416</int>
<reference key="object" ref="252969304"/>
<reference key="parent" ref="175441468"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">417</int>
<reference key="object" ref="766922938"/>
<reference key="parent" ref="175441468"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">418</int>
<reference key="object" ref="677519740"/>
<reference key="parent" ref="175441468"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">419</int>
<reference key="object" ref="238351151"/>
<reference key="parent" ref="175441468"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">420</int>
<reference key="object" ref="755631768"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">450</int>
<reference key="object" ref="288088188"/>
<array class="NSMutableArray" key="children">
<reference ref="579392910"/>
</array>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">451</int>
<reference key="object" ref="579392910"/>
<array class="NSMutableArray" key="children">
<reference ref="1060694897"/>
<reference ref="879586729"/>
<reference ref="56570060"/>
</array>
<reference key="parent" ref="288088188"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">452</int>
<reference key="object" ref="1060694897"/>
<reference key="parent" ref="579392910"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">453</int>
<reference key="object" ref="859480356"/>
<reference key="parent" ref="769623530"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">454</int>
<reference key="object" ref="795346622"/>
<reference key="parent" ref="769623530"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">457</int>
<reference key="object" ref="65139061"/>
<reference key="parent" ref="698887838"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">459</int>
<reference key="object" ref="19036812"/>
<reference key="parent" ref="698887838"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">460</int>
<reference key="object" ref="672708820"/>
<reference key="parent" ref="698887838"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">462</int>
<reference key="object" ref="537092702"/>
<reference key="parent" ref="698887838"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">465</int>
<reference key="object" ref="879586729"/>
<reference key="parent" ref="579392910"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">466</int>
<reference key="object" ref="56570060"/>
<reference key="parent" ref="579392910"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">485</int>
<reference key="object" ref="82994268"/>
<reference key="parent" ref="789758025"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">490</int>
<reference key="object" ref="448692316"/>
<array class="NSMutableArray" key="children">
<reference ref="992780483"/>
</array>
<reference key="parent" ref="649796088"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">491</int>
<reference key="object" ref="992780483"/>
<array class="NSMutableArray" key="children">
<reference ref="105068016"/>
</array>
<reference key="parent" ref="448692316"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">492</int>
<reference key="object" ref="105068016"/>
<reference key="parent" ref="992780483"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">494</int>
<reference key="object" ref="976324537"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">496</int>
<reference key="object" ref="215659978"/>
<array class="NSMutableArray" key="children">
<reference ref="446991534"/>
</array>
<reference key="parent" ref="941447902"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">497</int>
<reference key="object" ref="446991534"/>
<array class="NSMutableArray" key="children">
<reference ref="875092757"/>
<reference ref="630155264"/>
<reference ref="945678886"/>
<reference ref="512868991"/>
<reference ref="163117631"/>
<reference ref="31516759"/>
<reference ref="908105787"/>
<reference ref="644046920"/>
<reference ref="231811626"/>
<reference ref="883618387"/>
</array>
<reference key="parent" ref="215659978"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">498</int>
<reference key="object" ref="875092757"/>
<reference key="parent" ref="446991534"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">499</int>
<reference key="object" ref="630155264"/>
<reference key="parent" ref="446991534"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">500</int>
<reference key="object" ref="945678886"/>
<reference key="parent" ref="446991534"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">501</int>
<reference key="object" ref="512868991"/>
<reference key="parent" ref="446991534"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">502</int>
<reference key="object" ref="163117631"/>
<reference key="parent" ref="446991534"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">503</int>
<reference key="object" ref="31516759"/>
<array class="NSMutableArray" key="children">
<reference ref="956096989"/>
</array>
<reference key="parent" ref="446991534"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">504</int>
<reference key="object" ref="908105787"/>
<reference key="parent" ref="446991534"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">505</int>
<reference key="object" ref="644046920"/>
<reference key="parent" ref="446991534"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">506</int>
<reference key="object" ref="231811626"/>
<reference key="parent" ref="446991534"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">507</int>
<reference key="object" ref="883618387"/>
<reference key="parent" ref="446991534"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">508</int>
<reference key="object" ref="956096989"/>
<array class="NSMutableArray" key="children">
<reference ref="257099033"/>
<reference ref="551969625"/>
<reference ref="249532473"/>
<reference ref="607364498"/>
<reference ref="508151438"/>
<reference ref="981751889"/>
<reference ref="380031999"/>
<reference ref="825984362"/>
<reference ref="560145579"/>
</array>
<reference key="parent" ref="31516759"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">509</int>
<reference key="object" ref="257099033"/>
<reference key="parent" ref="956096989"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">510</int>
<reference key="object" ref="551969625"/>
<reference key="parent" ref="956096989"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">511</int>
<reference key="object" ref="249532473"/>
<reference key="parent" ref="956096989"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">512</int>
<reference key="object" ref="607364498"/>
<reference key="parent" ref="956096989"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">513</int>
<reference key="object" ref="508151438"/>
<reference key="parent" ref="956096989"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">514</int>
<reference key="object" ref="981751889"/>
<reference key="parent" ref="956096989"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">515</int>
<reference key="object" ref="380031999"/>
<reference key="parent" ref="956096989"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">516</int>
<reference key="object" ref="825984362"/>
<reference key="parent" ref="956096989"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">517</int>
<reference key="object" ref="560145579"/>
<reference key="parent" ref="956096989"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">534</int>
<reference key="object" ref="738670835"/>
<reference key="parent" ref="963351320"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">544</int>
<reference key="object" ref="956305226"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">371</int>
<reference key="object" ref="972006081"/>
<array class="NSMutableArray" key="children">
<reference ref="439893737"/>
</array>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">372</int>
<reference key="object" ref="439893737"/>
<array class="NSMutableArray" key="children"/>
<reference key="parent" ref="972006081"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="112.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="124.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="125.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="126.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="129.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="130.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="131.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="134.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="136.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="143.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="144.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="145.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="149.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="150.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="195.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="196.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="197.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="198.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="199.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="200.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="201.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="202.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="203.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="204.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="205.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="206.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="207.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="208.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="209.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="210.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="211.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="212.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="213.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="214.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="215.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="216.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="217.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="218.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="219.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="220.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="221.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="23.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="236.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="239.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="24.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="295.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="296.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="297.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="298.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="346.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="348.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="349.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="350.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="351.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="354.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="371.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="371.IBWindowTemplateEditedContentRect">{{380, 496}, {480, 360}}</string>
<integer value="1" key="371.NSWindowTemplate.visibleAtLaunch"/>
<string key="372.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="375.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="376.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="377.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="388.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="389.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="390.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="391.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="392.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="393.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="394.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="395.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="396.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="397.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="398.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="399.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="400.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="401.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="402.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="403.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="404.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="405.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="406.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="407.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="408.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="409.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="410.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="411.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="412.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="413.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="414.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="415.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="416.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="417.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="418.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="419.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="420.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="450.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="451.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="452.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="453.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="454.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="457.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="459.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="460.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="462.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="465.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="466.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="485.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="490.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="491.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="492.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="494.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="496.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="497.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="498.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="499.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="500.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="501.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="502.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="503.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="504.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="505.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="506.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="507.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="508.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="509.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="510.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="511.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="512.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="513.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="514.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="515.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="516.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="517.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="534.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="544.IBPluginDependency">com.apple.WebKitIBPlugin</string>
<string key="56.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="57.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="58.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="72.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="73.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="74.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="75.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="77.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="78.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="79.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="81.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="82.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="83.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="92.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">559</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">AppDelegate</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">window</string>
<string key="NS.object.0">NSWindow</string>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<string key="NS.key.0">window</string>
<object class="IBToOneOutletInfo" key="NS.object.0">
<string key="name">window</string>
<string key="candidateClassName">NSWindow</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/AppDelegate.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<string key="NSMenuCheckmark">{11, 11}</string>
<string key="NSMenuMixedState">{10, 3}</string>
</dictionary>
<bool key="IBDocument.UseAutolayout">YES</bool>
</data>
</archive>
================================================
FILE: Example Apps/ExampleApp-OSX/en.lproj/Credits.rtf
================================================
{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;}
{\colortbl;\red255\green255\blue255;}
\paperw9840\paperh8400
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\f0\b\fs24 \cf0 Engineering:
\b0 \
Some people\
\
\b Human Interface Design:
\b0 \
Some other people\
\
\b Testing:
\b0 \
Hopefully not nobody\
\
\b Documentation:
\b0 \
Whoever\
\
\b With special thanks to:
\b0 \
Mom\
}
================================================
FILE: Example Apps/ExampleApp-OSX/en.lproj/InfoPlist.strings
================================================
/* Localized versions of Info.plist keys */
================================================
FILE: Example Apps/ExampleApp-OSX/main.m
================================================
//
// main.m
// ExampleApp-OSX
//
// Created by Marcus Westin on 6/8/13.
// Copyright (c) 2013 Marcus Westin. All rights reserved.
//
#import <Cocoa/Cocoa.h>
int main(int argc, char *argv[])
{
return NSApplicationMain(argc, (const char **)argv);
}
================================================
FILE: Example Apps/ExampleApp-OSX.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
0ECB01491A0EEB3A0037FF4E /* WebViewJavascriptBridgeBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 0ECB01461A0EEB3A0037FF4E /* WebViewJavascriptBridgeBase.m */; };
0ECB014A1A0EEB3A0037FF4E /* WKWebViewJavascriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 0ECB01481A0EEB3A0037FF4E /* WKWebViewJavascriptBridge.m */; };
2C136A2517641106004C7401 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C136A2417641106004C7401 /* Cocoa.framework */; };
2C136A2F17641106004C7401 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2C136A2D17641106004C7401 /* InfoPlist.strings */; };
2C136A3117641106004C7401 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C136A3017641106004C7401 /* main.m */; };
2C136A3517641106004C7401 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 2C136A3317641106004C7401 /* Credits.rtf */; };
2C136A3817641106004C7401 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C136A3717641106004C7401 /* AppDelegate.m */; };
2C136A4217641236004C7401 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C136A4117641236004C7401 /* WebKit.framework */; };
2C136A5A17642704004C7401 /* ExampleApp.html in Resources */ = {isa = PBXBuildFile; fileRef = 2C136A5917642704004C7401 /* ExampleApp.html */; };
2C1562C6176BA9FF00B4AE50 /* WebViewJavascriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C1562C4176BA9FF00B4AE50 /* WebViewJavascriptBridge.m */; };
2C3E7C491C5A8B8D00A1E322 /* WebViewJavascriptBridge_JS.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C3E7C481C5A8B8D00A1E322 /* WebViewJavascriptBridge_JS.m */; };
2CF17F5317D8AACF006E828B /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2CF17F5217D8AACF006E828B /* MainMenu.xib */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
0ECB01451A0EEB3A0037FF4E /* WebViewJavascriptBridgeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebViewJavascriptBridgeBase.h; sourceTree = "<group>"; };
0ECB01461A0EEB3A0037FF4E /* WebViewJavascriptBridgeBase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebViewJavascriptBridgeBase.m; sourceTree = "<group>"; };
0ECB01471A0EEB3A0037FF4E /* WKWebViewJavascriptBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebViewJavascriptBridge.h; sourceTree = "<group>"; };
0ECB01481A0EEB3A0037FF4E /* WKWebViewJavascriptBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKWebViewJavascriptBridge.m; sourceTree = "<group>"; };
2C136A2117641106004C7401 /* ExampleApp-OSX.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ExampleApp-OSX.app"; sourceTree = BUILT_PRODUCTS_DIR; };
2C136A2417641106004C7401 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
2C136A2717641106004C7401 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
2C136A2817641106004C7401 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
2C136A2917641106004C7401 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
2C136A2C17641106004C7401 /* ExampleApp-OSX-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "ExampleApp-OSX-Info.plist"; sourceTree = "<group>"; };
2C136A2E17641106004C7401 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
2C136A3017641106004C7401 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
2C136A3217641106004C7401 /* ExampleApp-OSX-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ExampleApp-OSX-Prefix.pch"; sourceTree = "<group>"; };
2C136A3417641106004C7401 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = "<group>"; };
2C136A3617641106004C7401 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
2C136A3717641106004C7401 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
2C136A4117641236004C7401 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
2C136A5917642704004C7401 /* ExampleApp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = ExampleApp.html; sourceTree = SOURCE_ROOT; };
2C1562C2176BA9FF00B4AE50 /* WebViewJavascriptBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebViewJavascriptBridge.h; sourceTree = "<group>"; };
2C1562C4176BA9FF00B4AE50 /* WebViewJavascriptBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebViewJavascriptBridge.m; sourceTree = "<group>"; };
2C3E7C471C5A8B8D00A1E322 /* WebViewJavascriptBridge_JS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebViewJavascriptBridge_JS.h; sourceTree = "<group>"; };
2C3E7C481C5A8B8D00A1E322 /* WebViewJavascriptBridge_JS.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebViewJavascriptBridge_JS.m; sourceTree = "<group>"; };
2CF17F5217D8AACF006E828B /* MainMenu.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
2C136A1E17641106004C7401 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
2C136A4217641236004C7401 /* WebKit.framework in Frameworks */,
2C136A2517641106004C7401 /* Cocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
2C136A1817641106004C7401 = {
isa = PBXGroup;
children = (
2C136A4117641236004C7401 /* WebKit.framework */,
2C136A2A17641106004C7401 /* ExampleApp-OSX */,
2C136A2317641106004C7401 /* Frameworks */,
2C136A2217641106004C7401 /* Products */,
);
sourceTree = "<group>";
};
2C136A2217641106004C7401 /* Products */ = {
isa = PBXGroup;
children = (
2C136A2117641106004C7401 /* ExampleApp-OSX.app */,
);
name = Products;
sourceTree = "<group>";
};
2C136A2317641106004C7401 /* Frameworks */ = {
isa = PBXGroup;
children = (
2C136A2417641106004C7401 /* Cocoa.framework */,
2C136A2617641106004C7401 /* Other Frameworks */,
);
name = Frameworks;
sourceTree = "<group>";
};
2C136A2617641106004C7401 /* Other Frameworks */ = {
isa = PBXGroup;
children = (
2C136A2717641106004C7401 /* AppKit.framework */,
2C136A2817641106004C7401 /* CoreData.framework */,
2C136A2917641106004C7401 /* Foundation.framework */,
);
name = "Other Frameworks";
sourceTree = "<group>";
};
2C136A2A17641106004C7401 /* ExampleApp-OSX */ = {
isa = PBXGroup;
children = (
2C136A3617641106004C7401 /* AppDelegate.h */,
2C136A3717641106004C7401 /* AppDelegate.m */,
2C136A5917642704004C7401 /* ExampleApp.html */,
2CF17F5217D8AACF006E828B /* MainMenu.xib */,
2C1562C1176BA9FF00B4AE50 /* WebViewJavascriptBridge */,
2C136A2B17641106004C7401 /* Supporting Files */,
);
path = "ExampleApp-OSX";
sourceTree = "<group>";
};
2C136A2B17641106004C7401 /* Supporting Files */ = {
isa = PBXGroup;
children = (
2C136A2C17641106004C7401 /* ExampleApp-OSX-Info.plist */,
2C136A2D17641106004C7401 /* InfoPlist.strings */,
2C136A3017641106004C7401 /* main.m */,
2C136A3217641106004C7401 /* ExampleApp-OSX-Prefix.pch */,
2C136A3317641106004C7401 /* Credits.rtf */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
2C1562C1176BA9FF00B4AE50 /* WebViewJavascriptBridge */ = {
isa = PBXGroup;
children = (
2C3E7C471C5A8B8D00A1E322 /* WebViewJavascriptBridge_JS.h */,
2C3E7C481C5A8B8D00A1E322 /* WebViewJavascriptBridge_JS.m */,
0ECB01451A0EEB3A0037FF4E /* WebViewJavascriptBridgeBase.h */,
0ECB01461A0EEB3A0037FF4E /* WebViewJavascriptBridgeBase.m */,
0ECB01471A0EEB3A0037FF4E /* WKWebViewJavascriptBridge.h */,
0ECB01481A0EEB3A0037FF4E /* WKWebViewJavascriptBridge.m */,
2C1562C2176BA9FF00B4AE50 /* WebViewJavascriptBridge.h */,
2C1562C4176BA9FF00B4AE50 /* WebViewJavascriptBridge.m */,
);
name = WebViewJavascriptBridge;
path = ../../WebViewJavascriptBridge;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
2C136A2017641106004C7401 /* ExampleApp-OSX */ = {
isa = PBXNativeTarget;
buildConfigurationList = 2C136A3E17641106004C7401 /* Build configuration list for PBXNativeTarget "ExampleApp-OSX" */;
buildPhases = (
2C136A1D17641106004C7401 /* Sources */,
2C136A1E17641106004C7401 /* Frameworks */,
2C136A1F17641106004C7401 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = "ExampleApp-OSX";
productName = "ExampleApp-OSX";
productReference = 2C136A2117641106004C7401 /* ExampleApp-OSX.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
2C136A1917641106004C7401 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0810;
ORGANIZATIONNAME = "Marcus Westin";
};
buildConfigurationList = 2C136A1C17641106004C7401 /* Build configuration list for PBXProject "ExampleApp-OSX" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 2C136A1817641106004C7401;
productRefGroup = 2C136A2217641106004C7401 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
2C136A2017641106004C7401 /* ExampleApp-OSX */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
2C136A1F17641106004C7401 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2C136A2F17641106004C7401 /* InfoPlist.strings in Resources */,
2C136A3517641106004C7401 /* Credits.rtf in Resources */,
2C136A5A17642704004C7401 /* ExampleApp.html in Resources */,
2CF17F5317D8AACF006E828B /* MainMenu.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
2C136A1D17641106004C7401 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
0ECB01491A0EEB3A0037FF4E /* WebViewJavascriptBridgeBase.m in Sources */,
0ECB014A1A0EEB3A0037FF4E /* WKWebViewJavascriptBridge.m in Sources */,
2C3E7C491C5A8B8D00A1E322 /* WebViewJavascriptBridge_JS.m in Sources */,
2C136A3117641106004C7401 /* main.m in Sources */,
2C1562C6176BA9FF00B4AE50 /* WebViewJavascriptBridge.m in Sources */,
2C136A3817641106004C7401 /* AppDelegate.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
2C136A2D17641106004C7401 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
2C136A2E17641106004C7401 /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
2C136A3317641106004C7401 /* Credits.rtf */ = {
isa = PBXVariantGroup;
children = (
2C136A3417641106004C7401 /* en */,
);
name = Credits.rtf;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
2C136A3C17641106004C7401 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.8;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
2C136A3D17641106004C7401 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.8;
SDKROOT = macosx;
};
name = Release;
};
2C136A3F17641106004C7401 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "ExampleApp-OSX/ExampleApp-OSX-Prefix.pch";
INFOPLIST_FILE = "ExampleApp-OSX/ExampleApp-OSX-Info.plist";
MACOSX_DEPLOYMENT_TARGET = 10.7;
PRODUCT_BUNDLE_IDENTIFIER = "WebViewJavascriptBridge.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
name = Debug;
};
2C136A4017641106004C7401 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "ExampleApp-OSX/ExampleApp-OSX-Prefix.pch";
INFOPLIST_FILE = "ExampleApp-OSX/ExampleApp-OSX-Info.plist";
MACOSX_DEPLOYMENT_TARGET = 10.7;
PRODUCT_BUNDLE_IDENTIFIER = "WebViewJavascriptBridge.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
2C136A1C17641106004C7401 /* Build configuration list for PBXProject "ExampleApp-OSX" */ = {
isa = XCConfigurationList;
buildConfigurations = (
2C136A3C17641106004C7401 /* Debug */,
2C136A3D17641106004C7401 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2C136A3E17641106004C7401 /* Build configuration list for PBXNativeTarget "ExampleApp-OSX" */ = {
isa = XCConfigurationList;
buildConfigurations = (
2C136A3F17641106004C7401 /* Debug */,
2C136A4017641106004C7401 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 2C136A1917641106004C7401 /* Project object */;
}
================================================
FILE: Example Apps/ExampleApp-iOS/ExampleApp-iOS-Info.plist
================================================
<?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>en</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</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>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
</dict>
</plist>
================================================
FILE: Example Apps/ExampleApp-iOS/ExampleApp-iOS-Prefix.pch
================================================
//
// Prefix header for all source files of the 'ExampleApp' target in the 'ExampleApp' project
//
#import <Availability.h>
#ifndef __IPHONE_3_0
#warning "This project uses features only available in iOS SDK 3.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
================================================
FILE: Example Apps/ExampleApp-iOS/ExampleAppDelegate.h
================================================
#import <UIKit/UIKit.h>
@interface ExampleAppDelegate : UIResponder <UIApplicationDelegate>
@property (nonatomic) UIWindow *window;
@end
================================================
FILE: Example Apps/ExampleApp-iOS/ExampleAppDelegate.m
================================================
#import "ExampleAppDelegate.h"
#import "ExampleUIWebViewController.h"
#import "ExampleWKWebViewController.h"
@implementation ExampleAppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 1. Create the UIWebView example
ExampleUIWebViewController* UIWebViewExampleController = [[ExampleUIWebViewController alloc] init];
UIWebViewExampleController.tabBarItem.title = @"UIWebView";
// 2. Create the tab footer and add the UIWebView example
UITabBarController *tabBarController = [[UITabBarController alloc] init];
[tabBarController addChildViewController:UIWebViewExampleController];
// 3. Create the WKWebView example for devices >= iOS 8
if([WKWebView class]) {
ExampleWKWebViewController* WKWebViewExampleController = [[ExampleWKWebViewController alloc] init];
WKWebViewExampleController.tabBarItem.title = @"WKWebView";
[tabBarController addChildViewController:WKWebViewExampleController];
}
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
@end
================================================
FILE: Example Apps/ExampleApp-iOS/ExampleUIWebViewController.h
================================================
//
// ExampleUIWebViewController.h
// ExampleApp-iOS
//
// Created by Marcus Westin on 1/13/14.
// Copyright (c) 2014 Marcus Westin. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface ExampleUIWebViewController : UINavigationController <UIWebViewDelegate>
@end
================================================
FILE: Example Apps/ExampleApp-iOS/ExampleUIWebViewController.m
================================================
//
// ExampleUIWebViewController.m
// ExampleApp-iOS
//
// Created by Marcus Westin on 1/13/14.
// Copyright (c) 2014 Marcus Westin. All rights reserved.
//
#import "ExampleUIWebViewController.h"
#import "WebViewJavascriptBridge.h"
@interface ExampleUIWebViewController ()
@property WebViewJavascriptBridge* bridge;
@end
@implementation ExampleUIWebViewController
- (void)viewWillAppear:(BOOL)animated {
if (_bridge) { return; }
UIWebView* webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:webView];
[WebViewJavascriptBridge enableLogging];
_bridge = [WebViewJavascriptBridge bridgeForWebView:webView];
[_bridge setWebViewDelegate:self];
[_bridge registerHandler:@"testObjcCallback" handler:^(id data, WVJBResponseCallback responseCallback) {
NSLog(@"testObjcCallback called: %@", data);
responseCallback(@"Response from testObjcCallback");
}];
[_bridge callHandler:@"testJavascriptHandler" data:@{ @"foo":@"before ready" }];
[self renderButtons:webView];
[self loadExamplePage:webView];
}
- (void)webViewDidStartLoad:(UIWebView *)webView {
NSLog(@"webViewDidStartLoad");
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSLog(@"webViewDidFinishLoad");
}
- (void)renderButtons:(UIWebView*)webView {
UIFont* font = [UIFont fontWithName:@"HelveticaNeue" size:11.0];
UIButton *callbackButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[callbackButton setTitle:@"Call handler" forState:UIControlStateNormal];
[callbackButton addTarget:self action:@selector(callHandler:) forControlEvents:UIControlEventTouchUpInside];
[self.view insertSubview:callbackButton aboveSubview:webView];
callbackButton.frame = CGRectMake(0, 400, 100, 35);
callbackButton.titleLabel.font = font;
UIButton* reloadButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[reloadButton setTitle:@"Reload webview" forState:UIControlStateNormal];
[reloadButton addTarget:webView action:@selector(reload) forControlEvents:UIControlEventTouchUpInside];
[self.view insertSubview:reloadButton aboveSubview:webView];
reloadButton.frame = CGRectMake(90, 400, 100, 35);
reloadButton.titleLabel.font = font;
UIButton* safetyTimeoutButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[safetyTimeoutButton setTitle:@"Disable safety timeout" forState:UIControlStateNormal];
[safetyTimeoutButton addTarget:self action:@selector(disableSafetyTimeout) forControlEvents:UIControlEventTouchUpInside];
[self.view insertSubview:safetyTimeoutButton aboveSubview:webView];
safetyTimeoutButton.frame = CGRectMake(190, 400, 120, 35);
safetyTimeoutButton.titleLabel.font = font;
}
- (void)disableSafetyTimeout {
[self.bridge disableJavscriptAlertBoxSafetyTimeout];
}
- (void)callHandler:(id)sender {
id data = @{ @"greetingFromObjC": @"Hi there, JS!" };
[_bridge callHandler:@"testJavascriptHandler" data:data responseCallback:^(id response) {
NSLog(@"testJavascriptHandler responded: %@", response);
}];
}
- (void)loadExamplePage:(UIWebView*)webView {
NSString* htmlPath = [[NSBundle mainBundle] pathForResource:@"ExampleApp" ofType:@"html"];
NSString* appHtml = [NSString stringWithContentsOfFile:htmlPath encoding:NSUTF8StringEncoding error:nil];
NSURL *baseURL = [NSURL fileURLWithPath:htmlPath];
[webView loadHTMLString:appHtml baseURL:baseURL];
}
@end
================================================
FILE: Example Apps/ExampleApp-iOS/ExampleWKWebViewController.h
================================================
//
// ExampleWKWebViewController.h
// ExampleApp-iOS
//
// Created by Marcus Westin on 1/13/14.
// Copyright (c) 2014 Marcus Westin. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <WebKit/WebKit.h>
@interface ExampleWKWebViewController : UINavigationController<WKNavigationDelegate>
@end
================================================
FILE: Example Apps/ExampleApp-iOS/ExampleWKWebViewController.m
================================================
//
// ExampleWKWebViewController.m
// ExampleApp-iOS
//
// Created by Marcus Westin on 1/13/14.
// Copyright (c) 2014 Marcus Westin. All rights reserved.
//
#import "ExampleWKWebViewController.h"
#import "WebViewJavascriptBridge.h"
@interface ExampleWKWebViewController ()
@property WebViewJavascriptBridge* bridge;
@end
@implementation ExampleWKWebViewController
- (void)viewWillAppear:(BOOL)animated {
if (_bridge) { return; }
WKWebView* webView = [[NSClassFromString(@"WKWebView") alloc] initWithFrame:self.view.bounds];
webView.navigationDelegate = self;
[self.view addSubview:webView];
[WebViewJavascriptBridge enableLogging];
_bridge = [WebViewJavascriptBridge bridgeForWebView:webView];
[_bridge setWebViewDelegate:self];
[_bridge registerHandler:@"testObjcCallback" handler:^(id data, WVJBResponseCallback responseCallback) {
NSLog(@"testObjcCallback called: %@", data);
responseCallback(@"Response from testObjcCallback");
}];
[_bridge callHandler:@"testJavascriptHandler" data:@{ @"foo":@"before ready" }];
[self renderButtons:webView];
[self loadExamplePage:webView];
}
- (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation {
NSLog(@"webViewDidStartLoad");
}
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
NSLog(@"webViewDidFinishLoad");
}
- (void)renderButtons:(WKWebView*)webView {
UIFont* font = [UIFont fontWithName:@"HelveticaNeue" size:12.0];
UIButton *callbackButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[callbackButton setTitle:@"Call handler" forState:UIControlStateNormal];
[callbackButton addTarget:self action:@selector(callHandler:) forControlEvents:UIControlEventTouchUpInside];
[self.view insertSubview:callbackButton aboveSubview:webView];
callbackButton.frame = CGRectMake(10, 400, 100, 35);
callbackButton.titleLabel.font = font;
UIButton* reloadButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[reloadButton setTitle:@"Reload webview" forState:UIControlStateNormal];
[reloadButton addTarget:webView action:@selector(reload) forControlEvents:UIControlEventTouchUpInside];
[self.view insertSubview:reloadButton aboveSubview:webView];
reloadButton.frame = CGRectMake(110, 400, 100, 35);
reloadButton.titleLabel.font = font;
}
- (void)callHandler:(id)sender {
id data = @{ @"greetingFromObjC": @"Hi there, JS!" };
[_bridge callHandler:@"testJavascriptHandler" data:data responseCallback:^(id response) {
NSLog(@"testJavascriptHandler responded: %@", response);
}];
}
- (void)loadExamplePage:(WKWebView*)webView {
NSString* htmlPath = [[NSBundle mainBundle] pathForResource:@"ExampleApp" ofType:@"html"];
NSString* appHtml = [NSString stringWithContentsOfFile:htmlPath encoding:NSUTF8StringEncoding error:nil];
NSURL *baseURL = [NSURL fileURLWithPath:htmlPath];
[webView loadHTMLString:appHtml baseURL:baseURL];
}
@end
================================================
FILE: Example Apps/ExampleApp-iOS/en.lproj/InfoPlist.strings
================================================
/* Localized versions of Info.plist keys */
================================================
FILE: Example Apps/ExampleApp-iOS/main.m
================================================
#import <UIKit/UIKit.h>
#import <TargetConditionals.h>
#import <dlfcn.h>
#import "ExampleAppDelegate.h"
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
int main(int argc, char * argv[])
{
@autoreleasepool {
// Dynamically load WebKit if iOS version >= 8
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")) {
#if TARGET_IPHONE_SIMULATOR
NSString *frameworkPath = [[NSProcessInfo processInfo] environment][@"DYLD_FALLBACK_FRAMEWORK_PATH"];
if (frameworkPath) {
NSString *webkitLibraryPath = [NSString pathWithComponents:@[frameworkPath, @"WebKit.framework", @"WebKit"]];
dlopen([webkitLibraryPath cStringUsingEncoding:NSUTF8StringEncoding], RTLD_LAZY);
}
#else
dlopen("/System/Library/Frameworks/WebKit.framework/WebKit", RTLD_LAZY);
#endif
}
return UIApplicationMain(argc, argv, nil, NSStringFromClass([ExampleAppDelegate class]));
}
}
================================================
FILE: Example Apps/ExampleApp-iOS.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
0E4E9D4C1A101E0B00043087 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E8082DC19EDD98700479452 /* WebKit.framework */; };
0E50601C1A01B442000BEEEA /* WebViewJavascriptBridgeBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E50601B1A01B442000BEEEA /* WebViewJavascriptBridgeBase.m */; };
0E8082DB19EDC32300479452 /* WKWebViewJavascriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E8082DA19EDC32300479452 /* WKWebViewJavascriptBridge.m */; };
0ECB01441A0EE1F20037FF4E /* ExampleWKWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0ECB01431A0EE1F20037FF4E /* ExampleWKWebViewController.m */; };
2C1562C0176BA63500B4AE50 /* WebViewJavascriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C1562A9176B9F6200B4AE50 /* WebViewJavascriptBridge.m */; };
2C3E7C461C5A890A00A1E322 /* WebViewJavascriptBridge_JS.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C3E7C451C5A890A00A1E322 /* WebViewJavascriptBridge_JS.m */; };
2C45CA2C1884AD520002A4E2 /* ExampleUIWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C45CA2B1884AD520002A4E2 /* ExampleUIWebViewController.m */; };
2CA045BF17117439006DEE8B /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2CA045B717117439006DEE8B /* InfoPlist.strings */; };
2CA045C217117439006DEE8B /* ExampleAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CA045BD17117439006DEE8B /* ExampleAppDelegate.m */; };
2CA045C317117439006DEE8B /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CA045BE17117439006DEE8B /* main.m */; };
2CA0465C1711AC8E006DEE8B /* ExampleApp.html in Resources */ = {isa = PBXBuildFile; fileRef = 2CA0465B1711AC8D006DEE8B /* ExampleApp.html */; };
2CAB869B1727684300BD9ED1 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2CAB869A1727684300BD9ED1 /* Default-568h@2x.png */; };
2CEB3EC01602563600548120 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2CEB3EBF1602563600548120 /* UIKit.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
0E50601B1A01B442000BEEEA /* WebViewJavascriptBridgeBase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebViewJavascriptBridgeBase.m; sourceTree = "<group>"; };
0E50601D1A01B44C000BEEEA /* WebViewJavascriptBridgeBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebViewJavascriptBridgeBase.h; sourceTree = "<group>"; };
0E8082D919EDC32300479452 /* WKWebViewJavascriptBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebViewJavascriptBridge.h; sourceTree = "<group>"; };
0E8082DA19EDC32300479452 /* WKWebViewJavascriptBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKWebViewJavascriptBridge.m; sourceTree = "<group>"; };
0E8082DC19EDD98700479452 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
0ECB01421A0EE1BA0037FF4E /* ExampleWKWebViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ExampleWKWebViewController.h; sourceTree = "<group>"; };
0ECB01431A0EE1F20037FF4E /* ExampleWKWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ExampleWKWebViewController.m; sourceTree = "<group>"; };
2C1562A8176B9F6200B4AE50 /* WebViewJavascriptBridge.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebViewJavascriptBridge.h; sourceTree = "<group>"; };
2C1562A9176B9F6200B4AE50 /* WebViewJavascriptBridge.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WebViewJavascriptBridge.m; sourceTree = "<group>"; };
2C3E7C441C5A890A00A1E322 /* WebViewJavascriptBridge_JS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebViewJavascriptBridge_JS.h; sourceTree = "<group>"; };
2C3E7C451C5A890A00A1E322 /* WebViewJavascriptBridge_JS.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebViewJavascriptBridge_JS.m; sourceTree = "<group>"; };
2C45CA2A1884AD520002A4E2 /* ExampleUIWebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExampleUIWebViewController.h; sourceTree = "<group>"; };
2C45CA2B1884AD520002A4E2 /* ExampleUIWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ExampleUIWebViewController.m; sourceTree = "<group>"; };
2CA045B817117439006DEE8B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
2CA045B917117439006DEE8B /* ExampleApp-iOS-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "ExampleApp-iOS-Info.plist"; sourceTree = "<group>"; };
2CA045BA17117439006DEE8B /* ExampleApp-iOS-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ExampleApp-iOS-Prefix.pch"; sourceTree = "<group>"; };
2CA045BC17117439006DEE8B /* ExampleAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExampleAppDelegate.h; sourceTree = "<group>"; };
2CA045BD17117439006DEE8B /* ExampleAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ExampleAppDelegate.m; sourceTree = "<group>"; };
2CA045BE17117439006DEE8B /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
2CA0465B1711AC8D006DEE8B /* ExampleApp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = ExampleApp.html; sourceTree = SOURCE_ROOT; };
2CAB869A1727684300BD9ED1 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default-568h@2x.png"; path = "ExampleApp-iOS/Default-568h@2x.png"; sourceTree = "<group>"; };
2CEB3EBB1602563600548120 /* ExampleApp-iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ExampleApp-iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
2CEB3EBF1602563600548120 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
2CEB3EC11602563600548120 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
2CEB3EC31602563600548120 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
2CEB3EB81602563600548120 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
0E4E9D4C1A101E0B00043087 /* WebKit.framework in Frameworks */,
2CEB3EC01602563600548120 /* UIKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
2C1562A7176B9F5400B4AE50 /* WebViewJavascriptBridge */ = {
isa = PBXGroup;
children = (
2C3E7C441C5A890A00A1E322 /* WebViewJavascriptBridge_JS.h */,
2C3E7C451C5A890A00A1E322 /* WebViewJavascriptBridge_JS.m */,
2C1562A8176B9F6200B4AE50 /* WebViewJavascriptBridge.h */,
2C1562A9176B9F6200B4AE50 /* WebViewJavascriptBridge.m */,
0E8082DA19EDC32300479452 /* WKWebViewJavascriptBridge.m */,
0E8082D919EDC32300479452 /* WKWebViewJavascriptBridge.h */,
0E50601B1A01B442000BEEEA /* WebViewJavascriptBridgeBase.m */,
0E50601D1A01B44C000BEEEA /* WebViewJavascriptBridgeBase.h */,
);
name = WebViewJavascriptBridge;
path = ../../WebViewJavascriptBridge;
sourceTree = "<group>";
};
2CA045B617117439006DEE8B /* ExampleApp-iOS */ = {
isa = PBXGroup;
children = (
2CA0465B1711AC8D006DEE8B /* ExampleApp.html */,
2CA045BC17117439006DEE8B /* ExampleAppDelegate.h */,
2CA045BD17117439006DEE8B /* ExampleAppDelegate.m */,
2C45CA2A1884AD520002A4E2 /* ExampleUIWebViewController.h */,
2C45CA2B1884AD520002A4E2 /* ExampleUIWebViewController.m */,
0ECB01421A0EE1BA0037FF4E /* ExampleWKWebViewController.h */,
0ECB01431A0EE1F20037FF4E /* ExampleWKWebViewController.m */,
2C1562A7176B9F5400B4AE50 /* WebViewJavascriptBridge */,
2CA046211711A94E006DEE8B /* Supporting Files */,
);
path = "ExampleApp-iOS";
sourceTree = "<group>";
};
2CA046211711A94E006DEE8B /* Supporting Files */ = {
isa = PBXGroup;
children = (
2CA045B717117439006DEE8B /* InfoPlist.strings */,
2CA045B917117439006DEE8B /* ExampleApp-iOS-Info.plist */,
2CA045BA17117439006DEE8B /* ExampleApp-iOS-Prefix.pch */,
2CA045BE17117439006DEE8B /* main.m */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
2CEB3EB01602563600548120 = {
isa = PBXGroup;
children = (
2CAB869A1727684300BD9ED1 /* Default-568h@2x.png */,
2CA045B617117439006DEE8B /* ExampleApp-iOS */,
2CEB3EBE1602563600548120 /* Frameworks */,
2CEB3EBC1602563600548120 /* Products */,
81A733051B2F9C5795D856E4 /* Pods */,
);
sourceTree = "<group>";
};
2CEB3EBC1602563600548120 /* Products */ = {
isa = PBXGroup;
children = (
2CEB3EBB1602563600548120 /* ExampleApp-iOS.app */,
);
name = Products;
sourceTree = "<group>";
};
2CEB3EBE1602563600548120 /* Frameworks */ = {
isa = PBXGroup;
children = (
0E8082DC19EDD98700479452 /* WebKit.framework */,
2CEB3EBF1602563600548120 /* UIKit.framework */,
2CEB3EC11602563600548120 /* Foundation.framework */,
2CEB3EC31602563600548120 /* CoreGraphics.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
81A733051B2F9C5795D856E4 /* Pods */ = {
isa = PBXGroup;
children = (
);
name = Pods;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
2CEB3EBA1602563600548120 /* ExampleApp-iOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 2CEB3ED31602563600548120 /* Build configuration list for PBXNativeTarget "ExampleApp-iOS" */;
buildPhases = (
2CEB3EB71602563600548120 /* Sources */,
2CEB3EB81602563600548120 /* Frameworks */,
2CEB3EB91602563600548120 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = "ExampleApp-iOS";
productName = ExampleApp;
productReference = 2CEB3EBB1602563600548120 /* ExampleApp-iOS.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
2CEB3EB21602563600548120 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0810;
ORGANIZATIONNAME = "Marcus Westin";
TargetAttributes = {
2CEB3EBA1602563600548120 = {
LastSwiftMigration = 0820;
};
};
};
buildConfigurationList = 2CEB3EB51602563600548120 /* Build configuration list for PBXProject "ExampleApp-iOS" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 2CEB3EB01602563600548120;
productRefGroup = 2CEB3EBC1602563600548120 /* Products */;
projectDirPath = "";
projectRoot = "";
ta
gitextract_5yrp9xbx/ ├── .github/ │ ├── ISSUE_TEMPLATE.md │ └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── COPYRIGHT ├── Changelog ├── Example Apps/ │ ├── ExampleApp-OSX/ │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── ExampleApp-OSX-Info.plist │ │ ├── ExampleApp-OSX-Prefix.pch │ │ ├── MainMenu.xib │ │ ├── en.lproj/ │ │ │ ├── Credits.rtf │ │ │ └── InfoPlist.strings │ │ └── main.m │ ├── ExampleApp-OSX.xcodeproj/ │ │ └── project.pbxproj │ ├── ExampleApp-iOS/ │ │ ├── ExampleApp-iOS-Info.plist │ │ ├── ExampleApp-iOS-Prefix.pch │ │ ├── ExampleAppDelegate.h │ │ ├── ExampleAppDelegate.m │ │ ├── ExampleUIWebViewController.h │ │ ├── ExampleUIWebViewController.m │ │ ├── ExampleWKWebViewController.h │ │ ├── ExampleWKWebViewController.m │ │ ├── en.lproj/ │ │ │ └── InfoPlist.strings │ │ └── main.m │ ├── ExampleApp-iOS.xcodeproj/ │ │ └── project.pbxproj │ ├── ExampleApp.html │ └── ExampleSwiftApp-iOS/ │ ├── ExampleSwiftApp-iOS/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ └── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ └── ViewController.swift │ ├── ExampleSwiftApp-iOS.xcodeproj/ │ │ └── project.pbxproj │ ├── ExampleSwiftApp-iOSTests/ │ │ ├── ExampleSwiftApp_iOSTests.swift │ │ └── Info.plist │ ├── Podfile │ ├── Pods/ │ │ ├── Local Podspecs/ │ │ │ └── WebViewJavascriptBridge.podspec.json │ │ ├── Pods.xcodeproj/ │ │ │ └── project.pbxproj │ │ └── Target Support Files/ │ │ ├── Pods-ExampleSwiftApp-iOS/ │ │ │ ├── Info.plist │ │ │ ├── Pods-ExampleSwiftApp-iOS-acknowledgements.markdown │ │ │ ├── Pods-ExampleSwiftApp-iOS-acknowledgements.plist │ │ │ ├── Pods-ExampleSwiftApp-iOS-dummy.m │ │ │ ├── Pods-ExampleSwiftApp-iOS-frameworks.sh │ │ │ ├── Pods-ExampleSwiftApp-iOS-resources.sh │ │ │ ├── Pods-ExampleSwiftApp-iOS-umbrella.h │ │ │ ├── Pods-ExampleSwiftApp-iOS.debug.xcconfig │ │ │ ├── Pods-ExampleSwiftApp-iOS.modulemap │ │ │ └── Pods-ExampleSwiftApp-iOS.release.xcconfig │ │ ├── Pods-ExampleSwiftApp-iOSTests/ │ │ │ ├── Info.plist │ │ │ ├── Pods-ExampleSwiftApp-iOSTests-acknowledgements.markdown │ │ │ ├── Pods-ExampleSwiftApp-iOSTests-acknowledgements.plist │ │ │ ├── Pods-ExampleSwiftApp-iOSTests-dummy.m │ │ │ ├── Pods-ExampleSwiftApp-iOSTests-frameworks.sh │ │ │ ├── Pods-ExampleSwiftApp-iOSTests-resources.sh │ │ │ ├── Pods-ExampleSwiftApp-iOSTests-umbrella.h │ │ │ ├── Pods-ExampleSwiftApp-iOSTests.debug.xcconfig │ │ │ ├── Pods-ExampleSwiftApp-iOSTests.modulemap │ │ │ └── Pods-ExampleSwiftApp-iOSTests.release.xcconfig │ │ └── WebViewJavascriptBridge/ │ │ ├── Info.plist │ │ ├── WebViewJavascriptBridge-dummy.m │ │ ├── WebViewJavascriptBridge-prefix.pch │ │ ├── WebViewJavascriptBridge-umbrella.h │ │ ├── WebViewJavascriptBridge.modulemap │ │ └── WebViewJavascriptBridge.xcconfig │ └── echo.html ├── LICENSE ├── Makefile ├── README.md ├── Roadmap.md ├── Tests/ │ ├── WebViewJavascriptBridge.xcodeproj/ │ │ ├── project.pbxproj │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── WebViewJavascriptBridge.xcscheme │ ├── WebViewJavascriptBridgeTestHost/ │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Info.plist │ │ ├── WebViewJavascriptBridgeTestHost-Bridging-Header.h │ │ └── main.m │ └── WebViewJavascriptBridgeTests/ │ ├── BridgeTests.m │ ├── BridgeTests.swift │ ├── Info.plist │ ├── WebViewJavascriptBridgeTests-Bridging-Header.h │ └── echo.html ├── WebViewJavascriptBridge/ │ ├── WKWebViewJavascriptBridge.h │ ├── WKWebViewJavascriptBridge.m │ ├── WebViewJavascriptBridge.h │ ├── WebViewJavascriptBridge.m │ ├── WebViewJavascriptBridgeBase.h │ ├── WebViewJavascriptBridgeBase.m │ ├── WebViewJavascriptBridge_JS.h │ └── WebViewJavascriptBridge_JS.m ├── WebViewJavascriptBridge.podspec └── circle.yml
SYMBOL INDEX (1 symbols across 1 files) FILE: WebViewJavascriptBridge/WebViewJavascriptBridgeBase.h type NSDictionary (line 17) | typedef NSDictionary WVJBMessage;
Condensed preview — 91 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (470K chars).
[
{
"path": ".github/ISSUE_TEMPLATE.md",
"chars": 682,
"preview": "# WVJB Bug Report\n\nThanks for reporting an issue with WebViewJavascriptBridge.\n\n### Do these 4 things and I will fix you"
},
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 348,
"preview": "## Before your create your PR:\n\n#### Please add tests for any new or changed functionality!\n\n1. Edit `Tests/WebViewJavas"
},
{
"path": ".gitignore",
"chars": 118,
"preview": "# Mac OS X\n*.DS_Store\n\n# Xcode\n*.pbxuser\n*.mode1v3\n*.mode2v3\n*.perspectivev3\n*.xcuserstate\n*.xcworkspace/\nxcuserdata/\n"
},
{
"path": "COPYRIGHT",
"chars": 34,
"preview": "Copyright (c) 2023 - Marcus Westin"
},
{
"path": "Changelog",
"chars": 4116,
"preview": "WebViewJavascriptBridge Changelog\n=================================\n\nRelease Checklist\n-----------------\n- gitu-update\n-"
},
{
"path": "Example Apps/ExampleApp-OSX/AppDelegate.h",
"chars": 282,
"preview": "//\n// AppDelegate.h\n// ExampleApp-OSX\n//\n// Created by Marcus Westin on 6/8/13.\n// Copyright (c) 2013 Marcus Westin."
},
{
"path": "Example Apps/ExampleApp-OSX/AppDelegate.m",
"chars": 4777,
"preview": "//\n// AppDelegate.m\n// ExampleApp-OSX\n//\n// Created by Marcus Westin on 6/8/13.\n// Copyright (c) 2013 Marcus Westin."
},
{
"path": "Example Apps/ExampleApp-OSX/ExampleApp-OSX-Info.plist",
"chars": 1084,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example Apps/ExampleApp-OSX/ExampleApp-OSX-Prefix.pch",
"chars": 159,
"preview": "//\n// Prefix header for all source files of the 'ExampleApp-OSX' target in the 'ExampleApp-OSX' project\n//\n\n#ifdef __OBJ"
},
{
"path": "Example Apps/ExampleApp-OSX/MainMenu.xib",
"chars": 143825,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<"
},
{
"path": "Example Apps/ExampleApp-OSX/en.lproj/Credits.rtf",
"chars": 436,
"preview": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx11"
},
{
"path": "Example Apps/ExampleApp-OSX/en.lproj/InfoPlist.strings",
"chars": 45,
"preview": "/* Localized versions of Info.plist keys */\n\n"
},
{
"path": "Example Apps/ExampleApp-OSX/main.m",
"chars": 258,
"preview": "//\n// main.m\n// ExampleApp-OSX\n//\n// Created by Marcus Westin on 6/8/13.\n// Copyright (c) 2013 Marcus Westin. All ri"
},
{
"path": "Example Apps/ExampleApp-OSX.xcodeproj/project.pbxproj",
"chars": 17100,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "Example Apps/ExampleApp-iOS/ExampleApp-iOS-Info.plist",
"chars": 1040,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example Apps/ExampleApp-iOS/ExampleApp-iOS-Prefix.pch",
"chars": 323,
"preview": "//\n// Prefix header for all source files of the 'ExampleApp' target in the 'ExampleApp' project\n//\n\n#import <Availabilit"
},
{
"path": "Example Apps/ExampleApp-iOS/ExampleAppDelegate.h",
"chars": 138,
"preview": "#import <UIKit/UIKit.h>\n\n@interface ExampleAppDelegate : UIResponder <UIApplicationDelegate>\n@property (nonatomic) UIWin"
},
{
"path": "Example Apps/ExampleApp-iOS/ExampleAppDelegate.m",
"chars": 1262,
"preview": "#import \"ExampleAppDelegate.h\"\n#import \"ExampleUIWebViewController.h\"\n#import \"ExampleWKWebViewController.h\"\n\n@implement"
},
{
"path": "Example Apps/ExampleApp-iOS/ExampleUIWebViewController.h",
"chars": 275,
"preview": "//\n// ExampleUIWebViewController.h\n// ExampleApp-iOS\n//\n// Created by Marcus Westin on 1/13/14.\n// Copyright (c) 201"
},
{
"path": "Example Apps/ExampleApp-iOS/ExampleUIWebViewController.m",
"chars": 3505,
"preview": "//\n// ExampleUIWebViewController.m\n// ExampleApp-iOS\n//\n// Created by Marcus Westin on 1/13/14.\n// Copyright (c) 201"
},
{
"path": "Example Apps/ExampleApp-iOS/ExampleWKWebViewController.h",
"chars": 303,
"preview": "//\n// ExampleWKWebViewController.h\n// ExampleApp-iOS\n//\n// Created by Marcus Westin on 1/13/14.\n// Copyright (c) 201"
},
{
"path": "Example Apps/ExampleApp-iOS/ExampleWKWebViewController.m",
"chars": 3055,
"preview": "//\n// ExampleWKWebViewController.m\n// ExampleApp-iOS\n//\n// Created by Marcus Westin on 1/13/14.\n// Copyright (c) 201"
},
{
"path": "Example Apps/ExampleApp-iOS/en.lproj/InfoPlist.strings",
"chars": 45,
"preview": "/* Localized versions of Info.plist keys */\n\n"
},
{
"path": "Example Apps/ExampleApp-iOS/main.m",
"chars": 1071,
"preview": "#import <UIKit/UIKit.h>\n#import <TargetConditionals.h>\n#import <dlfcn.h>\n#import \"ExampleAppDelegate.h\"\n\n#define SYSTEM_"
},
{
"path": "Example Apps/ExampleApp-iOS.xcodeproj/project.pbxproj",
"chars": 18345,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "Example Apps/ExampleApp.html",
"chars": 2359,
"preview": "<!doctype html>\n<html><head>\n <meta name=\"viewport\" content=\"user-scalable=no, width=device-width, initial-scale=1.0,"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/ExampleSwiftApp-iOS/AppDelegate.swift",
"chars": 2223,
"preview": "//\n// AppDelegate.swift\n// ExampleSwiftApp-iOS\n//\n// Created by John Marcus Westin on 12/27/16.\n// Copyright © 2016 "
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/ExampleSwiftApp-iOS/Assets.xcassets/AppIcon.appiconset/Contents.json",
"chars": 1077,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"iphone\",\n \"size\" : \"29x29\",\n \"scale\" : \"2x\"\n },\n {\n \"idiom\""
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/ExampleSwiftApp-iOS/Base.lproj/LaunchScreen.storyboard",
"chars": 1740,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/ExampleSwiftApp-iOS/Base.lproj/Main.storyboard",
"chars": 1695,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/ExampleSwiftApp-iOS/Info.plist",
"chars": 1442,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/ExampleSwiftApp-iOS/ViewController.swift",
"chars": 525,
"preview": "//\n// ViewController.swift\n// ExampleSwiftApp-iOS\n//\n// Created by John Marcus Westin on 12/27/16.\n// Copyright © 20"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/ExampleSwiftApp-iOS.xcodeproj/project.pbxproj",
"chars": 24397,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/ExampleSwiftApp-iOSTests/ExampleSwiftApp_iOSTests.swift",
"chars": 7821,
"preview": "//\n// ExampleSwiftApp_iOSTests.swift\n// ExampleSwiftApp-iOSTests\n//\n// Created by John Marcus Westin on 12/27/16.\n// "
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/ExampleSwiftApp-iOSTests/Info.plist",
"chars": 680,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Podfile",
"chars": 454,
"preview": "project 'ExampleSwiftApp-iOS.xcodeproj'\n\n# Uncomment the next line to define a global platform for your project\nplatform"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Local Podspecs/WebViewJavascriptBridge.podspec.json",
"chars": 974,
"preview": "{\n \"name\": \"WebViewJavascriptBridge\",\n \"version\": \"6.0.2\",\n \"summary\": \"An iOS & OSX bridge for sending messages betw"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Pods.xcodeproj/project.pbxproj",
"chars": 41180,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOS/Info.plist",
"chars": 828,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOS/Pods-ExampleSwiftApp-iOS-acknowledgements.markdown",
"chars": 1242,
"preview": "# Acknowledgements\nThis application makes use of the following third party libraries:\n\n## WebViewJavascriptBridge\n\nCopyr"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOS/Pods-ExampleSwiftApp-iOS-acknowledgements.plist",
"chars": 2115,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOS/Pods-ExampleSwiftApp-iOS-dummy.m",
"chars": 152,
"preview": "#import <Foundation/Foundation.h>\n@interface PodsDummy_Pods_ExampleSwiftApp_iOS : NSObject\n@end\n@implementation PodsDumm"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOS/Pods-ExampleSwiftApp-iOS-frameworks.sh",
"chars": 3669,
"preview": "#!/bin/sh\nset -e\n\necho \"mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\nmkdir -p \"${CONFIGURATION_BUILD_D"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOS/Pods-ExampleSwiftApp-iOS-resources.sh",
"chars": 5011,
"preview": "#!/bin/sh\nset -e\n\nmkdir -p \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\n\nRESOURCES_TO_COPY=${PODS_ROOT}/re"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOS/Pods-ExampleSwiftApp-iOS-umbrella.h",
"chars": 193,
"preview": "#ifdef __OBJC__\n#import <UIKit/UIKit.h>\n#endif\n\n\nFOUNDATION_EXPORT double Pods_ExampleSwiftApp_iOSVersionNumber;\nFOUNDAT"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOS/Pods-ExampleSwiftApp-iOS.debug.xcconfig",
"chars": 634,
"preview": "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO\nFRAMEWORK_SEARCH_PATHS = $(inherited) \"$PODS_CONFIGURATION_BUILD_DIR/WebViewJ"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOS/Pods-ExampleSwiftApp-iOS.modulemap",
"chars": 138,
"preview": "framework module Pods_ExampleSwiftApp_iOS {\n umbrella header \"Pods-ExampleSwiftApp-iOS-umbrella.h\"\n\n export *\n module"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOS/Pods-ExampleSwiftApp-iOS.release.xcconfig",
"chars": 634,
"preview": "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO\nFRAMEWORK_SEARCH_PATHS = $(inherited) \"$PODS_CONFIGURATION_BUILD_DIR/WebViewJ"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOSTests/Info.plist",
"chars": 828,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOSTests/Pods-ExampleSwiftApp-iOSTests-acknowledgements.markdown",
"chars": 1242,
"preview": "# Acknowledgements\nThis application makes use of the following third party libraries:\n\n## WebViewJavascriptBridge\n\nCopyr"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOSTests/Pods-ExampleSwiftApp-iOSTests-acknowledgements.plist",
"chars": 2115,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOSTests/Pods-ExampleSwiftApp-iOSTests-dummy.m",
"chars": 162,
"preview": "#import <Foundation/Foundation.h>\n@interface PodsDummy_Pods_ExampleSwiftApp_iOSTests : NSObject\n@end\n@implementation Pod"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOSTests/Pods-ExampleSwiftApp-iOSTests-frameworks.sh",
"chars": 3669,
"preview": "#!/bin/sh\nset -e\n\necho \"mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\nmkdir -p \"${CONFIGURATION_BUILD_D"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOSTests/Pods-ExampleSwiftApp-iOSTests-resources.sh",
"chars": 5011,
"preview": "#!/bin/sh\nset -e\n\nmkdir -p \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\n\nRESOURCES_TO_COPY=${PODS_ROOT}/re"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOSTests/Pods-ExampleSwiftApp-iOSTests-umbrella.h",
"chars": 203,
"preview": "#ifdef __OBJC__\n#import <UIKit/UIKit.h>\n#endif\n\n\nFOUNDATION_EXPORT double Pods_ExampleSwiftApp_iOSTestsVersionNumber;\nFO"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOSTests/Pods-ExampleSwiftApp-iOSTests.debug.xcconfig",
"chars": 634,
"preview": "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO\nFRAMEWORK_SEARCH_PATHS = $(inherited) \"$PODS_CONFIGURATION_BUILD_DIR/WebViewJ"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOSTests/Pods-ExampleSwiftApp-iOSTests.modulemap",
"chars": 148,
"preview": "framework module Pods_ExampleSwiftApp_iOSTests {\n umbrella header \"Pods-ExampleSwiftApp-iOSTests-umbrella.h\"\n\n export "
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/Pods-ExampleSwiftApp-iOSTests/Pods-ExampleSwiftApp-iOSTests.release.xcconfig",
"chars": 634,
"preview": "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO\nFRAMEWORK_SEARCH_PATHS = $(inherited) \"$PODS_CONFIGURATION_BUILD_DIR/WebViewJ"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/WebViewJavascriptBridge/Info.plist",
"chars": 828,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/WebViewJavascriptBridge/WebViewJavascriptBridge-dummy.m",
"chars": 150,
"preview": "#import <Foundation/Foundation.h>\n@interface PodsDummy_WebViewJavascriptBridge : NSObject\n@end\n@implementation PodsDummy"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/WebViewJavascriptBridge/WebViewJavascriptBridge-prefix.pch",
"chars": 48,
"preview": "#ifdef __OBJC__\n#import <UIKit/UIKit.h>\n#endif\n\n"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/WebViewJavascriptBridge/WebViewJavascriptBridge-umbrella.h",
"chars": 305,
"preview": "#ifdef __OBJC__\n#import <UIKit/UIKit.h>\n#endif\n\n#import \"WebViewJavascriptBridge.h\"\n#import \"WebViewJavascriptBridgeBase"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/WebViewJavascriptBridge/WebViewJavascriptBridge.modulemap",
"chars": 136,
"preview": "framework module WebViewJavascriptBridge {\n umbrella header \"WebViewJavascriptBridge-umbrella.h\"\n\n export *\n module *"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/Pods/Target Support Files/WebViewJavascriptBridge/WebViewJavascriptBridge.xcconfig",
"chars": 510,
"preview": "CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/WebViewJavascriptBridge\nGCC_PREPROCESSOR_DEFINITIONS = $(inherit"
},
{
"path": "Example Apps/ExampleSwiftApp-iOS/echo.html",
"chars": 1160,
"preview": "<!doctype html>\n<html><head>\n</head><body>\n\t<p>WebViewJavascriptBridgeTests - echo.html</p>\n\t<script>\n\tfunction setupWeb"
},
{
"path": "LICENSE",
"chars": 1079,
"preview": "Copyright (c) 2011-2015 Marcus Westin, Antoine Lagadec\n\nPermission is hereby granted, free of charge, to any person\nobta"
},
{
"path": "Makefile",
"chars": 1135,
"preview": "test:\n\txcodebuild test -project Tests/WebViewJavascriptBridge.xcodeproj -scheme WebViewJavascriptBridge \\\n\t\t-destination"
},
{
"path": "README.md",
"chars": 7934,
"preview": "WebViewJavascriptBridge\n=======================\n\n[ 201"
},
{
"path": "Tests/WebViewJavascriptBridgeTests/BridgeTests.m",
"chars": 6993,
"preview": "//\n// BridgeTests.m\n// WKWebViewJavascriptBridge\n//\n// Created by Pieter De Baets on 18/04/2015.\n// Copyright (c) 20"
},
{
"path": "Tests/WebViewJavascriptBridgeTests/BridgeTests.swift",
"chars": 961,
"preview": "//\n// BridgeTests.swift\n// WebViewJavascriptBridge\n//\n// Created by John Marcus Westin on 12/26/16.\n// Copyright © 2"
},
{
"path": "Tests/WebViewJavascriptBridgeTests/Info.plist",
"chars": 733,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Tests/WebViewJavascriptBridgeTests/WebViewJavascriptBridgeTests-Bridging-Header.h",
"chars": 104,
"preview": "//\n// Use this file to import your target's public headers that you would like to expose to Swift.\n//\n\n"
},
{
"path": "Tests/WebViewJavascriptBridgeTests/echo.html",
"chars": 1114,
"preview": "<!doctype html>\n<html><head>\n</head><body>\n\t<p>WebViewJavascriptBridgeTests - echo.html</p>\n\t<script>\n\tfunction setupWeb"
},
{
"path": "WebViewJavascriptBridge/WKWebViewJavascriptBridge.h",
"chars": 1057,
"preview": "//\n// WKWebViewJavascriptBridge.h\n//\n// Created by @LokiMeyburg on 10/15/14.\n// Copyright (c) 2014 @LokiMeyburg. All "
},
{
"path": "WebViewJavascriptBridge/WKWebViewJavascriptBridge.m",
"chars": 6960,
"preview": "//\n// WKWebViewJavascriptBridge.m\n//\n// Created by @LokiMeyburg on 10/15/14.\n// Copyright (c) 2014 @LokiMeyburg. All "
},
{
"path": "WebViewJavascriptBridge/WebViewJavascriptBridge.h",
"chars": 1725,
"preview": "//\n// WebViewJavascriptBridge.h\n// ExampleApp-iOS\n//\n// Created by Marcus Westin on 6/14/13.\n// Copyright (c) 2013 M"
},
{
"path": "WebViewJavascriptBridge/WebViewJavascriptBridge.m",
"chars": 6834,
"preview": "//\n// WebViewJavascriptBridge.m\n// ExampleApp-iOS\n//\n// Created by Marcus Westin on 6/14/13.\n// Copyright (c) 2013 M"
},
{
"path": "WebViewJavascriptBridge/WebViewJavascriptBridgeBase.h",
"chars": 1642,
"preview": "//\n// WebViewJavascriptBridgeBase.h\n//\n// Created by @LokiMeyburg on 10/15/14.\n// Copyright (c) 2014 @LokiMeyburg. Al"
},
{
"path": "WebViewJavascriptBridge/WebViewJavascriptBridgeBase.m",
"chars": 7976,
"preview": "//\n// WebViewJavascriptBridgeBase.m\n//\n// Created by @LokiMeyburg on 10/15/14.\n// Copyright (c) 2014 @LokiMeyburg. Al"
},
{
"path": "WebViewJavascriptBridge/WebViewJavascriptBridge_JS.h",
"chars": 80,
"preview": "#import <Foundation/Foundation.h>\n\nNSString * WebViewJavascriptBridge_js(void);\n"
},
{
"path": "WebViewJavascriptBridge/WebViewJavascriptBridge_JS.m",
"chars": 4316,
"preview": "// This file contains the source for the Javascript side of the\n// WebViewJavascriptBridge. It is plaintext, but convert"
},
{
"path": "WebViewJavascriptBridge.podspec",
"chars": 1009,
"preview": "Pod::Spec.new do |s|\n s.name = 'WebViewJavascriptBridge'\n s.version = '6.0.3'\n s.summary = 'An iOS "
},
{
"path": "circle.yml",
"chars": 183,
"preview": "machine:\n xcode:\n version: 9.0\n# dependencies:\n# override:\n# - brew install kylef/formulae/swiftenv\n# - sw"
}
]
About this extraction
This page contains the full source code of the marcuswestin/WebViewJavascriptBridge GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 91 files (398.4 KB), approximately 120.4k tokens, and a symbol index with 1 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.