From a081480a0fc1eaf0d01a247f9fdfd06ce78f63e5 Mon Sep 17 00:00:00 2001 From: James Treanor Date: Wed, 13 May 2015 16:42:29 +0100 Subject: [PATCH] Added sample app --- .gitignore | 11 + README.md | 11 + Sample/Podfile | 3 + Sample/Sample.xcodeproj/project.pbxproj | 357 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + Sample/Sample/Base.lproj/Main.storyboard | 101 +++++ Sample/Sample/ITCAppDelegate.h | 17 + Sample/Sample/ITCAppDelegate.m | 57 +++ Sample/Sample/ITCViewController.h | 14 + Sample/Sample/ITCViewController.m | 85 +++++ .../AppIcon.appiconset/Contents.json | 44 +++ .../AppIcon.appiconset/intercomicon120-1.png | Bin 0 -> 9243 bytes .../AppIcon.appiconset/intercomicon120.png | Bin 0 -> 9243 bytes .../AppIcon.appiconset/intercomicon180.png | Bin 0 -> 11371 bytes .../AppIcon.appiconset/intercomicon58.png | Bin 0 -> 5325 bytes .../AppIcon.appiconset/intercomicon80.png | Bin 0 -> 7054 bytes .../AppIcon.appiconset/intercomicon87.png | Bin 0 -> 7088 bytes .../LaunchImage.launchimage/Contents.json | 50 +++ .../LaunchImage.launchimage/Default@2x.png | Bin 0 -> 12842 bytes .../LaunchImage.launchimage/Splash-1.png | Bin 0 -> 11037 bytes .../LaunchImage.launchimage/Splash.png | Bin 0 -> 11037 bytes .../LaunchImage.launchimage/launch47.png | Bin 0 -> 16997 bytes .../LaunchImage.launchimage/launch55.png | Bin 0 -> 41363 bytes Sample/Sample/Info.plist | 38 ++ Sample/Sample/main.m | 16 + 25 files changed, 811 insertions(+) create mode 100644 .gitignore create mode 100644 Sample/Podfile create mode 100644 Sample/Sample.xcodeproj/project.pbxproj create mode 100644 Sample/Sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Sample/Sample/Base.lproj/Main.storyboard create mode 100644 Sample/Sample/ITCAppDelegate.h create mode 100644 Sample/Sample/ITCAppDelegate.m create mode 100644 Sample/Sample/ITCViewController.h create mode 100644 Sample/Sample/ITCViewController.m create mode 100644 Sample/Sample/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Sample/Sample/Images.xcassets/AppIcon.appiconset/intercomicon120-1.png create mode 100644 Sample/Sample/Images.xcassets/AppIcon.appiconset/intercomicon120.png create mode 100644 Sample/Sample/Images.xcassets/AppIcon.appiconset/intercomicon180.png create mode 100644 Sample/Sample/Images.xcassets/AppIcon.appiconset/intercomicon58.png create mode 100644 Sample/Sample/Images.xcassets/AppIcon.appiconset/intercomicon80.png create mode 100644 Sample/Sample/Images.xcassets/AppIcon.appiconset/intercomicon87.png create mode 100644 Sample/Sample/Images.xcassets/LaunchImage.launchimage/Contents.json create mode 100644 Sample/Sample/Images.xcassets/LaunchImage.launchimage/Default@2x.png create mode 100644 Sample/Sample/Images.xcassets/LaunchImage.launchimage/Splash-1.png create mode 100644 Sample/Sample/Images.xcassets/LaunchImage.launchimage/Splash.png create mode 100644 Sample/Sample/Images.xcassets/LaunchImage.launchimage/launch47.png create mode 100644 Sample/Sample/Images.xcassets/LaunchImage.launchimage/launch55.png create mode 100644 Sample/Sample/Info.plist create mode 100644 Sample/Sample/main.m diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..96a9dfb5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +#CocoaPods +Pods/ +Podfile.lock + +#Xcode +Build/ +xcuserdata/ +*.xcworkspace + +#OSX +.DS_Store diff --git a/README.md b/README.md index b3f9ec01..771180a9 100755 --- a/README.md +++ b/README.md @@ -21,6 +21,17 @@ Add the Intercom pod into your Podfile and run a `pod install` or `pod update`. If you get errors, check out our [Troubleshooting section here](http://docs.intercom.io/Install-on-your-mobile-product/installing-intercom-for-ios#troubleshooting-tips). +##Sample app + +To use the sample app: + +1. Go to the `Sample` directory and run `pod install`. +2. Set your iOS API key and App ID at the top of `ITCAppDelegate.m`, here: +``` +#define INTERCOM_APP_ID @"YOUR_APP_ID" +#define INTERCOM_API_KEY @"YOUR_API_KEY" +``` +3. Build and run. ##How should I use Intercom for iOS in my app? Broadly speaking, there are three types of apps that Intercom for iOS will work in. diff --git a/Sample/Podfile b/Sample/Podfile new file mode 100644 index 00000000..65718a7c --- /dev/null +++ b/Sample/Podfile @@ -0,0 +1,3 @@ +source 'https://github.com/CocoaPods/Specs.git' + +pod 'Intercom' \ No newline at end of file diff --git a/Sample/Sample.xcodeproj/project.pbxproj b/Sample/Sample.xcodeproj/project.pbxproj new file mode 100644 index 00000000..3d3e4f51 --- /dev/null +++ b/Sample/Sample.xcodeproj/project.pbxproj @@ -0,0 +1,357 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 1A0F1E0E1B034B7100DA78D2 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A0F1E0D1B034B7100DA78D2 /* main.m */; }; + 1A0F1E111B034B7100DA78D2 /* ITCAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A0F1E101B034B7100DA78D2 /* ITCAppDelegate.m */; }; + 1A0F1E141B034B7100DA78D2 /* ITCViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A0F1E131B034B7100DA78D2 /* ITCViewController.m */; }; + 1A0F1E171B034B7100DA78D2 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1A0F1E151B034B7100DA78D2 /* Main.storyboard */; }; + 1A0F1E191B034B7100DA78D2 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1A0F1E181B034B7100DA78D2 /* Images.xcassets */; }; + 41B7C7F5B6A2B7BBFB150C42 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 98C43708C680E2477FAD146C /* libPods.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 1A0F1E081B034B7100DA78D2 /* Sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Sample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 1A0F1E0C1B034B7100DA78D2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 1A0F1E0D1B034B7100DA78D2 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 1A0F1E0F1B034B7100DA78D2 /* ITCAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ITCAppDelegate.h; sourceTree = ""; }; + 1A0F1E101B034B7100DA78D2 /* ITCAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ITCAppDelegate.m; sourceTree = ""; }; + 1A0F1E121B034B7100DA78D2 /* ITCViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ITCViewController.h; sourceTree = ""; }; + 1A0F1E131B034B7100DA78D2 /* ITCViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ITCViewController.m; sourceTree = ""; }; + 1A0F1E161B034B7100DA78D2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 1A0F1E181B034B7100DA78D2 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 85430A3E591C9A403636B060 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; + 8C6C505514D1683341C821E8 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; + 98C43708C680E2477FAD146C /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1A0F1E051B034B7100DA78D2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 41B7C7F5B6A2B7BBFB150C42 /* libPods.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 1A0F1DFF1B034B7100DA78D2 = { + isa = PBXGroup; + children = ( + 1A0F1E0A1B034B7100DA78D2 /* Sample */, + 1A0F1E091B034B7100DA78D2 /* Products */, + 99A634D8FD9561D82582548A /* Pods */, + D34511F59F27AF5F3DE9174F /* Frameworks */, + ); + sourceTree = ""; + }; + 1A0F1E091B034B7100DA78D2 /* Products */ = { + isa = PBXGroup; + children = ( + 1A0F1E081B034B7100DA78D2 /* Sample.app */, + ); + name = Products; + sourceTree = ""; + }; + 1A0F1E0A1B034B7100DA78D2 /* Sample */ = { + isa = PBXGroup; + children = ( + 1A0F1E0F1B034B7100DA78D2 /* ITCAppDelegate.h */, + 1A0F1E101B034B7100DA78D2 /* ITCAppDelegate.m */, + 1A0F1E121B034B7100DA78D2 /* ITCViewController.h */, + 1A0F1E131B034B7100DA78D2 /* ITCViewController.m */, + 1A0F1E151B034B7100DA78D2 /* Main.storyboard */, + 1A0F1E181B034B7100DA78D2 /* Images.xcassets */, + 1A0F1E0B1B034B7100DA78D2 /* Supporting Files */, + ); + path = Sample; + sourceTree = ""; + }; + 1A0F1E0B1B034B7100DA78D2 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 1A0F1E0C1B034B7100DA78D2 /* Info.plist */, + 1A0F1E0D1B034B7100DA78D2 /* main.m */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 99A634D8FD9561D82582548A /* Pods */ = { + isa = PBXGroup; + children = ( + 85430A3E591C9A403636B060 /* Pods.debug.xcconfig */, + 8C6C505514D1683341C821E8 /* Pods.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; + D34511F59F27AF5F3DE9174F /* Frameworks */ = { + isa = PBXGroup; + children = ( + 98C43708C680E2477FAD146C /* libPods.a */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 1A0F1E071B034B7100DA78D2 /* Sample */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1A0F1E2B1B034B7100DA78D2 /* Build configuration list for PBXNativeTarget "Sample" */; + buildPhases = ( + 9EFCFC36D71F6292341B4961 /* Check Pods Manifest.lock */, + 1A0F1E041B034B7100DA78D2 /* Sources */, + 1A0F1E051B034B7100DA78D2 /* Frameworks */, + 1A0F1E061B034B7100DA78D2 /* Resources */, + C013679E94F860BABB90640E /* Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Sample; + productName = Sample; + productReference = 1A0F1E081B034B7100DA78D2 /* Sample.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 1A0F1E001B034B7100DA78D2 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0630; + ORGANIZATIONNAME = Intercom; + TargetAttributes = { + 1A0F1E071B034B7100DA78D2 = { + CreatedOnToolsVersion = 6.3.1; + }; + }; + }; + buildConfigurationList = 1A0F1E031B034B7100DA78D2 /* Build configuration list for PBXProject "Sample" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 1A0F1DFF1B034B7100DA78D2; + productRefGroup = 1A0F1E091B034B7100DA78D2 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 1A0F1E071B034B7100DA78D2 /* Sample */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 1A0F1E061B034B7100DA78D2 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1A0F1E171B034B7100DA78D2 /* Main.storyboard in Resources */, + 1A0F1E191B034B7100DA78D2 /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 9EFCFC36D71F6292341B4961 /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + C013679E94F860BABB90640E /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 1A0F1E041B034B7100DA78D2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1A0F1E141B034B7100DA78D2 /* ITCViewController.m in Sources */, + 1A0F1E111B034B7100DA78D2 /* ITCAppDelegate.m in Sources */, + 1A0F1E0E1B034B7100DA78D2 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 1A0F1E151B034B7100DA78D2 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 1A0F1E161B034B7100DA78D2 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 1A0F1E291B034B7100DA78D2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + 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_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 1A0F1E2A1B034B7100DA78D2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 1A0F1E2C1B034B7100DA78D2 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 85430A3E591C9A403636B060 /* Pods.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + INFOPLIST_FILE = Sample/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 1A0F1E2D1B034B7100DA78D2 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8C6C505514D1683341C821E8 /* Pods.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + INFOPLIST_FILE = Sample/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1A0F1E031B034B7100DA78D2 /* Build configuration list for PBXProject "Sample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1A0F1E291B034B7100DA78D2 /* Debug */, + 1A0F1E2A1B034B7100DA78D2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1A0F1E2B1B034B7100DA78D2 /* Build configuration list for PBXNativeTarget "Sample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1A0F1E2C1B034B7100DA78D2 /* Debug */, + 1A0F1E2D1B034B7100DA78D2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 1A0F1E001B034B7100DA78D2 /* Project object */; +} diff --git a/Sample/Sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Sample/Sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..a80c0382 --- /dev/null +++ b/Sample/Sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Sample/Sample/Base.lproj/Main.storyboard b/Sample/Sample/Base.lproj/Main.storyboard new file mode 100644 index 00000000..5cb0b2f3 --- /dev/null +++ b/Sample/Sample/Base.lproj/Main.storyboard @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Sample/Sample/ITCAppDelegate.h b/Sample/Sample/ITCAppDelegate.h new file mode 100644 index 00000000..dea26d3d --- /dev/null +++ b/Sample/Sample/ITCAppDelegate.h @@ -0,0 +1,17 @@ +// +// ITCAppDelegate.h +// Sample +// +// Created by James Treanor on 13/05/2015. +// Copyright (c) 2015 Intercom. All rights reserved. +// + +#import + +@interface ITCAppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + + +@end + diff --git a/Sample/Sample/ITCAppDelegate.m b/Sample/Sample/ITCAppDelegate.m new file mode 100644 index 00000000..cc8c0411 --- /dev/null +++ b/Sample/Sample/ITCAppDelegate.m @@ -0,0 +1,57 @@ +// +// ITCAppDelegate.m +// Sample +// +// Created by James Treanor on 13/05/2015. +// Copyright (c) 2015 Intercom. All rights reserved. +// + +#import "ITCAppDelegate.h" +#import "ITCViewController.h" +#import + +/*! + To try out the sample, change these values to your own iOS API key and App ID. + */ +#define INTERCOM_APP_ID @"<#YOUR APP ID#>" +#define INTERCOM_API_KEY @"<#YOUR API KEY#>" + +@implementation ITCAppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + [Intercom setApiKey:INTERCOM_API_KEY forAppId:INTERCOM_APP_ID]; + + #ifdef DEBUG + [Intercom enableLogging]; + #endif + + NSString *email = [[NSUserDefaults standardUserDefaults] objectForKey:@"email"]; + if (email.length > 0) { //There is a user logged in + [Intercom registerUserWithEmail:email]; + } + + return YES; +} + +- (void)applicationDidBecomeActive:(UIApplication *)application { + //Register for push notifications + //For more info, see: http://docs.intercom.io/Install-on-your-mobile-product/enabling-push-notifications-with-intercom-for-ios + if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]){ // iOS 8 (User notifications) + [application registerUserNotificationSettings:[UIUserNotificationSettings + settingsForTypes:(UIUserNotificationTypeBadge + | UIUserNotificationTypeSound + | UIUserNotificationTypeAlert) + categories:nil]]; + [application registerForRemoteNotifications]; + } else { // iOS 7 (Remote notifications) + [application registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge + | UIRemoteNotificationTypeSound + | UIRemoteNotificationTypeAlert]; + } +} + +- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { + [Intercom setDeviceToken:deviceToken]; +} + +@end diff --git a/Sample/Sample/ITCViewController.h b/Sample/Sample/ITCViewController.h new file mode 100644 index 00000000..aca302b9 --- /dev/null +++ b/Sample/Sample/ITCViewController.h @@ -0,0 +1,14 @@ +// +// ITCViewController.h +// Sample +// +// Created by James Treanor on 13/05/2015. +// Copyright (c) 2015 Intercom. All rights reserved. +// + +#import + +@interface ITCViewController : UIViewController + +@end + diff --git a/Sample/Sample/ITCViewController.m b/Sample/Sample/ITCViewController.m new file mode 100644 index 00000000..72aa4ae5 --- /dev/null +++ b/Sample/Sample/ITCViewController.m @@ -0,0 +1,85 @@ +// +// ITCViewController.m +// Sample +// +// Created by James Treanor on 13/05/2015. +// Copyright (c) 2015 Intercom. All rights reserved. +// + +#import "ITCViewController.h" +#import + +@interface ITCViewController () + +@property (nonatomic, weak) IBOutlet UIButton *logoutButton; +@property (nonatomic, weak) IBOutlet UIButton *loginButton; +@property (nonatomic, weak) IBOutlet UIButton *sendMessageButton; +@property (nonatomic, assign) BOOL loggedIn; + +@end + +@implementation ITCViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.loggedIn = [[NSUserDefaults standardUserDefaults] objectForKey:@"email"] != nil; +} + +- (void)setLoggedIn:(BOOL)loggedIn { + _loggedIn = loggedIn; + + self.loginButton.enabled = !loggedIn; + self.logoutButton.enabled = loggedIn; + self.sendMessageButton.enabled = loggedIn; +} + +- (IBAction)loginPressed:(id)sender { + //The user is not logged in, so prompt for their email address + UIAlertView *loginAlert = [[UIAlertView alloc] initWithTitle:@"User Login" + message:@"Type in an email address" + delegate:self + cancelButtonTitle:@"Cancel" + otherButtonTitles:@"Login", nil]; + loginAlert.alertViewStyle = UIAlertViewStylePlainTextInput; + [loginAlert show]; +} + +- (IBAction)logoutPressed:(id)sender { + //Logout was pressed, so calling [Intercom reset] will log remove all local user data and stop tracking them. + [Intercom reset]; + + //Save email so we know the user is logged in + [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"email"]; + [[NSUserDefaults standardUserDefaults] synchronize]; + + self.loggedIn = NO; +} + +- (IBAction)openIntercomPressed:(id)sender { + //If your Intercom plan includes inbound messaging, this will show the message composer. Otherwise the message list will be shown. + [Intercom presentMessageComposer]; +} + +#pragma mark - UIAlertViewDelegate + +- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { + if (buttonIndex == 0) { //Cancel button + return; + } + + //The user pressed login, if they gave us an email, log them in. + NSString *email = [alertView textFieldAtIndex:0].text; + if (email.length > 0) { + //Start tracking the user with Intercom + [Intercom registerUserWithEmail:email]; + + //Save email so we know the user is logged in + [[NSUserDefaults standardUserDefaults] setObject:email forKey:@"email"]; + [[NSUserDefaults standardUserDefaults] synchronize]; + + self.loggedIn = YES; + } +} + +@end diff --git a/Sample/Sample/Images.xcassets/AppIcon.appiconset/Contents.json b/Sample/Sample/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..d43f4ae1 --- /dev/null +++ b/Sample/Sample/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,44 @@ +{ + "images" : [ + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "intercomicon58.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "intercomicon87.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "intercomicon80.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "intercomicon120-1.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "intercomicon120.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "intercomicon180.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Sample/Sample/Images.xcassets/AppIcon.appiconset/intercomicon120-1.png b/Sample/Sample/Images.xcassets/AppIcon.appiconset/intercomicon120-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ac77a386ec62483b7536d0cd69fd13d20004ad78 GIT binary patch literal 9243 zcmZ{K1yq|`(=`+;w8%vYg`&kJfuIRmpg4iz6qjH@gS*4Up}1SoQrwC=#fwwiTcAjA z?@#Z2rT<;;_pJ5Enc4g7nR(8fm8>L887hs7Lym)jf`Th6BdPLmcl&id#(cPfP5CAs zZm5nb(&8xPqc3(I2H5s8+KwnFPl$eU}WGE=;^pLYSICR3xSTMSmCx(^)t<*+YOpS65enD>uLnVGiU1gTX*f5D*07ctCJC zy4yM#xpCM!zWjTVf6pTcb2LF%+B;d=+0y))*T~q;*-4m=?w8Pij=$q{vNZdzlC9&v z(t1b`_{#(20&oKV7Y*iS`G3%UdHzqDsmXt`vUf&U|CN)e2@qxtvw_({X{-@kS zZU003|AKTgvj1D`uOj}Po6xVwAu2FOJ8S1(B~Z7ubP@px{gu!^&Ht^)-z*6`8+!!I z(eZ&M!uv1E@3w#9wf-w3!vAlL-;MtyC?PB#GBx@Ymk8It1b(;u6R-Wh1b#REM)*~F zh_a;{%vwv*@}Z!AWx)mF6axNF&p(+GcGh+XReK{7*ssX`qWot1C;BfP?f+BfH_vZO zQxk}zv#}M-#Ob&9_3+mITK(ci=D^>~Lcsrt7J66<5JfvvOEY&#BPW;$h?9$lgNus; z#IMH158>j1fOv#}|G@kf!7q;l0%qi7hfuS#vljU)4Vzy>8g2mh-^}0r|Dp;3fA!IC zef4+K{$+jWS`nNF=D&9U5geU*_c#<3>R4IHS88sk`+C@3dg`e^4|L*rEa%_LH!&{l zgy=CpV-|mfiXpYvm9zec`8#udUS$4DJUq}YvFX$+zE|d$)HK2C`vj5Cnj*v=ldF9z)L;j+QNq4vP=QwrGY;W(temjW#{8gml8(Q(5F4yp+w@7|ZkWlwp zBcb)HGH+Nrw@|S7E38LUTrG6t#a{u1RqE@=vvIB4s@}x=sL_;GRc^wgkiNd^KeEE% z-aZ?S-?bfusBoqeEa*!UNGK~-k2_Gw#gAvcUA&sZ++@2<70mzRB&*(S5{<1d+D1{+ z=Iyw(4VM!4$mK`~nWiE8(d(C7YAR#~lU#h%S5y{BV~4>isc%$=rJr^??(MvcqAb~! zV_BWm895ngbQeT#<`K7vB8{|XHN#WOTI1@${}_^EAax0UG8AdPv>Q_8>{7w!qHjiq zG%(E2BgcD<)8%Y7ne$#{oSA4a1e8~{_}F1;l|!126m!T+6ir3ZT#$$KCywoR2bAtY z;>1fCEt_KA>r@8y`=WidbHbyf?p*g};}r@03Udc@>GouUa}OM(5F)2|E~Y^JHc?CZ zw3LA;z)tIf9B6z&p+@b|aystV5i!6#^DBF2O>YCpg{E6ga&Y+Zbz7Z_jzmeFZNUnJ zc8a(iFP(%sI;66ZQUfnO+7F)yp8z+VI3hdK9n;Y3T?{wYoa0#D2Gg&%VWQ^%&qomwF-n;RkYj3%cMyzY0DP}5UsBmOo>^ zvx)jgVd4+p9}ytvUj#B7k3PN>{vdYhNVBYFa#R>n?=Y9!b)HYwZAsJ}^ZIARUUp)$ zZL>Dsj|H^J7wYMp{S?uk?+7l5+P%q|OAoC2T9|xJDi_3{6PXMNTsV{yqITCAO!xnI5AP8Az+9oTC6Wqg^j-F?;8QpDjA z#{ma@A=hCX*5R|Rc|D0cT6MlX87&;ao-dKAAqfmHIUHg5#XcJ=0H^HqIx3IT^+T+{ z3m={W8yiYQrAq}{QH=NzHY!Eye2+uAJMsH;!A84^(m-citgKk6!Px5e3M@JXsa&=^ ze4wOWlcf`mhVyOSrBIg2EDXobn{MwAjWnOE^y1UX)HclNVytD?w4}*r>|^GrkJhmX z22lmf*WTPer79};Kz?GlpW6+t%V zLaDxe2o?YUwI<{FYslGH6mw>UH(LfY|8TpE)7IYSR1P{-Z@ox=v+N}y65-KaUtWzCqi~^)6?V)6}Q=o~)U*Let>8A@#N0 zRg?b`83Mi9A3N+!8%?lVM4GJ0#^u&iZCwjeJsGGDD7I^w3u5j%ZaQ|p zpTc8r@0dRlzDDfQJ-GuFnBl=q{t;g&ys)Co^ETJn?Pr$W@i*S~H#Q2x>+#5?g?I`9 z2Gxph@l=yX!;wZe-6G4If}`5(=3Y^u`0%XL;{_d^%_Dy_)}^Q{eVKZ6exXcTv_q0< zdzWm#P<*O{bJc@TR&u=AZjjV8G@Vj(#eqTf^GtVGM-I3av_+2|SUVtLATh;Yk>3Xv zoaU25#J+%~8)usv7R#;pxMJcx4KA^gRn)nzFJKkqcW>*Y%LASf&fpy;Z1)i2CgXb* zUH`DOJzH2iCZTr19o6i{*Tv4l2^vlIKh= z9XU0H)XWx5@@Ax0tRbQ*_BN_0dIi~uo7_V~HN#!ObM&%8fT_B(ZYKZE98L0=7roFa z#^Lb20;@qa?LRY%$4yung0RLhzK!~$xVf&+Ik?{yC?YmHe4Yy$(YbUb4b7Dz1!`Bz zX$}||zg<@E(7$!ezRi~2%>CIYalY>+F~0yE__G?3T4Nul8)#lS1ZE!m1y1{K}%MBWJrwdb%wKTMx4#v)gyNxM$5qo&I%%O6#eSQ!w z^F1kQkG>58;NAwthF1|K4D4Wj$1!C#5uC3KZ?21@V2G05ts1$~b3eN}Te8{p3$XUQ z!Zl)agS2R5mqlCplfW*-34GSfRCR= zT<8RTZ7vg@iUK}B$)g>XB%IUI?fMxqpz`V=A>(azUYSxWBiaiVp*8(WgN9AzLpU1= zW+M$7X9Xf~u(qW=qokGi$HZq{*tta;5{0*l>QIeGP<4A+I}7`q6~?s9i(czF&-`d} zm5`9SYIY(aTv4sdGR^kW2~rQZ4Qrq zsVt#Urv1mACLw-bPUIQA;v~G_%_K~*CX_eweE%x7=jy=pr(R)WnmAhvZ$|hdCfzRh zLNZRWyX_@Jm{R0KJ2`V%0m++n?(BWu2yM7YoiXX(3pfAR3D|OBf?wBGa68@9R!r`< z_0@F$D!g#{8YY^-tYR8Mue~+X7K!>iaEaBtsdcTyFjQw**@A*cV2SyApGI3%ayfR; zT1&}tq(GMp`V#&|}GJfw+R>`SMGWB4;VP;LEy-uOXK0q29;&JTh_RhAs zUrqwwXFK=R?CP*AhuC>28V2e`D7^bI)1It`$IA~RMqRTl1L$Ko@KB``0PflWywPj5 zd3HWNe{Z^Nw5s2^X__hW%zR{sNB7IB0+?4}Eu_wmdpy8;3q;^-DsRGi+mdeaA*>1{ zA6j=P^`2w}XCuir*k}$HTC}kC(E&H#yGRJ0CT!hnGPhgiKH~(}>b6)(OSW{=g4-8H zc?ovIK6dV;6nSQ!^9pSouqopvW@1(o>jAw#OzzC^6jg@o0Y!$UU|K`2ay8p~l@Gg4 z#mVFq1}?Ne*C;F76_?RB!y^|u6yyu7^xhc{46Dcvo7<`DU%Je(93x)VhrSBjf8id{ zTjQ&nQV!Q{&LPowh_g?Nt&K#gNM~}f3tG9eI}Nkc6>Ndd+C$q&7%992%T@INmfGpx z6?SL#YrEcd18Pf5nRLy*pQ<%#2zYv!#GP zjXqqxe01OCDU0`XFo-|AA?%4irQB!sk`?kYs=&4K4?9I8-HJOR&bSq=gYPClC0W9x zhjT~5>6;=SOy(Olb_GsUDT_a&XLGs;6!GX4oj)u)XNWgbTG`c89VFRI^x+L*yT^W6!O`|OxQZqLc+X;hE+V;+gf(^U(K&X_ zJ&)U7NH1rgQh~w82`vmUH4b+(h8pByJq4zw!CqIvnG? zE<*I21swbYEUlp-xAnfHac!ii9Ah-3qX7hP=eN3*y!xEn1|api%%4EqHYTjo&2Xs} zZd^-IFH?>}8#nc49+}b72VHPQmt=96J{|zQ!xe;0QQE%{Im%~Lpt#jzL*wpw*~-!&WyN$oCY;==}-r-q6 zohU3HcChuQHh5z~L1gR_GT_RJuAqW-Pa2bYNft^; z7w9sTomuy2z}cnEA3||4aZNiKEo-(MMH{gM!B`9dN&|@+k;!>+TXPuQg>4J7q93hd z!|nM6GP76!Yc|n^vm0zluDWW6j`V*tF%cwZkYeXC6`0LP}Y^^-v6`KLSaTny2gRdz`r@tvB({Cq@X`W0twB7}Kpc-UewmeKU!@JL1&Wxf*yUPDGDCrU+g zba{*T$~!yMQeYm?WZG|srSH%^`~EShH51@Wp)lKWxOqJ!eJXQ!U@mX4<#cyXjj{~R zT(`tZI-wXLoc#_GArKM*v&)mBawD zL>{BOExT&f$x?Kj{*9N0ZO`X8&^Jo?&H40p;FFazDxqmaQOX8PeZ(nM#5{|KveVp* z_Vi6Yo9RHa#$ZvKbGm{~BRY{V!t}eqpr0r?$=ij(KWU?kQcONa1k7Hg8JnD?TbtSS zOWq5N0Q_lz{mL4^c9LFZ^p!vC0bWF%Uw4u$@Pu;MU_#~6c%bL&;v^CW?Nbua1MPM+8 zNL&~LK7~Ua6RS=h=1jzX^1Uf7;ZK3PX^bz*4jME5bm?o!#>d**{0xs#S}8vW2C9Ou zpc|6RWl0*vvP4Uva_(aOloFqORxff(6LMxsKXuD;FAhHE3X0Z#YaJm#el6W8Sp*ug&s3}y?V4(eEA zIqAY|&7=(O#T!e+x$6B2oUPEUDh`DnsVb&j4>p&fTYprz0O7>OYx?XKQDO$aebGam zc4R!&H=u2dwiv#|T~A+xH>M?i;bFm~#4J?a2r;ID1+eHAzL}e6p_-3#HWR(ez}A|r z*vTIY8NWTUhf#QxqV8`CQ1-+;D$@SOl*sA7ub)!$0+#vbuzeQ=!q-{w?7c)o@+o3i z&5X1yt-_FO1HjHtbLu81ufn}${coDlM|l|B-a9`L^`9RR0}=ha z`B97Fgk}8vHm;V87hfc}BnUIRTlr}%_oxd&3@5okGS)lK_k%|$&8Vc6b>2%|_4Fzf z#N4?UgX6U?JF*E`AL;indu5OwrhSyyQ}=ijJ$%*$Vy0J@QBf{XCb*0-=(67RNaUjn z^gJ2XL;?)@cP7V~^yazBFg{FTE{s+9@iLX^%1j#bD?fX!NUM3~6Lf8#!iwJ|)|B`u z%r>rgxMa9Ij}YZH0=V%gYWu>;=WvW!6l;N4>hJSQ1kNU&0!I@NC~V`gh$G z?_Gu%nZ>nA%|?<>%I~U&A@Bl8@cm{ilVvvJS@4+1>2SPT`Sr=3DEeAkY|w5uGG*XN z^1y^Tb+Y!*Sn}X*s(=8MauLV6MFPY*ZeuxJvO`RYh6ak#`uzv7HF2|uV(6~vO2pn) z!HO`ur@=gm&Av>Yg~A#8r}KMWkkRO^2&JAJYY*)^Zrp7xW5eyH{W0Gk47xKEy|T6Q z92CR3y;ruyeMxp~6$V z?nY}L@Kk$r*S*X(x#e`OV$<8;jt?SDV{U>NMOVl@GP((qsI%OfL?^p~^d`;xD zQI=5KSk9bSUQGCdg$eJ#f8e0U(ekmt%g9qPFi9n9I*%E``TA`$4Md4|$iKa<%m*lX zE^mRT8y4F0N_9RD23Z~uvQY42#>c3@4vwlEravTp!LrONEF)F`j#P983%n=jeRY?# z!L)faI%|4yqBJy$3*QnzC$X{_NWmw!XJ7ttfe}I2od_MC;J01D$dAiE=;CU;S`~@x zq)uqEsW?yP!T+J#Ynpe{o%=TqEC`W!c^j0gi z$5R+7w7I$qW4%87z&#S56LI>j>&@q=g@(^fo|;1jvp=(Ws6~^Ut9rNc3%qXWOEMs6 z@v-h8hXdmhNjqRgX%_{-%jws^j4#ZzIeZ-UTdvrn%VE4_#sM>OE-%(=P7K%k8`vSa zVI0yi;%pZKYm^nQR2x`~>R$*4@joXgdaQlR(Q9-C9@6-HHM_(dpKOq`P3!XZMpY;=UEei&!1m*Lq}XfNjwKbiEOt;}(>l z5gi{VV5o`NZvDgUxi+utV1IPtANhT9$nSC~7a(l(h^m7gRF|jkr~u+?Q=YF=MtZ9- zqk*@1cTk=Uv@=FqfRpBo@+c7x#2siyt`!Kt=??? zU^;q5I&^s@-(#SWyG<#p!TiL3^`3%-dvmsLS8rRr_^`cs>?Q0?F-an0bin!QqScW9 z+pjgq=U=aqKP?DhrL!t^NyX&IKImL+zU*+*NuRROXIjYe);({jmBl+;rlrJdXxR!3>15^p zbF>#;SjYiUeWrUPlIk+!*@OS;gf?VXT2Dd-u(OwzU%Q4n+}nrmnid~PcSYHkSMW!9 zt0OO&;G3tkCsy(qt8vkV-4l(DMJ>qFLs$#Qo?pS$ zt9j}wymna$k*TbVjBqcLcWePI;G-l@9I}1`KEbWKwj{q7)Ha_ZQqF-RIt5LJqvBO7 z;oX<(6uhq(Gr3vzU_#F@~(}4ml!V+x#a94 zjUl7mD1;`by&f`UL>Gi1wN>8ozKRs9f{YWcW8wt~5=1wfr>NT4hFB-Il`k9V`y-EO zWtOt{sswBT#ZVP-c+-1=(v@U}a_U8d@i}H-3j$?+^h8q`H~xr%(7T<(hm) zXQH4u@{qf)%@{^Xq`YM7m)q)LQQ@_Tjx2fjX{Y9!Y_D3`5R#Z#OQW2T?1kzlfaZrk zaMT_6e%@Bk5|E*i(;b&qr~+Eoc=Gk*{9%E}!<$W}xkq=8`qy;Jx_^*dFhNJQV^n?W zx;p1b_O0V(;6zD0Oa)iUlu0}UKHik|BKTsHdsT~ITFN5mnny3R?tNG%y~C5lLuyz4 zryu#g#9vYoR_vdxe#0l0twfgxmVfGx>aPn>g`M`4sEFjgl`;zb_};h{eTa=q0vMY;OT#Jgv>hVyo(k@AhEGCeSd-4u-Z+4+iKU_IIH|DlT&f8pGK9kQfUDi| zdeh*ju!%|YiLJ&vO)RrL+tT1M4d-A*EKcc@p!5)P57aXLt;`_@5rn zW66{9=OIp_xT6mJZB^{tubyIO>TDHt{!vYQgZ4pSf$~{&*JO~&P*ayxcL`hGBu~nD zGqMQ{QuIL~^pxt)T#|rcf%E%O0S3|OE{5RNH2c}~?K~MVsxAUv(TrOK4~x2DF-3l? zO2UnKk91LXO>d+6xYGozmv5_I`aMrf&%p^5FeF|4vhDZo4^xsS1EO=m@`Ik(DPabw zmbWa+EWS##HLk>qUpD>T;hIWndpk!X+o5U@oD@HUR2w1kz1TfYH+g5U4eAN$3Okj z+D;NJ2TaOa&ubqsJ_-`Tf%#Gm#qDvDRIHV$+4Sz9A)Y51S2PhQ4f&Vvh`Nwftz@SB zVNz7~Y^dSp$l^N7F2goMMpG(V@+AMQBg5`3joI9{Rhy=(xhIe9;n6Xz$7jV{dT7g~ zS5q2UT;BjxNnS=mwo91tw=dAozb9Ko)}_`rD?OSCUiR+Dn4*fSF#-U@=AX~aWj)C? zAtkOydvvIo+jP`Wr4(F%T^Pu@aD-wZ7y$Gy8cVo@ZG0;t3sp0tzBgrv(3welO%e}# zs*h6Em+QaN7`de)B>QPy4Lx0K&WX8k7%UdWab}_l0K}}4cl9GHeSlf%v%HiECJkjg d*RA`fKjFr^OyQ&OgJ1vHk$nx7EEhKn_L887hs7Lym)jf`Th6BdPLmcl&id#(cPfP5CAs zZm5nb(&8xPqc3(I2H5s8+KwnFPl$eU}WGE=;^pLYSICR3xSTMSmCx(^)t<*+YOpS65enD>uLnVGiU1gTX*f5D*07ctCJC zy4yM#xpCM!zWjTVf6pTcb2LF%+B;d=+0y))*T~q;*-4m=?w8Pij=$q{vNZdzlC9&v z(t1b`_{#(20&oKV7Y*iS`G3%UdHzqDsmXt`vUf&U|CN)e2@qxtvw_({X{-@kS zZU003|AKTgvj1D`uOj}Po6xVwAu2FOJ8S1(B~Z7ubP@px{gu!^&Ht^)-z*6`8+!!I z(eZ&M!uv1E@3w#9wf-w3!vAlL-;MtyC?PB#GBx@Ymk8It1b(;u6R-Wh1b#REM)*~F zh_a;{%vwv*@}Z!AWx)mF6axNF&p(+GcGh+XReK{7*ssX`qWot1C;BfP?f+BfH_vZO zQxk}zv#}M-#Ob&9_3+mITK(ci=D^>~Lcsrt7J66<5JfvvOEY&#BPW;$h?9$lgNus; z#IMH158>j1fOv#}|G@kf!7q;l0%qi7hfuS#vljU)4Vzy>8g2mh-^}0r|Dp;3fA!IC zef4+K{$+jWS`nNF=D&9U5geU*_c#<3>R4IHS88sk`+C@3dg`e^4|L*rEa%_LH!&{l zgy=CpV-|mfiXpYvm9zec`8#udUS$4DJUq}YvFX$+zE|d$)HK2C`vj5Cnj*v=ldF9z)L;j+QNq4vP=QwrGY;W(temjW#{8gml8(Q(5F4yp+w@7|ZkWlwp zBcb)HGH+Nrw@|S7E38LUTrG6t#a{u1RqE@=vvIB4s@}x=sL_;GRc^wgkiNd^KeEE% z-aZ?S-?bfusBoqeEa*!UNGK~-k2_Gw#gAvcUA&sZ++@2<70mzRB&*(S5{<1d+D1{+ z=Iyw(4VM!4$mK`~nWiE8(d(C7YAR#~lU#h%S5y{BV~4>isc%$=rJr^??(MvcqAb~! zV_BWm895ngbQeT#<`K7vB8{|XHN#WOTI1@${}_^EAax0UG8AdPv>Q_8>{7w!qHjiq zG%(E2BgcD<)8%Y7ne$#{oSA4a1e8~{_}F1;l|!126m!T+6ir3ZT#$$KCywoR2bAtY z;>1fCEt_KA>r@8y`=WidbHbyf?p*g};}r@03Udc@>GouUa}OM(5F)2|E~Y^JHc?CZ zw3LA;z)tIf9B6z&p+@b|aystV5i!6#^DBF2O>YCpg{E6ga&Y+Zbz7Z_jzmeFZNUnJ zc8a(iFP(%sI;66ZQUfnO+7F)yp8z+VI3hdK9n;Y3T?{wYoa0#D2Gg&%VWQ^%&qomwF-n;RkYj3%cMyzY0DP}5UsBmOo>^ zvx)jgVd4+p9}ytvUj#B7k3PN>{vdYhNVBYFa#R>n?=Y9!b)HYwZAsJ}^ZIARUUp)$ zZL>Dsj|H^J7wYMp{S?uk?+7l5+P%q|OAoC2T9|xJDi_3{6PXMNTsV{yqITCAO!xnI5AP8Az+9oTC6Wqg^j-F?;8QpDjA z#{ma@A=hCX*5R|Rc|D0cT6MlX87&;ao-dKAAqfmHIUHg5#XcJ=0H^HqIx3IT^+T+{ z3m={W8yiYQrAq}{QH=NzHY!Eye2+uAJMsH;!A84^(m-citgKk6!Px5e3M@JXsa&=^ ze4wOWlcf`mhVyOSrBIg2EDXobn{MwAjWnOE^y1UX)HclNVytD?w4}*r>|^GrkJhmX z22lmf*WTPer79};Kz?GlpW6+t%V zLaDxe2o?YUwI<{FYslGH6mw>UH(LfY|8TpE)7IYSR1P{-Z@ox=v+N}y65-KaUtWzCqi~^)6?V)6}Q=o~)U*Let>8A@#N0 zRg?b`83Mi9A3N+!8%?lVM4GJ0#^u&iZCwjeJsGGDD7I^w3u5j%ZaQ|p zpTc8r@0dRlzDDfQJ-GuFnBl=q{t;g&ys)Co^ETJn?Pr$W@i*S~H#Q2x>+#5?g?I`9 z2Gxph@l=yX!;wZe-6G4If}`5(=3Y^u`0%XL;{_d^%_Dy_)}^Q{eVKZ6exXcTv_q0< zdzWm#P<*O{bJc@TR&u=AZjjV8G@Vj(#eqTf^GtVGM-I3av_+2|SUVtLATh;Yk>3Xv zoaU25#J+%~8)usv7R#;pxMJcx4KA^gRn)nzFJKkqcW>*Y%LASf&fpy;Z1)i2CgXb* zUH`DOJzH2iCZTr19o6i{*Tv4l2^vlIKh= z9XU0H)XWx5@@Ax0tRbQ*_BN_0dIi~uo7_V~HN#!ObM&%8fT_B(ZYKZE98L0=7roFa z#^Lb20;@qa?LRY%$4yung0RLhzK!~$xVf&+Ik?{yC?YmHe4Yy$(YbUb4b7Dz1!`Bz zX$}||zg<@E(7$!ezRi~2%>CIYalY>+F~0yE__G?3T4Nul8)#lS1ZE!m1y1{K}%MBWJrwdb%wKTMx4#v)gyNxM$5qo&I%%O6#eSQ!w z^F1kQkG>58;NAwthF1|K4D4Wj$1!C#5uC3KZ?21@V2G05ts1$~b3eN}Te8{p3$XUQ z!Zl)agS2R5mqlCplfW*-34GSfRCR= zT<8RTZ7vg@iUK}B$)g>XB%IUI?fMxqpz`V=A>(azUYSxWBiaiVp*8(WgN9AzLpU1= zW+M$7X9Xf~u(qW=qokGi$HZq{*tta;5{0*l>QIeGP<4A+I}7`q6~?s9i(czF&-`d} zm5`9SYIY(aTv4sdGR^kW2~rQZ4Qrq zsVt#Urv1mACLw-bPUIQA;v~G_%_K~*CX_eweE%x7=jy=pr(R)WnmAhvZ$|hdCfzRh zLNZRWyX_@Jm{R0KJ2`V%0m++n?(BWu2yM7YoiXX(3pfAR3D|OBf?wBGa68@9R!r`< z_0@F$D!g#{8YY^-tYR8Mue~+X7K!>iaEaBtsdcTyFjQw**@A*cV2SyApGI3%ayfR; zT1&}tq(GMp`V#&|}GJfw+R>`SMGWB4;VP;LEy-uOXK0q29;&JTh_RhAs zUrqwwXFK=R?CP*AhuC>28V2e`D7^bI)1It`$IA~RMqRTl1L$Ko@KB``0PflWywPj5 zd3HWNe{Z^Nw5s2^X__hW%zR{sNB7IB0+?4}Eu_wmdpy8;3q;^-DsRGi+mdeaA*>1{ zA6j=P^`2w}XCuir*k}$HTC}kC(E&H#yGRJ0CT!hnGPhgiKH~(}>b6)(OSW{=g4-8H zc?ovIK6dV;6nSQ!^9pSouqopvW@1(o>jAw#OzzC^6jg@o0Y!$UU|K`2ay8p~l@Gg4 z#mVFq1}?Ne*C;F76_?RB!y^|u6yyu7^xhc{46Dcvo7<`DU%Je(93x)VhrSBjf8id{ zTjQ&nQV!Q{&LPowh_g?Nt&K#gNM~}f3tG9eI}Nkc6>Ndd+C$q&7%992%T@INmfGpx z6?SL#YrEcd18Pf5nRLy*pQ<%#2zYv!#GP zjXqqxe01OCDU0`XFo-|AA?%4irQB!sk`?kYs=&4K4?9I8-HJOR&bSq=gYPClC0W9x zhjT~5>6;=SOy(Olb_GsUDT_a&XLGs;6!GX4oj)u)XNWgbTG`c89VFRI^x+L*yT^W6!O`|OxQZqLc+X;hE+V;+gf(^U(K&X_ zJ&)U7NH1rgQh~w82`vmUH4b+(h8pByJq4zw!CqIvnG? zE<*I21swbYEUlp-xAnfHac!ii9Ah-3qX7hP=eN3*y!xEn1|api%%4EqHYTjo&2Xs} zZd^-IFH?>}8#nc49+}b72VHPQmt=96J{|zQ!xe;0QQE%{Im%~Lpt#jzL*wpw*~-!&WyN$oCY;==}-r-q6 zohU3HcChuQHh5z~L1gR_GT_RJuAqW-Pa2bYNft^; z7w9sTomuy2z}cnEA3||4aZNiKEo-(MMH{gM!B`9dN&|@+k;!>+TXPuQg>4J7q93hd z!|nM6GP76!Yc|n^vm0zluDWW6j`V*tF%cwZkYeXC6`0LP}Y^^-v6`KLSaTny2gRdz`r@tvB({Cq@X`W0twB7}Kpc-UewmeKU!@JL1&Wxf*yUPDGDCrU+g zba{*T$~!yMQeYm?WZG|srSH%^`~EShH51@Wp)lKWxOqJ!eJXQ!U@mX4<#cyXjj{~R zT(`tZI-wXLoc#_GArKM*v&)mBawD zL>{BOExT&f$x?Kj{*9N0ZO`X8&^Jo?&H40p;FFazDxqmaQOX8PeZ(nM#5{|KveVp* z_Vi6Yo9RHa#$ZvKbGm{~BRY{V!t}eqpr0r?$=ij(KWU?kQcONa1k7Hg8JnD?TbtSS zOWq5N0Q_lz{mL4^c9LFZ^p!vC0bWF%Uw4u$@Pu;MU_#~6c%bL&;v^CW?Nbua1MPM+8 zNL&~LK7~Ua6RS=h=1jzX^1Uf7;ZK3PX^bz*4jME5bm?o!#>d**{0xs#S}8vW2C9Ou zpc|6RWl0*vvP4Uva_(aOloFqORxff(6LMxsKXuD;FAhHE3X0Z#YaJm#el6W8Sp*ug&s3}y?V4(eEA zIqAY|&7=(O#T!e+x$6B2oUPEUDh`DnsVb&j4>p&fTYprz0O7>OYx?XKQDO$aebGam zc4R!&H=u2dwiv#|T~A+xH>M?i;bFm~#4J?a2r;ID1+eHAzL}e6p_-3#HWR(ez}A|r z*vTIY8NWTUhf#QxqV8`CQ1-+;D$@SOl*sA7ub)!$0+#vbuzeQ=!q-{w?7c)o@+o3i z&5X1yt-_FO1HjHtbLu81ufn}${coDlM|l|B-a9`L^`9RR0}=ha z`B97Fgk}8vHm;V87hfc}BnUIRTlr}%_oxd&3@5okGS)lK_k%|$&8Vc6b>2%|_4Fzf z#N4?UgX6U?JF*E`AL;indu5OwrhSyyQ}=ijJ$%*$Vy0J@QBf{XCb*0-=(67RNaUjn z^gJ2XL;?)@cP7V~^yazBFg{FTE{s+9@iLX^%1j#bD?fX!NUM3~6Lf8#!iwJ|)|B`u z%r>rgxMa9Ij}YZH0=V%gYWu>;=WvW!6l;N4>hJSQ1kNU&0!I@NC~V`gh$G z?_Gu%nZ>nA%|?<>%I~U&A@Bl8@cm{ilVvvJS@4+1>2SPT`Sr=3DEeAkY|w5uGG*XN z^1y^Tb+Y!*Sn}X*s(=8MauLV6MFPY*ZeuxJvO`RYh6ak#`uzv7HF2|uV(6~vO2pn) z!HO`ur@=gm&Av>Yg~A#8r}KMWkkRO^2&JAJYY*)^Zrp7xW5eyH{W0Gk47xKEy|T6Q z92CR3y;ruyeMxp~6$V z?nY}L@Kk$r*S*X(x#e`OV$<8;jt?SDV{U>NMOVl@GP((qsI%OfL?^p~^d`;xD zQI=5KSk9bSUQGCdg$eJ#f8e0U(ekmt%g9qPFi9n9I*%E``TA`$4Md4|$iKa<%m*lX zE^mRT8y4F0N_9RD23Z~uvQY42#>c3@4vwlEravTp!LrONEF)F`j#P983%n=jeRY?# z!L)faI%|4yqBJy$3*QnzC$X{_NWmw!XJ7ttfe}I2od_MC;J01D$dAiE=;CU;S`~@x zq)uqEsW?yP!T+J#Ynpe{o%=TqEC`W!c^j0gi z$5R+7w7I$qW4%87z&#S56LI>j>&@q=g@(^fo|;1jvp=(Ws6~^Ut9rNc3%qXWOEMs6 z@v-h8hXdmhNjqRgX%_{-%jws^j4#ZzIeZ-UTdvrn%VE4_#sM>OE-%(=P7K%k8`vSa zVI0yi;%pZKYm^nQR2x`~>R$*4@joXgdaQlR(Q9-C9@6-HHM_(dpKOq`P3!XZMpY;=UEei&!1m*Lq}XfNjwKbiEOt;}(>l z5gi{VV5o`NZvDgUxi+utV1IPtANhT9$nSC~7a(l(h^m7gRF|jkr~u+?Q=YF=MtZ9- zqk*@1cTk=Uv@=FqfRpBo@+c7x#2siyt`!Kt=??? zU^;q5I&^s@-(#SWyG<#p!TiL3^`3%-dvmsLS8rRr_^`cs>?Q0?F-an0bin!QqScW9 z+pjgq=U=aqKP?DhrL!t^NyX&IKImL+zU*+*NuRROXIjYe);({jmBl+;rlrJdXxR!3>15^p zbF>#;SjYiUeWrUPlIk+!*@OS;gf?VXT2Dd-u(OwzU%Q4n+}nrmnid~PcSYHkSMW!9 zt0OO&;G3tkCsy(qt8vkV-4l(DMJ>qFLs$#Qo?pS$ zt9j}wymna$k*TbVjBqcLcWePI;G-l@9I}1`KEbWKwj{q7)Ha_ZQqF-RIt5LJqvBO7 z;oX<(6uhq(Gr3vzU_#F@~(}4ml!V+x#a94 zjUl7mD1;`by&f`UL>Gi1wN>8ozKRs9f{YWcW8wt~5=1wfr>NT4hFB-Il`k9V`y-EO zWtOt{sswBT#ZVP-c+-1=(v@U}a_U8d@i}H-3j$?+^h8q`H~xr%(7T<(hm) zXQH4u@{qf)%@{^Xq`YM7m)q)LQQ@_Tjx2fjX{Y9!Y_D3`5R#Z#OQW2T?1kzlfaZrk zaMT_6e%@Bk5|E*i(;b&qr~+Eoc=Gk*{9%E}!<$W}xkq=8`qy;Jx_^*dFhNJQV^n?W zx;p1b_O0V(;6zD0Oa)iUlu0}UKHik|BKTsHdsT~ITFN5mnny3R?tNG%y~C5lLuyz4 zryu#g#9vYoR_vdxe#0l0twfgxmVfGx>aPn>g`M`4sEFjgl`;zb_};h{eTa=q0vMY;OT#Jgv>hVyo(k@AhEGCeSd-4u-Z+4+iKU_IIH|DlT&f8pGK9kQfUDi| zdeh*ju!%|YiLJ&vO)RrL+tT1M4d-A*EKcc@p!5)P57aXLt;`_@5rn zW66{9=OIp_xT6mJZB^{tubyIO>TDHt{!vYQgZ4pSf$~{&*JO~&P*ayxcL`hGBu~nD zGqMQ{QuIL~^pxt)T#|rcf%E%O0S3|OE{5RNH2c}~?K~MVsxAUv(TrOK4~x2DF-3l? zO2UnKk91LXO>d+6xYGozmv5_I`aMrf&%p^5FeF|4vhDZo4^xsS1EO=m@`Ik(DPabw zmbWa+EWS##HLk>qUpD>T;hIWndpk!X+o5U@oD@HUR2w1kz1TfYH+g5U4eAN$3Okj z+D;NJ2TaOa&ubqsJ_-`Tf%#Gm#qDvDRIHV$+4Sz9A)Y51S2PhQ4f&Vvh`Nwftz@SB zVNz7~Y^dSp$l^N7F2goMMpG(V@+AMQBg5`3joI9{Rhy=(xhIe9;n6Xz$7jV{dT7g~ zS5q2UT;BjxNnS=mwo91tw=dAozb9Ko)}_`rD?OSCUiR+Dn4*fSF#-U@=AX~aWj)C? zAtkOydvvIo+jP`Wr4(F%T^Pu@aD-wZ7y$Gy8cVo@ZG0;t3sp0tzBgrv(3welO%e}# zs*h6Em+QaN7`de)B>QPy4Lx0K&WX8k7%UdWab}_l0K}}4cl9GHeSlf%v%HiECJkjg d*RA`fKjFr^OyQ&OgJ1vHk$nx7EEhKn_;R~rC3KR-W!jRU~J!SX7>;^yrHG4o<^ za-;cM$-nhTTDe)cf}9~BuoLAUy=LZMcZd)*^&dn3^ZDCP2*~<>EjhXUE3DT50e@Bi z?5u2n|3{Z9(CoIns^4&Yw_{U`jt8Tp$f0d{nDwQ_TNr3rKY zi}FwGKjn4**Nialzis>z{7-_4E9f;+vp;?bv;WJ$Ke7Lm*ZXe<{t5nr@F(>Gsvs{b z2VF_fYeN5uf}M{I2>7on|H+g9JAhp^oXsq({&@BmV9!E8^AwcAmG1B17CYVKnZLKvi6oVgIEc3u(5Nou(Pvp@M^O2 z3b3;aaJ-h`KV<&l!JicgS1U6J*i{n@b`bt6497oHN={bJznTAB{}&Yq__L4xv9JE# zw11(myH*(amHF>0fG{$)LW>#{6vLXFq?o1`^sy0A3f^>*uon0*tO%4Q<$+0@CJGA^ z5=Bid{{h9$Jep70e2CA&oa?8bo;1V9#8lfn+o=>VM`CwmVl**LnyBH2z95n@2bdbJ zzILwR8BqYZfQH&IZ>N_vXgCAMFf?Y7} zt%4x8x^a=6;{9sbJLLDZjA_#Os9k%T*AIT-SoykK@|8wQnbeFG35Y-B_Q^3oY0B}k zeC418m#!QmVxmJx)v2S9WEt~={dB?sX=GuNMp8r!4A>aLgW~~B^zg1~mh;CZO_bD! zJT-ckXd#Yd#ln;KP>HD!BZf~h49kN+M4UvRPiXBNGW{b3bxhW_#v8lqeQ{cr(C4#S zwa$+2MR%p&QAOTNtpPEexs3$M$+_|>vtm#yi@P?bWE^uprFeT$H#_b|o|Zz57fNHl z)JTLr+iPj%1Xh`uTzLUe+JyZT-^t^me;3q_cab?POy8RA+r4!4>NFN4UBrr!CeX@W zxn0d>WJW1M799vR)-Vc;9Nm54t?K1u?ooq_kS|@xxnP9*Kv5xU!y}zHj<@c-7Yuqr zSy6z;?+x7{ocn&RX-Op`En-?_Na&y`sSNLx#J~>|45Vmv&lIbsP+~e~-5|_3{e97o zl{=fw{hK!=QKeTuNl^!i6q>BC5-F*Nu6WV%jhr0nmqBx|+Li1!B%D zHKwQ`S!rI$Z5ql0NbA@r$4DG3V0ZP=t4rY#dNu4|y-J91n!f?-N0&Jtq23{qS5>BN z0h#@wk0W+-&BWRG*ci$^{4>d`rzzw3K?h#DRB1sB2`^%AEfszk8bb!m>lz@t23G3d4)Heu~4Mt5luvqpid!XkqC9vknzYfvPVol zSQcWYUs#x%u>JuQxkUY&zwTf$R-gU4b+HV?v{+ zH7}kGjZ9Dadu3BFYbNI?tr=GWu{9;2C!*tb!|dL1Vb$34vX-JPMN&*zP8s+PsMNfN zjoL&j5f(U1Y8jiy2v!mM!Ru~V?V+AwE4Ek1oeOqNU!|UwWLR4dK2Y3wi?QKQY`1^?fvLrG=Y6PGXdwcEBA!_&-P z#y55Y2HDvZHGth$z+ zwCEFUn5G#jh`I=`JQVk$=Du>8V;>FH1=TE1_?kc5qkUk443=ZoYVXhH{Bfjo@CC1URQgQ4oCOP#nTj)?J zPVfHM$|uKb+ITJYkci8*ca8S0DZv~_WbAp#E}XJpJr!E0lLPwzx(^{} zXcNDpL&Zrq!@Z!A+X%uG`Ea?mtpJz~4r^~Tn_9xkM+}o;U*mBmv|>l909ETXHz#fT zEPELI{)0hznfQ&L5lVZ>*P;M{`4XL@U>u7gxOaX!yLZVZOWR+9PlWwp^fkxKY1r0{ zBw0fZcou%R@dvjUu4??SIvpE4e89YqknvhU?KW&m8>83r-(#!LePD8|d<;4m$;!P% zz$pA^Gg`Q>GsJGv30WXzG*{JA3~kkINLJ}HWl1mh&e*cITggkRdP!O_c}5@;YRpFd z=%fB?>Z9$9&5p*)Pgs7Q(d8^N=j2Ie=Xv|RXR)CZ^~t1u>U1mDJ&u5)4;{@ zcV*r$zbRBEP*3`QujJX-u8pl9Rk$^5ly4_2OV8e~Kl$!6EV;bTlC{^rcs$)}Pys5g zdhHc+-MTfXzLk-SA=i8kPEI(X7^)zDP;JNCZ}L$Hw=upMP`Fw%YG|PTUINtI>Rfax zNaUVgl5!O0`JiFs6H}8nghH@17B!T&b~c0Yym?&faIUb!hwTDPo>{A0J)OKxVOO*n zHOweG9u*i>Rd=gR!xwTE*-^D`K=*K3k?jaLVgObnjoM8pVGl%coG#UrE@N9L|0daFm85{5eMRyyW<a@t3nClnPX>9rvVWI&hlG?|*?4LR6jL1D@JgniIyN*_aulZsA_ zTaAxU?#TqBHTeU6gUSd8})XQ8%{F#>7|+x(XMxgc9`~2 z`I$b@H-$e4$jr>bDm}A?;nL>#taz>qFVad7cs^CaJ%_eu^jf{%v$qy zd#v(T1F*c)Tll_n@xAz`H{O~{r=Vp)<~^>C0L`VA&-9}yQkPEcF$m}+*nw?*kxq>` z#d3|5sjVCwk+aFufGzCH#p92D9`#84g8q@a8hsJXLanDzZ8yEElMkLcs>l5}Q)RUn zO6?GQ{|7h228lOw6}u4Brcgbu5J=UCP&*Z-M{Xz!_Hhme;W1QpY6y23tiwE zc|W0LYCD&q*$KMCsWyP0?(uv+AKuKZzh}X1dzm>jY#1GD2z=l&3K(_=0;iuEWFhD8 zA@;-HpC=cRUSu$yyF#=r@eAKzu67*qJggmW!+A5*Ba$i4I30NAk<=(B;yfw4ORPi& zOikNWeh+N27h~r5Xx|kqbeCkHgw9uC@G7mRW59prJf^!Us`9k9*ydsp=Rq5C0IZX1x?^RT(D*75z)hsNXdnei_J z+>g%j=@zbJ->D-wb7Fa_jFd_^Q{m7Zj7<7tpiX8g%0h3PL!ZxYDq_=i*)XJIW7(5S zXIW|93p{u&;_qMNMB-npg{Jpkd+Z^g(`C?xlFNRGJWBYGezaA-D@CsNG}FqlSo08; z5v^Pn-DhLd5%+zkZV})62!bM{e5lP-&jdFS97GKfP}LNuL4cOp zD=$U1k`=&o<_=fp*2b>RFoM~5MGqH~IwD`xXNOxpbzN&1FA3b@9Z2r~W7(St(!%TK08{G+H^k8WG>z|d%3;OM#qE7rWkPE>L9Gg zUltJm#=b#a`_(O!BmB5!C2;*rd<)pWSl@0dv7edQ#wxv!rffA$$J#)K zT0Wd1uVt4u)gf?4dA(fyjfl>0FaEONY_iVv%Gg6~a2N+1Ia{}Va5+BTF9{HAS(*WR zKGlyfV=Uuy9C#^H=OAV#P8UTxy(-wNk5lV)!-k%HY3hFbQ~FFt@e$?h>()MtViIpl%kpL^a+jEHxBUejaseY*CLz5)-Keeko`c#5 z(bA}o%1Mr+fr}_rGN(qW;~UMm@N1<OemvYP`xsAGAd}YnPWS%**yZkh1gXxPcpwph1O`65&z?S z8bXsAUgBHq_(0Zbtu)HDt$GGa9L?Gm=8L)M^f-GRy-vA!nQ|QEhPkA8P<$>(hKJ(7 zcIr;90Q6`L4D4NG-G6jBi+_iqJg2Y-vj5#$MlL`aJH98E2)c+KT&(}$YP})FX*&e3 zfpo7q-~>0+oC!>#H-eOY&P}u#DyWGhXf$r9#7+xrF1YuD+)8{>mph&CKv^j(2yK5D zqn>yQct&cuCvloZbyvrSuB5@3ot_P7{h;c3OgAOOm%~Z0RB7OeG+Y=Rn#UE=cGcAp z7}gVACaZr^Q@y#z@N$V9lg2UqS%s+p-I@%hWHJ7zP|dTX%M!^ww)xE)%2N+l?r{8` zHzfI7b`OPDcL_9>-DKXc5oA~NKgB7*c9!rE+S96iSzj3t*tI&+mP z7nNzazV@$ui8Ylt(MqYABZr=Hw7{RLIApIC!j%`NiW7ztpbJ;dZero)kGYj}n)i!y zO9(Ztb^=tz?e}pXT{U(f^nQ*Q!M!+WuB6OCJVq{;2NhwehW-nQyJWA` z(9GzLRNge0qb@V)YqAQIxfZNrHrPsv82OT>>QMk6oWTH5bNRiASpL?`QrApPC8}`4 zry|PLl*CF>PtAIM3r;~VGm|BGGPH-V=zNm(OHcV~kQkTcmTi=Dvv9tJVb4#)nRY|# zd9Hv3I;T%$3EXs6{PbJ_Kbx9DB@mQa4v2}3d8CnpQ~-_dqkiA)kSk#7*AJ(c=CNsp4RG)WW%{<=W#R+2%#Ey)#Q`r71}_85kspH4t3`3u_vm zGSI7&@<&PPVgIr>zW`FEsYLVupe2Fa-~!#zxGB26%0%MYW>mG~rvzxi>O1JJ02G?r zs8$T_giM9i>jbPXEF{W#C~qa!qFLSC9!cB^T??iK?h4hqOuGtrIE&z&!CKsJfi&4K znJ)0~&U31l7&zAsrp7(`4;YMk#gB|?MX{9HZ|Ku_Ug$Xmtls>pdc@>TbIGNJov>2H z-;b2?rZv>e|A|vP{-JbIc6W@xcI~O%8B+q-f{+T`L?Cs376P;5lSG1mq2jo8K5h5~ zQlQC(<$d%G*H!rl*SmW`&Ung+FZ!2WrD44E5vt*p(6vA&YHvqijE!~@E=*HskgW|r z&bY0~duih($5=S-uiLQxj|kUiLAy<-6@vPVqCYp!RmH?|Yrl$8eu8-hmI{(xN#J`E zk7On_BRB*rof9VvOjw15UOKLQ+vgM9`aWbr8>(U5syE7j&eny&Wf!^&>$3FuAoitk zwkNyzyzDlyP(h@&JY%s*VYmp;qG(J0{s^<52eL;ZAO%3Gu}Db9Acjf~IBjr--1!bUNDUj=ivC(pkNryRfi>kK{V77wkXWWx!4a5$Yn; zWH%i%W2g1ku73si#ryIXcDH22Q96_`=FJUC3QyxQ@g}AyI4<*uiApa`P@>+@kYaU* zLyfp6!zY$TrwJrI2du-s^=Sc(Jf`noq!Xk7!Ui_p6UfHD@jk|O_`!woO-?&dCk~c% zjTU&JwzEOLvxT%num4RyK6x9c6ZjM%vgKYz`@x7}QZYI93xLA@>>MfMkd<*DR~P=a z7LQ)BEj5>g&5gO|ps7*mUyvh0W}n@0lF8y>}2;@)^x;j2JrM z6IW>i3I?xW)@-kCee&MPX~Fu-C7ddba~`$O#g6c3Vx`Hd_Si)aKptfx8d$hEfh%hg z@FUa9mq{dN8vGoFe)QTo*~!we>9!+!6M>5Sqk5gPgIZcl^p;BGad;V>UF3P8Zlo}m z*6QGlAzP66$Du|-)~J~{V^V$m3*t(Vy05tUZWhPq2c&}>jY=Kn?}HIt6iLKPlf$>J zzXzNgOr%|14#$gAovcR}$OIBALZsmDLgC+2j#d*050B&q&%Sl9`IaX{Lwbw5(J5JOx{XKDrUqr9l>5cm%slVwg3AR)G12{!Nc=m*8gO znwDLfps1~jm>Jyd*EF=H55CBJsQdlwRGnDe%d$~RE~L$yfj_b02rKYDd>jWxJJM#T z{31zD#d$6~%Eh_jdTACl>=xUdbNhX7hMX&l1@L~vM9OzDju*sgt87}`8blna9HDgq z^7Ke#QF=EkWbud_py9xaX;3VnuGfj#*2dv-G*wVVQa9i=Ev?{R$EpW)BT9{)bH14w zFNz9RY;JYos5PXjZH&9td28;7ktmp*j^uNegq3jizU|&#${Vi<-nHpFzI$}@_XNTU z+>L1^s!5_k*QBu-m=EH)jCdH(?tZK1Y)O}jRl^hn8{EJKWQFn)tKIq%g;4Yl@7IG5 z=Wuvk1@otIBr3ma6k{#uv#F^9ae|gUG>Dx*MbJ@tKv!MPef;=FeoJd*G0Jq;>ElDE z*1G$74HUxn;67Vx*lPIxikeJ&t4BK`s@l377(`6%P`a}TAj3uRYm-k2BYP^UvYw==sYk&jv>jW0Y&Cq%nDyUBOZj1FI28+yG*jzDZ zNK=99}^fK@VRPWtB@bZ#t4g1;f^0(Pyn!W+Eb&Xn3)xL@T9N zP-M&uPWicWB&JkQ%zzm7;hpjA6ZjX-B4x?_NTHl5J;2v=?c?nSC5)lo^}_gX1M~m~ z;_04_aym#}+YB*hK(-0e9}Y(7Ufi{{?(S4jfCRQuiTEyHl#2`RwP4`z$I>8-E!_bkafS`1Gkp7QAFq!@7)*KU5Nr0H^7ox*H?8^5 z2X}|*QM?p#uj_A^f77A$(p?8_7R2D-zCRPybOTYdAfkEGs#!avH>b~-lk~ReAE<{a zYxCz_lw0Cvy%YX+j8j9?A?IcMe#jiUe|`9zhE0Mn zxF~rjOttWNg3JDn|4Q9XZw^MZbM)Tp} zLsRFw%tK`NaJ~;Vrkjy$n}>>v*)HO~uuI4;_3^^SEni|!SCxdblx)}LkRU62Dyc#1 zNwiQ!>N{9$WEe$n&5GUpRs#eYt%Rm87Y}|ty%|@{Laedrz(&4Y3Q1KYqO1MX-|F~_ zL;qs(bRxInFx};Bdwa5P|GVwNuu0KH>Sf8dg0U;80efDFsZx@&9%Fjf4>GjJel~a& z0p}gIzoTXqIZz~gFo?u-R-T}Y{0=kETgr~!hpNUE)onJkPeP1BY*w0&xF1e^g$Fwh z>N|W^z+1X$eoruIkYSdoKusbL={0jzW~IKZfr=YppI5d3G&MmY8)KPXSjMeX0B)nNDlkG95;}1G7q6VuEoS7B;Oj_6`#?Z^R7sTi! zy{VpBrHUZj0olIbMV;xE!NUIN3xvawiHNF~e!~Y;=KOP=(c;KUVU_p2mvG_t&B$^B zqR3e4l6OBVeP+=Y9(T+i&gw)a#1shMmI*KEs*ofDRV0|6>waSrlRwx_xO)?@gg_C54r}q``UW4lG z0dqu}Y(!jY;o6lPVoJ++I^`0cjfxI@h>+%IA9az@h~7l&hUgl<++*0z6@0W^N}6@C zL$kApW~9)6t*>~$+O8s%x4X=O|Y9D zrJA~f3t0|YJL{xmSIO+9GWdKNwW#P6N0FOih0I#vqn9)} z@;G6Y4DnvFNs3$xk5*A3r6c1wU;DnGIaj8LBYlz)N3R2bg@`ZO&zm%!tyJlBxM6w6 zh1ijC;AZp3=SXJ6Xs^4WYP;|JQ;)e-#$qy_4msz@?vU08*vE&MF!7-Vl9+-Huy)dWD4q_zW zr~O38#h9@`vl}PboihvBgDvdz(Y%~{ajYjth|5Xz=4q%&!hBJMeub zbmAwn4}aJ8=2K3d@UEJe3*$Ws%22(2oFZ-93aUZ5eTJgA-(@h8rQ=t3u_bGx$1bto zJ|$GLXg10d^PAI1DWydS{&j0ma>35At0{f=F!Qy z`B@Dr5refl?n|dEF>r=0dj_RjL%nD*@^OR#T3~!O6E{FB2Z?zx;cUV04TDJUmpb42 z$@+$8@k3)1MXmH1HOy59RYpg|wQ5tZ`(oP*tywpWqnIh1Bh9FbR?ItX?9S_G-%VP& zUvoG#;_0K|wqHRMz2hC%TjR+bLSMKeD_GEjmuzj&zU|(eb(1ob@r>6uBv14-d>N}8 zCLx4Ko!|$_op{{^2svEort#Uc#$Qu1iw#o(^m>IKRM?M})ZtqXn_E>cm$0yomKtml%5zV8g})uwOsI;oSxhUcZP zwFc?(zy%L_%9izL3_#PnN&Eo)H2>*PXIzFkd3k5!~XsVNkk9AJd+RJe+Vk_{A6PvD4BM@7CkKTu98d zD)Ou%(FoQcIF9@FtafqP$VO$A<|nq)kF8vvPQ*?#gGRrgL5{|Poy5*2+MjIiis@D7 z!#HiH!Z=G$Q{=Wzm(#sQyq~EZTPqf6MP;ByosGF>&rv98LJ^0#J>WB`9IpU=Z1 zkgrAgB&lXYzX$#Jz(K5O{Buz9U{EMcXoN(bJRoIr|Ec+1a7C*mEVP?@2ZJKPJJRCJ z?j~z-3!8EDO_?m1hk%k}okz+Us{|q~PME#UaDrWHoy)Em1W*4kJC(7fGzrMVn(>MC zb4sj*zcWQ-GHJ2T$+CTkV6TY}8pGkTG7*i4=Kvfsa!K49HN2#&qJ#k0637|b zK^GwRi|ef~QuEqxj3TI8-Gik%l0KOw|2u(rr_yR3|G64oj$R0UnR{R8;Xyk4|jH{>no*@hTXvPNn zF9z?{Um#=URHM0{4{o^SRh%t#?3$bdx8AU~-fyi>57td$le3NegZ;?Ybws`4r9z?A z?|-#59=3*F__`AKxFFs8;wDD4jJZE+*ZdUWn)%@(l9=o$y8OX~hK1=H$uv$@BH?Gd zlkAko>)Zu1wJU8epthA?gvEY@TPczXZqKnh=X@|RfU;H2Z^g;DS0#1VAb8O-r!?Zl z%#rnRG@}5kwKv2~$=(vAppw|^)O7JvkaxoK6fj9%4fBI{;Y+E`=PdqdS(L_K7UG@{ zClCePgi~&uvdGAtbilg-^vR?tKOvpk-AZ-TNJQSTo)vZ<`fA)G3;iO&!Mg857vSm$ zL>@G3d&Zm_To@urs0=vXHi2b~O8T^ks4>jD9$Uv$tU{^1U^O|aI3>iCsu6bH4t{xq ztf9(+&~VdF`VZ_KH@9D?-8tr_sud}rSVI!mtPN(tyo$ax1B63l@`GL(GTuc+9(IGy z?ybI5L8Y5sUOng?Vs0lalj!wY4?IF#9F#PH1ZVh8tt%0thOZCi^q5e$Kg0q*JApn8 zeXB4Mmsl&?wWlDadU)61f6`SY`6^;V4K)(%ySCP5QLE%J>%_bD%{ss}f}MRM|7H86 zr}}HmLR9pE2MToe&{1lGcNe4#HPtMlA_Bih+>BD%jXzc|oK*%wTT+1O3=7RQ9BfgI z`Gl5{NXO~mA~{$UGl6a!kTxpBg>fk*!BpvyFVNDU>>Sln*Hta;6AA+n;@gG8+K;1A z+sD!BF?^ocRB43Yg1K2Z4`z=Pw=RA0Poq7{)IfHM`h(oL& z(6;g7PNC;KDwzxrzk6jgeh{;V#|B4U(r}&J{Ln^;^f{=jL(H;w_p%DGc zlHTA$avrvBxcdaQ8$2QSw~h5x|q@(=dRG<2wZDCeLN5XUL%f zgF`r^MWsZ=xD=>4I5Wsy8vrp0 zfP{p|2|@&c_Cz|OL_87PKQ{S$A5{p#2@dr_LSdd9r~5kIf!#yOb8(#t{d4@N6A5+x zSIHCcm#q_nfYS^>TvQD3Uo;2``afu=ng2-xJN@Iz>mJUdh0g7{woKgWK>Tm6^7&%vJvr>zGX zLQxQROI7GeLw~rC0|EXs@hedU<_?3KcsV*jP7C`^`6=`(`n!zP|C0GB@e>j31Vr4s za~I--{ON6-ytD7$zOthW;HNMM@SkYV$(I1sgMp#WXjMlfL_tDKTuMY-Ttq_FR9p@y zE)KjQ2?G3r`Kf}_j0zm$h=jpSVK8@v?=Cz}mmHF!e=&c~|3w7>PN(RnsroUp-=ilp zt3Z9C`S<)QP!|?mLXwePRMk>dGIc#SXk+!{_Did8Lk;*Df|TT_D{~(=v|7lzr;<`b zE{?J9Vs_3#n~LCBwt}FJTcL>(X7#FUhH18zYFEga1nCV0g7~lTr6#VAg6m z>#Wz3)+HV}1ef)hPn-V!o^v-4%c%|AZyfelXV!O)k6=f~&8h3pf)kM+p5lh;oS<2c zJa|y{*Y9njM6uNtg58FslDXC?vd z+&p#F-0$UVb{3~Bx1We!je4{aS`^T@5pza1_R$&#?s@xG(8_hB&Uz6afY>&vOkp5V zoj>fx2H$)m%}mOSZv(MJY`F*S`S;M!NSCPuyGdxhvP7xPunaE@v&fS&vb*2cnF)nG z^qO?*&)d|H+DtP3ebv==v4Kz;=CFbDI=$wa*MXUwXnQR(89J z%F@c9?_G~(P5TKl62@ON)t_TSOav3UMpP&_JBC~;HgcQ!8K|c==T$Uw$GiyV8{8Qb zeZA@J{2nsKT=QkUE@VM$$;D4yjMv!Zf9q&P^eHsqM-`MH)~0AT{LuKa)}^;~5H-r+ zA#JkQ9gNHorGCS|WO$?KYFFTI)%Dn;Qy*xHCIAs6 zCOY;RY|Lx7k(zrpxq#&zG|f!24G}jO;|NAFr7>T1=no>~G-he#80TePS=eaa-B`Wx zfaNw86mvCwEhK3{Sg9tp*7a6y4C`e9mj{)m{GJG=LALNhWJ|9IFMXXd0%wCA<(8UlEx3^qpB75|4>ylCK6cea%}#yZG$(DP zwf1D~(OuadM}*NCg~0QqWg7W;S}dQ)F1=$`;F*Y*SkY(etT+a?HONG*ODcBWgtf$g za0a}j=+Jm+>hM23&MM;k6hAHzeD+#BQIU1v)SKSpy-zFbpj#bQ zbEJZeshm3svig7nyZG=NhuG%1GML+2Cw;30N0w+EHlDsG#g9;9SPX|bRY&J2IK^F8 zUojQYZ4`ftz|c8U{Is{^kKd?eSzIq6aFOVbtF{u#?X2dv#BSzI&+zT7v4A4FRGLT( z+>e@gbR^6)5|gLFYSkL^U+Np}EV-1lQ!A%rkKp5F>b;2kn8mgtMI~|jwru;a)aIpg zA+~9F(s^LJpuyB7D*i=GF~9Gq>1y_7R(?`n4*p=DpYG!!m94%Lb{$2HpD5lxggxa9 z;c=QzeRa7vhK?Biz^*NziFAoIHzaMxr5rIFRZs*wupD9Lt75TD(}m}-Gk@r$Z`~(< zi&{#@tN_yFb(+6L78R=xb#8wgfA^f2#l}Z;K)GIA3Ampc4@(PU@Fu?Vo@w?^xu6j+ zUygiM;!nRkMl>DHUq6NqoQ0_N(Hw^it9qS1cu8)h@_hFtKc|-7x>29* z*RFFTJ(}c#^&D}!x|RuBwMxP;w5FJl!BWO#SN{TSfR5!*uw26KR8H3GzU?}>6iH<8 zg7B0Du+5FUJ#PM+WKEd5YSaa%BkAYEg2J+zi-^QOM!j~|bi>}r5=kwr9>dlCQjry* z0$6Ryc8w7#nakETe7&6=?rdEIxS5KFT8fQxf2Y9XDu~U?78~FpTPXcv)(6YPK@rRn zj40E}rxHBiPLQZ<2o;L%5Renm4aXW!Y|}0)ee?FR;k#erCgeAYe)@ZQbu|CO3VVQY z!4|G0o*?Yu(|VNo`DS zN!r!}K`q9i=eS>ylcO)%IkUIvzcTCAqI_?xZ>}-M#K6?=)N1#+#$;|hx`v)~O`@iT zbhh7t7O#g`fdCq#S=I>%mw4L$c>M8Bb1rxy9dZd9wWQ22JRFX5{U zcGorVut?zHod1!{uwysyQ`^;7HU5-$4@8nz!exD2f_)P!AuIzPJU3rZxx|OQm)CT{ z*V>8U>_&+e>4ZMLNBUK3Q#D6g*>0H^rMnKs$7s~qWdDq^toOUx(s(z)%DkX^+c_L? zSDXI%PJqcCYs7-N*gpB4?<^k|h#`Os8+L zocvf{^K3t#4>S^>D{bsxHhLG!1;DGaAIC|D!ZgeH(F{E?dDw{u55Tw6G??(RNMifT zw0WY@W%K)<9V!N(h_hIJq~8L8zdR1Cx=NLyYb2GW7Z;9-$Vcgffwl6$b5$+XfWmM1 zBi=E}e78^K#%gq$2!{LfbuCq_D=|$`=X9PqE}cn1quwRd$v10hoS(K$xiam?IKWGL zzn1l}#>xcW=7V9``JPF=K>yB#?Jo@#xw#!2@r6r9cJi2ACBX|amZh1ES+SpTxn3_q z*QW<-Z5f8EEDsE1C zb_wBYmqEIEVl-4Zs@F8m30i%ek~qrt=1Ea5S(%`QeGwH269br5+_mMbC)e9Q70qgn zy(o!#Cc!jy?CkLLs;MUyeg(+1c$Ra6cFYhxHf36BD?WY+&ruWIG=0m-C0Dz*yjb0^ zkuh7^nzvVzBsCdIkG?GR?DxCs)@mW2vRiUi?F)^}yH~ULae={~GvK$i9S-%iOc-dw zsDuPB9TNUf0k;K9g6k~@#LBX9(x@$av+P_{AdwLVu4mws)S8e(7q)r!bfUor5<``$ zz4H#-A!vPZDO)89MBv$Oc~*9T#@eu+iBaRFZIEm)X3|}!Cxu~IVemyYFSlAHa$f9_ z@V)Xd=yerCp2Dxl!snSv6nFjZRS4S{`B;NFhBI|rmmBCOTfdp|pn}YWz`Kb6N@zQr z$4Doe-%&yx`!?!hezF=kwJE11uab(UpJ)0Hh|+xpsc&`9GoL-($D-O)AUThOWg@+T zTyD4tiQ~L>U2qKjo%ds8#{6zcZi$CC^6q0kJGPA6(RzAd&r!5!9W{Xm^va^NPp!>0?N1iW#M7I&&Byh9~7A zThy0>2@s4E=WaVE(WQNjh>f`NH z|3g}uw~aA}J|yag#FRPp#?pr8F6c7xj4ANdffQ?a`38f2(;i^885LN5p`P^ZK|vu* z_05M}DU>9zQ6}5JQzcP4;I}ww>1(m*4|)bEhTt<_#O2IlXtipBB+tlt zE`I3iTvhNp&xmb_TFW=!!1q?Z|KbK%+_68T9k3T~&Wy|6MFjdp-;oyzWwl;*oUOgi z^r$^oCv*Saf_{~hB zdKxZ><@*cB&xBd+Fl;tsFw%@r^}vZL?Q;(!-=VS;W+tN?!Ps%L{R-+^ z3%0WJYaDn8|MrS?RbiXXb1yYN|8PJrj(Xp)T`#X;Z!i&W>^Vx$_7;}Kx7|Au&ohg| zXf?)W9c7@e3zZ|sRw_OaJuF9e&y5eJ;qO%_igrCoJ`a!k>>OKX-Wt$%cnya51PS;s zu*QYM6fxapE+)=8HARoI`dc)5uXQl{^?pMvc0gyEeVK!sWeGTn!HNeoDVpV?%FZk- zBU3=eDn^lZ^810c(yRoL35UIfr2@C4GdLeA9orSN3l_UkrXqvhnM7VjWQRv0xuFFfr^+Mi|H&?Gy=QT{tM{|q$Q1yp{Icq6~V^gl6q=kvxA_ZYz=G@quVs}|Pl1Q&o zpy;usNo%$_RBb1E5SiF+)I=D6G}|pCN-}Jw z?(s&K$Z$HR_f1xoO2i?K`MHSz^{<=xH)VnT@iedTJ_hKj%X+BftLeEKHquPVv;yJ> z!hDTF-2iGedHHF)*Q^Ok#~kRzP~l8=32J=00>3kgD4qA#zhR%{Q}=3$HoEE^a;G@= zNNRgK(J&*HZ?(JbAh&u$|K{EXocH(`ClF>0fq0GG69!-wqoDMyw%YTKp2j?b^A1A( ykqs1zC8!xLx}|GP1DwP;is?L(Or?Dph literal 0 HcmV?d00001 diff --git a/Sample/Sample/Images.xcassets/AppIcon.appiconset/intercomicon80.png b/Sample/Sample/Images.xcassets/AppIcon.appiconset/intercomicon80.png new file mode 100644 index 0000000000000000000000000000000000000000..3f544cc51d9dbbb042f79e2bfea0b8621dd89624 GIT binary patch literal 7054 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 Tfgj*sKgm=S!1Bei79sx!;YZ>+ literal 0 HcmV?d00001 diff --git a/Sample/Sample/Images.xcassets/AppIcon.appiconset/intercomicon87.png b/Sample/Sample/Images.xcassets/AppIcon.appiconset/intercomicon87.png new file mode 100644 index 0000000000000000000000000000000000000000..381ed2970ab13f7fdeb95533927cd281b2ecf2bf GIT binary patch literal 7088 zcmZ`;byQUC_8yRsl2kzH?vfmap}V_dfFXq$hoNym5D+P4gaIT(T2cfFl~Qsj0Rcg} zK~lQ>f!}xU_4loN&srzmXYXe}d++n^Kh8Qa272mb#J7n7005b$hKkYU-TdmjPH=g> z-}&v{j~-p8o&3IC@ff3cKdUT_4| z$LEp;miU|UC-zT&i~q=grT(SyC-_f-KEnO7Qpi1+2Z~5N@{sjLZT(ur( z;2r?IXQASL+0frrNK1i)|EuAjL}l1L7{VA1ae`hY_M7qt^iS{KGM4{K<`2UkL}w?U zkFTQ#)Cu{=+q!&bzxTcp#8vnY7$p2(y+M~d0jLXec6SL>fgqt^F%eO5K~YgbF)0&K zX`rYmQ1UKF_#ZxhWN>9sMnEA*7{UYwy9fSVh1b=R<*v}*%s=gaQ$fO4Q}oAF{WY?` z(aV_y6JKinYyQE+Mhz7+001qwri!9T0M3Rj(Q}ipX&2KaHHT#Bwq}%gRw`_%3XiP^ zoWr@CQex0)(&;j}%hGELPi4|mS?6Q!YS~c9rIWhA+XI#uB!a}(r0>(xHnVgV;0`)q zZ%pcL*-pIJdT&~L^0mbLYsC`}gE=>9(I(Ceir%F|D+ZMep_BH zmmMD1GC2Sd+>YI6&z`nmi5lh%gNi3TJ#qz@aJzxS7_O%~Qh92R&xx+@r_$B-mrL6D z53YUSud^25r`t-}iiMuXPP@h>s0qe&%ykCcCQCmo6q6)X4nYAJML2HN9z21Z^_cUL z_ld+kHl7uLPp?Oy7b5A!{Jt>2On0($H`+y_E`j;^doh#ZLROCkjKHv5{<{vX= zkiu(WwMrl3V`Oo0ey&|ShPJZ-BqLg<_WIrRJTG3_D=D&5#&c~7%eq}`4;#m$;^XYO z>HMWQ%D3s4OwZ2&lIc}r)H6gY4~FIT5l)KQl%iJp8U_Sz$D&(l=KD7=x)gI#R!^%n z)~#|$9?S*fg(t*0X~NlX&(q{*FvEE9UDS=>MC-XqQam&tJRx5(qbTqpif(s{n*XBg z+dhs&7jM@{tz}ICEBWcQ-Q=vzm6+z_@ZuQ9`Ee;|Z;7zR`SvVg)4Y+Dj9m?P;a(bU zOBjPpoxL4u>At%hQe#Q5K_R^lOh^rzdxT?SM@ccZ_%`N|4az0+OZj&t6GvTW0Zfs@ zvr!f$P3Z6j_TebwJK|ivvoU4TLMy#$DcRh4wP{-L(`|JZfnRk3z&ig5fu^0Hz*+L9 z4k{3ZuLi+-h3%n&K`T{rH zccmF@`Q~hy*aBCvIV*J6Fz~GD;@T}QKCDaNV5_caU(lfFc2ubas$@mI&e+)zb-(=r^zF73IK)~++R7X7kNc_ck4o0?~ldiN-Te_{4Cly^h@ z2KMt%0ail3QMJ#iPUF@2H?+w!KC&yJ<|DktnMY1E18B=^1#{ZettHDo$UWSm3(os+!mJMXp{QRN%m zHIV%~T6#Kil9mJ~@byt``W=pP7m)X{cF6p5ss;K_5Ph>|uXwc~+0UhGIXoH%m(CyoAa2QnHx)MQH$GB84eZ|ZbonP*k4eJXC_#>>$_4+tclCF|LB*HUV!KG zRz2mfhMzZ{FP%h(n}#-EMyv1zg7Yb_TOLE3Z0vg2so(!{z~oS)COZHHACb-*{I|ZkqN9-^K(Fwy5C(_E|gB5%Fu&0J1KpZO@x+W6c}#&aCRO>qj=e zbeG6X@TvK-SK6<>o`+R0IjySw0IPDWR;gqHII;4fytbnu;SC0E^zenYL!r^}bD!LOt*v|O&s{5n zxX+)~MTT@s<4e=;Dsxu2Vi&s%g;?uE-b|YYPmzIS1=oFczIw&xkACpk84cM$3Sesn z9Bsi2ogGX`iHzggi2NFkxXJLhcFT#$DH{^P!9UtZH9h;^f0;P`He}~E>Ba!f5;WhB zm-p`Hk!F^IGUxTvRtx35DV!W%3FV6kuZA%3VJ z(%V$kKmfHzI|N$pcF_!v1?CfZ5e0vg^J3TJ-q`O$rgx^m2UkACb7T(t0+-MdieYtt z69Zw!BH^o$ibLeLg8fPApkInuLj!x|yHcDI-O60`e^%;iSD`-6FI)r7anoL+>L;$MTu}$aL94Lidlj6wffv$QOguF z>{6Ez?388EUL8bD)#cQ|Y!r3U?&_C++^`Eov{ek>kwCkMch#0R8FrU=d?jXAo?z{s zL5sd_;>S#Knby=)`C!#P=!3L`j$7pUj(L_1@aCTQvx%^>iPG49cDU&Zi65)p29-w0 zih_3B89;zLrf(~BIXjzYu~>Q&dMqPGRxqSKQ>ZQOJYL2(>ic#HVSa7NP1!O&qDNSG zge?$BY@lLCFJN)%e>nFgSjSTWM_X>fWPGzS?;&nMlTPc`?=6afmxj+ zab(d^2d@b4or_mG$+9%dLoo}=4ICQ)MbdM``R#J=&ni*9trQjl+#xT$~EF%If#qSMa({?i&p!b!u+k%aL-^Bcevo&sQ zN9__l06Gc2A0pPU?^d{2OkNz6b}7AQ|LYx+*{ehLRx+XmI-Oi${~+Q>=_UnAftag9 zFI`~LOWk>^Jaa&Rb-qv!&5uHq#AOBn<$oA!?brmaPH1Uw;J8HNtmN=y=@2HA8jtRJ zT{AM~u*0h*m9!)AH;jx8jLM-&lS-<%sNMV~C^#W`?T1I2$WMWtd5$L|OQd=6`}>{c zz3X{}CCcr(nY{Z>?S*QO(GB9qG^9`HZ?O(W&W6&M3k#%BRZZzRjkVOoDzIqMwNjMs zSsIZ&RW3H&F$n+hiC-(^JoW)xsi#(ZuH+YrVZcxi#l^BY*Kg?Cqj*gXa4Py;c2-}O z(zCW~J(F<}WIaH3!h&R`V{D7Dzz3A8#EO+BtV)V^0{z5<4@PSd zzr^oTw00Byw!`Kr8!FY(Q+#kvD_^@ zDa2tm1bUDUg;5y3p~MnTh!@|?F!!@eV9$$ zO*l*LszFWIh0>s88(_KK;>%N_WYV~k;ZM2q38J7wa<*xcKmjCD1#>L;7jI;xcIQv>yNj(-{L-f-S8$ZjrYE^ADlJ0ipgW`I?Wibc=A#kYq2ub0glzK_B&m!3{Zx` z7e~v22*Ki5qq8JSGPj1oX9N3wSvRQkzd7MzCJaJ!wLX?@c7&(47C}w2$}<(dX-e=| z@g|Q(`n8$>d$EdWA%Ayt#p8-mBW_e*%5sy9EccPO?=#X^0*n%paZ1>e*_Jn0evBix zQaSy2ky8xOO^T}1A#zcaCNlx&Bfj1&HWu=;T=aOPK<;gIRPr@vX`^bftuPNdBrEpg zd6(GMgt^106s3c!#J-6EO`Wt&s|v+4*R7+N(!d4zFV8sFcMjvHC%JWLAK1FsRH~@y z!;(B0+8wC#OY1Fg4}f)h+WN86+I{=Qu~w#=R7zMjw_=IrMw@i6WFFC(Q){A*EN z;myr8o`R6I%!)LLR-Wn<0k;>`fGUlZVW~cWZJxuxHptZsD>z?I55m;@w)C zzoTFI15?|UT`hVEuavlKIs0~rOwLa`$1UTAxskW1cu05^Xqo|5I5*0!18d&$7r{H2 zQL@UG9FFDFsd}htFxw>E=Emtk*KDF+XUB_?u1zveXL7*CIw;-PELgR!)Mm+c*L+YK zUp*CnP8l4qpc6O!qe^n-=^3e&0jr|r<2~%AgfLd^==GtQoG_u4U$9FHby?LKFih6$ zwn*S`;tLjE4Rfi4q}T0g#dtHbuYpJJiI3EAnE?R`w5XITZxN_UJ?zdVUL=xq-(SpB%vK1{UY=%%bP()&0z=Mis%t39#*FJRmeYC?(>FS5}f-ZY5k4bBAA&a-n z4)?pI;?qg zj!q_vLKuxZirXQe4P!e~L5U*{|M|~DfE62=#kjZmOlY?{6y4b?{bQpbN(uLrSH|1d z&F2(~^ivYg(cg=H>|x%Q`po)gx0;vo)!(Ck^0GO~bjWx6bAHoX(}o)m+>?MphW5Ud znZ6AVF}9h^X!2IfT&(`~#2J&|dC~bY(^-eMN80E7BxXJNxQ^u40E@{YQ6pK$QqmXF z_@3*5DT30WZ23-{)zOFuHI=P_sJ zJlRvS3#lJ&Wi3tLtL!66F`aWi;L`~qqbe`^^z(W$pq_x*5MPo6!~xJ3njK)3kMg)F z3ZZ>+?R^_rNC|B~mDl*Eshu2OFjv8^hoDc<-9bLYB)o&+02-_MbPmcAhYJ0ht3=Tw zMT2-$t9$8m$Mf`VH55N7E~2xxzKiq*#5^eU4L50@>_rIDoZ?66y$s8r9avKsun95< zpUCrPmGM?xD{bXwxFi3;`@{XjO^XSF-KgZ|UtD3Iwa#q3cJwl6Z~%i(GBJ|^dU+Y$ z{ap6WR`k>C&QT9u@rRiop6n4;_Ed(K=YmQ(shQ^$u1q=?BiRlGavRJVVZ%x!s*o z4Q5pRWj%}buej~%%#1s+O-Ey+`~F@U)XbhY7fvBb5}&?3+`CAbEspa;-wTjR6^B&= ujc$v8TGfcU3KFKf8=+WIp%VhKU*vUp?@o4X8V;_0qiL$@sgx@@g#RB6O9N5> literal 0 HcmV?d00001 diff --git a/Sample/Sample/Images.xcassets/LaunchImage.launchimage/Contents.json b/Sample/Sample/Images.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 00000000..5b72f0d9 --- /dev/null +++ b/Sample/Sample/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,50 @@ +{ + "images" : [ + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "736h", + "filename" : "launch55.png", + "minimum-system-version" : "8.0", + "orientation" : "portrait", + "scale" : "3x" + }, + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "667h", + "filename" : "launch47.png", + "minimum-system-version" : "8.0", + "orientation" : "portrait", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "filename" : "Splash.png", + "scale" : "2x" + }, + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "retina4", + "filename" : "Default@2x.png", + "minimum-system-version" : "7.0", + "orientation" : "portrait", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "filename" : "Splash-1.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Sample/Sample/Images.xcassets/LaunchImage.launchimage/Default@2x.png b/Sample/Sample/Images.xcassets/LaunchImage.launchimage/Default@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0dcd92e98a975bd058bd139f32f6ee7570c3a0c9 GIT binary patch literal 12842 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 BKa&6e literal 0 HcmV?d00001 diff --git a/Sample/Sample/Images.xcassets/LaunchImage.launchimage/launch47.png b/Sample/Sample/Images.xcassets/LaunchImage.launchimage/launch47.png new file mode 100644 index 0000000000000000000000000000000000000000..623fb4cb7f8caa56f353ea14c001b3d761d92c56 GIT binary patch literal 16997 zcmeHPO=uHA6rQ9lCaKjzKvW7Y5iA9>yGa^Lmt>7iYFkKuOe&-x*loM9OOx!fyCvI; zR4GWI$BI>|2a$pZMGuMx548smRYWh|MFfA)qFw|&I5V3zYi#cxULa)V&HHBFOy=k9 z_a>Pi8t7^A9rhuFn)-TE8HC(l5o$Q$abrpM!#ij2hs((HbfMLkEgx~ltM!f;2sQf2 z+l6i{A4I6`o-&*>bNy*yTrINFggPd(R#C&+2*oS`CyTNvF;=lqG6X9gpc(>B6EPQH zsERoi59IoXn53%9Oq6YB`GDwS7$&AqPgAQxUOiXqLvs^uQaAkoAE$^G_?Jy*jd!J8!8!< zUg7?6mZWhZmgjZ?nM%HD-d`wEvMWrslwDw?#D>wqux*Ut5f%E?2_-+1l1y0)^Py;v zj|M}L;ZQ{2qe4eC#?|Oldq~kqU6xE$A6C_ZIHXu|p-8e!gpIIa8|&0?fJr}uL0ysY z0Fz-9Lox0jS*?CjEo!=K7(^eNM)jStTK$Y{sD)`#{n?UYir69wsS($rMylmv#}>vZ ztOewD0yu>Z0Qn*WI#RimQj|-yFC9@n#_d>Ai%hBoRnKbDxJ(9&LL8!6ZQ9OAwVhBT z((Y`?QB;A(I5M3b)7xGeR61`ts(f7x8=R9z6QB zx%?`$Z_&H3d}Z@ROV2EFx$8a6lfEbU!d-7OlOTfgYm49ZU@6Wea%+p;Ypnv+Vn#Q9 z+KB{nd~{>(x&NjO=jGpaf@wa$%j@sw2kd&6!WSzIcp8_&Z@;HnY5n!-LnrNoXRaZA zU7NY>w;NtrIASO2*WD}W$FbKHi?Yx5S4@*!*<*pKbHAgC^+< zlfdTJf%zU7eL9(7@{qLvOPB6Mu=9|O6gEzJjKQ%*PhmK9!D#@O4LnZp_u+Ac90=er zgToAu>cBJ*uLyV^N^Aj5MW_^D*(kpV94Dnxz+nc5860MCm?1a>u`O~SfWr(9GsJZv zx&oI1;7$WPEW(8t>=Hm^5h9BaSp=d4h!P-5fG7c?1c(wKO5g@LzIzDQP>D+b*HGaa zD*X5ZqUsP;2ciUs5+F)|C;_4bh!P-5fGGK&iIN=mxk>pk^=Xd$_d{RzKx(yX^zt8p C{Mt7F literal 0 HcmV?d00001 diff --git a/Sample/Sample/Images.xcassets/LaunchImage.launchimage/launch55.png b/Sample/Sample/Images.xcassets/LaunchImage.launchimage/launch55.png new file mode 100644 index 0000000000000000000000000000000000000000..0b746a7819c7d41bac812f207203b95dff1441f1 GIT binary patch literal 41363 zcmeHQPi)&%7=K9v%SsF5&!L(+&C05YOKc};RAMDjx(2c!I@&Hs>4i0GU1lwbBimIx zA*8H3O+pil0|Ew`;Iad%1ZWZ(mq{GhsRC4qia+8qU?2`izy)oBXFK+LPP-#WL%&JW z?C1CS*cWjMp@QdVq--=sfu>1LwggFw-tKWQmuwy zx0-EJu?q>eheD5?W+@@KU98iEM16Knn9&VY$cmGqoG1R+WYFQ+;uIR!E$( ztd1f{-ELRxW<=e1K}zLvIY~}S>2#9zNSbHbR>MxV%|qTz{QHzubJ@^3mZrA_=e~`T z`kGZpB%FbQKmF%yb%KG~X8*0|`$=}ABc()H+D*vPR@vi)q?{{v6;o~PE@I9VPs~+@ z_l$X}QDs(N(N@ot8mj?QSP1Van!av8*~8b49qO!QSpbi)^5DT7H5bh`ZDm%}dUF=H|Dzc-&UHdWysJSM^sS zJvr3-hL94emZxiW=X{)jI5N^b&4LZU+ z!V=;4AZ#PpA^XM%R;1K}r3Hup&;o{JARPu01`-A`pqem{Fpw~iFpw~iK8uErEievX zkYJE-vBJd)7prd^oY(^xBp4(ZWB?MtAi*HPAi*HPAbpSk1{oL!Fi0>+Fi0>+Fi77x zfI%XS5viWYVnr6KpCt_k0vrf%Ai#kD2ZE0g;Xr@`fvYNlfrNpCfrNpCfrNo{1JB4n zKn4Ob5CV({d<1;-ui~SJuUvfG{}uq&9oAi+n<21?z$OBlJ|;(C6M;LU<-H;op`n!MTyOlq=d+J6A8o1E z8~@Ya3Ovp<7Q1_toi*seoX1{MuQKQtkLi$Y)u&=Kf5G$BAhKtPxVfUbeA8MdSw z1(-g^J>d+2zX&chet!VE4uL74YoP1UgaEo`*pdbZ;NC|B1VJLUB!I4gu9*hlyN2%? zzUx2(NP7t7Wgs&InIVJ!iz6~anDs<{5mK;_r50FE5;1 z%`^bVEF80N%>I{-*^jPn-zMb1scLz;#>Pdl11K#hZC?YZDnj8EYSUPuolrsf9)qks zR5+pt6m_z!COvH im`j?XhI=DQ6P-66EBy5FyRXt8lT@EPR^B+WwEhne@q+^Z literal 0 HcmV?d00001 diff --git a/Sample/Sample/Info.plist b/Sample/Sample/Info.plist new file mode 100644 index 00000000..33be0bd5 --- /dev/null +++ b/Sample/Sample/Info.plist @@ -0,0 +1,38 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + io.intercom.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Sample + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Sample/Sample/main.m b/Sample/Sample/main.m new file mode 100644 index 00000000..3c7d5b90 --- /dev/null +++ b/Sample/Sample/main.m @@ -0,0 +1,16 @@ +// +// main.m +// Sample +// +// Created by James Treanor on 13/05/2015. +// Copyright (c) 2015 Intercom. All rights reserved. +// + +#import +#import "ITCAppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([ITCAppDelegate class])); + } +}