删掉多余文件
authorliangzhenying <867174124@qq.com>
Wed, 3 Dec 2025 04:01:48 +0000 (12:01 +0800)
committerliangzhenying <867174124@qq.com>
Wed, 3 Dec 2025 04:01:48 +0000 (12:01 +0800)
769 files changed:
ShenYin/Podfile.lock
ShenYin/Pods/Kingfisher/PrivacyInfo.xcprivacy [moved from document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/IQKeyboardReturnManager/Assets/PrivacyInfo.xcprivacy with 61% similarity]
ShenYin/Pods/MBProgressHUD/PrivacyInfo.xcprivacy [moved from document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardNotification/IQKeyboardNotification/Assets/PrivacyInfo.xcprivacy with 61% similarity]
ShenYin/ShenYin.xcodeproj/project.pbxproj
ShenYin/ShenYin/Api/Config.swift
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk.xcworkspace/contents.xcworkspacedata [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk.xcodeproj/project.pbxproj [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk.xcodeproj/xcshareddata/xcschemes/DeepChordsSdk.xcscheme [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/Any.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/BleSender.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/DCBleManager.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/DCDevice.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/Data.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/Date.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/DeepChordsAiSdk.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/Demo.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/LogManager.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/ReceiveManager.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/Any.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/BleSender.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/DCBleManager.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/DCDevice.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/Data.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/Date.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/DeepChordsAiSdk.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/DeepChordsSdk.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/Demo.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/LogManager.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/ReceiveManager.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarbaustVoiceChatModel.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstAsrConfig.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstAsrModel.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstConfig.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstFileAsrModel.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstOffLineFile.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstPhoneSdk.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstSdk.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstSdkManager.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstStreamModel.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarbusrtSpeaker.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StartburstDecoderConfig.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StartburstGlassChat.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StartburstGlassesSdk.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StartburstMixSdk.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Modules/module.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/PrivacyInfo.xcprivacy [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/StarburstSdk [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeDirectory [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeRequirements [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeRequirements-1 [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeResources [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeSignature [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example.xcodeproj/project.pbxproj [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example.xcodeproj/xcshareddata/xcschemes/DeepChordsSdk.xcscheme [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Assets.xcassets/AccentColor.colorset/Contents.json [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Assets.xcassets/Contents.json [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Base.lproj/LaunchScreen.storyboard [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Base.lproj/Main.storyboard [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/App.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/AppDelegate.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/BaseVC.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/DeviceListVC.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/HomeVC.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/LogVC.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/SceneDelegate.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/SdkLogVC.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/ViewController.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/tools/BleManager.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Podfile.lock [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/IQKeyboardCore/Classes/Constants/IQKeyboardConstants.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/IQKeyboardCore/Classes/IQKeyboardExtended.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/IQKeyboardCore/Classes/IQTextInputView.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/IQKeyboardCore/Classes/UIKitExtensions/UIView+Hierarchy.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/LICENSE [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/README.md [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardAppearanceConfiguration.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardAppearanceManager+Internal.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardAppearanceManager.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardManager+Appearance.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardManager+Appearance_Deprecated.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Configuration/IQActiveConfiguration.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Configuration/IQRootControllerConfiguration.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Configuration/IQScrollViewConfiguration.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Debug/IQKeyboardManager+Debug.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Deprecated/IQKeyboardManager+Deprecated.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+ActiveConfiguration.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Internal.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Position.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIScrollView+IQKeyboardManagerExtension.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIScrollView+IQKeyboardManagerExtensionObjc.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIView+IQKeyboardManagerExtension.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIView+IQKeyboardManagerExtensionObjc.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UICollectionView+IndexPaths.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UITableView+IndexPaths.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UIView+Parent.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UIView+ParentObjc.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UIViewController+ParentContainer.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardToolbarManager/IQKeyboardManager+ToolbarManager.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardToolbarManager/IQKeyboardManager+ToolbarManagerDeprecated.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/PrivacyInfo.xcprivacy [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/IQKeyboardManager+Resign.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/IQKeyboardManager+Resign_Deprecated.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/IQKeyboardResignHandler+Internal.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/IQKeyboardResignHandler.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/UIKItExtensions/UIView+Resign.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/UIKItExtensions/UIView+ResignObjc.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/LICENSE.md [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/README.md [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardNotification/IQKeyboardNotification/Classes/IQKeyboardInfo.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardNotification/IQKeyboardNotification/Classes/IQKeyboardNotification.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardNotification/LICENSE [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardNotification/README.md [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/IQKeyboardReturnManager/Classes/Delegates/IQKeyboardReturnManager+UITextFieldDelegate.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/IQKeyboardReturnManager/Classes/Delegates/IQKeyboardReturnManager+UITextViewDelegate.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/IQKeyboardReturnManager/Classes/IQKeyboardReturnManager.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/IQKeyboardReturnManager/Classes/IQTextInputViewInfoModel.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/LICENSE [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/README.md [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Assets/PrivacyInfo.xcprivacy [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQBarButtonItem/IQBarButtonItem.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQBarButtonItem/IQBarButtonItemConfiguration.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQBarButtonItem/IQInvocation.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQBarButtonItem/IQTitleBarButtonItem.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQKeyboardExtension/UIView+IQKeyboardExtension.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQKeyboardExtension/UIView+IQKeyboardExtensionDeprecated.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQKeyboardExtension/UIView+IQKeyboardExtensionObjc.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQKeyboardToolbar.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/Placeholder/IQKeyboardToolbarPlaceholderConfiguration.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Placeholderable/IQPlaceholderable.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/LICENSE [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/README.md [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Assets/PrivacyInfo.xcprivacy [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Configuration/IQKeyboardToolbarConfiguration.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Constants/IQKeyboardToolbarConstants.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Debug/IQKeyboardToolbarManager+Debug.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/IQDeepResponderContainerView.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/IQKeyboardToolbarManager+Deprecated.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/IQKeyboardToolbarManager+Internal.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/IQKeyboardToolbarManager.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Toolbar/IQKeyboardToolbarManager+Action.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Toolbar/IQKeyboardToolbarManager+Toolbar.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/UIKitExtensions/Array+Sort.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/UIKitExtensions/UIView+Responders.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/UIKitExtensions/UIView+RespondersObjc.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/LICENSE [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/README.md [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/IQTextInputViewNotification/Assets/PrivacyInfo.xcprivacy [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/IQTextInputViewNotification/Classes/IQTextInputViewInfo.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/IQTextInputViewNotification/Classes/IQTextInputViewNotification.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/LICENSE [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/README.md [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/IQTextView/Assets/PrivacyInfo.xcprivacy [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/IQTextView/Classes/IQTextView+Placeholderable.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/IQTextView/Classes/IQTextView.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/LICENSE [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/README.md [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Manifest.lock [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Pods.xcodeproj/project.pbxproj [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/LICENSE [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/README.md [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/Constraint.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintAttributes.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintConfig.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintConstantTarget.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintDSL.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintDescription.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintInsetTarget.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintInsets.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintItem.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMaker.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerEditable.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintPriority.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintRelation.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintView+Extensions.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintView.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintViewDSL.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/Debugging.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/LayoutConstraint.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/LayoutConstraintItem.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/PrivacyInfo.xcprivacy [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/Typealiases.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/LICENSE [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/LICENSE-examples [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/README.md [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Delegate/SRDelegateController.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Delegate/SRDelegateController.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/IOConsumer/SRIOConsumer.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/IOConsumer/SRIOConsumer.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/IOConsumer/SRIOConsumerPool.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/IOConsumer/SRIOConsumerPool.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/NSRunLoop+SRWebSocketPrivate.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/NSURLRequest+SRWebSocketPrivate.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Proxy/SRProxyConnect.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Proxy/SRProxyConnect.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/RunLoop/SRRunLoopThread.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/RunLoop/SRRunLoopThread.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/SRConstants.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/SRConstants.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Security/SRPinningSecurityPolicy.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Security/SRPinningSecurityPolicy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRError.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRError.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRHTTPConnectMessage.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRHTTPConnectMessage.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRHash.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRHash.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRLog.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRLog.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRMutex.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRMutex.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRRandom.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRRandom.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRSIMDHelpers.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRSIMDHelpers.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRURLUtilities.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRURLUtilities.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/NSRunLoop+SRWebSocket.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/NSRunLoop+SRWebSocket.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/NSURLRequest+SRWebSocket.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/NSURLRequest+SRWebSocket.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SRSecurityPolicy.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SRSecurityPolicy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SRWebSocket.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SRWebSocket.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SocketRocket.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore-dummy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore-prefix.pch [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore-umbrella.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore.debug.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore.release.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/ResourceBundle-IQKeyboardCore-IQKeyboardCore-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-dummy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-umbrella.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.debug.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.release.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification-dummy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification-prefix.pch [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification-umbrella.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification.debug.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification.release.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/ResourceBundle-IQKeyboardNotification-IQKeyboardNotification-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-dummy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-prefix.pch [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-umbrella.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager.debug.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager.release.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/ResourceBundle-IQKeyboardReturnManager-IQKeyboardReturnManager-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-dummy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-prefix.pch [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-umbrella.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar.debug.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar.release.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/ResourceBundle-IQKeyboardToolbar-IQKeyboardToolbar-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-dummy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-prefix.pch [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-umbrella.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager.debug.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager.release.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/ResourceBundle-IQKeyboardToolbarManager-IQKeyboardToolbarManager-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-dummy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-prefix.pch [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-umbrella.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification.debug.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification.release.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/ResourceBundle-IQTextInputViewNotification-IQTextInputViewNotification-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView-dummy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView-prefix.pch [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView-umbrella.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView.debug.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView.release.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/ResourceBundle-IQTextView-IQTextView-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-acknowledgements.markdown [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-acknowledgements.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-dummy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-umbrella.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.debug.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.release.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-input-files.xcfilelist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-output-files.xcfilelist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-input-files.xcfilelist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-output-files.xcfilelist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-umbrella.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit-dummy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket-dummy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket-prefix.pch [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket-umbrella.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket.debug.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket.release.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/ResourceBundle-Toast-Swift-Toast-Swift-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-Info.plist [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-dummy.m [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-prefix.pch [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-umbrella.h [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.debug.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.modulemap [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.release.xcconfig [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Toast-Swift/LICENSE [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Toast-Swift/README.md [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Toast-Swift/Toast/Resources/PrivacyInfo.xcprivacy [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Toast-Swift/Toast/Toast.swift [deleted file]
document/DeepChordsSdk_iOS/DeepChordsSdk/podfile [deleted file]
document/DeepChordsSdk_iOS/document/豆包APP自定义协议.txt [deleted file]
document/EZAudio-master/.gitignore [deleted file]
document/EZAudio-master/EZAudio.podspec [deleted file]
document/EZAudio-master/EZAudio.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudio.xcodeproj/project.xcworkspace/contents.xcworkspacedata [deleted file]
document/EZAudio-master/EZAudio.xcodeproj/xcshareddata/xcschemes/EZAudioOSX.xcscheme [deleted file]
document/EZAudio-master/EZAudio.xcodeproj/xcshareddata/xcschemes/EZAudioiOS.xcscheme [deleted file]
document/EZAudio-master/EZAudio/EZAudio.h [deleted file]
document/EZAudio-master/EZAudio/EZAudio.m [deleted file]
document/EZAudio-master/EZAudio/EZAudioDevice.h [deleted file]
document/EZAudio-master/EZAudio/EZAudioDevice.m [deleted file]
document/EZAudio-master/EZAudio/EZAudioDisplayLink.h [deleted file]
document/EZAudio-master/EZAudio/EZAudioDisplayLink.m [deleted file]
document/EZAudio-master/EZAudio/EZAudioFFT.h [deleted file]
document/EZAudio-master/EZAudio/EZAudioFFT.m [deleted file]
document/EZAudio-master/EZAudio/EZAudioFile.h [deleted file]
document/EZAudio-master/EZAudio/EZAudioFile.m [deleted file]
document/EZAudio-master/EZAudio/EZAudioFloatConverter.h [deleted file]
document/EZAudio-master/EZAudio/EZAudioFloatConverter.m [deleted file]
document/EZAudio-master/EZAudio/EZAudioFloatData.h [deleted file]
document/EZAudio-master/EZAudio/EZAudioFloatData.m [deleted file]
document/EZAudio-master/EZAudio/EZAudioOSX.h [deleted file]
document/EZAudio-master/EZAudio/EZAudioPlayer.h [deleted file]
document/EZAudio-master/EZAudio/EZAudioPlayer.m [deleted file]
document/EZAudio-master/EZAudio/EZAudioPlot.h [deleted file]
document/EZAudio-master/EZAudio/EZAudioPlot.m [deleted file]
document/EZAudio-master/EZAudio/EZAudioPlotGL.h [deleted file]
document/EZAudio-master/EZAudio/EZAudioPlotGL.m [deleted file]
document/EZAudio-master/EZAudio/EZAudioUtilities.h [deleted file]
document/EZAudio-master/EZAudio/EZAudioUtilities.m [deleted file]
document/EZAudio-master/EZAudio/EZAudioiOS.h [deleted file]
document/EZAudio-master/EZAudio/EZMicrophone.h [deleted file]
document/EZAudio-master/EZAudio/EZMicrophone.m [deleted file]
document/EZAudio-master/EZAudio/EZOutput.h [deleted file]
document/EZAudio-master/EZAudio/EZOutput.m [deleted file]
document/EZAudio-master/EZAudio/EZPlot.h [deleted file]
document/EZAudio-master/EZAudio/EZPlot.m [deleted file]
document/EZAudio-master/EZAudio/EZRecorder.h [deleted file]
document/EZAudio-master/EZAudio/EZRecorder.m [deleted file]
document/EZAudio-master/EZAudio/Info.plist [deleted file]
document/EZAudio-master/EZAudio/TPCircularBuffer.c [deleted file]
document/EZAudio-master/EZAudio/TPCircularBuffer.h [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj/project.xcworkspace/contents.xcworkspacedata [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Base.lproj/MainMenu.xib [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/ExamplesOSX.xcworkspace/contents.xcworkspacedata [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT.xcodeproj/project.xcworkspace/contents.xcworkspacedata [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_128x128.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_16x16.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_256x256.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_32x32.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_512x512.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Base.lproj/MainMenu.xib [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform.xcodeproj/project.xcworkspace/contents.xcworkspacedata [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Base.lproj/MainMenu.xib [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough.xcodeproj/project.xcworkspace/contents.xcworkspacedata [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_128x128.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_16x16.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_256x256.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_32x32.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_512x512.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Base.lproj/MainMenu.xib [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile.xcodeproj/project.xcworkspace/contents.xcworkspacedata [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_128x128.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_16x16.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_256x256.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_32x32.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_512x512.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Base.lproj/MainMenu.xib [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile.xcodeproj/project.xcworkspace/contents.xcworkspacedata [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_128x128.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_16x16.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_256x256.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_32x32.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_512x512.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Base.lproj/MainMenu.xib [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile.xcodeproj/project.xcworkspace/contents.xcworkspacedata [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_128x128.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_16x16.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_256x256.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_32x32.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_512x512.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Base.lproj/MainMenu.xib [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj/project.xcworkspace/contents.xcworkspacedata [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Base.lproj/LaunchScreen.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Base.lproj/Main.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/ViewController.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/ViewController.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/ExamplesiOS.xcworkspace/contents.xcworkspacedata [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-40.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-72.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-76.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Base.lproj/LaunchScreen.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Base.lproj/Main.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/ViewController.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/ViewController.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Base.lproj/LaunchScreen.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Base.lproj/Main.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/ViewController.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/ViewController.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-40.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-72.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-76.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Base.lproj/LaunchScreen.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Base.lproj/Main.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/ViewController.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/ViewController.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-40.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-72.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-76.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Base.lproj/LaunchScreen.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Base.lproj/Main.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/ViewController.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/ViewController.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-40.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-72.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-76.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Base.lproj/LaunchScreen.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Base.lproj/Main.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/ViewController.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/ViewController.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile.xcodeproj/project.pbxproj [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/AppDelegate.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/AppDelegate.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-40.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-72.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-76.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon@2x.png [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/Contents.json [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Base.lproj/LaunchScreen.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Base.lproj/Main.storyboard [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Info.plist [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/ViewController.h [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/ViewController.m [deleted file]
document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/main.m [deleted file]
document/EZAudio-master/EZAudioExamples/simple-drum-beat.wav [deleted file]
document/EZAudio-master/LICENSE [deleted file]
document/EZAudio-master/README.md [deleted file]
document/JOYGEM_AI_IOS_V1.0.19.zip [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemAI-Swift.h [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemAI.h [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemAIManager.h [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemCallManager.h [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemChatManager.h [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemDeviceManager.h [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemEnum.h [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemModel.h [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemParam.h [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemRecordManager.h [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemSIDeviceManager.h [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemSIManager.h [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Info.plist [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/JoyGemAI [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.abi.json [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.private.swiftinterface [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftdoc [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftinterface [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftmodule [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/module.modulemap [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/PrivacyInfo.xcprivacy [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/_CodeSignature/CodeResources [deleted file]
document/JOYGEM_AI_IOS_V1.0.20/竟加AI iOS SDK接口文档.pdf [deleted file]
document/PrivacyInfo.xcprivacy [moved from document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/IQKeyboardCore/Assets/PrivacyInfo.xcprivacy with 61% similarity]
document/bug.txt [deleted file]
document/测试/兼容测试报告DeepChords1.0iOS.pdf [moved from document/未命名文件夹/兼容测试报告DeepChords1.0iOS.pdf with 100% similarity]
document/测试/兼容测试报告DeepChords1.0iOS.xls [moved from document/未命名文件夹/兼容测试报告DeepChords1.0iOS.xls with 100% similarity]
document/深音AI iOS SDK 2.zip [deleted file]

index c3254a9..d2f4446 100644 (file)
@@ -161,7 +161,7 @@ SPEC CHECKSUMS:
   swiftScan: 0849e7d7c1c641384767a573ee8cb90b88d1ddd9
   TabPageViewController: 8bd4104909754416b35a98f3b72a5b674ab20dd5
   TZImagePickerController: 456f470b5dea97b37226ec7a694994a8663340b2
-  WechatOpenSDK-XCFramework: ff342ae616bb86df3d236aca38059dfd4bc4a949
+  WechatOpenSDK-XCFramework: b072030c9eeee91dfff1856a7846f70f7b9a88ed
   YYModel: 2a7fdd96aaa4b86a824e26d0c517de8928c04b30
   YYText: 5c461d709e24d55a182d1441c41dc639a18a4849
   ZipArchive: e25a4373192673e3229ac8d6e9f64a3e5713c966
@@ -2,13 +2,22 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
-       <key>NSPrivacyAccessedAPITypes</key>
-       <array/>
+       <key>NSPrivacyTracking</key>
+       <false/>
        <key>NSPrivacyTrackingDomains</key>
        <array/>
+       <key>NSPrivacyAccessedAPITypes</key>
+       <array>
+               <dict>
+                       <key>NSPrivacyAccessedAPIType</key>
+                       <string>NSPrivacyAccessedAPICategoryDiskSpace</string>
+                       <key>NSPrivacyAccessedAPITypeReasons</key>
+                       <array>
+                               <string>E174.1</string>
+                       </array>
+               </dict>
+       </array>
        <key>NSPrivacyCollectedDataTypes</key>
        <array/>
-       <key>NSPrivacyTracking</key>
-       <false/>
 </dict>
 </plist>
@@ -2,13 +2,22 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
-       <key>NSPrivacyAccessedAPITypes</key>
-       <array/>
+       <key>NSPrivacyTracking</key>
+       <false/>
        <key>NSPrivacyTrackingDomains</key>
        <array/>
+       <key>NSPrivacyAccessedAPITypes</key>
+       <array>
+               <dict>
+                       <key>NSPrivacyAccessedAPIType</key>
+                       <string>NSPrivacyAccessedAPICategoryDiskSpace</string>
+                       <key>NSPrivacyAccessedAPITypeReasons</key>
+                       <array>
+                               <string>E174.1</string>
+                       </array>
+               </dict>
+       </array>
        <key>NSPrivacyCollectedDataTypes</key>
        <array/>
-       <key>NSPrivacyTracking</key>
-       <false/>
 </dict>
 </plist>
index 379107b..7b6c9b0 100644 (file)
                        inputFileListPaths = (
                                "${PODS_ROOT}/Target Support Files/Pods-ShenYin/Pods-ShenYin-frameworks-${CONFIGURATION}-input-files.xcfilelist",
                        );
-                       inputPaths = (
-                       );
                        name = "[CP] Embed Pods Frameworks";
                        outputFileListPaths = (
                                "${PODS_ROOT}/Target Support Files/Pods-ShenYin/Pods-ShenYin-frameworks-${CONFIGURATION}-output-files.xcfilelist",
                        );
-                       outputPaths = (
-                       );
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ShenYin/Pods-ShenYin-frameworks.sh\"\n";
                                CODE_SIGN_IDENTITY = "Apple Development";
                                CODE_SIGN_STYLE = Automatic;
                                CURRENT_PROJECT_VERSION = 1;
-                               DEVELOPMENT_TEAM = XPSJ44T3ZW;
+                               DEVELOPMENT_TEAM = G23X75CJ67;
                                FRAMEWORK_SEARCH_PATHS = (
                                        "$(inherited)",
                                        "$(PROJECT_DIR)",
                                CODE_SIGN_IDENTITY = "Apple Development";
                                CODE_SIGN_STYLE = Automatic;
                                CURRENT_PROJECT_VERSION = 1;
-                               DEVELOPMENT_TEAM = XPSJ44T3ZW;
+                               DEVELOPMENT_TEAM = G23X75CJ67;
                                FRAMEWORK_SEARCH_PATHS = (
                                        "$(inherited)",
                                        "$(PROJECT_DIR)",
index b64eda9..ad0d9b3 100644 (file)
@@ -7,18 +7,11 @@
 
 class DCConfig{
     static var appLanguage = AppSupportLanguage.english
-    
-    /// 微信开发平台 App ID
-//    static let wxAppID = "wxd9d677e0024caa90"
-//    static let wxSecret = "751582916ca3779b7b99356609e30e55"
-//    static let wxUniversalLink = "https://www.thisiot.com/flychat"
-//
+
     static let wxAppID = "wxd9d677e0024caa90"
     static let wxUniversalLink = "https://dc-cloud-pub.tos-cn-guangzhou.volces.com/app/"
-    static let wxSecret = "SECRET"
     /// 通用链接
 //    https://dc-cloud-pub.tos-cn-guangzhou.volces.com/apple-app-site-association
-    //    static let appStoreLink = "https://itunes.apple.com/cn/app/6738022284?mt=8"
     static let appStoreLink = "https://itunes.apple.com/cn/app/6752551504?mt=8"
     /// 版本检测
     static let appStoreVersionURL = "https://itunes.apple.com/cn/lookup?id=6752551504"
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk.xcworkspace/contents.xcworkspacedata b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index 5f1604d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "group:Example/Example.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:Pods/Pods.xcodeproj">
-   </FileRef>
-</Workspace>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk.xcodeproj/project.pbxproj b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index 2251754..0000000
+++ /dev/null
@@ -1,428 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 77;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               3F3F136C2ED5A22E0038A1C8 /* StarburstSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F3F136B2ED5A22E0038A1C8 /* StarburstSdk.framework */; };
-               D73D7454A559775C8509DED8 /* Pods_DeepChordsSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D18BA322C9EA11864268108 /* Pods_DeepChordsSdk.framework */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
-               17B96CE5C2D98C0ADD6178A2 /* Pods-DeepChordsSdk.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeepChordsSdk.debug.xcconfig"; path = "Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.debug.xcconfig"; sourceTree = "<group>"; };
-               3F3F01C92ED44F730038A1C8 /* DeepChordsSdk.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = DeepChordsSdk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               3F3F136B2ED5A22E0038A1C8 /* StarburstSdk.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = StarburstSdk.framework; sourceTree = "<group>"; };
-               6EE04442B3D4D41107912962 /* Pods-DeepChordsSdk.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeepChordsSdk.release.xcconfig"; path = "Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.release.xcconfig"; sourceTree = "<group>"; };
-               7D18BA322C9EA11864268108 /* Pods_DeepChordsSdk.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DeepChordsSdk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-/* End PBXFileReference section */
-
-/* Begin PBXFileSystemSynchronizedRootGroup section */
-               3F3F01CB2ED44F730038A1C8 /* DeepChordsSdk */ = {
-                       isa = PBXFileSystemSynchronizedRootGroup;
-                       exceptions = (
-                       );
-                       path = DeepChordsSdk;
-                       sourceTree = "<group>";
-               };
-/* End PBXFileSystemSynchronizedRootGroup section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               3F3F01C62ED44F730038A1C8 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               3F3F136C2ED5A22E0038A1C8 /* StarburstSdk.framework in Frameworks */,
-                               D73D7454A559775C8509DED8 /* Pods_DeepChordsSdk.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               307CE89A03DD9FBA70338107 /* Pods */ = {
-                       isa = PBXGroup;
-                       children = (
-                               17B96CE5C2D98C0ADD6178A2 /* Pods-DeepChordsSdk.debug.xcconfig */,
-                               6EE04442B3D4D41107912962 /* Pods-DeepChordsSdk.release.xcconfig */,
-                       );
-                       name = Pods;
-                       path = ../Pods;
-                       sourceTree = "<group>";
-               };
-               3F3F01BF2ED44F730038A1C8 = {
-                       isa = PBXGroup;
-                       children = (
-                               3F3F136B2ED5A22E0038A1C8 /* StarburstSdk.framework */,
-                               3F3F01CB2ED44F730038A1C8 /* DeepChordsSdk */,
-                               3F3F01CA2ED44F730038A1C8 /* Products */,
-                               307CE89A03DD9FBA70338107 /* Pods */,
-                               4BB8E763A1CE0D92C14AFAA9 /* Frameworks */,
-                       );
-                       sourceTree = "<group>";
-               };
-               3F3F01CA2ED44F730038A1C8 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               3F3F01C92ED44F730038A1C8 /* DeepChordsSdk.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               4BB8E763A1CE0D92C14AFAA9 /* Frameworks */ = {
-                       isa = PBXGroup;
-                       children = (
-                               7D18BA322C9EA11864268108 /* Pods_DeepChordsSdk.framework */,
-                       );
-                       name = Frameworks;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
-               3F3F01C42ED44F730038A1C8 /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
-               3F3F01C82ED44F730038A1C8 /* DeepChordsSdk */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 3F3F01D02ED44F730038A1C8 /* Build configuration list for PBXNativeTarget "DeepChordsSdk" */;
-                       buildPhases = (
-                               462F2EA8BC431272853A0953 /* [CP] Check Pods Manifest.lock */,
-                               3F3F01C42ED44F730038A1C8 /* Headers */,
-                               3F3F01C52ED44F730038A1C8 /* Sources */,
-                               3F3F01C62ED44F730038A1C8 /* Frameworks */,
-                               3F3F01C72ED44F730038A1C8 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       fileSystemSynchronizedGroups = (
-                               3F3F01CB2ED44F730038A1C8 /* DeepChordsSdk */,
-                       );
-                       name = DeepChordsSdk;
-                       productName = DeepChordsSdk;
-                       productReference = 3F3F01C92ED44F730038A1C8 /* DeepChordsSdk.framework */;
-                       productType = "com.apple.product-type.framework";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               3F3F01C02ED44F730038A1C8 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               BuildIndependentTargetsInParallel = 1;
-                               LastSwiftUpdateCheck = 1640;
-                               LastUpgradeCheck = 1640;
-                               TargetAttributes = {
-                                       3F3F01C82ED44F730038A1C8 = {
-                                               CreatedOnToolsVersion = 16.4;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 3F3F01C32ED44F730038A1C8 /* Build configuration list for PBXProject "DeepChordsSdk" */;
-                       developmentRegion = en;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               en,
-                               Base,
-                       );
-                       mainGroup = 3F3F01BF2ED44F730038A1C8;
-                       minimizedProjectReferenceProxies = 1;
-                       preferredProjectObjectVersion = 77;
-                       productRefGroup = 3F3F01BF2ED44F730038A1C8;
-                       projectDirPath = "";
-                       projectRoot = "";
-                       targets = (
-                               3F3F01C82ED44F730038A1C8 /* DeepChordsSdk */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
-               3F3F01C72ED44F730038A1C8 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
-               462F2EA8BC431272853A0953 /* [CP] Check Pods Manifest.lock */ = {
-                       isa = PBXShellScriptBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       inputFileListPaths = (
-                       );
-                       inputPaths = (
-                               "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
-                               "${PODS_ROOT}/Manifest.lock",
-                       );
-                       name = "[CP] Check Pods Manifest.lock";
-                       outputFileListPaths = (
-                       );
-                       outputPaths = (
-                               "$(DERIVED_FILE_DIR)/Pods-DeepChordsSdk-checkManifestLockResult.txt",
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-                       shellPath = /bin/sh;
-                       shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
-                       showEnvVarsInLog = 0;
-               };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               3F3F01C52ED44F730038A1C8 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
-               3F3F01CE2ED44F730038A1C8 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
-                               CLANG_ANALYZER_NONNULL = YES;
-                               CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
-                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
-                               CLANG_ENABLE_MODULES = YES;
-                               CLANG_ENABLE_OBJC_ARC = YES;
-                               CLANG_ENABLE_OBJC_WEAK = YES;
-                               CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
-                               CLANG_WARN_BOOL_CONVERSION = YES;
-                               CLANG_WARN_COMMA = YES;
-                               CLANG_WARN_CONSTANT_CONVERSION = YES;
-                               CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
-                               CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-                               CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
-                               CLANG_WARN_EMPTY_BODY = YES;
-                               CLANG_WARN_ENUM_CONVERSION = YES;
-                               CLANG_WARN_INFINITE_RECURSION = YES;
-                               CLANG_WARN_INT_CONVERSION = YES;
-                               CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
-                               CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
-                               CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
-                               CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-                               CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
-                               CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
-                               CLANG_WARN_STRICT_PROTOTYPES = YES;
-                               CLANG_WARN_SUSPICIOUS_MOVE = YES;
-                               CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
-                               CLANG_WARN_UNREACHABLE_CODE = YES;
-                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               COPY_PHASE_STRIP = NO;
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEBUG_INFORMATION_FORMAT = dwarf;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = YES;
-                               ENABLE_USER_SCRIPT_SANDBOXING = YES;
-                               GCC_C_LANGUAGE_STANDARD = gnu17;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_NO_COMMON_BLOCKS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = (
-                                       "DEBUG=1",
-                                       "$(inherited)",
-                               );
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-                               GCC_WARN_UNDECLARED_SELECTOR = YES;
-                               GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
-                               GCC_WARN_UNUSED_FUNCTION = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
-                               IPHONEOS_DEPLOYMENT_TARGET = 18.5;
-                               LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
-                               MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
-                               MTL_FAST_MATH = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = iphoneos;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
-                               SWIFT_OPTIMIZATION_LEVEL = "-Onone";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               3F3F01CF2ED44F730038A1C8 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
-                               CLANG_ANALYZER_NONNULL = YES;
-                               CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
-                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
-                               CLANG_ENABLE_MODULES = YES;
-                               CLANG_ENABLE_OBJC_ARC = YES;
-                               CLANG_ENABLE_OBJC_WEAK = YES;
-                               CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
-                               CLANG_WARN_BOOL_CONVERSION = YES;
-                               CLANG_WARN_COMMA = YES;
-                               CLANG_WARN_CONSTANT_CONVERSION = YES;
-                               CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
-                               CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-                               CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
-                               CLANG_WARN_EMPTY_BODY = YES;
-                               CLANG_WARN_ENUM_CONVERSION = YES;
-                               CLANG_WARN_INFINITE_RECURSION = YES;
-                               CLANG_WARN_INT_CONVERSION = YES;
-                               CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
-                               CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
-                               CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
-                               CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-                               CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
-                               CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
-                               CLANG_WARN_STRICT_PROTOTYPES = YES;
-                               CLANG_WARN_SUSPICIOUS_MOVE = YES;
-                               CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
-                               CLANG_WARN_UNREACHABLE_CODE = YES;
-                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               COPY_PHASE_STRIP = NO;
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               ENABLE_NS_ASSERTIONS = NO;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_USER_SCRIPT_SANDBOXING = YES;
-                               GCC_C_LANGUAGE_STANDARD = gnu17;
-                               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 = 18.5;
-                               LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               MTL_FAST_MATH = YES;
-                               SDKROOT = iphoneos;
-                               SWIFT_COMPILATION_MODE = wholemodule;
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               3F3F01D12ED44F730038A1C8 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 17B96CE5C2D98C0ADD6178A2 /* Pods-DeepChordsSdk.debug.xcconfig */;
-                       buildSettings = {
-                               BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
-                               CODE_SIGN_STYLE = Automatic;
-                               CURRENT_PROJECT_VERSION = 1;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = YES;
-                               FRAMEWORK_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "$(PROJECT_DIR)/DeepChordsSdk",
-                                       "$(PROJECT_DIR)",
-                               );
-                               GENERATE_INFOPLIST_FILE = YES;
-                               INFOPLIST_KEY_NSHumanReadableCopyright = "";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 15.6;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               LINK_WITH_STANDARD_LIBRARIES = NO;
-                               MACH_O_TYPE = staticlib;
-                               MARKETING_VERSION = 1.0;
-                               MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
-                               MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
-                               PRODUCT_BUNDLE_IDENTIFIER = demo.DeepChordsSdk;
-                               PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
-                               SKIP_INSTALL = YES;
-                               SWIFT_EMIT_LOC_STRINGS = YES;
-                               SWIFT_INSTALL_MODULE = YES;
-                               SWIFT_INSTALL_OBJC_HEADER = NO;
-                               SWIFT_VERSION = 5.0;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                       };
-                       name = Debug;
-               };
-               3F3F01D22ED44F730038A1C8 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 6EE04442B3D4D41107912962 /* Pods-DeepChordsSdk.release.xcconfig */;
-                       buildSettings = {
-                               BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
-                               CODE_SIGN_STYLE = Automatic;
-                               CURRENT_PROJECT_VERSION = 1;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = YES;
-                               FRAMEWORK_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "$(PROJECT_DIR)/DeepChordsSdk",
-                                       "$(PROJECT_DIR)",
-                               );
-                               GENERATE_INFOPLIST_FILE = YES;
-                               INFOPLIST_KEY_NSHumanReadableCopyright = "";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 15.6;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               LINK_WITH_STANDARD_LIBRARIES = NO;
-                               MACH_O_TYPE = staticlib;
-                               MARKETING_VERSION = 1.0;
-                               MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
-                               MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
-                               PRODUCT_BUNDLE_IDENTIFIER = demo.DeepChordsSdk;
-                               PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
-                               SKIP_INSTALL = YES;
-                               SWIFT_EMIT_LOC_STRINGS = YES;
-                               SWIFT_INSTALL_MODULE = YES;
-                               SWIFT_INSTALL_OBJC_HEADER = NO;
-                               SWIFT_VERSION = 5.0;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               3F3F01C32ED44F730038A1C8 /* Build configuration list for PBXProject "DeepChordsSdk" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               3F3F01CE2ED44F730038A1C8 /* Debug */,
-                               3F3F01CF2ED44F730038A1C8 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               3F3F01D02ED44F730038A1C8 /* Build configuration list for PBXNativeTarget "DeepChordsSdk" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               3F3F01D12ED44F730038A1C8 /* Debug */,
-                               3F3F01D22ED44F730038A1C8 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 3F3F01C02ED44F730038A1C8 /* Project object */;
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index 919434a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:">
-   </FileRef>
-</Workspace>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk.xcodeproj/xcshareddata/xcschemes/DeepChordsSdk.xcscheme b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk.xcodeproj/xcshareddata/xcschemes/DeepChordsSdk.xcscheme
deleted file mode 100644 (file)
index 1b2a161..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "1640"
-   version = "1.7">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES"
-      buildArchitectures = "Automatic">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "3F3F01C82ED44F730038A1C8"
-               BuildableName = "DeepChordsSdk.framework"
-               BlueprintName = "DeepChordsSdk"
-               ReferencedContainer = "container:DeepChordsSdk.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      shouldAutocreateTestPlan = "YES">
-   </TestAction>
-   <LaunchAction
-      buildConfiguration = "Release"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      debugServiceExtension = "internal"
-      allowLocationSimulation = "YES">
-   </LaunchAction>
-   <ProfileAction
-      buildConfiguration = "Release"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      debugDocumentVersioning = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "3F3F01C82ED44F730038A1C8"
-            BuildableName = "DeepChordsSdk.framework"
-            BlueprintName = "DeepChordsSdk"
-            ReferencedContainer = "container:DeepChordsSdk.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/Any.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/Any.swift
deleted file mode 100644 (file)
index 9ecfd13..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-//
-//  Untitled.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/25.
-//
-
-import Foundation
-
-/// 判断可选类型是否为 nil
-func isNil(_ any: Any?) -> Bool {
-    switch any {
-    case .none: return true
-    case .some: return false
-    }
-}
-
-/// 判断可选类型是否有值
-func isValue(_ any: Any?) -> Bool {
-    return isNil(any) == false
-}
-
-/// for Array
-func isEmpty(_ value: [Any]?) -> Bool {
-    return isNil(value) || value!.count == 0
-}
-
-/// for Array
-func isNotEmpty(_ value: [Any]?) -> Bool {
-    return isEmpty(value) == false
-}
-
-/// for Dictionary
-func isEmpty(_ value: [AnyHashable: Any]?) -> Bool {
-    return isNil(value) || value!.count == 0
-}
-
-/// for Dictionary
-func isNotEmpty(_ value: [AnyHashable: Any]?) -> Bool {
-    return isEmpty(value) == false
-}
-
-/// for String
-func isEmpty(_ value: String?) -> Bool {
-    return isNil(value) || value!.count == 0
-}
-
-/// for String
-func isNotEmpty(_ value: String?) -> Bool {
-    return isEmpty(value) == false
-}
-
-public extension String {
-    
-    /// 补足8位(长度为8的整数倍)
-    var binary: String {
-        let bytes = (Double(count) / 8.0).upInt
-        let offset = bytes * 8 - count
-        let prefix = Array(repeating: "0", count: offset).joined()
-        return prefix + self
-    }
-}
-
-public extension Double {
-    var upInt: Int { Int(ceil(self)) }
-}
-
-public extension Int {
-    private static let binaryPack = 0b11111111
-    
-    /// convert to data with byte (max is 4294967295)
-    ///
-    /// 低位 --> 高位
-    var bytes: [UInt8] {
-        var mutatingSelf = self
-        var bytes = [UInt8(mutatingSelf & Self.binaryPack)]
-        
-        var count = 1
-        mutatingSelf = mutatingSelf >> (count * 8)
-        while mutatingSelf > 0 {
-            bytes.append(UInt8(mutatingSelf & Self.binaryPack))
-            mutatingSelf = mutatingSelf >> (count * 8)
-            count = count + 1
-        }
-        return bytes
-    }
-    
-    /// convert to data with 1 byte
-    var byte: UInt8 {
-        UInt8(self & Self.binaryPack)
-    }
-    
-    /// convert to data with 2 byte
-    ///
-    /// 低位 --> 高位
-    var byte2: [UInt8] {
-        [
-            UInt8(self & Self.binaryPack),
-            UInt8(self >> 8 & Self.binaryPack)
-        ]
-    }
-    
-    /// convert to data with 3 byte
-    ///
-    /// 低位 --> 高位
-    var byte3: [UInt8] {
-        [
-            UInt8(self & Self.binaryPack),
-            UInt8(self >> 8 & Self.binaryPack),
-            UInt8(self >> 16 & Self.binaryPack)
-        ]
-    }
-    
-    /// convert to data with 4 byte
-    ///
-    /// 低位 --> 高位
-    var byte4: [UInt8] {
-        [
-            UInt8(self & Self.binaryPack),
-            UInt8(self >> 8 & Self.binaryPack),
-            UInt8(self >> 16 & Self.binaryPack),
-            UInt8(self >> 24 & Self.binaryPack)
-        ]
-    }
-}
-
-public extension BinaryInteger {
-    
-    /// e.g. 0000100110010101
-    var binaryString: String {
-        .init(self, radix: 2).binary
-    }
-}
-
-public extension Array where Element == UInt8 {
-    
-    var int: Int {
-        self
-            .map { Int($0) }
-            .enumerated()
-            .map { $1 << ($0 * 8) }
-            .reduce(0, { partialResult, value in
-                partialResult | value
-            })
-    }
-    
-    var data: Data { Data(self) }
-}
-
-public extension Data {
-    
-    func joined(format: String = "%02x", _ separator: String = "") -> String {
-        self
-            .map { String(format: format, $0) }
-            .joined(separator: separator)
-    }
-    
-    func reversedJoined(format: String = "%02x", _ separator: String = "") -> String {
-        self
-            .map { String(format: format, $0) }
-            .reversed()
-            .joined(separator: separator)
-    }
-    
-    var int: Int {
-        self
-            .map { Int($0) }
-            .enumerated()
-            .map { $1 << ($0 * 8) }
-            .reduce(0, { partialResult, value in
-                partialResult | value
-            })
-    }
-    
-}
-
-public extension UInt8 {
-    var int: Int { Int(self) }
-}
-
-
-extension Data{
-    var float: Float {
-        var floatValue: Float = 0.0
-        let size = MemoryLayout<Float>.size
-        guard self.count >= size else { return 0 }
-        
-        self.withUnsafeBytes { (buffer: UnsafeRawBufferPointer) -> Void in
-            _ = memcpy(&floatValue, buffer.baseAddress!, size)
-        }
-        
-        return floatValue
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/BleSender.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/BleSender.swift
deleted file mode 100644 (file)
index d39a40d..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-//
-//  BleSender.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/25.
-//
-
-import Foundation
-
-class BleSender{
-    var completion: DCCompletionHandler!
-    var data = Data()
-    
-    static var all: [BleSender] = []
-    
-    init() {
-        Self.all.append(self)
-        startTimer()
-    }
-    var timer: Timer?
-    func startTimer() {
-        deinitTimer()
-        
-        self.timer = Timer.scheduledTimer(withTimeInterval: 3, repeats: false, block: { [unowned self] _ in
-            deinitTimer()
-            self.completion?(.response.code(.timeout))
-            self.remove()
-        })
-    }
-    
-    @discardableResult
-    func deinitTimer() ->Self{
-        guard let _ = self.timer else { return self}
-        self.timer?.invalidate()
-        self.timer = nil
-        //        Logger.log("销毁定时器")
-        return self
-    }
-    
-    /// 从缓存实例集合中移除该实例
-    func remove() {
-        Self.all.removeAll { $0 === self }
-    }
-    
-    func isAnswer(_ receiveData:Data)->Bool{
-        if data.count < 3{
-            return false
-        }
-        if receiveData[1] == data[1] {
-            return true
-        }
-        return false
-    }
-    
-    static func answer(_ data: Data) -> BleSender? {
-        if data.count < 3{
-            return nil
-        }
-        for item in Self.all {
-            if item.isAnswer(data) {
-                return item
-            }
-        }
-        return nil
-    }
-}
-
-public typealias DCCompletionHandler = (_ result: DCResponse) -> Void
-
-/// 状态码
-public enum DCCode: Int,CustomStringConvertible {
-    
-    public var description: String{
-        return "MSCode(rawValue:\(rawValue), message:\(message))"
-    }
-    
-    /// 操作成功
-    case success = 1000
-    /// 操作失败
-    case failure = 1001
-    /// 请求超时
-    case timeout = 1004
-    /// 未知错误
-    case unknow = 1005
-    
-    var message:String{
-        switch self {
-        case .failure:
-            return "失败"
-        case .success:
-            return "成功"
-        case .timeout:
-            return "超时"
-        default:
-            return "未知错误"
-        }
-    }
-}
-
-public class DCResponse {
-    public private(set) var code: DCCode = .success
-    public private(set) var data: Data = Data()
-    static var response: DCResponse { DCResponse() }
-    
-    
-    var isSuccess:Bool{
-        return code == .success
-    }
-    
-    public var description: String{
-        return code.description + "data = " +  data.joined()
-    }
-    
-    @discardableResult
-    func code(_ value: DCCode) -> Self {
-        code = value
-        return self
-    }
-    
-    @discardableResult
-    func value(_ value: Data) -> Self {
-        self.data = value
-        return self
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/DCBleManager.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/DCBleManager.swift
deleted file mode 100644 (file)
index c999b27..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-//  Untitled.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/25.
-//
-
-import Foundation
-import CoreBluetooth
-
-public class DCBleManager{
-    
-    public static let shared = DCBleManager()
-    private var connectPeripheral: CBPeripheral?
-    private var writeCha: CBCharacteristic?
-
-    func send(_ sender:BleSender){
-        if let connectPeripheral = connectPeripheral, let writeCha = writeCha {
-            Logger.debug("发送数据 = ",writeCha.uuid.uuidString,sender.data.joined())
-            connectPeripheral.writeValue(sender.data, for: writeCha, type:.withoutResponse)
-        }
-    }
-    func sendToStarburst(_ data:Data){
-        if let connectPeripheral = connectPeripheral, let writeCha = writeCha {
-            Logger.debug("发送数据 = ",writeCha.uuid.uuidString,data.joined())
-            connectPeripheral.writeValue(data, for: writeCha, type:.withoutResponse)
-        }
-    }
-}
-
-public extension DCBleManager{
-    func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
-        Logger.debug("蓝牙已连接 \(peripheral)")
-        connectPeripheral = peripheral
-    }
-    func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) {
-        Logger.debug("peripheral: %@ failed to connect", peripheral)
-    }
-    func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
-        Logger.debug("蓝牙已断开 \(peripheral)")
-    }
-    
-    func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?) {
-        Logger.debug("发现服务成功")
-        for service in peripheral.services! {
-            Logger.debug("peripheral service: %@", service)
-            peripheral.discoverCharacteristics(nil, for: service)
-        }
-
-    }
-    func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) {
-        if let list = service.characteristics{
-            Logger.debug("发现特征",list)
-            for char in  list{
-                Logger.debug(char)
-                peripheral.setNotifyValue(true, for: char)
-                if char.uuid.uuidString == "AE03" {
-                    writeCha = char
-                }
-            }
-        }
-    }
-    
-    func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
-        Logger.debug("收到数据 ===UUID",characteristic.uuid,characteristic.value?.joined() ?? "")
-        guard let data = characteristic.value else { return  }
-        
-        if let sender = BleSender.answer(data) {
-            sender.completion?(.response.code(.success).value(data))
-            sender.deinitTimer()
-            sender.remove()
-            return
-        }
-        else{
-            Logger.debug("通知数据 ")
-        }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/DCDevice.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/DCDevice.swift
deleted file mode 100644 (file)
index 7b32f46..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-//  DCDevice.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/25.
-//
-
-import Foundation
-
-public class DCDevice{
-    public static let shared = DCDevice()
-
-    public func getBatery(finished:@escaping ((Int,Int)?)->Void){
-        var data = Data.dataWithHexString("BA090000")
-        data.addCrc()
-
-        let sender = BleSender()
-        sender.data = data
-        sender.completion = { result in
-            Logger.debug("\(result.description)")
-            if result.isSuccess{
-                let leftValue = result.data[3].int
-                let rightValue = result.data[5].int
-                Logger.debug(leftValue,rightValue)
-                finished((leftValue,rightValue))
-            }
-            else{
-                finished(nil)
-            }
-        }
-        DCBleManager.shared.send(sender)
-    }
-    public func getSoftVersion(finished:@escaping (String?)->Void){
-        var data = Data.dataWithHexString("BA0A0001")
-        data.addCrc()
-        
-        let sender = BleSender()
-        sender.data = data
-        sender.completion = { result in
-            Logger.debug("\(result.description)")
-            if result.isSuccess{
-                let data = result.data[2...6]
-                let text = String(data: data, encoding:.utf8)
-                Logger.debug(text)
-                finished((text))
-            }
-            else{
-                finished(nil)
-            }
-        }
-        DCBleManager.shared.send(sender)
-    }
-    public func getHardVersion(finished:@escaping (String?)->Void){
-        var data = Data.dataWithHexString("BA0A0101")
-        data.addCrc()
-        
-        let sender = BleSender()
-        sender.data = data
-        sender.completion = { result in
-            Logger.debug("\(result.description)")
-            if result.isSuccess{
-                let data = result.data[2...6]
-                let text = String(data: data, encoding:.utf8)
-                Logger.debug(text)
-                finished((text))
-            }
-            else{
-                finished(nil)
-            }
-        }
-        DCBleManager.shared.send(sender)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/Data.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/Data.swift
deleted file mode 100644 (file)
index 4ae786e..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-//  Data.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/24.
-//
-import Foundation
-
-extension Data {
-
-    
-    static func dataWithHexString(_ hexStr: String) -> Data {
-        let hexStrWithoutSpaces = hexStr.replacingOccurrences(of: " ", with: "")
-        let lowercasedHexStr = hexStrWithoutSpaces.lowercased()
-        let len = lowercasedHexStr.count
-        if len == 0 {
-            return Data()
-        }
-        
-        let utf16Chars = lowercasedHexStr.utf16
-        
-        var result = Data()
-        var bytes: UInt8
-        var str = [CChar](repeating: 0, count: 3)
-        for i in 0..<len / 2 {
-            str[0] = CChar(utf16Chars[utf16Chars.index(utf16Chars.startIndex, offsetBy: 2 * i)])
-            str[1] = CChar(utf16Chars[utf16Chars.index(utf16Chars.startIndex, offsetBy: 2 * i + 1)])
-            bytes = UInt8(strtoul(str, nil, 16))
-            result.append(&bytes, count: 1)
-        }
-        return result
-    }
-    
-    static func crc8(_ data: Data) -> UInt8 {
-        var crc: UInt8 = 0
-        for byte in data {
-            crc ^= byte
-            for _ in 0..<8 {
-                if crc & 0x01 != 0 {
-                    crc = (crc >> 1) ^ 0x8C
-                } else {
-                    crc >>= 1
-                }
-            }
-        }
-        return crc
-    }
-    
-    mutating func addCrc(){
-        var crc = Data.crc8(self)
-        self.append(&crc, count: 1)
-    }
-    
-//    mutating func addCrc(){
-//       var  list = self.map({ $0 })
-//       var crc = chargestore_crc8(list, len: list.count)
-//        self.append(&crc, count: 1)
-//    }
-}
-
-
-func chargestore_crc8(_ ptr: UnsafePointer<UInt8>, len: Int) -> UInt8 {
-    var crc: UInt8 = 0
-    var length = len
-    var currentPtr = ptr
-    
-    while length > 0 {
-        crc ^= currentPtr.pointee
-        currentPtr = currentPtr.advanced(by: 1)
-        length -= 1
-        
-        for _ in 0..<8 {
-            if crc & 0x01 != 0 {
-                crc = (crc >> 1) ^ 0x8C
-            } else {
-                crc >>= 1
-            }
-        }
-    }
-    return crc
-}
-
-//// 调用示例
-//let data: [UInt8] = [0x01, 0x02, 0x03]
-//let crcResult = data.withUnsafeBufferPointer { buffer in
-//    chargestore_crc8(buffer.baseAddress!, len: buffer.count)
-//}
-//print("CRC8 结果: \(crcResult)")
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/Date.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/Date.swift
deleted file mode 100644 (file)
index 3fd88f0..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-//
-//  Date.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-
-import Foundation
-
-// MARK: - Extension Date
-extension Date {
-    
-    static let formatter = DateFormatter()
-    
-    struct Format {
-        
-        let rawValue: String
-        init(_ rawValue: String) {
-            self.rawValue = rawValue
-        }
-        
-        /// e.g. 01:01:01
-        static let time: Format = .init("HH:mm:ss")
-        
-        /// e.g. 01:01
-        static let shortTime: Format = .init("HH:mm")
-        
-        /// e.g. 01-01
-        static let date: Format = .init("MM-dd")
-        
-        /// e.g. 01月01日
-        static let date1: Format = .init("MM月dd日")
-        
-        /// e.g. 2020-01-01
-        static let short: Format = .init("yyyy-MM-dd")
-        
-        
-        /// e.g. 2020年01月01日
-        static let short1: Format = .init("yyy年MM月dd日")
-        
-        /// e.g. 2020-01-01 01:01
-        static let middle: Format = .init("yyyy-MM-dd HH:mm")
-        
-        /// e.g. 2020年01月01日 01:01
-        static let middle1: Format = .init("yyy年MM月dd日 HH:mm")
-        
-        /// e.g. 2020-01-01 01:01:01
-        static let long: Format = .init("yyyy-MM-dd HH:mm:ss")
-        
-        /// e.g. 2020年01月01日 01:01:01
-        static let long1: Format = .init("yyyy年MM月dd日 HH:mm:ss")
-        
-        /// e.g. 2020-01-01 01:01:01.088
-        static let full: Format = .init("yyyy-MM-dd HH:mm:ss.SSS")
-        
-        /// e.g. 2020年01月01日 01:01:01.088
-        static let full1: Format = .init("yyyy年MM月dd日 HH:mm:ss.SSS")
-        static let full2: Format = .init("yyyy-MM-ddTHH:mm")
-        static let full3: Format = .init("yyyy-MM-dd HH:mm")
-        static let full4: Format = .init("yyyyMMdd00000000")
-        static let full5: Format = .init("yyyyMMddHHmmss")
-        static let full6: Format = .init("yyyyMMddHHmmssSSS")
-    }
-    
-    /// 格式化成本地时间
-    func format(_ format: Date.Format = .middle) -> String {
-        Self.formatter.dateFormat = format.rawValue
-        return Self.formatter.string(from: self)
-    }
-    
-    enum Unit {
-        case minute(Int)
-        case hour(Int)
-        case day(Int)
-        
-        /// 转换成秒
-        var second: TimeInterval {
-            switch self {
-            case .minute(let minute): return 60.0 * Double(minute)
-            case .hour(let hour): return 60.0 * 60.0 * Double(hour)
-            case .day(let day): return 60.0 * 60.0 * 24.0 * Double(day)
-            }
-        }
-    }
-}
-
-let today: Date = .init()
-
-/// 本地化
-extension Date {
-    /// 星期几
-    enum Week: Int {
-        /// 星期日
-        case sun = 1
-        /// 星期一
-        case mon
-        /// 星期二
-        case tue
-        /// 星期三
-        case wed
-        /// 星期四
-        case thur
-        /// 星期五
-        case fri
-        /// 星期六
-        case sat
-    }
-    
-    //    /// 当天的第一秒
-    //    var fromTimeInterval: TimeInterval {
-    //        let today = format(.short)
-    //        return today.timeIntervalSince1970(.short)
-    //    }
-    //
-    //    /// 当天最后一秒
-    //    var toTimeInterval: TimeInterval { fromTimeInterval + Unit.day(1).second }
-    
-    /// 哪一年
-    var year: Int { component(.year) }
-    
-    /// 哪个月
-    var month: Int { component(.month) }
-    
-    /// 当月的第几天
-    var day: Int { component(.day) }
-    
-    /// 当月的第几天
-    var hour: Int { component(.hour)}
-    
-    /// 当月的第几天
-    var minute: Int { component(.minute)}
-    
-    /// 当月的第几天
-    var second: Int { component(.second)}
-    
-    /// 当月的第几周
-    var  weekOfMonth: Int { component(.weekOfMonth) }
-    
-    /// 今年的第几周
-    var  weekOfYear: Int { component(.weekOfYear) }
-    
-    /// 星期几
-    var weekDay: Week { Week(rawValue: component(.weekday))! }
-    
-    /// 假设当天是周五,表示本月的第几个周五
-    var weekdayOrdinal: Int { component(.weekdayOrdinal) }
-    
-    private func component(_ component: Calendar.Component) -> Int {
-        return Calendar.autoupdatingCurrent.component(component, from: self)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/DeepChordsAiSdk.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/DeepChordsAiSdk.swift
deleted file mode 100644 (file)
index 0586f1c..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-//
-//  DeepChords.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/25.
-//
-import Foundation
-import StarburstSdk
-public class DeepChordsAiSdk{
-    public static let shared = DeepChordsAiSdk()
-    
-    
-    
-    public func initSDK(){
-//        StarburstConfig.shared().switch(to: .ble)
-//        StarburstConfig.shared().appId =  "app_ro4n4nwljr20kwqo"
-//        //MARK: 配置缓存路径
-//        StarburstConfig.shared().sdkFolder = NSTemporaryDirectory()
-//        StarburstConfig.shared().isDebug = true
-//        StarburstConfig.shared().enableTextSyncToDevice = true
-//        StarburstConfig.shared().enableEmotionSyncToDevice = true
-//        StarburstConfig.shared().enableEarbudsSwitchSync = true
-        
-        //切换sdk
-        StarburstConfig.shared().switch(to: .ble)
-        //设置appid
-        StarburstConfig.shared().appId = "app_ro4n4nwljr20kwqo"
-        //debug模式会打印日志
-        StarburstConfig.shared().isDebug = true
-        // sdk缓存路径
-        StarburstConfig.shared().sdkFolder = NSHomeDirectory() + "/Documents/AiSdk"
-        // 日志路径
-        StarburstConfig.shared().logPath = logPath()
-        //        //是否下发文字到耳机仓
-        //        StarburstConfig.shared().enableTextSyncToDevice = true;
-        //        //主从耳机切换是否同步sdk信息到耳机
-        //        StarburstConfig.shared().enableEarbudsSwitchSync = true;
-        //        //耳机仓表情下发开关
-        //        StarburstConfig.shared().enableEmotionSyncToDevice = true;
-        //添加调试信息
-        StarburstConfig.shared().debugInfo = [
-            "x-use-ppe":"1",
-            "x-tt-env": "ppe_tischarge_test",
-        ]
-        // voicechat配置
-        StarburstConfig.shared().user_custom_prompt_init = "1.用户位置在上海市杨浦区。2.用户名称叫小明。"
-        
-        StarburstSdk.shared().authCallback = {[weak self] (code,msg) in
-            
-        }
-        //sdk发给蓝牙设备
-        StarburstSdk.shared().sendToBleCallback = {data in
-            guard let data = data else {return}
-            DCBleManager.shared.sendToStarburst(data)
-        }
-        StarburstSdk.shared().bleRecordStateCallback = {[weak self] state in
-            
-        }
-    }
-    
-    func logPath()->String{
-        let format = DateFormatter()
-        format.dateFormat = "yyyyMMddHHmmss"
-        let text = format.string(from: Date())
-        return NSHomeDirectory() + "/Documents/\(text).log"
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk.swift
deleted file mode 100644 (file)
index 7c4aefc..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-//
-//  DeepChordsSdk.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-import Foundation
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/Demo.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/Demo.swift
deleted file mode 100644 (file)
index 68abb80..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-//
-//  Demo.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-import UIKit
-
-public class DeepChordsSdkDemo{
-    static public func log(){
-        print("1111")
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/LogManager.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/LogManager.swift
deleted file mode 100644 (file)
index 2a6c991..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-//  LogManager.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-import Foundation
-
-/// 日记管理
-public class Logger {
-    static var isDebug: Bool = true
-    
-    fileprivate static let shared = Logger()
-    private var fileHandle:FileHandle?
-    private init() {
-        let path = getPath()
-        fileHandle = FileHandle(forWritingAtPath: path)!
-        //fileHandle?.seekToEndOfFile()
-    }
-    
-    fileprivate var dateString: String { Date().format(.full) }
-    
-    public static var logs: [String] = []
-    
-    
-    private func getPath()->String{
-        let foldPath = NSHomeDirectory() + "/Documents/"
-        let fileManager = FileManager.default
-        if !fileManager.fileExists(atPath: foldPath) {
-            do {
-                try FileManager.default.createDirectory(atPath: foldPath, withIntermediateDirectories: true, attributes: nil)
-            } catch {
-                return ""
-            }
-        }
-        let path = foldPath + "Example_\(Date().format(.middle)).log"
-        if !FileManager.default.fileExists(atPath: path) {
-            FileManager.default.createFile(atPath: path, contents: nil, attributes: nil)
-            
-        }
-        return path
-    }
-}
-
-extension Logger {
-    public static func debug(_ logs: Any..., line: Int = #line, separator: String = " ", terminator: String = "\n") {
-        objc_sync_enter(Logger.shared)
-        if Logger.isDebug {
-            print(Logger.shared.dateString, terminator: " [DeepChordsSdk-\(String(format: "%03d", line))]: ")
-            print(logs, separator: separator, terminator: terminator)
-            let logString = Logger.shared.dateString + " [DeepChordsSdk-\(String(format: "%03d", line))]: " + logs.map({ "\($0)" }).joined(separator: separator) + terminator
-            Self.logs.append(logString)
-            Logger.shared.saveLog(log: logString)
-        }
-        objc_sync_exit(Logger.shared)
-        
-        
-    }
-    
-    private func saveLog(log:String){
-        fileHandle?.write(log.data(using: .utf8)!)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/ReceiveManager.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/DeepChordsSdk/DeepChordsSdk/ReceiveManager.swift
deleted file mode 100644 (file)
index e482cd6..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-//  ReceiveManager.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/25.
-//
-import Foundation
-
-class ReceiveManager{
-    
-    
-    static func receiveData(_ data:Data){
-        
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/Any.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/Any.swift
deleted file mode 100644 (file)
index 9ecfd13..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-//
-//  Untitled.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/25.
-//
-
-import Foundation
-
-/// 判断可选类型是否为 nil
-func isNil(_ any: Any?) -> Bool {
-    switch any {
-    case .none: return true
-    case .some: return false
-    }
-}
-
-/// 判断可选类型是否有值
-func isValue(_ any: Any?) -> Bool {
-    return isNil(any) == false
-}
-
-/// for Array
-func isEmpty(_ value: [Any]?) -> Bool {
-    return isNil(value) || value!.count == 0
-}
-
-/// for Array
-func isNotEmpty(_ value: [Any]?) -> Bool {
-    return isEmpty(value) == false
-}
-
-/// for Dictionary
-func isEmpty(_ value: [AnyHashable: Any]?) -> Bool {
-    return isNil(value) || value!.count == 0
-}
-
-/// for Dictionary
-func isNotEmpty(_ value: [AnyHashable: Any]?) -> Bool {
-    return isEmpty(value) == false
-}
-
-/// for String
-func isEmpty(_ value: String?) -> Bool {
-    return isNil(value) || value!.count == 0
-}
-
-/// for String
-func isNotEmpty(_ value: String?) -> Bool {
-    return isEmpty(value) == false
-}
-
-public extension String {
-    
-    /// 补足8位(长度为8的整数倍)
-    var binary: String {
-        let bytes = (Double(count) / 8.0).upInt
-        let offset = bytes * 8 - count
-        let prefix = Array(repeating: "0", count: offset).joined()
-        return prefix + self
-    }
-}
-
-public extension Double {
-    var upInt: Int { Int(ceil(self)) }
-}
-
-public extension Int {
-    private static let binaryPack = 0b11111111
-    
-    /// convert to data with byte (max is 4294967295)
-    ///
-    /// 低位 --> 高位
-    var bytes: [UInt8] {
-        var mutatingSelf = self
-        var bytes = [UInt8(mutatingSelf & Self.binaryPack)]
-        
-        var count = 1
-        mutatingSelf = mutatingSelf >> (count * 8)
-        while mutatingSelf > 0 {
-            bytes.append(UInt8(mutatingSelf & Self.binaryPack))
-            mutatingSelf = mutatingSelf >> (count * 8)
-            count = count + 1
-        }
-        return bytes
-    }
-    
-    /// convert to data with 1 byte
-    var byte: UInt8 {
-        UInt8(self & Self.binaryPack)
-    }
-    
-    /// convert to data with 2 byte
-    ///
-    /// 低位 --> 高位
-    var byte2: [UInt8] {
-        [
-            UInt8(self & Self.binaryPack),
-            UInt8(self >> 8 & Self.binaryPack)
-        ]
-    }
-    
-    /// convert to data with 3 byte
-    ///
-    /// 低位 --> 高位
-    var byte3: [UInt8] {
-        [
-            UInt8(self & Self.binaryPack),
-            UInt8(self >> 8 & Self.binaryPack),
-            UInt8(self >> 16 & Self.binaryPack)
-        ]
-    }
-    
-    /// convert to data with 4 byte
-    ///
-    /// 低位 --> 高位
-    var byte4: [UInt8] {
-        [
-            UInt8(self & Self.binaryPack),
-            UInt8(self >> 8 & Self.binaryPack),
-            UInt8(self >> 16 & Self.binaryPack),
-            UInt8(self >> 24 & Self.binaryPack)
-        ]
-    }
-}
-
-public extension BinaryInteger {
-    
-    /// e.g. 0000100110010101
-    var binaryString: String {
-        .init(self, radix: 2).binary
-    }
-}
-
-public extension Array where Element == UInt8 {
-    
-    var int: Int {
-        self
-            .map { Int($0) }
-            .enumerated()
-            .map { $1 << ($0 * 8) }
-            .reduce(0, { partialResult, value in
-                partialResult | value
-            })
-    }
-    
-    var data: Data { Data(self) }
-}
-
-public extension Data {
-    
-    func joined(format: String = "%02x", _ separator: String = "") -> String {
-        self
-            .map { String(format: format, $0) }
-            .joined(separator: separator)
-    }
-    
-    func reversedJoined(format: String = "%02x", _ separator: String = "") -> String {
-        self
-            .map { String(format: format, $0) }
-            .reversed()
-            .joined(separator: separator)
-    }
-    
-    var int: Int {
-        self
-            .map { Int($0) }
-            .enumerated()
-            .map { $1 << ($0 * 8) }
-            .reduce(0, { partialResult, value in
-                partialResult | value
-            })
-    }
-    
-}
-
-public extension UInt8 {
-    var int: Int { Int(self) }
-}
-
-
-extension Data{
-    var float: Float {
-        var floatValue: Float = 0.0
-        let size = MemoryLayout<Float>.size
-        guard self.count >= size else { return 0 }
-        
-        self.withUnsafeBytes { (buffer: UnsafeRawBufferPointer) -> Void in
-            _ = memcpy(&floatValue, buffer.baseAddress!, size)
-        }
-        
-        return floatValue
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/BleSender.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/BleSender.swift
deleted file mode 100644 (file)
index d39a40d..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-//
-//  BleSender.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/25.
-//
-
-import Foundation
-
-class BleSender{
-    var completion: DCCompletionHandler!
-    var data = Data()
-    
-    static var all: [BleSender] = []
-    
-    init() {
-        Self.all.append(self)
-        startTimer()
-    }
-    var timer: Timer?
-    func startTimer() {
-        deinitTimer()
-        
-        self.timer = Timer.scheduledTimer(withTimeInterval: 3, repeats: false, block: { [unowned self] _ in
-            deinitTimer()
-            self.completion?(.response.code(.timeout))
-            self.remove()
-        })
-    }
-    
-    @discardableResult
-    func deinitTimer() ->Self{
-        guard let _ = self.timer else { return self}
-        self.timer?.invalidate()
-        self.timer = nil
-        //        Logger.log("销毁定时器")
-        return self
-    }
-    
-    /// 从缓存实例集合中移除该实例
-    func remove() {
-        Self.all.removeAll { $0 === self }
-    }
-    
-    func isAnswer(_ receiveData:Data)->Bool{
-        if data.count < 3{
-            return false
-        }
-        if receiveData[1] == data[1] {
-            return true
-        }
-        return false
-    }
-    
-    static func answer(_ data: Data) -> BleSender? {
-        if data.count < 3{
-            return nil
-        }
-        for item in Self.all {
-            if item.isAnswer(data) {
-                return item
-            }
-        }
-        return nil
-    }
-}
-
-public typealias DCCompletionHandler = (_ result: DCResponse) -> Void
-
-/// 状态码
-public enum DCCode: Int,CustomStringConvertible {
-    
-    public var description: String{
-        return "MSCode(rawValue:\(rawValue), message:\(message))"
-    }
-    
-    /// 操作成功
-    case success = 1000
-    /// 操作失败
-    case failure = 1001
-    /// 请求超时
-    case timeout = 1004
-    /// 未知错误
-    case unknow = 1005
-    
-    var message:String{
-        switch self {
-        case .failure:
-            return "失败"
-        case .success:
-            return "成功"
-        case .timeout:
-            return "超时"
-        default:
-            return "未知错误"
-        }
-    }
-}
-
-public class DCResponse {
-    public private(set) var code: DCCode = .success
-    public private(set) var data: Data = Data()
-    static var response: DCResponse { DCResponse() }
-    
-    
-    var isSuccess:Bool{
-        return code == .success
-    }
-    
-    public var description: String{
-        return code.description + "data = " +  data.joined()
-    }
-    
-    @discardableResult
-    func code(_ value: DCCode) -> Self {
-        code = value
-        return self
-    }
-    
-    @discardableResult
-    func value(_ value: Data) -> Self {
-        self.data = value
-        return self
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/DCBleManager.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/DCBleManager.swift
deleted file mode 100644 (file)
index d2da6c6..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-//  Untitled.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/25.
-//
-
-import Foundation
-import CoreBluetooth
-import StarburstSdk
-
-public class DCBleManager{
-    
-    public static let shared = DCBleManager()
-    private var connectPeripheral: CBPeripheral?
-    private var writeCha: CBCharacteristic?
-
-    func send(_ sender:BleSender){
-        if let connectPeripheral = connectPeripheral, let writeCha = writeCha {
-            Logger.debug("发",writeCha.uuid.uuidString,sender.data.joined())
-            connectPeripheral.writeValue(sender.data, for: writeCha, type:.withoutResponse)
-        }
-    }
-    func sendToStarburst(_ data:Data){
-        var full = Data.dataWithHexString("BA0D")
-        full.append(data)
-        full.addCrc()
-        if let connectPeripheral = connectPeripheral, let writeCha = writeCha {
-            Logger.debug("发",writeCha.uuid.uuidString,full.joined())
-            connectPeripheral.writeValue(full, for: writeCha, type:.withoutResponse)
-        }
-    }
-}
-
-public extension DCBleManager{
-    func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
-        Logger.debug("蓝牙已连接 \(peripheral)")
-        connectPeripheral = peripheral
-    }
-    func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) {
-        Logger.debug("peripheral: %@ failed to connect", peripheral)
-    }
-    func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
-        Logger.debug("蓝牙已断开 \(peripheral)")
-        StarburstSdk.shared().bleDisConnected()
-    }
-    
-    func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?) {
-        Logger.debug("发现服务成功")
-        for service in peripheral.services! {
-            Logger.debug("peripheral service: %@", service)
-            peripheral.discoverCharacteristics(nil, for: service)
-        }
-
-    }
-    func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) {
-        if let list = service.characteristics{
-            Logger.debug("发现特征",list)
-            for char in  list{
-                Logger.debug(char)
-                peripheral.setNotifyValue(true, for: char)
-                if char.uuid.uuidString == "AE03" {
-                    writeCha = char
-                    StarburstSdk.shared().bleConnected()
-                }
-            }
-        }
-    }
-    
-    func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
-        Logger.debug("收 ",characteristic.uuid,characteristic.value?.joined() ?? "")
-        guard let data = characteristic.value else { return  }
-        if data.count < 4 {
-            return
-        }
-        
-        if let sender = BleSender.answer(data) {
-            sender.completion?(.response.code(.success).value(data))
-            sender.deinitTimer()
-            sender.remove()
-            return
-        }
-        else if data[1] == 0x0D{
-            let subData = data.subdata(in: 2..<data.count - 2)
-//            Logger.debug("传给字节sdk",subData.joined())
-            StarburstSdk.shared().receiveBleData(subData)
-        }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/DCDevice.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/DCDevice.swift
deleted file mode 100644 (file)
index 20cc65d..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-//  DCDevice.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/25.
-//
-
-import Foundation
-
-public class DCDevice{
-    public static let shared = DCDevice()
-
-    public func getBatery(finished:@escaping ((Int,Int)?)->Void){
-        var data = Data.dataWithHexString("BA0900")
-        data.addCrc()
-
-        let sender = BleSender()
-        sender.data = data
-        sender.completion = { result in
-            Logger.debug("\(result.description)")
-            if result.isSuccess{
-                let leftValue = result.data[3].int
-                let rightValue = result.data[5].int
-                Logger.debug(leftValue,rightValue)
-                finished((leftValue,rightValue))
-            }
-            else{
-                finished(nil)
-            }
-        }
-        DCBleManager.shared.send(sender)
-    }
-    public func getSoftVersion(finished:@escaping (String?)->Void){
-        var data = Data.dataWithHexString("BA0A00")
-        data.addCrc()
-        
-        let sender = BleSender()
-        sender.data = data
-        sender.completion = { result in
-            Logger.debug("\(result.description)")
-            if result.isSuccess{
-                let data = result.data[2...6]
-                let text = String(data: data, encoding:.utf8)
-                Logger.debug(text)
-                finished((text))
-            }
-            else{
-                finished(nil)
-            }
-        }
-        DCBleManager.shared.send(sender)
-    }
-    public func getHardVersion(finished:@escaping (String?)->Void){
-        var data = Data.dataWithHexString("BA0A01")
-        data.addCrc()
-        
-        let sender = BleSender()
-        sender.data = data
-        sender.completion = { result in
-            Logger.debug("\(result.description)")
-            if result.isSuccess{
-                let data = result.data[2...6]
-                let text = String(data: data, encoding:.utf8)
-                Logger.debug(text)
-                finished((text))
-            }
-            else{
-                finished(nil)
-            }
-        }
-        DCBleManager.shared.send(sender)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/Data.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/Data.swift
deleted file mode 100644 (file)
index 89b4197..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-//
-//  Data.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/24.
-//
-import Foundation
-
-extension Data {
-
-    
-    static func dataWithHexString(_ hexStr: String) -> Data {
-        let hexStrWithoutSpaces = hexStr.replacingOccurrences(of: " ", with: "")
-        let lowercasedHexStr = hexStrWithoutSpaces.lowercased()
-        let len = lowercasedHexStr.count
-        if len == 0 {
-            return Data()
-        }
-        
-        let utf16Chars = lowercasedHexStr.utf16
-        
-        var result = Data()
-        var bytes: UInt8
-        var str = [CChar](repeating: 0, count: 3)
-        for i in 0..<len / 2 {
-            str[0] = CChar(utf16Chars[utf16Chars.index(utf16Chars.startIndex, offsetBy: 2 * i)])
-            str[1] = CChar(utf16Chars[utf16Chars.index(utf16Chars.startIndex, offsetBy: 2 * i + 1)])
-            bytes = UInt8(strtoul(str, nil, 16))
-            result.append(&bytes, count: 1)
-        }
-        return result
-    }
-    
-    static func crc8(_ data: Data) -> UInt8 {
-        var crc: UInt8 = 0
-        for byte in data {
-            crc ^= byte
-            for _ in 0..<8 {
-                if crc & 0x01 != 0 {
-                    crc = (crc >> 1) ^ 0x8C
-                } else {
-                    crc >>= 1
-                }
-            }
-        }
-        return crc
-    }
-    
-    mutating func addCrc(){
-        var len = UInt8(self.count - 2)
-        self.append(&len, count: 1)
-        var crc = Data.crc8(self)
-        self.append(&crc, count: 1)
-    }
-    
-//    mutating func addCrc(){
-//       var  list = self.map({ $0 })
-//       var crc = chargestore_crc8(list, len: list.count)
-//        self.append(&crc, count: 1)
-//    }
-}
-
-
-func chargestore_crc8(_ ptr: UnsafePointer<UInt8>, len: Int) -> UInt8 {
-    var crc: UInt8 = 0
-    var length = len
-    var currentPtr = ptr
-    
-    while length > 0 {
-        crc ^= currentPtr.pointee
-        currentPtr = currentPtr.advanced(by: 1)
-        length -= 1
-        
-        for _ in 0..<8 {
-            if crc & 0x01 != 0 {
-                crc = (crc >> 1) ^ 0x8C
-            } else {
-                crc >>= 1
-            }
-        }
-    }
-    return crc
-}
-
-//// 调用示例
-//let data: [UInt8] = [0x01, 0x02, 0x03]
-//let crcResult = data.withUnsafeBufferPointer { buffer in
-//    chargestore_crc8(buffer.baseAddress!, len: buffer.count)
-//}
-//print("CRC8 结果: \(crcResult)")
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/Date.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/Date.swift
deleted file mode 100644 (file)
index 3fd88f0..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-//
-//  Date.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-
-import Foundation
-
-// MARK: - Extension Date
-extension Date {
-    
-    static let formatter = DateFormatter()
-    
-    struct Format {
-        
-        let rawValue: String
-        init(_ rawValue: String) {
-            self.rawValue = rawValue
-        }
-        
-        /// e.g. 01:01:01
-        static let time: Format = .init("HH:mm:ss")
-        
-        /// e.g. 01:01
-        static let shortTime: Format = .init("HH:mm")
-        
-        /// e.g. 01-01
-        static let date: Format = .init("MM-dd")
-        
-        /// e.g. 01月01日
-        static let date1: Format = .init("MM月dd日")
-        
-        /// e.g. 2020-01-01
-        static let short: Format = .init("yyyy-MM-dd")
-        
-        
-        /// e.g. 2020年01月01日
-        static let short1: Format = .init("yyy年MM月dd日")
-        
-        /// e.g. 2020-01-01 01:01
-        static let middle: Format = .init("yyyy-MM-dd HH:mm")
-        
-        /// e.g. 2020年01月01日 01:01
-        static let middle1: Format = .init("yyy年MM月dd日 HH:mm")
-        
-        /// e.g. 2020-01-01 01:01:01
-        static let long: Format = .init("yyyy-MM-dd HH:mm:ss")
-        
-        /// e.g. 2020年01月01日 01:01:01
-        static let long1: Format = .init("yyyy年MM月dd日 HH:mm:ss")
-        
-        /// e.g. 2020-01-01 01:01:01.088
-        static let full: Format = .init("yyyy-MM-dd HH:mm:ss.SSS")
-        
-        /// e.g. 2020年01月01日 01:01:01.088
-        static let full1: Format = .init("yyyy年MM月dd日 HH:mm:ss.SSS")
-        static let full2: Format = .init("yyyy-MM-ddTHH:mm")
-        static let full3: Format = .init("yyyy-MM-dd HH:mm")
-        static let full4: Format = .init("yyyyMMdd00000000")
-        static let full5: Format = .init("yyyyMMddHHmmss")
-        static let full6: Format = .init("yyyyMMddHHmmssSSS")
-    }
-    
-    /// 格式化成本地时间
-    func format(_ format: Date.Format = .middle) -> String {
-        Self.formatter.dateFormat = format.rawValue
-        return Self.formatter.string(from: self)
-    }
-    
-    enum Unit {
-        case minute(Int)
-        case hour(Int)
-        case day(Int)
-        
-        /// 转换成秒
-        var second: TimeInterval {
-            switch self {
-            case .minute(let minute): return 60.0 * Double(minute)
-            case .hour(let hour): return 60.0 * 60.0 * Double(hour)
-            case .day(let day): return 60.0 * 60.0 * 24.0 * Double(day)
-            }
-        }
-    }
-}
-
-let today: Date = .init()
-
-/// 本地化
-extension Date {
-    /// 星期几
-    enum Week: Int {
-        /// 星期日
-        case sun = 1
-        /// 星期一
-        case mon
-        /// 星期二
-        case tue
-        /// 星期三
-        case wed
-        /// 星期四
-        case thur
-        /// 星期五
-        case fri
-        /// 星期六
-        case sat
-    }
-    
-    //    /// 当天的第一秒
-    //    var fromTimeInterval: TimeInterval {
-    //        let today = format(.short)
-    //        return today.timeIntervalSince1970(.short)
-    //    }
-    //
-    //    /// 当天最后一秒
-    //    var toTimeInterval: TimeInterval { fromTimeInterval + Unit.day(1).second }
-    
-    /// 哪一年
-    var year: Int { component(.year) }
-    
-    /// 哪个月
-    var month: Int { component(.month) }
-    
-    /// 当月的第几天
-    var day: Int { component(.day) }
-    
-    /// 当月的第几天
-    var hour: Int { component(.hour)}
-    
-    /// 当月的第几天
-    var minute: Int { component(.minute)}
-    
-    /// 当月的第几天
-    var second: Int { component(.second)}
-    
-    /// 当月的第几周
-    var  weekOfMonth: Int { component(.weekOfMonth) }
-    
-    /// 今年的第几周
-    var  weekOfYear: Int { component(.weekOfYear) }
-    
-    /// 星期几
-    var weekDay: Week { Week(rawValue: component(.weekday))! }
-    
-    /// 假设当天是周五,表示本月的第几个周五
-    var weekdayOrdinal: Int { component(.weekdayOrdinal) }
-    
-    private func component(_ component: Calendar.Component) -> Int {
-        return Calendar.autoupdatingCurrent.component(component, from: self)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/DeepChordsAiSdk.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/DeepChordsAiSdk.swift
deleted file mode 100644 (file)
index f25a0f2..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-//
-//  DeepChords.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/25.
-//
-import Foundation
-import StarburstSdk
-public class DeepChordsAiSdk{
-    public static let shared = DeepChordsAiSdk()
-    public var authCallback: ((Int,String) -> Void)?
-    public var sdkLog:String{
-        return StarburstConfig.shared().logPath
-    }
-    
-    
-    public func initSDK(){
-        StarburstConfig.shared().switch(to: .ble)
-        StarburstConfig.shared().appId =  "app_ro4n4nwljr20kwqo"
-        //MARK: 配置缓存路径
-        StarburstConfig.shared().sdkFolder = NSTemporaryDirectory()
-        StarburstConfig.shared().isDebug = true
-        StarburstConfig.shared().enableTextSyncToDevice = true
-        StarburstConfig.shared().enableEmotionSyncToDevice = true
-        StarburstConfig.shared().enableEarbudsSwitchSync = true
-        
-        StarburstConfig.shared().switch(to: .ble)
-        //设置appid
-//        StarburstConfig.shared().appId = "app_ro4n4nwljr20kwqo"
-//        StarburstConfig.shared().appId = "prjzVn0EpKL1N"
-        StarburstConfig.shared().appId = "prjzVnOEpKL1N"
-
-
-        //debug模式会打印日志
-        StarburstConfig.shared().isDebug = true
-        // sdk缓存路径
-        StarburstConfig.shared().sdkFolder = NSHomeDirectory() + "/Documents/AiSdk"
-        // 日志路径
-        StarburstConfig.shared().logPath = logPath()
-        //        //是否下发文字到耳机仓
-        //        StarburstConfig.shared().enableTextSyncToDevice = true;
-        //        //主从耳机切换是否同步sdk信息到耳机
-        //        StarburstConfig.shared().enableEarbudsSwitchSync = true;
-        //        //耳机仓表情下发开关
-        //        StarburstConfig.shared().enableEmotionSyncToDevice = true;
-        //添加调试信息
-//        StarburstConfig.shared().debugInfo = [
-//            "x-use-ppe":"1",
-//            "x-tt-env": "ppe_tischarge_test",
-//        ]
-        // voicechat配置
-        StarburstConfig.shared().user_custom_prompt_init = "1.用户位置在上海市杨浦区。2.用户名称叫小明。"
-        
-        StarburstSdk.shared().authCallback = {[weak self] (code,msg) in
-            self?.authCallback?(Int(code),msg ?? "")
-        }
-        //sdk发给蓝牙设备
-        StarburstSdk.shared().sendToBleCallback = {data in
-            guard let data = data else {return}
-            DCBleManager.shared.sendToStarburst(data)
-        }
-        StarburstSdk.shared().bleRecordStateCallback = {[weak self] state in
-            
-        }
-    }
-    
-    func logPath()->String{
-        let format = DateFormatter()
-        format.dateFormat = "yyyyMMddHHmmss"
-        let text = format.string(from: Date())
-        return NSHomeDirectory() + "/Documents/\(text).log"
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/DeepChordsSdk.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/DeepChordsSdk.swift
deleted file mode 100644 (file)
index 7c4aefc..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-//
-//  DeepChordsSdk.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-import Foundation
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/Demo.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/Demo.swift
deleted file mode 100644 (file)
index 68abb80..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-//
-//  Demo.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-import UIKit
-
-public class DeepChordsSdkDemo{
-    static public func log(){
-        print("1111")
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/LogManager.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/LogManager.swift
deleted file mode 100644 (file)
index 2a6c991..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-//  LogManager.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-import Foundation
-
-/// 日记管理
-public class Logger {
-    static var isDebug: Bool = true
-    
-    fileprivate static let shared = Logger()
-    private var fileHandle:FileHandle?
-    private init() {
-        let path = getPath()
-        fileHandle = FileHandle(forWritingAtPath: path)!
-        //fileHandle?.seekToEndOfFile()
-    }
-    
-    fileprivate var dateString: String { Date().format(.full) }
-    
-    public static var logs: [String] = []
-    
-    
-    private func getPath()->String{
-        let foldPath = NSHomeDirectory() + "/Documents/"
-        let fileManager = FileManager.default
-        if !fileManager.fileExists(atPath: foldPath) {
-            do {
-                try FileManager.default.createDirectory(atPath: foldPath, withIntermediateDirectories: true, attributes: nil)
-            } catch {
-                return ""
-            }
-        }
-        let path = foldPath + "Example_\(Date().format(.middle)).log"
-        if !FileManager.default.fileExists(atPath: path) {
-            FileManager.default.createFile(atPath: path, contents: nil, attributes: nil)
-            
-        }
-        return path
-    }
-}
-
-extension Logger {
-    public static func debug(_ logs: Any..., line: Int = #line, separator: String = " ", terminator: String = "\n") {
-        objc_sync_enter(Logger.shared)
-        if Logger.isDebug {
-            print(Logger.shared.dateString, terminator: " [DeepChordsSdk-\(String(format: "%03d", line))]: ")
-            print(logs, separator: separator, terminator: terminator)
-            let logString = Logger.shared.dateString + " [DeepChordsSdk-\(String(format: "%03d", line))]: " + logs.map({ "\($0)" }).joined(separator: separator) + terminator
-            Self.logs.append(logString)
-            Logger.shared.saveLog(log: logString)
-        }
-        objc_sync_exit(Logger.shared)
-        
-        
-    }
-    
-    private func saveLog(log:String){
-        fileHandle?.write(log.data(using: .utf8)!)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/ReceiveManager.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/ReceiveManager.swift
deleted file mode 100644 (file)
index e482cd6..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-//  ReceiveManager.swift
-//  DeepChordsSdk
-//
-//  Created by liangshi on 2025/11/25.
-//
-import Foundation
-
-class ReceiveManager{
-    
-    
-    static func receiveData(_ data:Data){
-        
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarbaustVoiceChatModel.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarbaustVoiceChatModel.h
deleted file mode 100644 (file)
index 1b1e33e..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-//
-//  StarbaustVoiceChatModel.h
-//  StarburstSdk
-//
-//  Created by incar on 2024/11/22.
-//
-
-#import <Foundation/Foundation.h>
-#import <StarburstSdk/StarburstAsrModel.h>
-
-@interface StarbaustVoiceChatModel : NSObject
-@property (nonatomic, assign) NSInteger code;/// 状态码,200成功
-@property (nonatomic, strong) NSString *msg;/// 提示语
-@property (nonatomic, strong) NSString *requestId;/// 请求id
-@property (nonatomic, assign) NSInteger dialogId;/// 对话id
-@property (nonatomic, strong) NSString *textResult;/// 语⾳识别结果⽚段内容
-@property (nonatomic, strong) NSString *responseText;/// 响应结果⽚段内容
-@property (nonatomic, strong) NSString *intent;/// 意图
-@property (nonatomic, assign) NSInteger sequence;/// 响应的编号
-@property (nonatomic, assign) BOOL definite;/// 语⾳识别结果⽚段是否已确定,后序不会有变化
-@property (nonatomic, assign) NSInteger definiteIndex;/// 已确定的识别结果序列号
-//@property (nonatomic, assign) NSInteger conversationIndex;/// 已确定的响应结果序列号
-@property (nonatomic, assign) BOOL conversationFinish;/// 对话是否结束
-@property (nonatomic, strong) StarburstTranslateResult *translateResult;///翻译结果
-@property (nonatomic, strong) StarburstAsrTtsResult *ttsResult;///tts音频流
-
-@end
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstAsrConfig.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstAsrConfig.h
deleted file mode 100644 (file)
index 70275c1..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-//  StarburstAsrConfig.h
-//  StarburstSdk
-//
-//  Created by incar on 2024/9/14.
-//
-
-#import <Foundation/Foundation.h>
-
-//语言
-//简体中文 zh-CN
-//四川话 sc
-//粤语 cant
-//上海话 zh_shanghai
-//英文  en-US
-//日语 ja-JP
-//韩语 ko-KR
-//法语 fr-FR
-//西班牙语 es-MX
-//葡萄牙语 pt-BR
-//印尼语 id-ID
-//俄语 ru-RU
-//马来语 ms-MY
-
-/// voice chat配置
-@interface StarburstVoiceChatConfig : NSObject
-@property (nonatomic, strong) NSString *role;/// 对话⻆⾊设定;默认为⽆特⾊的智能助⼿
-//@property (nonatomic, assign) int channel;/// 默认为1,只⽀持1:单声道、2:双声道
-@property (nonatomic, strong) NSString *language;/// 语⾔编码,默认为普通话(zh-CN)
-@property (nonatomic, assign) BOOL tts;/// 是否进⾏Tts,默认false
-@property (nonatomic, strong) NSString *ttsAudioFormat;/// 默认pcm。⽀持pcm / ogg_opus / mp3
-@property (nonatomic, strong) NSString *ttsSpeakerType;/// tts声⾊类型,仅当传"clone"时,ttsSpeaker为单⾊克隆⽣成的speakerId
-@property (nonatomic, strong) NSString *ttsSpeakerId;/// tts声⾊设置,默认使⽤“⾃然⼥声”
-@end
-
-/// 手机录音asr配置
-@interface StarburstAsrConfig : NSObject
-@property (nonatomic, assign) BOOL isTranslate;/// 是否翻译,默认false。如果为true翻译源语言和目标语言不能是同一种语言
-@property (nonatomic, strong) NSString *fromLanguage;/// 语⾔编码,默认为普通话(zh-CN),auto_lang自动识别
-@property (nonatomic, strong) NSString *toLanguage;/// ⽬标语⾔编码,默认为英语(en-US),auto_lang自动识别
-@property (nonatomic, assign) BOOL isTTs;/// 是否进⾏Tts,默认false
-@property (nonatomic, strong) NSString *ttsFormat;/// 默认pcm ⽀持pcm / ogg_opus / mp3
-@property (nonatomic, strong) NSString *ttsType;/// 默认只⽀持"stream",
-@property (nonatomic, strong) NSString *ttsSpeaker;/// tts声⾊设置
-@end
-
-/// 蓝牙耳机录音asr配置
-@interface StarburstBleAsrConfig : NSObject
-@property (nonatomic, assign) NSInteger type;/// 0x00实时录音,0x0c通话录音,其他待定
-@end
-
-/// 文件/文本asr配置
-@interface StarburstAsrFileConfig : NSObject
-@property (nonatomic, assign) BOOL isTranslate;/// 是否翻译,默认false
-@property (nonatomic, strong) NSString *fromLanguage;/// 语⾔编码
-@property (nonatomic, strong) NSString *toLanguage;/// ⽬标语⾔编码
-@property (nonatomic, assign) BOOL summary;/// 是否进行总结,默认false
-@property (nonatomic, assign) BOOL speakerSplit;/// 是否区分说话人,默认false
-@end
-
-
-/// 翻译配置
-@interface StarburstTslConfig : NSObject
-@property (nonatomic, strong) NSString *fromLanguage;/// 语⾔编码
-@property (nonatomic, strong) NSString *toLanguage;/// ⽬标语⾔编码
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstAsrModel.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstAsrModel.h
deleted file mode 100644 (file)
index e09478f..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-//  StarburstAsrModel.h
-//  StarburstSdk
-//
-//  Created by incar on 2024/9/13.
-//
-
-#import <Foundation/Foundation.h>
-
-/// 翻译结果
-@interface StarburstTranslateResult : NSObject
-@property (nonatomic, strong) NSString *text;/// 语⾳识别后翻译的结果⽚段
-@property (nonatomic, assign) BOOL definite;/// 当前翻译⽚段是否确定
-@property (nonatomic, assign) int definiteIndex;/// 已翻译⽚段序号
-@end
-
-/// tts音频流
-@interface StarburstAsrTtsResult : NSObject
-@property (nonatomic, assign) NSInteger index;/// 音频数据⽚段的序号
-@property (nonatomic, assign) NSInteger translateIndex;/// 翻译的序号
-@property (nonatomic, strong) NSString *streamPiece;/// 音频流
-@end
-
-
-/// 识别结果
-@interface StarburstAsrModel : NSObject
-@property (nonatomic, assign) NSInteger channel;/// 0非立体声,1左声道,2右声道
-@property (nonatomic, assign) NSInteger code;/// 状态码
-@property (nonatomic, strong) NSString *msg;/// 提示语
-@property (nonatomic, strong) NSString *requestId;/// 请求id
-@property (nonatomic, strong) NSString *textResult;/// 语⾳识别结果⽚段内容
-@property (nonatomic, assign) NSInteger sequence;/// 响应的编号
-@property (nonatomic, assign) BOOL definite;/// 语⾳识别结果⽚段是否已确定,后序不会有变化
-@property (nonatomic, assign) NSInteger definiteIndex;/// 已确定的识别结果序列号
-@property (nonatomic, strong) StarburstTranslateResult *translateResult;///翻译结果
-@property (nonatomic, strong) StarburstAsrTtsResult *ttsResult;///tts音频流
-
-+ (StarburstAsrModel *)modelWith:(NSDictionary *)dict;
-@end
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstConfig.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstConfig.h
deleted file mode 100644 (file)
index 9b4dd0a..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-//  StarburstConfig.h
-//  StarburstSdk
-//
-//  Created by liangshi on 2025/6/18.
-//
-
-#import <Foundation/Foundation.h>
-
-typedef NS_OPTIONS(NSInteger,StarburstSdkType) {
-    StarburstSdkType_Ble = 1,/// 设备鉴权+设备拾音
-    StarburstSdkType_Phone = 2,/// 账号鉴权+手机拾音
-    StarburstSdkType_Mix = 3,/// 设备鉴权+手机拾音
-    StarburstSdkType_Glasses_Ble = 4,/// 眼镜板+设备鉴权
-    StarburstSdkType_Glasses_Account = 5,/// 眼镜板+账号鉴权
-};
-
-
-@interface StarburstConfig : NSObject
-@property (nonatomic, readonly)NSString *logs;/// 获取日志
-@property (nonatomic, strong)void (^logCallback)(NSString *log);/// 日志输出回调
-@property (nonatomic, assign)BOOL isDebug;/// 是否打印日志,默认false
-@property (nonatomic, strong)NSString *logPath;/// 日志路径,不设置不保存日志
-@property (nonatomic, strong)NSString *sdkFolder;/// sdk路径,可以自定义
-@property (nonatomic, strong)NSDictionary *debugInfo;/// 调试信息
-@property (nonatomic, strong)NSString *user_custom_prompt_init;/// voicechat配置
-
-@property (nonatomic, assign)BOOL enableEarbudsSwitchSync;/// 主从耳机切换是否同步sdk信息到耳机,默认false
-@property (nonatomic, assign)BOOL enableTextSyncToDevice;/// 是否下发文字到耳机仓,默认false
-@property (nonatomic, assign)BOOL enableEmotionSyncToDevice;/// 耳机仓表情下发开关,默认false
-@property (nonatomic, assign)NSInteger callRecordChannel;/// 通话录音声道数。1:单声道 ;2:⽴体声;默认单声道
-//enableExternalOpusDecoder
-@property (nonatomic, strong)NSString *appId;/// 分配的id
-@property (nonatomic, readonly)StarburstSdkType sdkType;/// sdk类型
-
-/// 单利
-+ (instancetype)shared;
-
-/// 切换sdk
-- (void)switchTo:(StarburstSdkType)type;
-@end
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstFileAsrModel.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstFileAsrModel.h
deleted file mode 100644 (file)
index b409f7b..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  StarburstFileAsrModel.h
-//  StarburstSdk
-//
-//  Created by incar on 2024/9/27.
-//
-
-#import <Foundation/Foundation.h>
-
-/// 该段说话人
-@interface StarburstFileAsrAdditions : NSObject
-@property (nonatomic, strong) NSString *speaker;/// 该段说话人编号
-@end
-
-/// 识别片段
-@interface StarburstFileAsrPieces : NSObject
-@property (nonatomic, strong) NSString *text;/// 片段识别的内筒
-@property (nonatomic, assign) NSInteger start_time;///片段对应文件进度,单位毫秒
-@property (nonatomic, assign) NSInteger end_time;///  片段对应文件进度,单位毫秒
-@property (nonatomic, strong) StarburstFileAsrAdditions *additions;///该段说话人
-@end
-
-/// 文件识别结果模型
-@interface StarburstFileAsrModel : NSObject
-@property (nonatomic, assign) NSInteger code;/// 状态码
-@property (nonatomic, strong) NSString *msg;/// 提示语
-@property (nonatomic, strong) NSString *requestId;/// 请求id
-@property (nonatomic, strong) NSString *taskId;/// 任务id
-@property (nonatomic, strong) NSString *text;/// 语⾳识别内容
-@property (nonatomic, strong) NSString *summary;/// 识别摘要内容
-@property (nonatomic, strong) NSString *transText;///识别后翻译结果
-@property (nonatomic, strong) NSArray<StarburstFileAsrPieces *> *pieces;///识别片段
-
-+ (StarburstFileAsrModel *)modelWith:(NSDictionary *)dict;
-@end
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstOffLineFile.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstOffLineFile.h
deleted file mode 100644 (file)
index 9e7a192..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-//  StarburstOffLineFile.h
-//  StarburstSdk
-//
-//  Created by incar on 2024/10/8.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/// 离线文件
-@interface StarburstOffLineFile : NSObject
-
-@property (nonatomic, assign) uint8_t fileType;/// 0x00所有文件、0x01左耳列表、0x02右耳列表
-@property (nonatomic, assign) NSInteger fileId;/// 文件id
-@property (nonatomic, assign) NSInteger fileSize;/// 文件大小
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstPhoneSdk.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstPhoneSdk.h
deleted file mode 100644 (file)
index 903da21..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-//
-//  StarburstPhoneSdk.h
-//  StarburstSdk
-//
-//  Created by liangshi on 2025/3/11.
-//
-
-#import <Foundation/Foundation.h>
-#import <StarburstSdk/StarburstSdkManager.h>
-#import <StarburstSdk/StarburstAsrConfig.h>
-#import <StarburstSdk/StarburstAsrModel.h>
-#import <StarburstSdk/StarbaustVoiceChatModel.h>
-#import <StarburstSdk/StarburstFileAsrModel.h>
-#import <StarburstSdk/StarburstOffLineFile.h>
-#import <StarburstSdk/StarburstStreamModel.h>
-#import <StarburstSdk/StarbusrtSpeaker.h>
-
-
-@interface StarburstPhoneSdk : NSObject
-@property (nonatomic, readonly)BOOL didAuth;/// 是否已经鉴权
-@property (nonatomic, strong)void (^websocketStateCallback)(BOOL connected);/// websocket状态回调,true为已连接,false未链接
-
-
-/// 单利
-+ (instancetype)shared;
-
-///  注册
-/// - Parameters:
-///   - productKey: 产品key
-///   - productSecret:  产品秘钥,经过aes/cbc/7Padding加密后的data
-///   - deviceName:  设备名称
-///   - random:  加密随机数
-///   - finished: 结果回调
-- (void)registerWithProductKey:(NSString *)productKey productSecret:(NSData *)productSecret deviceName:(NSString *)deviceName random:(NSString *)random finished:(void (^)(NSString *deviceSecret,NSError *error))finished;
-
-///  登录
-/// - Parameters:
-///   - productKey: 产品key
-///   - deviceName:  设备名称
-///   - deviceSecret:  设备密码
-///   - finished: 结果回调
-- (void)connectWithProductKey:(NSString *)productKey deviceName:(NSString *)deviceName deviceSecret:(NSString *)deviceSecret finished:(void (^)(BOOL isSuccess,NSError *error))finished;
-
-///// 【文件摘要】
-///// - Parameters:
-/////   - path: 文件路径
-/////   - recognize: 识别结果回调
-/////   - error: 错误回调
-//- (void)asrByFile:(NSURL *)filePath config:(StarburstAsrFileConfig*)config recognizeText:(void (^)(StarburstFileAsrModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 【文本摘要】
-/// - Parameters:
-///   - text: 识别的文本
-///   - recognize: 识别结果回调
-///   - error: 错误回调
-- (void)summaryByText:(NSString *)text config:(StarburstAsrFileConfig*)config recognizeText:(void (^)(StarburstFileAsrModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 【文本摘要】--流式
-/// - Parameters:
-///   - text: 摘要的文字
-///   - recognize: 结果回调
-///   - error: 错误回调
-- (void)summaryByTextWithSplit:(NSString *)text recognizeText:(void (^)(StarburstStreamModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 取消 【文本摘要】--流式
--(void)cancelSummaryByTextWithSplit;
-
-/// 【文本翻译】
-/// - Parameters:
-///   - text: 翻译的文字
-///   - config: 翻译配置
-///   - recognize: 识别结果回调
-///   - error: 错误回调
-- (void)translateByText:(NSString *)text config:(StarburstAsrFileConfig*)config recognizeText:(void (^)(StarburstFileAsrModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 【文本翻译】--流式
-/// - Parameters:
-///   - text: 翻译的文字
-///   - config: 翻译配置
-///   - recognize: 结果回调
-///   - error: 错误回调
-- (void)translateByTextWithSplit:(NSString *)text config:(StarburstTslConfig*)config recognizeText:(void (^)(StarburstStreamModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 取消 【文本翻译】--流式
--(void)cancelTranslateByTextWithSplit;
-
-/// 【同声传译】开始手机拾音
-/// - Parameters:
-///   - config: 识别配置
-///   - voiceRecordData: 录音音频流回调
-///   - recognizeText: 识别回调
-///   - stateChange: 状态回调
-- (void)startRecordAsr:(StarburstAsrConfig*)config voiceRecord:(void (^)(NSData*))voiceData recognizeText:(void (^)(StarburstAsrModel*))recognize stateChange:(void(^)(StarburstCode code))stateChange interruption:(void(^)(void))interrupt;
-
-/// 【同声传译】结束手机拾音
-/// - Parameter fileCallback: 录音文件回调
-- (void)stopRecordAsr:(void(^)(NSString *filePath))fileCallback;
-
-/// 手机拾音对话设置
-/// - Parameters:
-///   - config: 对话配置
-///   - startCallBack: 开始回调
-///   - textCallBack: 文本识别回调
-///   - voiceCallBack: AI语音回复回调
-///   - stateChange: 状态回调
-///   - finished:录音地址回调
-- (void)setupPhoneChatWith:(StarburstVoiceChatConfig*)config start:(void (^)(NSInteger dialogId))startCallback textCallback:(void (^)(StarbaustVoiceChatModel*))textCallBack  responseVoice:(void (^)(NSInteger dialogId,NSData*data,BOOL finish))voiceCallBack stateChange:(void(^)(StarburstCode code))stateChange finished:(void(^)(NSString *filePath))path;
-
-/// 手机拾音,开始对话
-/// - Parameter vadType: 0 vad检测,1不启用vad(手动控制开始/结束讲话)
-- (void)startPhoneChat:(int)vadType;
-
-/// 结束手机拾音对话
-- (void)stopPhoneChat;
-
-/// 获取音色列表
-/// - Parameter callBack: 结果回调
-- (void)getVcSpeekerList:(void (^)(NSArray <StarbusrtSpeaker*> *list,BOOL success))callBack;
-
-@end
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstSdk.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstSdk.h
deleted file mode 100644 (file)
index 422071c..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-//  Starburst.h
-//  Starburst
-//
-//  Created by cookies on 2023/6/12.
-//
-
-#import <Foundation/Foundation.h>
-
-//! Project version number for Starburst.
-//FOUNDATION_EXPORT double StarburstSdkVersionNumber;
-
-//! Project version string for Starburst.
-//FOUNDATION_EXPORT const unsigned char StarburstSdkVersionString[];
-
-// In this header, you should import all the public headers of your framework using statements like #import <StarburstSdk/PublicHeader.h>
-
-#import <StarburstSdk/StarburstSdkManager.h>
-#import <StarburstSdk/StarburstConfig.h>
-#import <StarburstSdk/StarburstPhoneSdk.h>
-#import <StarburstSdk/StartburstMixSdk.h>
-#import <StarburstSdk/StartburstGlassesSdk.h>
-#import <StarburstSdk/StartburstGlassChat.h>
-#import <StarburstSdk/StarburstAsrConfig.h>
-#import <StarburstSdk/StarburstAsrModel.h>
-#import <StarburstSdk/StarburstFileAsrModel.h>
-#import <StarburstSdk/StarbaustVoiceChatModel.h>
-#import <StarburstSdk/StarbusrtSpeaker.h>
-#import <StarburstSdk/StarburstStreamModel.h>
-#import <StarburstSdk/StarburstOffLineFile.h>
-#import <StarburstSdk/StartburstDecoderConfig.h>
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstSdkManager.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstSdkManager.h
deleted file mode 100644 (file)
index 94af429..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-//
-//  StarburstSdk.h
-//  VoiceDemo
-//
-//  Created by incar on 2024/9/12.
-//
-
-#import <Foundation/Foundation.h>
-#import <StarburstSdk/StarburstAsrConfig.h>
-#import <StarburstSdk/StarburstAsrModel.h>
-#import <StarburstSdk/StarbaustVoiceChatModel.h>
-#import <StarburstSdk/StarburstFileAsrModel.h>
-#import <StarburstSdk/StarburstOffLineFile.h>
-#import <StarburstSdk/StarburstStreamModel.h>
-#import <StarburstSdk/StarbusrtSpeaker.h>
-#import <StarburstSdk/StartburstDecoderConfig.h>
-
-typedef NS_OPTIONS(NSInteger,StarburstCode) {
-    StarburstCode_Start_Record = 20001,///开始录音
-    StarburstCode_Stop_Record = 20002,///停止录音
-    StarburstCode_Record_Error = 20003,///录音出错
-    StarburstCode_Ble_Disconected = 20004,///蓝牙断开
-    StarburstCode_Websocket_Connected = 30001,///socket连上
-    StarburstCode_Websocket_Disconnected = 30002,///socket断开连接
-    StarburstCode_Websocket_Connecting = 30003,///socket连接中...
-    StarburstCode_Websocket_pingTimeOut = 30004,///ping超时
-    StarburstCode_Net_Error = 50000,///网络错误
-    StarburstCode_UnAuth = 60000,///未鉴权
-};
-
-
-@interface StarburstSdk : NSObject
-//@property (nonatomic, strong)void (^authSuccessCallback)(void);/// 鉴权成功回调
-@property (nonatomic, strong)void (^authCallback)(int code,NSString *msg);/// 鉴权结果回调,code200代表成功,其他为失败
-@property (nonatomic, readonly)BOOL didAuth;// 是否已经鉴权
-@property (nonatomic, strong)void (^websocketStateCallback)(BOOL connected);/// websocket状态回调,true为已连接,false未链接
-@property (nonatomic, strong)void (^bleRecordStateCallback)(int state);/// 耳机录音状态回调,1录音,2结束录音
-@property (nonatomic, strong)void (^sendToBleCallback)(NSData *data);/// 发送给蓝牙设备
-
-/// 单利
-+ (instancetype)shared;
-
-/// 收到蓝牙设备传过来的数据,交给sdk处理
-/// - Parameter data:数据
-- (void)receiveBleData:(NSData *)data;
-
-/// 蓝牙设备已经连上(蓝牙连接和断开都需要通知sdk)
-- (void)bleConnected;
-
-/// 蓝牙断开连接(在监听到蓝牙断开的时候,调用该方法通知sdk结束当前任务)
-- (void)bleDisConnected;
-
-///// 【文本摘要】
-///// - Parameters:
-/////   - text: 识别的文本
-/////   - recognize: 识别结果回调
-/////   - error: 错误回调
-- (void)summaryByText:(NSString *)text config:(StarburstAsrFileConfig*)config recognizeText:(void (^)(StarburstFileAsrModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 【文本摘要】--流式
-/// - Parameters:
-///   - text: 摘要的文字
-///   - recognize: 结果回调
-///   - error: 错误回调
-- (void)summaryByTextWithSplit:(NSString *)text recognizeText:(void (^)(StarburstStreamModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 取消 【文本摘要】--流式
--(void)cancelSummaryByTextWithSplit;
-
-/// 【文本翻译】
-/// - Parameters:
-///   - text: 翻译的文字
-///   - config: 翻译配置
-///   - recognize: 识别结果回调
-///   - error: 错误回调
-- (void)translateByText:(NSString *)text config:(StarburstAsrFileConfig*)config recognizeText:(void (^)(StarburstFileAsrModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 【文本翻译】--流式
-/// - Parameters:
-///   - text: 翻译的文字
-///   - config: 翻译配置
-///   - recognize: 结果回调
-///   - error: 错误回调
-- (void)translateByTextWithSplit:(NSString *)text config:(StarburstTslConfig*)config recognizeText:(void (^)(StarburstStreamModel*))recognize error:(void (^)(NSError *err))error;
-
-
-/// 取消 【文本翻译】--流式
--(void)cancelTranslateByTextWithSplit;
-
-/// 【同声传译】开始手机拾音
-/// - Parameters:
-///   - config: 识别配置
-///   - voiceRecordData: 录音音频流回调
-///   - recognizeText: 识别回调
-///   - stateChange: 状态回调
-///   - interrupt:打断回调(接听电话等打断)
-- (void)startRecordAsr:(StarburstAsrConfig*)config voiceRecord:(void (^)(NSData*))voiceData recognizeText:(void (^)(StarburstAsrModel*))recognize stateChange:(void(^)(StarburstCode code))stateChange interruption:(void(^)(void))interrupt;
-
-/// 【同声传译】结束手机拾音
-/// - Parameter fileCallback: 录音文件回调
-- (void)stopRecordAsr:(void(^)(NSString *filePath))callback;
-
-/// 开始耳机拾音
-/// - Parameters:
-///   - config: 识别配置
-- (void)startDeviceRecord:(StarburstBleAsrConfig*)config;
-
-/// 结束耳机拾音
-- (void)stopDeviceRecord;
-
-/// 设置耳机拾音回调
-/// - Parameters:
-///   - recordPath: 录音文件保存的路径。如果文件已经存在,则音频数据会追加到尾部;如果不存在,则创建新文件;传nil则会按之前时间格式创建新文件
-///   - asrConfig: 识别配置
-///   - bleConfig: 耳机录音类型回调
-///   - recognize: 识别回调
-///   - stateChange: 状态回调
-///   - path: 录音结束,录音文件地址回调
-- (void)setupDeviceRecordWith:(NSString *)recordPath asrConfig:(StarburstAsrConfig*)asrConfig bleConfig:(void (^)(StarburstBleAsrConfig*))bleConfig recognizeText:(void (^)(StarburstAsrModel*))recognize stateChange:(void(^)(StarburstCode code))stateChange finished:(void(^)(NSString *filePath))path;
-
-
-/// opus输出给app,app解码后将数据通过inputPcmData传回给sdk
-- (void)outputOpusData:(void (^)(StartburstDecoderConfig *copusConfig,NSData*opusData))recordCallBack;
-
-/// opus解码后传给sdk
-- (void)inputPcmData:(NSData *)pcmData;
-
-
-
-
-
-/// 获取音色列表
-/// - Parameter callBack: 结果回调
-- (void)getVcSpeekerList:(void (^)(NSArray <StarbusrtSpeaker*> *list,BOOL success))callBack;
-
-///  设置voice chat回调,目前只支持蓝牙设备发起对话
-/// - Parameters:
-///   - config: 对话配置
-///   - startCallBack: 开始回调
-///   - textCallBack: 文本识别回调
-///   - voiceCallBack: AI语音回复回调
-///   - stateChange: 状态回调
-///   - finished:录音地址回调
-- (void)setupVoiceChatWith:(StarburstVoiceChatConfig*)config start:(void (^)(NSInteger dialogId))startCallback textCallback:(void (^)(StarbaustVoiceChatModel*))textCallBack  responseVoice:(void (^)(NSInteger dialogId,NSData*data,BOOL finish))voiceCallBack stateChange:(void(^)(StarburstCode code))stateChange finished:(void(^)(NSString *filePath))path;
-
-/// 终止voice chat对话
-- (void)stopVoiceChat:(NSInteger)dialogId;
-
-/// 开始播放tts
-- (void)startPlayTtsAudio:(NSInteger)dialogId;
-
-/// 结束播放tts
-- (void)stopPlayTtsAudio:(NSInteger)dialogId;
-
-
-
-
-//不可用
-- (void)setupPhoneChatWith:(StarburstVoiceChatConfig*)config start:(void (^)(NSInteger dialogId))startCallback textCallback:(void (^)(StarbaustVoiceChatModel*))textCallBack  responseVoice:(void (^)(NSInteger dialogId,NSData*data,BOOL finish))voiceCallBack stateChange:(void(^)(StarburstCode code))stateChange finished:(void(^)(NSString *filePath))path;
-//不可用
-- (void)startPhoneChat:(int)vadType;
-//不可用
-- (void)stopPhoneChat;
-//不可用
-- (void)registerWithProductKey:(NSString *)productKey productSecret:(NSString *)productSecret deviceName:(NSString *)deviceName random:(NSString *)random finished:(void (^)(NSString *deviceSecret,NSError *error))finished;
-//不可用
-- (void)connectWithProductKey:(NSString *)productKey  deviceName:(NSString *)deviceName deviceSecret:(NSString *)deviceSecret finished:(void (^)(BOOL isSuccess,NSError *error))finished;
-@end
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstStreamModel.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarburstStreamModel.h
deleted file mode 100644 (file)
index fa0ad1f..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-//  StarburstStreamModel.h
-//  StarburstSdk
-//
-//  Created by liangshi on 2024/12/20.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface StarburstStreamModel : NSObject
-@property (nonatomic, assign) NSInteger code;//1: processing, 10: complete -1:fail
-@property (nonatomic, strong) NSString *msg;//提示文字
-@property (nonatomic, strong) NSString *failReason;//失败原因
-@property (nonatomic, strong) NSString *llmResponse;// 增量返回的⽂本内容
-@property (nonatomic, assign) BOOL complete;// ⽂本内容是否完成
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarbusrtSpeaker.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StarbusrtSpeaker.h
deleted file mode 100644 (file)
index 2b2dae4..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-//  StarbusrtSpeaker.h
-//  StarburstSdk
-//
-//  Created by liangshi on 2025/2/18.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface StarbusrtSpeaker : NSObject
-@property (nonatomic, strong) NSString *sid;/// 音色id
-@property (nonatomic, strong) NSString *name;/// 名称
-@property (nonatomic, strong) NSString *type;/// 类型
-@property (nonatomic, strong) NSString *role;/// 角色
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StartburstDecoderConfig.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StartburstDecoderConfig.h
deleted file mode 100644 (file)
index 7e47aa2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-////
-////  Startburst.h
-////  StarburstSdk
-////
-////  Created by liangshi on 2025/6/11.
-////
-//
-#import <Foundation/Foundation.h>
-
-@interface StartburstDecoderConfig : NSObject
-@property (nonatomic, assign)NSInteger sampleRate;/// 采样率
-@property (nonatomic, assign)NSInteger numChannels;/// 声道数
-@property (nonatomic, assign)NSInteger encodedFrameLength;/// 编码后每帧字节数
-@property (nonatomic, assign)NSInteger originalSamplesPerFrame;/// 编码前每帧采样点数
-@property (nonatomic, assign)NSInteger bitDepth;/// 采样位深(16/24/32)
-@end
-
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StartburstGlassChat.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StartburstGlassChat.h
deleted file mode 100644 (file)
index 3df995d..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-//  StartburstGlassChat.h
-//  StarburstSdk
-//
-//  Created by liangshi on 2025/5/6.
-//
-
-#import <Foundation/Foundation.h>
-#import <StarburstSdk/StarburstSdkManager.h>
-#import <StarburstSdk/StarbaustVoiceChatModel.h>
-#import <StarburstSdk/StarbusrtSpeaker.h>
-
-
-@interface StartburstGlassChat : NSObject
-///
-/// 对话设置
-/// - Parameters:
-///   - config: 对话配置
-///   - textCallBack: 文本识别回调
-///   - voiceCallBack: AI语音回复回调
-///   - stateChange: 状态回调
-///   - finished:录音地址回调
-- (void)setupPhoneChatWith:(StarburstVoiceChatConfig*)config textCallback:(void (^)(StarbaustVoiceChatModel*))textCallBack  responseVoice:(void (^)(NSInteger dialogId,NSData*data,BOOL finish))voiceCallBack stateChange:(void(^)(StarburstCode code))stateChange finished:(void(^)(NSString *filePath))path;
-
-/// 开始对话
-- (void)start;
-
-/// 结束对话
-- (void)stop;
-
-/// 分发数据
-/// - Parameter data:音频流
-- (void)fireAudioData:(NSData *)data;
-
-/// 通知vad状态变化
-/// - Parameter isVadStarted: ture表⽰vad检测到说话开始,false表⽰vad检测到说话结束
-- (void)vadStateChange:(BOOL)isVadStarted;
-
-/// 分发数据
-/// - Parameter data:图片流
-- (void)fireImageData:(NSData *)data;
-
-/// 分发数据
-/// - Parameter text:文本
-- (void)fireText:(NSString *)text;
-
-@end
-
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StartburstGlassesSdk.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StartburstGlassesSdk.h
deleted file mode 100644 (file)
index 862a1a2..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-//
-//  StartburstGlassesSdk.h
-//  StarburstSdk
-//
-//  Created by liangshi on 2025/4/29.
-//
-
-
-#import <Foundation/Foundation.h>
-#import <StarburstSdk/StarburstSdkManager.h>
-#import <StarburstSdk/StarburstAsrConfig.h>
-#import <StarburstSdk/StarburstAsrModel.h>
-#import <StarburstSdk/StarbaustVoiceChatModel.h>
-#import <StarburstSdk/StarburstFileAsrModel.h>
-#import <StarburstSdk/StarburstOffLineFile.h>
-#import <StarburstSdk/StarburstStreamModel.h>
-#import <StarburstSdk/StarbusrtSpeaker.h>
-#import <StarburstSdk/StartburstGlassChat.h>
-
-@interface StartburstGlassesSdk : NSObject
-@property (nonatomic, strong)void (^sendToBleCallback)(NSData *data);/// 发送给蓝牙设备
-@property (nonatomic, strong)void (^authCallback)(int code,NSString *msg);/// 鉴权结果回调,code200代表成功,其他为失败
-@property (nonatomic, readonly)BOOL didAuth;/// 是否已经鉴权
-@property (nonatomic, strong)StartburstGlassChat *chat;/// 对话对象
-
-/// 单利
-+ (instancetype)shared;
-
-/// 收到蓝牙设备传过来的数据,交给sdk处理
-/// - Parameter data:数据
-- (void)receiveBleData:(NSData *)data;
-
-/// 蓝牙设备已经连上
-- (void)bleConnected;
-
-/// 蓝牙断开连接(在监听到蓝牙断开的时候,调用该方法通知sdk结束当前任务)
-- (void)bleDisConnected;
-
-///  注册
-/// - Parameters:
-///   - productKey: 产品key
-///   - productSecret:  产品秘钥,经过aes/cbc/7Padding加密后的data
-///   - deviceName:  设备名称
-///   - random:  加密随机数
-///   - finished: 结果回调
-- (void)registerWithProductKey:(NSString *)productKey productSecret:(NSData *)productSecret deviceName:(NSString *)deviceName random:(NSString *)random finished:(void (^)(NSString *deviceSecret,NSError *error))finished;
-
-///  登录
-/// - Parameters:
-///   - productKey: 产品key
-///   - deviceName:  设备名称
-///   - deviceSecret:  设备密码
-///   - finished: 结果回调
-- (void)connectWithProductKey:(NSString *)productKey deviceName:(NSString *)deviceName deviceSecret:(NSString *)deviceSecret finished:(void (^)(BOOL isSuccess,NSError *error))finished;
-
-/// 【文本摘要】
-/// - Parameters:
-///   - text: 识别的文本
-///   - recognize: 识别结果回调
-///   - error: 错误回调
-- (void)summaryByText:(NSString *)text config:(StarburstAsrFileConfig*)config recognizeText:(void (^)(StarburstFileAsrModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 【文本摘要】--流式
-/// - Parameters:
-///   - text: 摘要的文字
-///   - recognize: 结果回调
-///   - error: 错误回调
-- (void)summaryByTextWithSplit:(NSString *)text recognizeText:(void (^)(StarburstStreamModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 取消 【文本摘要】--流式
--(void)cancelSummaryByTextWithSplit;
-
-/// 【文本翻译】
-/// - Parameters:
-///   - text: 翻译的文字
-///   - config: 翻译配置
-///   - recognize: 识别结果回调
-///   - error: 错误回调
-- (void)translateByText:(NSString *)text config:(StarburstAsrFileConfig*)config recognizeText:(void (^)(StarburstFileAsrModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 【文本翻译】--流式
-/// - Parameters:
-///   - text: 翻译的文字
-///   - config: 翻译配置
-///   - recognize: 结果回调
-///   - error: 错误回调
-- (void)translateByTextWithSplit:(NSString *)text config:(StarburstTslConfig*)config recognizeText:(void (^)(StarburstStreamModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 取消 【文本翻译】--流式
--(void)cancelTranslateByTextWithSplit;
-
-/// 【同声传译】开始手机拾音
-/// - Parameters:
-///   - config: 识别配置
-///   - voiceRecordData: 录音音频流回调
-///   - recognizeText: 识别回调
-///   - stateChange: 状态回调
-- (void)startRecordAsr:(StarburstAsrConfig*)config voiceRecord:(void (^)(NSData*))voiceData recognizeText:(void (^)(StarburstAsrModel*))recognize stateChange:(void(^)(StarburstCode code))stateChange interruption:(void(^)(void))interrupt;
-
-/// 【同声传译】结束手机拾音
-/// - Parameter fileCallback: 录音文件回调
-- (void)stopRecordAsr:(void(^)(NSString *filePath))fileCallback;
-
-/// 获取音色列表
-/// - Parameter callBack: 结果回调
-- (void)getVcSpeekerList:(void (^)(NSArray <StarbusrtSpeaker*> *list,BOOL success))callBack;
-
-@end
-
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StartburstMixSdk.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Headers/StartburstMixSdk.h
deleted file mode 100644 (file)
index aa4ba37..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-//
-//  StartburstMixSdk.h
-//  StarburstSdk
-//
-//  Created by liangshi on 2025/4/22.
-//
-
-#import <Foundation/Foundation.h>
-#import <StarburstSdk/StarburstSdkManager.h>
-#import <StarburstSdk/StarburstAsrConfig.h>
-#import <StarburstSdk/StarburstAsrModel.h>
-#import <StarburstSdk/StarbaustVoiceChatModel.h>
-#import <StarburstSdk/StarburstFileAsrModel.h>
-#import <StarburstSdk/StarburstOffLineFile.h>
-#import <StarburstSdk/StarburstStreamModel.h>
-#import <StarburstSdk/StarbusrtSpeaker.h>
-
-@interface StartburstMixSdk : NSObject
-
-@property (nonatomic, strong)void (^authCallback)(int code,NSString *msg);/// 鉴权结果回调,code200代表成功,其他为失败
-@property (nonatomic, readonly)BOOL didAuth;/// 是否已经鉴权
-@property (nonatomic, strong)void (^websocketStateCallback)(BOOL connected);/// websocket状态回调,true为已连接,false未链接
-@property (nonatomic, strong)void (^sendToBleCallback)(NSData *data);/// 发送给蓝牙设备
-
-/// 单利
-+ (instancetype)shared;
-
-/// 收到蓝牙设备传过来的数据,交给sdk处理
-/// - Parameter data:数据
-- (void)receiveBleData:(NSData *)data;
-
-/// 蓝牙设备已经连上
-- (void)bleConnected;
-
-/// 蓝牙断开连接(在监听到蓝牙断开的时候,调用该方法通知sdk结束当前任务)
-- (void)bleDisConnected;
-
-
-/// 【文本摘要】
-/// - Parameters:
-///   - text: 识别的文本
-///   - recognize: 识别结果回调
-///   - error: 错误回调
-- (void)summaryByText:(NSString *)text config:(StarburstAsrFileConfig*)config recognizeText:(void (^)(StarburstFileAsrModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 【文本摘要】--流式
-/// - Parameters:
-///   - text: 摘要的文字
-///   - recognize: 结果回调
-///   - error: 错误回调
-- (void)summaryByTextWithSplit:(NSString *)text recognizeText:(void (^)(StarburstStreamModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 取消 【文本摘要】--流式
--(void)cancelSummaryByTextWithSplit;
-
-/// 【文本翻译】
-/// - Parameters:
-///   - text: 翻译的文字
-///   - config: 翻译配置
-///   - recognize: 识别结果回调
-///   - error: 错误回调
-- (void)translateByText:(NSString *)text config:(StarburstAsrFileConfig*)config recognizeText:(void (^)(StarburstFileAsrModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 【文本翻译】--流式
-/// - Parameters:
-///   - text: 翻译的文字
-///   - config: 翻译配置
-///   - recognize: 结果回调
-///   - error: 错误回调
-- (void)translateByTextWithSplit:(NSString *)text config:(StarburstTslConfig*)config recognizeText:(void (^)(StarburstStreamModel*))recognize error:(void (^)(NSError *err))error;
-
-/// 取消 【文本翻译】--流式
--(void)cancelTranslateByTextWithSplit;
-
-/// 【同声传译】开始手机拾音
-/// - Parameters:
-///   - config: 识别配置
-///   - voiceRecordData: 录音音频流回调
-///   - recognizeText: 识别回调
-///   - stateChange: 状态回调
-- (void)startRecordAsr:(StarburstAsrConfig*)config voiceRecord:(void (^)(NSData*))voiceData recognizeText:(void (^)(StarburstAsrModel*))recognize stateChange:(void(^)(StarburstCode code))stateChange interruption:(void(^)(void))interrupt;
-
-/// 【同声传译】结束手机拾音
-/// - Parameter fileCallback: 录音文件回调
-- (void)stopRecordAsr:(void(^)(NSString *filePath))fileCallback;
-
-/// 手机拾音对话设置
-/// - Parameters:
-///   - config: 对话配置
-///   - startCallBack: 开始回调
-///   - textCallBack: 文本识别回调
-///   - voiceCallBack: AI语音回复回调
-///   - stateChange: 状态回调
-///   - finished:录音地址回调
-- (void)setupPhoneChatWith:(StarburstVoiceChatConfig*)config start:(void (^)(NSInteger dialogId))startCallback textCallback:(void (^)(StarbaustVoiceChatModel*))textCallBack  responseVoice:(void (^)(NSInteger dialogId,NSData*data,BOOL finish))voiceCallBack stateChange:(void(^)(StarburstCode code))stateChange finished:(void(^)(NSString *filePath))path;
-
-
-/// 手机拾音,开始对话
-/// - Parameter vadType: 0 vad检测,1不启用vad
-- (void)startPhoneChat:(int)vadType;
-
-/// 结束手机拾音对话
-- (void)stopPhoneChat;
-
-/// 获取音色列表
-/// - Parameter callBack: 结果回调
-- (void)getVcSpeekerList:(void (^)(NSArray <StarbusrtSpeaker*> *list,BOOL success))callBack;
-
-@end
-
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Info.plist
deleted file mode 100644 (file)
index 5d0891e..0000000
Binary files a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Info.plist and /dev/null differ
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Modules/module.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/Modules/module.modulemap
deleted file mode 100644 (file)
index 7426ade..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module StarburstSdk {
-  umbrella header "StarburstSdk.h"
-  export *
-
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/PrivacyInfo.xcprivacy b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/PrivacyInfo.xcprivacy
deleted file mode 100644 (file)
index c8b6829..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>NSPrivacyTracking</key>
-       <false/>
-       <key>NSPrivacyCollectedDataTypes</key>
-       <array>
-               <dict>
-                       <key>NSPrivacyCollectedDataType</key>
-                       <string>NSPrivacyCollectedDataTypeAudioData</string>
-                       <key>NSPrivacyCollectedDataTypeLinked</key>
-                       <false/>
-                       <key>NSPrivacyCollectedDataTypeTracking</key>
-                       <false/>
-                       <key>NSPrivacyCollectedDataTypePurposes</key>
-                       <array>
-                               <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
-                       </array>
-               </dict>
-       </array>
-       <key>NSPrivacyTrackingDomains</key>
-       <array/>
-       <key>NSPrivacyAccessedAPITypes</key>
-       <array/>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/StarburstSdk b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/StarburstSdk
deleted file mode 100644 (file)
index 0444933..0000000
Binary files a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/StarburstSdk and /dev/null differ
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeDirectory b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeDirectory
deleted file mode 100644 (file)
index ccd2d67..0000000
Binary files a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeDirectory and /dev/null differ
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeRequirements b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeRequirements
deleted file mode 100644 (file)
index c528e57..0000000
Binary files a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeRequirements and /dev/null differ
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeRequirements-1 b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeRequirements-1
deleted file mode 100644 (file)
index 07e5514..0000000
Binary files a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeRequirements-1 and /dev/null differ
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeResources b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeResources
deleted file mode 100644 (file)
index 040d597..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>files</key>
-       <dict>
-               <key>Headers/StarbaustVoiceChatModel.h</key>
-               <data>
-               I6GwpMWb210AbU3/v9YLrfddoEA=
-               </data>
-               <key>Headers/StarburstAsrConfig.h</key>
-               <data>
-               O5iJsUMPvwiRYlgGCgXp4TmAllQ=
-               </data>
-               <key>Headers/StarburstAsrModel.h</key>
-               <data>
-               iiw2ZgUm4OBP2p0P0RSXd6gOwBY=
-               </data>
-               <key>Headers/StarburstConfig.h</key>
-               <data>
-               /Bp9QOl1Vlv/1q1uwSh5zjn5IPA=
-               </data>
-               <key>Headers/StarburstFileAsrModel.h</key>
-               <data>
-               KCay85nepjWFLxW32vUBaknoYTk=
-               </data>
-               <key>Headers/StarburstOffLineFile.h</key>
-               <data>
-               28IGQ1ND/MHAAnUNKNBxuvS5ROc=
-               </data>
-               <key>Headers/StarburstPhoneSdk.h</key>
-               <data>
-               Qyvk+mUwCA6e59P6MqEGlKXAoV4=
-               </data>
-               <key>Headers/StarburstSdk.h</key>
-               <data>
-               UXMAS15KF45xW0cc4/2dI4vQTCQ=
-               </data>
-               <key>Headers/StarburstSdkManager.h</key>
-               <data>
-               SO4o81CoyyO4XOPAsZo1GUvl1p4=
-               </data>
-               <key>Headers/StarburstStreamModel.h</key>
-               <data>
-               cdW3VKYRIjOHM5xn0Zzt3fioFro=
-               </data>
-               <key>Headers/StarbusrtSpeaker.h</key>
-               <data>
-               SBlLEersGuEueZNxVNc2uyepfts=
-               </data>
-               <key>Headers/StartburstDecoderConfig.h</key>
-               <data>
-               CEyiYJhRwvumcRqNLLoJARHeU24=
-               </data>
-               <key>Headers/StartburstGlassChat.h</key>
-               <data>
-               utqD1cN73IP2Kj6ThbunMmpf3S8=
-               </data>
-               <key>Headers/StartburstGlassesSdk.h</key>
-               <data>
-               PWqGuJ/I4XGFgkETcPBwQWnDEzg=
-               </data>
-               <key>Headers/StartburstMixSdk.h</key>
-               <data>
-               bemNunuDBWDRu5cPpr/qtzb51HE=
-               </data>
-               <key>Info.plist</key>
-               <data>
-               TbwY6qSKiZSNAQ4zKoI1WNFwZSA=
-               </data>
-               <key>Modules/module.modulemap</key>
-               <data>
-               0SW07sgC8aptSEw6560m065YdrY=
-               </data>
-               <key>PrivacyInfo.xcprivacy</key>
-               <data>
-               SRctDO3cqibONLEG7CPcNZVBnXw=
-               </data>
-       </dict>
-       <key>files2</key>
-       <dict>
-               <key>Headers/StarbaustVoiceChatModel.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       I6GwpMWb210AbU3/v9YLrfddoEA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       1h090jtb3WRV25cr3cYc+NPRWUvlbO3j4QqjmThCV9c=
-                       </data>
-               </dict>
-               <key>Headers/StarburstAsrConfig.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       O5iJsUMPvwiRYlgGCgXp4TmAllQ=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       9ieYYQ/XtFmG0peIjWVyt2juVka68xC3vcJqEwQ8qHM=
-                       </data>
-               </dict>
-               <key>Headers/StarburstAsrModel.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       iiw2ZgUm4OBP2p0P0RSXd6gOwBY=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       4P7mnRJalvX4ISPvk5QKj1CSZ762p7L8HNbs3dIVa9A=
-                       </data>
-               </dict>
-               <key>Headers/StarburstConfig.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       /Bp9QOl1Vlv/1q1uwSh5zjn5IPA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       JMBJ67zUYPjxdjB6vpgfPtv5P5iPeEVIzIvo6tnFAmo=
-                       </data>
-               </dict>
-               <key>Headers/StarburstFileAsrModel.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       KCay85nepjWFLxW32vUBaknoYTk=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Y1+wOB3+K0CSFktnWVRMaxl9SsvQMDAZcFup9gudCFg=
-                       </data>
-               </dict>
-               <key>Headers/StarburstOffLineFile.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       28IGQ1ND/MHAAnUNKNBxuvS5ROc=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       JqjH7qjguq8OEs3MklD/pyfD9ULJzpCwIyS37AvPIe8=
-                       </data>
-               </dict>
-               <key>Headers/StarburstPhoneSdk.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Qyvk+mUwCA6e59P6MqEGlKXAoV4=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       U7UlFVbYvM2vSO810pr82LySA9HeLA4uMBh6PnCY5aE=
-                       </data>
-               </dict>
-               <key>Headers/StarburstSdk.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       UXMAS15KF45xW0cc4/2dI4vQTCQ=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       OT9NyhWFaPzjchBx437Llm8zPGQdOJ1e/F2dRGEQEN8=
-                       </data>
-               </dict>
-               <key>Headers/StarburstSdkManager.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       SO4o81CoyyO4XOPAsZo1GUvl1p4=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       zYNzKgVctWkBxMvEJoFC+QgA9HMqVHL4rZ0ID3ef1/0=
-                       </data>
-               </dict>
-               <key>Headers/StarburstStreamModel.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       cdW3VKYRIjOHM5xn0Zzt3fioFro=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       XC3yJkUL3sL1YkFBUADx+q+Q47YB040DrB7QEhOJa7w=
-                       </data>
-               </dict>
-               <key>Headers/StarbusrtSpeaker.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       SBlLEersGuEueZNxVNc2uyepfts=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       yCNcI1umW3Pgn7rtgMv5kZTDZXr/QxvPNRoNjcIrTJU=
-                       </data>
-               </dict>
-               <key>Headers/StartburstDecoderConfig.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       CEyiYJhRwvumcRqNLLoJARHeU24=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       PlYBO1RRT96qRTFSidHUui8kpiVj0/pQW85jqIjCtzY=
-                       </data>
-               </dict>
-               <key>Headers/StartburstGlassChat.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       utqD1cN73IP2Kj6ThbunMmpf3S8=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       VaH6J5gUMxZ8Whr9yIF3iefTz8SKIWwpyY9dq3mMWYk=
-                       </data>
-               </dict>
-               <key>Headers/StartburstGlassesSdk.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       PWqGuJ/I4XGFgkETcPBwQWnDEzg=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Kql2VWlouLzv+FTfPR9+WlIFxgJUw4NpHhMzCTfAz8o=
-                       </data>
-               </dict>
-               <key>Headers/StartburstMixSdk.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bemNunuDBWDRu5cPpr/qtzb51HE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       S6yNxpkYJSgoOVUAyuIhC8ourDLd4Pu6tKFnRkM+Me0=
-                       </data>
-               </dict>
-               <key>Modules/module.modulemap</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       0SW07sgC8aptSEw6560m065YdrY=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       js/u3ymUzjIe0pCJDIjb2G3IBfLvIq7aILJo9tH8J8k=
-                       </data>
-               </dict>
-               <key>PrivacyInfo.xcprivacy</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       SRctDO3cqibONLEG7CPcNZVBnXw=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       cuaVRkQIQRl8fLAPRH2XlUdsPxO0W90uL0WcSHvmSnY=
-                       </data>
-               </dict>
-       </dict>
-       <key>rules</key>
-       <dict>
-               <key>^.*</key>
-               <true/>
-               <key>^.*\.lproj/</key>
-               <dict>
-                       <key>optional</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1000</real>
-               </dict>
-               <key>^.*\.lproj/locversion.plist$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1100</real>
-               </dict>
-               <key>^Base\.lproj/</key>
-               <dict>
-                       <key>weight</key>
-                       <real>1010</real>
-               </dict>
-               <key>^version.plist$</key>
-               <true/>
-       </dict>
-       <key>rules2</key>
-       <dict>
-               <key>.*\.dSYM($|/)</key>
-               <dict>
-                       <key>weight</key>
-                       <real>11</real>
-               </dict>
-               <key>^(.*/)?\.DS_Store$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>2000</real>
-               </dict>
-               <key>^.*</key>
-               <true/>
-               <key>^.*\.lproj/</key>
-               <dict>
-                       <key>optional</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1000</real>
-               </dict>
-               <key>^.*\.lproj/locversion.plist$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1100</real>
-               </dict>
-               <key>^Base\.lproj/</key>
-               <dict>
-                       <key>weight</key>
-                       <real>1010</real>
-               </dict>
-               <key>^Info\.plist$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^PkgInfo$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^embedded\.provisionprofile$</key>
-               <dict>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^version\.plist$</key>
-               <dict>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-       </dict>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeSignature b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeSignature
deleted file mode 100644 (file)
index b0642f2..0000000
Binary files a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/DeepChordsSdk/StarburstSdk.framework/_CodeSignature/CodeSignature and /dev/null differ
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example.xcodeproj/project.pbxproj b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index 5055fcd..0000000
+++ /dev/null
@@ -1,776 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 77;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               111E0F1C572CCDE29D292F2C /* Pods_DeepChordsSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3D9D4F11FC88844BFEAE4C3 /* Pods_DeepChordsSdk.framework */; };
-               3F3F14032ED5A9A50038A1C8 /* DeepChordsSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F3F13E32ED5A8C10038A1C8 /* DeepChordsSdk.framework */; };
-               6A05823333B2C2EB854DC2D7 /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA0D452D1F1A03B9DE590FF /* Pods_Example.framework */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
-               3F3F14432ED5AC240038A1C8 /* Embed Frameworks */ = {
-                       isa = PBXCopyFilesBuildPhase;
-                       buildActionMask = 2147483647;
-                       dstPath = "";
-                       dstSubfolderSpec = 10;
-                       files = (
-                       );
-                       name = "Embed Frameworks";
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               3F3F14492ED5AC570038A1C8 /* Embed Frameworks */ = {
-                       isa = PBXCopyFilesBuildPhase;
-                       buildActionMask = 2147483647;
-                       dstPath = "";
-                       dstSubfolderSpec = 10;
-                       files = (
-                       );
-                       name = "Embed Frameworks";
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
-               23C20F392C077DCC8875F909 /* Pods-DeepChordsSdk.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeepChordsSdk.release.xcconfig"; path = "Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.release.xcconfig"; sourceTree = "<group>"; };
-               3F3F01E32ED451920038A1C8 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               3F3F13E32ED5A8C10038A1C8 /* DeepChordsSdk.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = DeepChordsSdk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               55108288A4959871FAF7AC5F /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
-               6A0C11EDFE570E63DB17064A /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
-               7BA0D452D1F1A03B9DE590FF /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               A3D9D4F11FC88844BFEAE4C3 /* Pods_DeepChordsSdk.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DeepChordsSdk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               C91EC257243FCFD24EEE8863 /* Pods-DeepChordsSdk.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeepChordsSdk.debug.xcconfig"; path = "Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.debug.xcconfig"; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
-               3F3F01F52ED451930038A1C8 /* Exceptions for "Example" folder in "Example" target */ = {
-                       isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
-                       membershipExceptions = (
-                               Info.plist,
-                       );
-                       target = 3F3F01E22ED451920038A1C8 /* Example */;
-               };
-               3F3F14462ED5AC420038A1C8 /* Exceptions for "DeepChordsSdk" folder in "Example" target */ = {
-                       isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
-                       membershipExceptions = (
-                               StarburstSdk.framework,
-                       );
-                       target = 3F3F01E22ED451920038A1C8 /* Example */;
-               };
-/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
-
-/* Begin PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */
-               3F3F14442ED5AC240038A1C8 /* Exceptions for "DeepChordsSdk" folder in "Embed Frameworks" phase from "DeepChordsSdk" target */ = {
-                       isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet;
-                       attributesByRelativePath = {
-                               StarburstSdk.framework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
-                       };
-                       buildPhase = 3F3F14432ED5AC240038A1C8 /* Embed Frameworks */;
-                       membershipExceptions = (
-                               StarburstSdk.framework,
-                       );
-               };
-               3F3F144A2ED5AC570038A1C8 /* Exceptions for "DeepChordsSdk" folder in "Embed Frameworks" phase from "Example" target */ = {
-                       isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet;
-                       attributesByRelativePath = {
-                               StarburstSdk.framework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
-                       };
-                       buildPhase = 3F3F14492ED5AC570038A1C8 /* Embed Frameworks */;
-                       membershipExceptions = (
-                               StarburstSdk.framework,
-                       );
-               };
-/* End PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */
-
-/* Begin PBXFileSystemSynchronizedRootGroup section */
-               3F3F01E52ED451920038A1C8 /* Example */ = {
-                       isa = PBXFileSystemSynchronizedRootGroup;
-                       exceptions = (
-                               3F3F01F52ED451930038A1C8 /* Exceptions for "Example" folder in "Example" target */,
-                       );
-                       path = Example;
-                       sourceTree = "<group>";
-               };
-               3F3F13E42ED5A8C10038A1C8 /* DeepChordsSdk */ = {
-                       isa = PBXFileSystemSynchronizedRootGroup;
-                       exceptions = (
-                               3F3F14462ED5AC420038A1C8 /* Exceptions for "DeepChordsSdk" folder in "Example" target */,
-                               3F3F144A2ED5AC570038A1C8 /* Exceptions for "DeepChordsSdk" folder in "Embed Frameworks" phase from "Example" target */,
-                               3F3F14442ED5AC240038A1C8 /* Exceptions for "DeepChordsSdk" folder in "Embed Frameworks" phase from "DeepChordsSdk" target */,
-                       );
-                       path = DeepChordsSdk;
-                       sourceTree = "<group>";
-               };
-/* End PBXFileSystemSynchronizedRootGroup section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               3F3F01E02ED451920038A1C8 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               3F3F14032ED5A9A50038A1C8 /* DeepChordsSdk.framework in Frameworks */,
-                               6A05823333B2C2EB854DC2D7 /* Pods_Example.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               3F3F13E02ED5A8C10038A1C8 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               111E0F1C572CCDE29D292F2C /* Pods_DeepChordsSdk.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               3F3F01DA2ED451920038A1C8 = {
-                       isa = PBXGroup;
-                       children = (
-                               3F3F01E52ED451920038A1C8 /* Example */,
-                               3F3F13E42ED5A8C10038A1C8 /* DeepChordsSdk */,
-                               3F3F01E42ED451920038A1C8 /* Products */,
-                               CC7A28DFCD6405C009EC973C /* Pods */,
-                               C0F54FE5A9CB8F871597A553 /* Frameworks */,
-                       );
-                       sourceTree = "<group>";
-               };
-               3F3F01E42ED451920038A1C8 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               3F3F01E32ED451920038A1C8 /* Example.app */,
-                               3F3F13E32ED5A8C10038A1C8 /* DeepChordsSdk.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               C0F54FE5A9CB8F871597A553 /* Frameworks */ = {
-                       isa = PBXGroup;
-                       children = (
-                               7BA0D452D1F1A03B9DE590FF /* Pods_Example.framework */,
-                               A3D9D4F11FC88844BFEAE4C3 /* Pods_DeepChordsSdk.framework */,
-                       );
-                       name = Frameworks;
-                       sourceTree = "<group>";
-               };
-               CC7A28DFCD6405C009EC973C /* Pods */ = {
-                       isa = PBXGroup;
-                       children = (
-                               55108288A4959871FAF7AC5F /* Pods-Example.debug.xcconfig */,
-                               6A0C11EDFE570E63DB17064A /* Pods-Example.release.xcconfig */,
-                               C91EC257243FCFD24EEE8863 /* Pods-DeepChordsSdk.debug.xcconfig */,
-                               23C20F392C077DCC8875F909 /* Pods-DeepChordsSdk.release.xcconfig */,
-                       );
-                       name = Pods;
-                       path = ../Pods;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
-               3F3F13DE2ED5A8C10038A1C8 /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
-               3F3F01E22ED451920038A1C8 /* Example */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 3F3F01F62ED451930038A1C8 /* Build configuration list for PBXNativeTarget "Example" */;
-                       buildPhases = (
-                               920C714DEF2228CDD463DAA2 /* [CP] Check Pods Manifest.lock */,
-                               3F3F01DF2ED451920038A1C8 /* Sources */,
-                               3F3F01E02ED451920038A1C8 /* Frameworks */,
-                               3F3F01E12ED451920038A1C8 /* Resources */,
-                               31C287F34CEEBF9AF3C42349 /* [CP] Embed Pods Frameworks */,
-                               3F3F14492ED5AC570038A1C8 /* Embed Frameworks */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       fileSystemSynchronizedGroups = (
-                               3F3F01E52ED451920038A1C8 /* Example */,
-                       );
-                       name = Example;
-                       productName = Example;
-                       productReference = 3F3F01E32ED451920038A1C8 /* Example.app */;
-                       productType = "com.apple.product-type.application";
-               };
-               3F3F13E22ED5A8C10038A1C8 /* DeepChordsSdk */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 3F3F13EB2ED5A8C10038A1C8 /* Build configuration list for PBXNativeTarget "DeepChordsSdk" */;
-                       buildPhases = (
-                               8D997A91CC5B5810A80A417F /* [CP] Check Pods Manifest.lock */,
-                               3F3F13DE2ED5A8C10038A1C8 /* Headers */,
-                               3F3F13DF2ED5A8C10038A1C8 /* Sources */,
-                               3F3F13E02ED5A8C10038A1C8 /* Frameworks */,
-                               3F3F13E12ED5A8C10038A1C8 /* Resources */,
-                               3F3F14432ED5AC240038A1C8 /* Embed Frameworks */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       fileSystemSynchronizedGroups = (
-                               3F3F13E42ED5A8C10038A1C8 /* DeepChordsSdk */,
-                       );
-                       name = DeepChordsSdk;
-                       productName = DeepChordsSdk;
-                       productReference = 3F3F13E32ED5A8C10038A1C8 /* DeepChordsSdk.framework */;
-                       productType = "com.apple.product-type.framework";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               3F3F01DB2ED451920038A1C8 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               BuildIndependentTargetsInParallel = 1;
-                               LastSwiftUpdateCheck = 1640;
-                               LastUpgradeCheck = 1640;
-                               TargetAttributes = {
-                                       3F3F01E22ED451920038A1C8 = {
-                                               CreatedOnToolsVersion = 16.4;
-                                       };
-                                       3F3F13E22ED5A8C10038A1C8 = {
-                                               CreatedOnToolsVersion = 16.4;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 3F3F01DE2ED451920038A1C8 /* Build configuration list for PBXProject "Example" */;
-                       developmentRegion = en;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               en,
-                               Base,
-                       );
-                       mainGroup = 3F3F01DA2ED451920038A1C8;
-                       minimizedProjectReferenceProxies = 1;
-                       preferredProjectObjectVersion = 77;
-                       productRefGroup = 3F3F01E42ED451920038A1C8 /* Products */;
-                       projectDirPath = "";
-                       projectRoot = "";
-                       targets = (
-                               3F3F01E22ED451920038A1C8 /* Example */,
-                               3F3F13E22ED5A8C10038A1C8 /* DeepChordsSdk */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
-               3F3F01E12ED451920038A1C8 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               3F3F13E12ED5A8C10038A1C8 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
-               31C287F34CEEBF9AF3C42349 /* [CP] Embed Pods Frameworks */ = {
-                       isa = PBXShellScriptBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       inputFileListPaths = (
-                               "${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks-${CONFIGURATION}-input-files.xcfilelist",
-                       );
-                       inputPaths = (
-                       );
-                       name = "[CP] Embed Pods Frameworks";
-                       outputFileListPaths = (
-                               "${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks-${CONFIGURATION}-output-files.xcfilelist",
-                       );
-                       outputPaths = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-                       shellPath = /bin/sh;
-                       shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh\"\n";
-                       showEnvVarsInLog = 0;
-               };
-               8D997A91CC5B5810A80A417F /* [CP] Check Pods Manifest.lock */ = {
-                       isa = PBXShellScriptBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       inputFileListPaths = (
-                       );
-                       inputPaths = (
-                               "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
-                               "${PODS_ROOT}/Manifest.lock",
-                       );
-                       name = "[CP] Check Pods Manifest.lock";
-                       outputFileListPaths = (
-                       );
-                       outputPaths = (
-                               "$(DERIVED_FILE_DIR)/Pods-DeepChordsSdk-checkManifestLockResult.txt",
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-                       shellPath = /bin/sh;
-                       shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
-                       showEnvVarsInLog = 0;
-               };
-               920C714DEF2228CDD463DAA2 /* [CP] Check Pods Manifest.lock */ = {
-                       isa = PBXShellScriptBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       inputFileListPaths = (
-                       );
-                       inputPaths = (
-                               "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
-                               "${PODS_ROOT}/Manifest.lock",
-                       );
-                       name = "[CP] Check Pods Manifest.lock";
-                       outputFileListPaths = (
-                       );
-                       outputPaths = (
-                               "$(DERIVED_FILE_DIR)/Pods-Example-checkManifestLockResult.txt",
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-                       shellPath = /bin/sh;
-                       shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
-                       showEnvVarsInLog = 0;
-               };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               3F3F01DF2ED451920038A1C8 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               3F3F13DF2ED5A8C10038A1C8 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
-               3F3F01F72ED451930038A1C8 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 55108288A4959871FAF7AC5F /* Pods-Example.debug.xcconfig */;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
-                               CODE_SIGN_STYLE = Automatic;
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEVELOPMENT_TEAM = G23X75CJ67;
-                               FRAMEWORK_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "$(PROJECT_DIR)/DeepChordsSdk",
-                               );
-                               GENERATE_INFOPLIST_FILE = YES;
-                               INFOPLIST_FILE = Example/Info.plist;
-                               INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "使用蓝牙哦";
-                               INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
-                               INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
-                               INFOPLIST_KEY_UIMainStoryboardFile = Main;
-                               INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
-                               INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
-                               IPHONEOS_DEPLOYMENT_TARGET = 15.6;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                               );
-                               MARKETING_VERSION = 1.0;
-                               OTHER_LDFLAGS = (
-                                       "$(inherited)",
-                                       "-l\"icucore\"",
-                                       "-l\"swiftCoreGraphics\"",
-                                       "-framework",
-                                       "\"CFNetwork\"",
-                                       "-framework",
-                                       "\"Combine\"",
-                                       "-framework",
-                                       "\"IQKeyboardCore\"",
-                                       "-framework",
-                                       "\"IQKeyboardManagerSwift\"",
-                                       "-framework",
-                                       "\"IQKeyboardNotification\"",
-                                       "-framework",
-                                       "\"IQKeyboardReturnManager\"",
-                                       "-framework",
-                                       "\"IQKeyboardToolbar\"",
-                                       "-framework",
-                                       "\"IQKeyboardToolbarManager\"",
-                                       "-framework",
-                                       "\"IQTextInputViewNotification\"",
-                                       "-framework",
-                                       "\"IQTextView\"",
-                                       "-framework",
-                                       "\"QuartzCore\"",
-                                       "-framework",
-                                       "\"Security\"",
-                                       "-framework",
-                                       "\"SnapKit\"",
-                                       "-framework",
-                                       "\"SocketRocket\"",
-                                       "-framework",
-                                       "\"Toast_Swift\"",
-                                       "-framework",
-                                       "\"UIKit\"",
-                                       "-ObjC",
-                               );
-                               PRODUCT_BUNDLE_IDENTIFIER = deepchords.guchuandao.Example;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                               SWIFT_EMIT_LOC_STRINGS = YES;
-                               SWIFT_VERSION = 5.0;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                       };
-                       name = Debug;
-               };
-               3F3F01F82ED451930038A1C8 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 6A0C11EDFE570E63DB17064A /* Pods-Example.release.xcconfig */;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
-                               CODE_SIGN_STYLE = Automatic;
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEVELOPMENT_TEAM = G23X75CJ67;
-                               FRAMEWORK_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "$(PROJECT_DIR)/DeepChordsSdk",
-                               );
-                               GENERATE_INFOPLIST_FILE = YES;
-                               INFOPLIST_FILE = Example/Info.plist;
-                               INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "使用蓝牙哦";
-                               INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
-                               INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
-                               INFOPLIST_KEY_UIMainStoryboardFile = Main;
-                               INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
-                               INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
-                               IPHONEOS_DEPLOYMENT_TARGET = 15.6;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                               );
-                               MARKETING_VERSION = 1.0;
-                               OTHER_LDFLAGS = (
-                                       "$(inherited)",
-                                       "-l\"icucore\"",
-                                       "-l\"swiftCoreGraphics\"",
-                                       "-framework",
-                                       "\"CFNetwork\"",
-                                       "-framework",
-                                       "\"Combine\"",
-                                       "-framework",
-                                       "\"IQKeyboardCore\"",
-                                       "-framework",
-                                       "\"IQKeyboardManagerSwift\"",
-                                       "-framework",
-                                       "\"IQKeyboardNotification\"",
-                                       "-framework",
-                                       "\"IQKeyboardReturnManager\"",
-                                       "-framework",
-                                       "\"IQKeyboardToolbar\"",
-                                       "-framework",
-                                       "\"IQKeyboardToolbarManager\"",
-                                       "-framework",
-                                       "\"IQTextInputViewNotification\"",
-                                       "-framework",
-                                       "\"IQTextView\"",
-                                       "-framework",
-                                       "\"QuartzCore\"",
-                                       "-framework",
-                                       "\"Security\"",
-                                       "-framework",
-                                       "\"SnapKit\"",
-                                       "-framework",
-                                       "\"SocketRocket\"",
-                                       "-framework",
-                                       "\"Toast_Swift\"",
-                                       "-framework",
-                                       "\"UIKit\"",
-                                       "-ObjC",
-                               );
-                               PRODUCT_BUNDLE_IDENTIFIER = deepchords.guchuandao.Example;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                               SWIFT_EMIT_LOC_STRINGS = YES;
-                               SWIFT_VERSION = 5.0;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                       };
-                       name = Release;
-               };
-               3F3F01F92ED451930038A1C8 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
-                               CLANG_ANALYZER_NONNULL = YES;
-                               CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
-                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
-                               CLANG_ENABLE_MODULES = YES;
-                               CLANG_ENABLE_OBJC_ARC = YES;
-                               CLANG_ENABLE_OBJC_WEAK = YES;
-                               CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
-                               CLANG_WARN_BOOL_CONVERSION = YES;
-                               CLANG_WARN_COMMA = YES;
-                               CLANG_WARN_CONSTANT_CONVERSION = YES;
-                               CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
-                               CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-                               CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
-                               CLANG_WARN_EMPTY_BODY = YES;
-                               CLANG_WARN_ENUM_CONVERSION = YES;
-                               CLANG_WARN_INFINITE_RECURSION = YES;
-                               CLANG_WARN_INT_CONVERSION = YES;
-                               CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
-                               CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
-                               CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
-                               CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-                               CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
-                               CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
-                               CLANG_WARN_STRICT_PROTOTYPES = YES;
-                               CLANG_WARN_SUSPICIOUS_MOVE = YES;
-                               CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
-                               CLANG_WARN_UNREACHABLE_CODE = YES;
-                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               COPY_PHASE_STRIP = NO;
-                               DEBUG_INFORMATION_FORMAT = dwarf;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = YES;
-                               ENABLE_USER_SCRIPT_SANDBOXING = YES;
-                               GCC_C_LANGUAGE_STANDARD = gnu17;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_NO_COMMON_BLOCKS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = (
-                                       "DEBUG=1",
-                                       "$(inherited)",
-                               );
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-                               GCC_WARN_UNDECLARED_SELECTOR = YES;
-                               GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
-                               GCC_WARN_UNUSED_FUNCTION = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
-                               IPHONEOS_DEPLOYMENT_TARGET = 18.5;
-                               LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
-                               MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
-                               MTL_FAST_MATH = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = iphoneos;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
-                               SWIFT_OPTIMIZATION_LEVEL = "-Onone";
-                       };
-                       name = Debug;
-               };
-               3F3F01FA2ED451930038A1C8 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
-                               CLANG_ANALYZER_NONNULL = YES;
-                               CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
-                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
-                               CLANG_ENABLE_MODULES = YES;
-                               CLANG_ENABLE_OBJC_ARC = YES;
-                               CLANG_ENABLE_OBJC_WEAK = YES;
-                               CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
-                               CLANG_WARN_BOOL_CONVERSION = YES;
-                               CLANG_WARN_COMMA = YES;
-                               CLANG_WARN_CONSTANT_CONVERSION = YES;
-                               CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
-                               CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-                               CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
-                               CLANG_WARN_EMPTY_BODY = YES;
-                               CLANG_WARN_ENUM_CONVERSION = YES;
-                               CLANG_WARN_INFINITE_RECURSION = YES;
-                               CLANG_WARN_INT_CONVERSION = YES;
-                               CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
-                               CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
-                               CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
-                               CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-                               CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
-                               CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
-                               CLANG_WARN_STRICT_PROTOTYPES = YES;
-                               CLANG_WARN_SUSPICIOUS_MOVE = YES;
-                               CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
-                               CLANG_WARN_UNREACHABLE_CODE = YES;
-                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               COPY_PHASE_STRIP = NO;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               ENABLE_NS_ASSERTIONS = NO;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_USER_SCRIPT_SANDBOXING = YES;
-                               GCC_C_LANGUAGE_STANDARD = gnu17;
-                               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 = 18.5;
-                               LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               MTL_FAST_MATH = YES;
-                               SDKROOT = iphoneos;
-                               SWIFT_COMPILATION_MODE = wholemodule;
-                               VALIDATE_PRODUCT = YES;
-                       };
-                       name = Release;
-               };
-               3F3F13EC2ED5A8C10038A1C8 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = C91EC257243FCFD24EEE8863 /* Pods-DeepChordsSdk.debug.xcconfig */;
-                       buildSettings = {
-                               BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
-                               CODE_SIGN_STYLE = Automatic;
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEAD_CODE_STRIPPING = NO;
-                               DEVELOPMENT_TEAM = 5AR46VFCJA;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = YES;
-                               FRAMEWORK_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "$(PROJECT_DIR)/DeepChordsSdk",
-                               );
-                               GENERATE_INFOPLIST_FILE = YES;
-                               INFOPLIST_KEY_NSHumanReadableCopyright = "";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MACH_O_TYPE = staticlib;
-                               MARKETING_VERSION = 1.0;
-                               MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
-                               MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
-                               OTHER_LDFLAGS = (
-                                       "$(inherited)",
-                                       "-l\"icucore\"",
-                                       "-framework",
-                                       "\"CFNetwork\"",
-                                       "-framework",
-                                       "\"Security\"",
-                                       "-framework",
-                                       "\"SocketRocket\"",
-                                       "-ObjC",
-                               );
-                               PRODUCT_BUNDLE_IDENTIFIER = demo.DeepChordsSdk;
-                               PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
-                               SKIP_INSTALL = YES;
-                               SWIFT_EMIT_LOC_STRINGS = YES;
-                               SWIFT_INSTALL_MODULE = YES;
-                               SWIFT_INSTALL_OBJC_HEADER = NO;
-                               SWIFT_VERSION = 5.0;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               3F3F13ED2ED5A8C10038A1C8 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 23C20F392C077DCC8875F909 /* Pods-DeepChordsSdk.release.xcconfig */;
-                       buildSettings = {
-                               BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
-                               CODE_SIGN_STYLE = Automatic;
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEAD_CODE_STRIPPING = NO;
-                               DEVELOPMENT_TEAM = 5AR46VFCJA;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = YES;
-                               FRAMEWORK_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "$(PROJECT_DIR)/DeepChordsSdk",
-                               );
-                               GENERATE_INFOPLIST_FILE = YES;
-                               INFOPLIST_KEY_NSHumanReadableCopyright = "";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MACH_O_TYPE = staticlib;
-                               MARKETING_VERSION = 1.0;
-                               MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
-                               MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
-                               OTHER_LDFLAGS = (
-                                       "$(inherited)",
-                                       "-l\"icucore\"",
-                                       "-framework",
-                                       "\"CFNetwork\"",
-                                       "-framework",
-                                       "\"Security\"",
-                                       "-framework",
-                                       "\"SocketRocket\"",
-                                       "-ObjC",
-                               );
-                               PRODUCT_BUNDLE_IDENTIFIER = demo.DeepChordsSdk;
-                               PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
-                               SKIP_INSTALL = YES;
-                               SWIFT_EMIT_LOC_STRINGS = YES;
-                               SWIFT_INSTALL_MODULE = YES;
-                               SWIFT_INSTALL_OBJC_HEADER = NO;
-                               SWIFT_VERSION = 5.0;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               3F3F01DE2ED451920038A1C8 /* Build configuration list for PBXProject "Example" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               3F3F01F92ED451930038A1C8 /* Debug */,
-                               3F3F01FA2ED451930038A1C8 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               3F3F01F62ED451930038A1C8 /* Build configuration list for PBXNativeTarget "Example" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               3F3F01F72ED451930038A1C8 /* Debug */,
-                               3F3F01F82ED451930038A1C8 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               3F3F13EB2ED5A8C10038A1C8 /* Build configuration list for PBXNativeTarget "DeepChordsSdk" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               3F3F13EC2ED5A8C10038A1C8 /* Debug */,
-                               3F3F13ED2ED5A8C10038A1C8 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 3F3F01DB2ED451920038A1C8 /* Project object */;
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index 919434a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:">
-   </FileRef>
-</Workspace>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example.xcodeproj/xcshareddata/xcschemes/DeepChordsSdk.xcscheme b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example.xcodeproj/xcshareddata/xcschemes/DeepChordsSdk.xcscheme
deleted file mode 100644 (file)
index 75f652e..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "1640"
-   version = "1.7">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES"
-      buildArchitectures = "Automatic">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "3F3F13E22ED5A8C10038A1C8"
-               BuildableName = "DeepChordsSdk.framework"
-               BlueprintName = "DeepChordsSdk"
-               ReferencedContainer = "container:Example.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      shouldAutocreateTestPlan = "YES">
-   </TestAction>
-   <LaunchAction
-      buildConfiguration = "Release"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      debugServiceExtension = "internal"
-      allowLocationSimulation = "YES">
-   </LaunchAction>
-   <ProfileAction
-      buildConfiguration = "Release"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      debugDocumentVersioning = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "3F3F13E22ED5A8C10038A1C8"
-            BuildableName = "DeepChordsSdk.framework"
-            BlueprintName = "DeepChordsSdk"
-            ReferencedContainer = "container:Example.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Assets.xcassets/AccentColor.colorset/Contents.json b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Assets.xcassets/AccentColor.colorset/Contents.json
deleted file mode 100644 (file)
index eb87897..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "colors" : [
-    {
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index 2305880..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-{
-  "images" : [
-    {
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "tinted"
-        }
-      ],
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Assets.xcassets/Contents.json b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index 73c0059..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Base.lproj/LaunchScreen.storyboard b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644 (file)
index 865e932..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
-        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="EHf-IW-A2E">
-            <objects>
-                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
-                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
-                        <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="53" y="375"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Base.lproj/Main.storyboard b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Base.lproj/Main.storyboard
deleted file mode 100644 (file)
index 25a7638..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
-        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="tne-QT-ifu">
-            <objects>
-                <viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="target" sceneMemberID="viewController">
-                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
-                        <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
-            </objects>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/Info.plist
deleted file mode 100644 (file)
index 735e27a..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>UIApplicationSceneManifest</key>
-       <dict>
-               <key>UIApplicationSupportsMultipleScenes</key>
-               <false/>
-               <key>UISceneConfigurations</key>
-               <dict>
-                       <key>UIWindowSceneSessionRoleApplication</key>
-                       <array>
-                               <dict>
-                                       <key>UISceneConfigurationName</key>
-                                       <string>Default Configuration</string>
-                                       <key>UISceneDelegateClassName</key>
-                                       <string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
-                                       <key>UISceneStoryboardFile</key>
-                                       <string>Main</string>
-                               </dict>
-                       </array>
-               </dict>
-       </dict>
-       <key>NSAppTransportSecurity</key>
-       <dict>
-               <key>NSAllowsArbitraryLoads</key>
-               <true/>
-       </dict>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/App.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/App.swift
deleted file mode 100644 (file)
index 9657628..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-//  App.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/25.
-//
-import UIKit
-class App{
-    static let shared = App()
-    var window:UIWindow?
-    
-    func topVC()->UIViewController!{
-        guard let vc = window?.rootViewController else{
-            return UIViewController()
-        }
-        return getTopViewController(from: vc)
-    }
-   
-    func popToViewController(_ vc:UIViewController){
-        let vcs = topVC().navigationController?.viewControllers ?? []
-        for item in vcs {
-            if vc == item {
-                topVC().navigationController?.popToViewController(item, animated: true)
-            }
-        }
-    }
-    func popToPage(num:Int){
-        guard let vcs = topVC().navigationController?.viewControllers else{
-            return
-        }
-        let index = vcs.count - num - 1
-        if vcs.count > index {
-            topVC().navigationController?.popToViewController(vcs[index], animated: true)
-        }
-    }
-
-}
-extension App{
-    private func getTopViewController(from vc: UIViewController) -> UIViewController {
-        if let navVC = vc as? UINavigationController {
-            return getTopViewController(from: navVC.visibleViewController ?? navVC)
-        } else if let tabVC = vc as? UITabBarController {
-            return getTopViewController(from: tabVC.selectedViewController ?? tabVC)
-        } else if let presentedVC = vc.presentedViewController {
-            return getTopViewController(from: presentedVC)
-        } else {
-            return vc
-        }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/AppDelegate.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/AppDelegate.swift
deleted file mode 100644 (file)
index 6c46981..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  AppDelegate.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-import UIKit
-
-@main
-class AppDelegate: UIResponder, UIApplicationDelegate {
-
-
-
-    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
-        // Override point for customization after application launch.
-        return true
-    }
-
-    // MARK: UISceneSession Lifecycle
-
-    func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
-        // Called when a new scene session is being created.
-        // Use this method to select a configuration to create the new scene with.
-        return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
-    }
-
-    func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
-        // Called when the user discards a scene session.
-        // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
-        // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
-    }
-
-
-}
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/BaseVC.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/BaseVC.swift
deleted file mode 100644 (file)
index ec48eee..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-//  BaseVC.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-import UIKit
-class BaseVC: UIViewController {
-    let logBtn = UIButton(type: .custom)
-    let sdklogBtn = UIButton(type: .custom)
-    deinit {
-        print("\(Self.self) 销毁")
-    }
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        self.view.backgroundColor = .white
-        
-        
-        logBtn.frame = CGRect(x:  UIScreen.main.bounds.size.width - 80, y: 200, width:60, height: 60)
-        logBtn.backgroundColor = .blue
-        logBtn.layer.cornerRadius = 30
-        logBtn.layer.masksToBounds = true
-        logBtn.setTitle("log1", for: .normal)
-        logBtn.addTarget(self, action: #selector(logAction), for: .touchUpInside)
-        self.view.addSubview(logBtn)
-        
-        sdklogBtn.frame = CGRect(x:  UIScreen.main.bounds.size.width - 80, y: 300, width:60, height: 60)
-        sdklogBtn.backgroundColor = .blue
-        sdklogBtn.layer.cornerRadius = 30
-        sdklogBtn.layer.masksToBounds = true
-        sdklogBtn.setTitle("log sdk", for: .normal)
-        sdklogBtn.addTarget(self, action: #selector(sdkAction), for: .touchUpInside)
-        self.view.addSubview(sdklogBtn)
-    }
-
-    
-    override func viewWillAppear(_ animated: Bool) {
-        super.viewWillAppear(animated)
-        self.view.bringSubviewToFront(logBtn)
-        self.view.bringSubviewToFront(sdklogBtn)
-    }
-    
-    @objc func logAction(){
-        //        OpusDemo.shared.start()
-        //        return
-        let vc = LogVC()
-        navigationController?.pushViewController(vc, animated: true)
-    }
-    @objc func sdkAction(){
-        let vc = SdkLogVC()
-        navigationController?.pushViewController(vc, animated: true)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/DeviceListVC.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/DeviceListVC.swift
deleted file mode 100644 (file)
index 8cc78b1..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-//  DeviceListVC.swift
-//  IOT
-//
-//  Created by liangshi on 2025/4/9.
-//
-
-import UIKit
-import SnapKit
-import CoreBluetooth
-class DeviceListVC: BaseVC{
-    let tableView = UITableView(frame: .zero, style: .plain)
-    var list:[CBPeripheral] = [ ]
-    var didSelectedCallback: ((CBPeripheral) -> Void)?
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        // Do any additional setup after loading the view.
-        
-        setupViews()
-        setupBle()
-    }
-    
-    func setupViews(){
-        self.title = "扫描"
-        
-        tableView.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)
-        tableView.delegate = self
-        tableView.dataSource = self
-        tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
-        view.addSubview(tableView)
-    }
-    func setupBle(){
-        BleManager.shared.startScanDevice()
-        BleManager.shared.discoverDeviceCallback = {[weak self] devices in
-            self?.list = devices
-            self?.tableView.reloadData()
-        }
-        BleManager.shared.didConnectDeviceCallback = { [weak self] de in
-            self?.navigationController?.popViewController(animated: true)
-        }
-    }
-}
-
-extension DeviceListVC:UITableViewDelegate,UITableViewDataSource {
-    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
-        return 60
-    }
-    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
-        return list.count
-    }
-    
-    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
-        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
-        cell.textLabel?.text = list[indexPath.row].name
-        
-        return cell
-    }
-    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
-        let data = list[indexPath.row]
-        didSelectedCallback?(data)
-        BleManager.shared.stopScanDevice()
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/HomeVC.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/HomeVC.swift
deleted file mode 100644 (file)
index 251189a..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-//
-//  Untitled.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-
-import UIKit
-import SnapKit
-import DeepChordsSdk
-import Toast_Swift
-class HomeVC: BaseVC{
-    let list:[(name:String,action:String)] = [
-        ("获取电量","batteryAction"),
-        ("获取软件版本","softVersionAction"),
-        ("获取硬件版本","hardVersionAction"),
-    ]
-
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        // Do any additional setup after loading the view.
-        
-        setupViews()
-        setupSdk()
-        setupBle()
-    }
-    
-    func setupViews(){
-        self.title = "设备鉴权+设备采集音频"
-        self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "扫描", style: .done, target: self, action: #selector(scanAction))
-        
-        let tableView = UITableView(frame: CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height), style: .plain)
-        tableView.delegate = self
-        tableView.dataSource = self
-        tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
-        view.addSubview(tableView)
-    }
-}
-
-extension HomeVC:UITableViewDelegate,UITableViewDataSource {
-    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
-        return 60
-    }
-    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
-        return list.count
-    }
-    
-    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
-        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
-        cell.textLabel?.text = list[indexPath.row].name
-        
-        return cell
-    }
-    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
-        let data = list[indexPath.row]
-        let action = Selector(data.action)
-        self.perform(action)
-    }
-}
-
-extension HomeVC{
-    @objc func batteryAction(){
-        view.makeToastActivity(.center)
-        DCDevice.shared.getBatery {[weak self] result in
-            self?.view.hideToastActivity()
-           if let (left,right) = result{
-            }
-        }
-    }
-    @objc func softVersionAction(){
-        view.makeToastActivity(.center)
-        DCDevice.shared.getSoftVersion {[weak self] result in
-            self?.view.hideToastActivity()
-            if let version = result{
-            }
-        }
-    }
-    @objc func hardVersionAction(){
-        view.makeToastActivity(.center)
-        DCDevice.shared.getHardVersion {[weak self] result in
-            self?.view.hideToastActivity()
-            if let version = result{
-            }
-        }
-    }
-}
-
-extension HomeVC{
-    func setupSdk(){
-        DeepChordsAiSdk.shared.authCallback = { [weak self] (code,string) in
-            Logger.debug("鉴权结果",code,string)
-            if code == 200{
-               
-                App.shared.window?.makeToast("鉴权成功")
-            }
-            else{
-                App.shared.window?.makeToast(string)
-            }
-        }
-    }
-    func setupBle(){
-        let shared = BleManager.shared
-        shared.autoConnect()
-        shared.didConnectDeviceCallback = { p in
-            //蓝牙已经连接
-//            StarburstSdk.shared().bleConnected()
-        }
-        shared.disConnectDeviceCallback = { p in
-            //蓝牙已经断开
-        }
-    }
-    
-    @objc func scanAction(){
-        let scanVC = DeviceListVC()
-        navigationController?.pushViewController(scanVC, animated: true)
-        scanVC.list = BleManager.shared.devices
-        scanVC.didSelectedCallback = { device in
-            BleManager.shared.connectPeripheral(device)
-        }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/LogVC.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/LogVC.swift
deleted file mode 100644 (file)
index 2bc62a7..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-//
-//  LogVC.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-import UIKit
-import DeepChordsSdk
-class LogVC: UIViewController {
-    
-    var textView =  UITextView()
-    
-    override func viewDidLoad() {
-        title = "log"
-        view.backgroundColor = .white
-        self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "save", style: .done, target: self, action: #selector(shareAction))
-        textView.isEditable = false
-        view.addSubview(textView)
-        textView.frame = CGRectMake(0, 100, view.bounds.size.width, view.bounds.size.height - 100)
-    }
-    
-    override func viewDidAppear(_ animated: Bool) {
-        super.viewDidAppear(animated)
-        
-        textView.text = Logger.logs.joined()
-        let range = NSMakeRange(textView.text.count - 1, 1)
-        textView.scrollRangeToVisible(range)
-    }
-    
-    @objc func shareAction() {
-        let formatter = DateFormatter()
-        formatter.dateFormat = "yyyyMMddHHmmss"
-        let name = formatter.string(from: Date())
-        
-        guard let cacheDirectory = FileManager.default.urls(for:.cachesDirectory, in:.userDomainMask).first else {
-            print("无法获取缓存目录")
-            return
-        }
-        // 构建压缩文件路径
-        let filePath = cacheDirectory.appendingPathComponent("DeepChordsSdk_\(name).txt").path
-        
-        let url = URL(fileURLWithPath: filePath)
-        let data = self.textView.text.data(using:.utf8)
-        do {
-            try data?.write(to: url, options:.atomic)
-            print(filePath)
-            self.saveFile(withFilePath: filePath)
-        } catch {
-            print(error)
-        }
-    }
-    
-    func saveFile(withFilePath filePath: String) {
-//        let fUrl = URL(fileURLWithPath: filePath)
-//        let vc = UIDocumentPickerViewController(url: fUrl, in:.exportToService)
-//        vc.delegate = self
-//        vc.modalPresentationStyle = .overFullScreen
-//        self.present(vc, animated: true, completion: nil)
-        
-        let vc = UIActivityViewController(activityItems: [URL(fileURLWithPath: filePath)], applicationActivities: nil)
-        vc.modalPresentationStyle = .overFullScreen
-        App.shared.topVC().present(vc, animated: true)
-    }
-}
-
-extension LogVC:UIDocumentPickerDelegate{
-    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
-        controller.dismiss(animated: true, completion: nil)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/SceneDelegate.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/SceneDelegate.swift
deleted file mode 100644 (file)
index 321585c..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-//  SceneDelegate.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-import UIKit
-import DeepChordsSdk
-class SceneDelegate: UIResponder, UIWindowSceneDelegate {
-
-    var window: UIWindow?
-
-
-    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
-        // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
-        // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
-        // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
-        guard let _ = (scene as? UIWindowScene) else { return }
-        App.shared.window = window
-        window?.rootViewController = UINavigationController(rootViewController: HomeVC())
-        DeepChordsAiSdk.shared.initSDK()
-    }
-
-    func sceneDidDisconnect(_ scene: UIScene) {
-        // Called as the scene is being released by the system.
-        // This occurs shortly after the scene enters the background, or when its session is discarded.
-        // Release any resources associated with this scene that can be re-created the next time the scene connects.
-        // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
-    }
-
-    func sceneDidBecomeActive(_ scene: UIScene) {
-        // Called when the scene has moved from an inactive state to an active state.
-        // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
-    }
-
-    func sceneWillResignActive(_ scene: UIScene) {
-        // Called when the scene will move from an active state to an inactive state.
-        // This may occur due to temporary interruptions (ex. an incoming phone call).
-    }
-
-    func sceneWillEnterForeground(_ scene: UIScene) {
-        // Called as the scene transitions from the background to the foreground.
-        // Use this method to undo the changes made on entering the background.
-    }
-
-    func sceneDidEnterBackground(_ scene: UIScene) {
-        // Called as the scene transitions from the foreground to the background.
-        // Use this method to save data, release shared resources, and store enough scene-specific state information
-        // to restore the scene back to its current state.
-    }
-
-
-}
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/SdkLogVC.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/SdkLogVC.swift
deleted file mode 100644 (file)
index da29f19..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-//  SdkLogVC.swift
-//  Example
-//
-//  Created by lianzi on 2025/11/28.
-//
-
-import UIKit
-import DeepChordsSdk
-class SdkLogVC: UIViewController {
-    
-    var textView =  UITextView()
-    
-    override func viewDidLoad() {
-        title = "log"
-        view.backgroundColor = .white
-        self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "save", style: .done, target: self, action: #selector(shareAction))
-        textView.isEditable = false
-        view.addSubview(textView)
-        textView.frame = CGRectMake(0, 100, view.bounds.size.width, view.bounds.size.height - 100)
-    }
-    
-    override func viewDidAppear(_ animated: Bool) {
-        super.viewDidAppear(animated)
-        
-        textView.text = try! String(contentsOfFile: DeepChordsAiSdk.shared.sdkLog, encoding: .utf8)
-        let range = NSMakeRange(textView.text.count - 1, 1)
-        textView.scrollRangeToVisible(range)
-    }
-    
-    @objc func shareAction() {
-        let formatter = DateFormatter()
-        formatter.dateFormat = "yyyyMMddHHmmss"
-        let name = formatter.string(from: Date())
-        
-        let filePath = "\(NSHomeDirectory())/Documents/DeepChordsSdk_\(name).txt"
-        let url = URL(fileURLWithPath: filePath)
-        let data = self.textView.text.data(using:.utf8)
-        do {
-            try data?.write(to: url, options:.atomic)
-            print(filePath)
-            self.saveFile(withFilePath: filePath)
-        } catch {
-            print(error)
-        }
-    }
-    
-    func saveFile(withFilePath filePath: String) {
-        let fUrl = URL(fileURLWithPath: filePath)
-        let vc = UIDocumentPickerViewController(url: fUrl, in:.exportToService)
-        vc.delegate = self
-        vc.modalPresentationStyle = .overFullScreen
-        self.present(vc, animated: true, completion: nil)
-        
-//        let vc = UIActivityViewController(activityItems: [URL(fileURLWithPath: filePath)], applicationActivities: nil)
-//        vc.modalPresentationStyle = .overFullScreen
-//        App.shared.topVC().present(vc, animated: true)
-    }
-}
-
-extension SdkLogVC:UIDocumentPickerDelegate{
-    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
-        controller.dismiss(animated: true, completion: nil)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/ViewController.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/ViewController.swift
deleted file mode 100644 (file)
index 6e8ba17..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-//
-//  ViewController.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-import UIKit
-import DeepChordsSdk
-
-class ViewController: UIViewController {
-
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        // Do any additional setup after loading the view.
-        
-    }
-
-
-}
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/tools/BleManager.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/tools/BleManager.swift
deleted file mode 100644 (file)
index 56e1f49..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-//
-//  BleManager.swift
-//  Example
-//
-//  Created by liangshi on 2025/11/24.
-//
-
-//
-//  Untitled.swift
-//  ShenYin
-//
-//  Created by liangshi on 2025/8/28.
-//
-
-import UIKit
-import CoreBluetooth
-import DeepChordsSdk
-
-class BleManager: NSObject {
-    var discoverDeviceCallback: (([CBPeripheral]) -> Void)?
-    var didConnectDeviceCallback: ((CBPeripheral) -> Void)?
-    var disConnectDeviceCallback: ((CBPeripheral) -> Void)?
-    var conetedFailureCallback: ((CBPeripheral) -> Void)?
-    
-    private var centralManager: CBCentralManager!
-    var devices: [CBPeripheral] = []
-    
-    private override init() {
-        super.init()
-        centralManager = CBCentralManager(delegate: self, queue: nil)
-    }
-    
-    static let shared = BleManager()
-
-    func stopScanDevice() {
-        centralManager.stopScan()
-    }
-    func startScanDevice() {
-        //        centralManager.stopScan()
-        Logger.debug("扫描中...")
-        devices = []
-        
-        if let connectedPeripheral = centralManager.retrieveConnectedPeripherals(withServices: [CBUUID(string: "AE30")]).first{
-            devices = [connectedPeripheral]
-        }
-        discoverDeviceCallback?(devices)
-        centralManager.scanForPeripherals(withServices: nil,options: [CBCentralManagerScanOptionAllowDuplicatesKey : false])
-        
-    }
-    func connectPeripheral(_ peripheral: CBPeripheral) {
-        Logger.debug("正在连接...",peripheral)
-        centralManager.connect(peripheral, options: [CBConnectPeripheralOptionNotifyOnConnectionKey: true])
-    }
-    func autoConnect(){
-        if let peripheral = centralManager.retrieveConnectedPeripherals(withServices: [CBUUID(string: "AE30")]).first{
-            connectPeripheral(peripheral)
-        }
-    }
-}
-extension BleManager:CBCentralManagerDelegate{
-    func centralManagerDidUpdateState(_ central: CBCentralManager) {
-        Logger.debug("蓝牙状态",central.state.rawValue)
-        switch central.state {
-        case.unknown:
-            break
-        case.resetting:
-            break
-        case.unsupported:
-            break
-        case.unauthorized:
-            break
-        case.poweredOff:
-
-            break
-        case.poweredOn:
-            startScanDevice()
-            break
-        @unknown default:
-            break
-        }
-    }
-    
-    func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
-        if devices.contains(peripheral) {
-            return
-        }
-        if let name = peripheral.name,name.hasPrefix("AI") {
-            devices.append(peripheral)
-            Logger.debug(peripheral)
-            discoverDeviceCallback?(devices)
-        }
-    }
-    
-    func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
-        stopScanDevice()
-        Logger.debug("蓝牙已连接 \(peripheral)")
-        
-        peripheral.delegate = self
-        peripheral.discoverServices(nil);
-        DCBleManager.shared.centralManager(central, didConnect: peripheral)
-        self.didConnectDeviceCallback?(peripheral)
-        App.shared.window?.makeToast("蓝牙已连接")
-    }
-    func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) {
-        DCBleManager.shared.centralManager(central, didFailToConnect: peripheral, error: error)
-    }
-    func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
-        disConnectDeviceCallback?(peripheral)
-        DCBleManager.shared.centralManager(central, didDisconnectPeripheral: peripheral, error: nil)
-        App.shared.window?.makeToast("蓝牙已断开连接")
-    }
-}
-
-extension BleManager: CBPeripheralDelegate {
-    func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?) {
-        DCBleManager.shared.peripheral(peripheral, didDiscoverServices: error)
-    }
-    
-    func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) {
-        DCBleManager.shared.peripheral(peripheral, didDiscoverCharacteristicsFor: service, error: error)
-    }
-    
-    func peripheral(_ peripheral: CBPeripheral, didUpdateNotificationStateFor characteristic: CBCharacteristic, error: (any Error)?) {
-        Logger.debug("状态改变 == UUId ",characteristic.uuid)
-//        if (characteristic.isNotifying == true && characteristic.service?.uuid.uuidString == kJoyGemAIServiceUUID && characteristic.uuid.uuidString == kJoyGemAICharacteristicNotifyUUID) {
-//            //MARK: 使能成功时需要
-//            Logger.debug("特征使能成功")
-//            JoyGemAIManager.shared().bleConnected()
-//        }
-//        if characteristic.uuid.uuidString == "AE02" || characteristic.uuid.uuidString == "AE01"{
-//            OtaMananger.shared.otaManager.peripheral(peripheral, didUpdateNotificationStateFor: characteristic, error: error)
-//        }
-    }
-    
-    func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
-        DCBleManager.shared.peripheral(peripheral, didUpdateValueFor: characteristic, error: error)
-//        if characteristic.uuid.uuidString == "AE02" || characteristic.uuid.uuidString == "AE01"{
-//            if let data = characteristic.value,error == nil {
-//                OtaMananger.shared.otaManager.peripheral(peripheral, didUpdateValueFor: characteristic)
-//            }
-//            else{
-//                Logger.debug("收到数据 ===\(characteristic.uuid)","无数据")
-//            }
-//        }
-//        else {
-//            //MARK: 需要配置传入数据
-//            JoyGemAIManager.shared().receiveValue(characteristic)
-//        }
-        
-    }
-    
-    func peripheral(_ peripheral: CBPeripheral, didModifyServices invalidatedServices: [CBService]) {
-        // Accessory's GATT database has updated. Refresh your local cache (if any)
-    }
-    
-    func peripheral(_ peripheral: CBPeripheral, didWriteValueFor characteristic: CBCharacteristic, error: (any Error)?) {
-        
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Podfile.lock b/document/DeepChordsSdk_iOS/DeepChordsSdk/Podfile.lock
deleted file mode 100644 (file)
index 4d306eb..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-PODS:
-  - IQKeyboardCore (1.0.5)
-  - IQKeyboardManagerSwift (8.0.1):
-    - IQKeyboardManagerSwift/Appearance (= 8.0.1)
-    - IQKeyboardManagerSwift/Core (= 8.0.1)
-    - IQKeyboardManagerSwift/IQKeyboardReturnManager (= 8.0.1)
-    - IQKeyboardManagerSwift/IQKeyboardToolbarManager (= 8.0.1)
-    - IQKeyboardManagerSwift/IQTextView (= 8.0.1)
-    - IQKeyboardManagerSwift/Resign (= 8.0.1)
-  - IQKeyboardManagerSwift/Appearance (8.0.1):
-    - IQKeyboardManagerSwift/Core
-  - IQKeyboardManagerSwift/Core (8.0.1):
-    - IQKeyboardNotification
-    - IQTextInputViewNotification
-  - IQKeyboardManagerSwift/IQKeyboardReturnManager (8.0.1):
-    - IQKeyboardReturnManager
-  - IQKeyboardManagerSwift/IQKeyboardToolbarManager (8.0.1):
-    - IQKeyboardManagerSwift/Core
-    - IQKeyboardToolbarManager
-  - IQKeyboardManagerSwift/IQTextView (8.0.1):
-    - IQTextView
-  - IQKeyboardManagerSwift/Resign (8.0.1):
-    - IQKeyboardManagerSwift/Core
-  - IQKeyboardNotification (1.0.3)
-  - IQKeyboardReturnManager (1.0.4):
-    - IQKeyboardCore (= 1.0.5)
-  - IQKeyboardToolbar (1.1.1):
-    - IQKeyboardCore
-    - IQKeyboardToolbar/Core (= 1.1.1)
-  - IQKeyboardToolbar/Core (1.1.1):
-    - IQKeyboardCore
-    - IQKeyboardToolbar/Placeholderable
-  - IQKeyboardToolbar/Placeholderable (1.1.1):
-    - IQKeyboardCore
-  - IQKeyboardToolbarManager (1.1.3):
-    - IQKeyboardToolbar
-    - IQTextInputViewNotification
-  - IQTextInputViewNotification (1.0.8):
-    - IQKeyboardCore
-  - IQTextView (1.0.5):
-    - IQKeyboardToolbar/Placeholderable
-  - SnapKit (5.7.1)
-  - SocketRocket (0.7.1)
-  - Toast-Swift (5.1.1)
-
-DEPENDENCIES:
-  - IQKeyboardManagerSwift
-  - SnapKit (~> 5.7.0)
-  - SocketRocket
-  - Toast-Swift
-
-SPEC REPOS:
-  https://gitee.com/mirrors/CocoaPods-Specs.git:
-    - IQKeyboardCore
-    - IQKeyboardManagerSwift
-    - IQKeyboardNotification
-    - IQKeyboardReturnManager
-    - IQKeyboardToolbar
-    - IQKeyboardToolbarManager
-    - IQTextInputViewNotification
-    - IQTextView
-    - SnapKit
-    - SocketRocket
-    - Toast-Swift
-
-SPEC CHECKSUMS:
-  IQKeyboardCore: 28c8bf3bcd8ba5aa1570b318cbc4da94b861711e
-  IQKeyboardManagerSwift: 835fc9c6e4732398113406d84900ad2e8f141218
-  IQKeyboardNotification: d7382c4466c5a5adef92c7452ebf861b36050088
-  IQKeyboardReturnManager: 972be48528ce9e7508ab3ab15ac7efac803f17f5
-  IQKeyboardToolbar: d4bdccfb78324aec2f3920659c77bb89acd33312
-  IQKeyboardToolbarManager: 6c693c8478d6327a7ef2107528d29698b3514dbb
-  IQTextInputViewNotification: f5e954d8881fd9808b744e49e024cc0d4bcfe572
-  IQTextView: ae13b4922f22e6f027f62c557d9f4f236b19d5c7
-  SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a
-  SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
-  Toast-Swift: 7a03a532afe3a560d4044bc7c237e2864d295173
-
-PODFILE CHECKSUM: 3b64f91d7c4f6c0036af83b3b1ff330c07d705a8
-
-COCOAPODS: 1.16.2
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/IQKeyboardCore/Classes/Constants/IQKeyboardConstants.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/IQKeyboardCore/Classes/Constants/IQKeyboardConstants.swift
deleted file mode 100644 (file)
index a4e8fe6..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-//  IQKeyboardConstants.swift
-//  https://github.com/hackiftekhar/IQKeyboardCore
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import Foundation
-
-/**
- `IQEnableModeDefault`
- Pick default settings.
- 
- `IQEnableModeEnabled`
- setting is enabled.
- 
- `IQEnableModeDisabled`
- setting is disabled.
- */
-@available(iOSApplicationExtension, unavailable)
-@objc public enum IQEnableMode: Int {
-    case `default`
-    case enabled
-    case disabled
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/IQKeyboardCore/Classes/IQKeyboardExtended.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/IQKeyboardCore/Classes/IQKeyboardExtended.swift
deleted file mode 100644 (file)
index 24b15d7..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-//  IQKeyboardExtended.swift
-//  https://github.com/hackiftekhar/IQKeyboardCore
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-/// Wrapper for IQKeyboardManager compatible types. This type provides an extension point for
-/// convenience methods in IQKeyboardManager.
-@available(iOSApplicationExtension, unavailable)
-public struct IQKeyboardExtension<Base: AnyObject> {
-    public private(set) weak var base: Base?
-    fileprivate init(_ base: Base) {
-        self.base = base
-    }
-}
-
-// swiftlint:disable identifier_name
-/// Represents an object type that is compatible with IQKeyboardManager. You can use `iq` property to get a
-/// value in the namespace of IQKeyboardManager.
-@available(iOSApplicationExtension, unavailable)
-public protocol IQKeyboardExtended {
-    /// Type being extended.
-    associatedtype Base: AnyObject
-
-    /// Instance IQKeyboardManager extension point.
-    @MainActor
-    var iq: IQKeyboardExtension<Base> { get set }
-}
-
-// swiftlint:disable unused_setter_value
-@available(iOSApplicationExtension, unavailable)
-public extension IQKeyboardExtended where Self: UIView {
-
-    /// Instance IQKeyboardManager extension point.
-    @MainActor
-    var iq: IQKeyboardExtension<Self> {
-        get { IQKeyboardExtension(self) }
-        set {}
-    }
-}
-// swiftlint:enable unused_setter_value
-// swiftlint:enable identifier_name
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-extension UIView: IQKeyboardExtended {}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/IQKeyboardCore/Classes/IQTextInputView.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/IQKeyboardCore/Classes/IQTextInputView.swift
deleted file mode 100644 (file)
index 5c1612a..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-//
-//  IQTextInputView.swift
-//  https://github.com/hackiftekhar/IQKeyboardCore
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public protocol IQTextInputView where Self: UIView, Self: UITextInputTraits {
-
-    @available(iOS 16.0, *)
-    @objc var iqIsFindInteractionEnabled: Bool { get }
-
-    @available(iOS 16.0, *)
-    @objc var iqFindInteraction: UIFindInteraction? { get }
-
-    @objc var returnKeyType: UIReturnKeyType { get set }
-    @objc var keyboardAppearance: UIKeyboardAppearance { get set }
-
-    @objc var iqIsEnabled: Bool { get }
-
-    @objc var inputAccessoryView: UIView? { get set }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc extension UITextField: IQTextInputView {
-
-    @available(iOS 16.0, *)
-    public var iqIsFindInteractionEnabled: Bool { false }
-
-    @available(iOS 16.0, *)
-    public var iqFindInteraction: UIFindInteraction? { nil }
-
-    public var iqIsEnabled: Bool { isEnabled }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc extension UITextView: IQTextInputView {
-    @available(iOS 16.0, *)
-    public var iqIsFindInteractionEnabled: Bool { isFindInteractionEnabled }
-
-    @available(iOS 16.0, *)
-    public var iqFindInteraction: UIFindInteraction? { findInteraction }
-
-    public var iqIsEnabled: Bool { isEditable }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc extension UISearchBar: IQTextInputView {
-
-    @available(iOS 16.0, *)
-    public var iqIsFindInteractionEnabled: Bool { false }
-
-    @available(iOS 16.0, *)
-    public var iqFindInteraction: UIFindInteraction? { nil }
-
-    public var iqIsEnabled: Bool {
-        if #available(iOS 16.4, *) {
-            return isEnabled
-        } else {
-            return searchTextField.isEnabled
-        }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/IQKeyboardCore/Classes/UIKitExtensions/UIView+Hierarchy.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/IQKeyboardCore/Classes/UIKitExtensions/UIView+Hierarchy.swift
deleted file mode 100644 (file)
index f97a484..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-//
-//  UIView+Hierarchy.swift
-//  https://github.com/hackiftekhar/IQKeyboardCore
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-/**
- UIView hierarchy category.
- */
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-public extension IQKeyboardExtension where Base: UIView {
-
-    // MARK: viewControllers
-
-    /**
-     Returns the UIViewController object that manages the receiver.
-     */
-    func viewContainingController() -> UIViewController? {
-
-        var nextResponder: UIResponder? = base
-
-        repeat {
-            nextResponder = nextResponder?.next
-
-            if let viewController: UIViewController = nextResponder as? UIViewController {
-                return viewController
-            }
-
-        } while nextResponder != nil
-
-        return nil
-    }
-
-    @available(*, unavailable, message: "This has been removed because it no longer needed")
-    func topMostController() -> UIViewController? { nil }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-public extension IQKeyboardExtension where Base: UIView {
-
-    // MARK: Superviews
-    /**
-     Returns the superView of provided class type.
-
-     @param classType class type of the object which is to be search in above hierarchy and return
-
-     @param belowView view object in upper hierarchy where method should stop searching and return nil
-     */
-    func superviewOf<T: UIView>(type classType: T.Type, belowView: UIView? = nil) -> T? {
-
-        var superView: UIView? = base?.superview
-
-        while let aSuperview: UIView = superView {
-
-            if aSuperview.isKind(of: classType) {
-
-                // If it's UIScrollView, then validating for special cases
-                if aSuperview is UIScrollView {
-
-                    let classNameString: String = "\(type(of: aSuperview.self))"
-
-                    // If it's not UITableViewWrapperView class,
-                    // this is internal class which is actually manage in UITableview.
-                    // The speciality of this class is that it's superview is UITableView.
-                    // If it's not UITableViewCellScrollView class,
-                    // this is internal class which is actually manage in UITableviewCell.
-                    // The speciality of this class is that it's superview is UITableViewCell.
-                    // If it's not _UIQueuingScrollView class,
-                    // actually we validate for _ prefix which usually used by Apple internal classes
-                    if !(aSuperview.superview is UITableView),
-                       !(aSuperview.superview is UITableViewCell),
-                       !classNameString.hasPrefix("_") {
-                        return superView as? T
-                    }
-                } else {
-                    return superView as? T
-                }
-            } else if aSuperview == belowView {
-                return nil
-            }
-
-            superView = aSuperview.superview
-        }
-
-        return nil
-    }
-
-    // MARK: Special TextFields
-
-    /**
-     Returns searchBar if receiver object is UISearchBarTextField, otherwise return nil.
-     */
-    func textFieldSearchBar() -> UISearchBar? {
-
-        var responder: UIResponder? = base?.next
-
-        while let bar: UIResponder = responder {
-
-            if let searchBar: UISearchBar = bar as? UISearchBar {
-                return searchBar
-            } else if bar is UIViewController {
-                break
-            }
-
-            responder = bar.next
-        }
-
-        return nil
-    }
-
-    /**
-     Returns YES if the receiver object is UIAlertSheetTextField, otherwise return NO.
-     */
-    func isAlertViewTextField() -> Bool {
-
-        var alertViewController: UIResponder? = viewContainingController()
-
-        var isAlertViewTextField: Bool = false
-
-        while let controller: UIResponder = alertViewController, !isAlertViewTextField {
-
-            if controller is UIAlertController {
-                isAlertViewTextField = true
-                break
-            }
-
-            alertViewController = controller.next
-        }
-
-        return isAlertViewTextField
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension UIView {
-
-    @available(*, unavailable, renamed: "iq.viewContainingController()")
-    func viewContainingController() -> UIViewController? { nil }
-
-    @available(*, unavailable, message: "This has been removed because it no longer needed")
-    func topMostController() -> UIViewController? { nil }
-
-    @available(*, unavailable, renamed: "iq.superviewOf(type:belowView:)")
-    func superviewOfClassType(_ classType: UIView.Type, belowView: UIView? = nil) -> UIView? { nil }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/LICENSE b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/LICENSE
deleted file mode 100644 (file)
index 5d8eb96..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/README.md b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardCore/README.md
deleted file mode 100644 (file)
index 620ea83..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# IQKeyboardCore
-
-[![CI Status](https://img.shields.io/travis/hackiftekhar/IQKeyboardCore.svg?style=flat)](https://travis-ci.org/hackiftekhar/IQKeyboardCore)
-[![Version](https://img.shields.io/cocoapods/v/IQKeyboardCore.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardCore)
-[![License](https://img.shields.io/cocoapods/l/IQKeyboardCore.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardCore)
-[![Platform](https://img.shields.io/cocoapods/p/IQKeyboardCore.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardCore)
-
-## Example
-
-To run the example project, clone the repo, and run `pod install` from the Example directory first.
-
-## Requirements
-
-## Installation
-
-IQKeyboardCore is available through [CocoaPods](https://cocoapods.org). To install
-it, simply add the following line to your Podfile:
-
-```ruby
-pod 'IQKeyboardCore'
-```
-
-## Author
-
-hackiftekhar, ideviftekhar@gmail.com
-
-## License
-
-IQKeyboardCore is available under the MIT license. See the LICENSE file for more info.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardAppearanceConfiguration.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardAppearanceConfiguration.swift
deleted file mode 100644 (file)
index 49de03b..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-//  IQKeyboardAppearanceConfiguration.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers public final class IQKeyboardAppearanceConfiguration: NSObject {
-
-    /**
-    Override the keyboardAppearance for all textInputView. Default is NO.
-    */
-    public var overrideAppearance: Bool = false
-
-    /**
-    If overrideKeyboardAppearance is YES, then all the textInputView keyboardAppearance is set using this property.
-    */
-    public var appearance: UIKeyboardAppearance = .default
-}
-
-@available(*, unavailable, renamed: "IQKeyboardAppearanceConfiguration")
-@MainActor
-@objcMembers public final class IQKeyboardConfiguration: NSObject {}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardAppearanceManager+Internal.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardAppearanceManager+Internal.swift
deleted file mode 100644 (file)
index fd475c0..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-//  IQKeyboardAppearanceManager+Internal.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension IQKeyboardAppearanceManager {
-
-    func removeTextInputViewObserver() {
-        textInputViewObserver.unsubscribe(identifier: "IQKeyboardAppearanceManager")
-    }
-
-    func addTextInputViewObserver() {
-        textInputViewObserver.subscribe(identifier: "IQKeyboardAppearanceManager",
-                                        changeHandler: { [weak self] event, textInputView in
-            guard let self = self else { return }
-            switch event {
-            case .beginEditing:
-                guard self.keyboardConfiguration.overrideAppearance,
-                      textInputView.keyboardAppearance != self.keyboardConfiguration.appearance else { return }
-
-                textInputView.keyboardAppearance = self.keyboardConfiguration.appearance
-                textInputView.reloadInputViews()
-            case .endEditing:
-                break
-            }
-        })
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardAppearanceManager.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardAppearanceManager.swift
deleted file mode 100644 (file)
index 4a6fdaa..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-//  IQKeyboardAppearanceManager.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQTextInputViewNotification
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers internal final class IQKeyboardAppearanceManager: NSObject {
-
-    let textInputViewObserver: IQTextInputViewNotification = .init()
-
-    /**
-    Configuration related to keyboard appearance
-    */
-    var keyboardConfiguration: IQKeyboardAppearanceConfiguration = .init()
-
-    public override init() {
-        super.init()
-
-        // Registering one time only
-        addTextInputViewObserver()
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardManager+Appearance.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardManager+Appearance.swift
deleted file mode 100644 (file)
index cea51c2..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-//  IQKeyboardManager+Appearance.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardManager {
-
-    @MainActor
-    private struct AssociatedKeys {
-        static var appearanceManager: Int = 0
-    }
-
-    internal var appearanceManager: IQKeyboardAppearanceManager {
-        if let object = objc_getAssociatedObject(self, &AssociatedKeys.appearanceManager)
-            as? IQKeyboardAppearanceManager {
-            return object
-        }
-
-        let object: IQKeyboardAppearanceManager = .init()
-        objc_setAssociatedObject(self, &AssociatedKeys.appearanceManager,
-                                 object, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-
-        return object
-    }
-
-    /**
-     Configuration related to keyboard appearance
-     */
-    var keyboardConfiguration: IQKeyboardAppearanceConfiguration {
-        get { appearanceManager.keyboardConfiguration }
-        set { appearanceManager.keyboardConfiguration = newValue }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardManager+Appearance_Deprecated.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Appearance/IQKeyboardManager+Appearance_Deprecated.swift
deleted file mode 100644 (file)
index 8e9cfb5..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-//  IQKeyboardManager+Appearance_Deprecated.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-// swiftlint:disable unused_setter_value
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardManager {
-
-    @available(*, unavailable, renamed: "keyboardConfiguration.overrideAppearance")
-    var overrideKeyboardAppearance: Bool {
-        get { false }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "keyboardConfiguration.appearance")
-    var keyboardAppearance: UIKeyboardAppearance {
-        get { .default }
-        set { }
-    }
-}
-// swiftlint:enable unused_setter_value
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Configuration/IQActiveConfiguration.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Configuration/IQActiveConfiguration.swift
deleted file mode 100644 (file)
index 502f714..0000000
+++ /dev/null
@@ -1,274 +0,0 @@
-//
-//  IQActiveConfiguration.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-import IQKeyboardNotification
-import IQTextInputViewNotification
-import Combine
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal final class IQActiveConfiguration: NSObject {
-
-    private let keyboardObserver: IQKeyboardNotification = .init()
-    private let textInputViewObserver: IQTextInputViewNotification = .init()
-
-    private var changeObservers: [AnyHashable: ConfigurationCompletion] = [:]
-    var cancellable: Set<AnyCancellable> = []
-
-    enum Event: Int {
-        case hide
-        case show
-        case change
-
-        var name: String {
-            switch self {
-            case .hide:
-                return "hide"
-            case .show:
-                return "show"
-            case .change:
-                return "change"
-            }
-        }
-    }
-
-    private var lastEvent: Event = .hide
-
-    var rootConfiguration: IQRootControllerConfiguration?
-
-    var isReady: Bool {
-        if textInputViewInfo != nil,
-           let rootConfiguration = rootConfiguration {
-            return rootConfiguration.isReady
-        }
-        return false
-    }
-
-    override init() {
-        super.init()
-        addKeyboardObserver()
-        addTextInputViewObserver()
-    }
-
-    private func sendEvent() {
-
-        guard let rootConfiguration = rootConfiguration,
-              rootConfiguration.isReady else { return }
-
-        if keyboardInfo.isVisible {
-            if lastEvent == .hide {
-                self.notify(event: .show, keyboardInfo: keyboardInfo, textInputViewInfo: textInputViewInfo)
-            } else {
-                self.notify(event: .change, keyboardInfo: keyboardInfo, textInputViewInfo: textInputViewInfo)
-            }
-
-        } else if lastEvent != .hide {
-            if rootConfiguration.beginOrientation == rootConfiguration.currentOrientation {
-
-                // If interactive pop gesture is active then it manipulate viewController.view's frame
-                // To overcome with this, we have to do this workaround.
-                if rootConfiguration.isInteractiveGestureActive,
-                   let rootController: UIViewController = rootConfiguration.rootController {
-
-                    self.cancellable.forEach { $0.cancel() }
-                    self.cancellable.removeAll()
-
-                    // Saving current keyboard info and textInputView
-                    let keyboardInfo = keyboardObserver.keyboardInfo
-                    let textInputViewInfo = textInputViewObserver.textInputViewInfo
-
-                    // Start observing frame changes.
-                    // If pop successful, then we'll not get callbacks here again
-                    // If user cancels the pop, then we'll get frame as .zero at some time
-                    // Also the interactiveGesture becomes inactive (genuinely it's state is .possible)
-                    // At this moment.
-                    rootController.view.publisher(for: \.frame)
-                        .sink(receiveValue: { [weak self] frame in
-                            guard let self = self else { return }
-                            print(frame)
-                            guard frame.origin == .zero,
-                                  !rootConfiguration.isInteractiveGestureActive else { return }
-
-                            self.cancellable.forEach { $0.cancel() }
-                            self.cancellable.removeAll()
-
-                            // Restore keyboard info and textInputViewInfo
-                            self.notify(event: .change, keyboardInfo: keyboardInfo, textInputViewInfo: textInputViewInfo)
-                        }).store(in: &cancellable)
-
-                } else {
-                    self.notify(event: .hide, keyboardInfo: keyboardInfo, textInputViewInfo: textInputViewInfo)
-                    self.rootConfiguration = nil
-                }
-
-            } else if rootConfiguration.hasChanged {
-                animate(alongsideTransition: {
-                    rootConfiguration.restore()
-                }, completion: nil)
-            }
-        }
-    }
-
-    private func updateRootController(textInputView: IQTextInputView?) {
-
-        guard let textInputView: UIView = textInputView,
-              let controller: UIViewController = textInputView.iq.parentContainerViewController() else {
-            if let rootConfiguration = rootConfiguration,
-               rootConfiguration.hasChanged {
-                animate(alongsideTransition: {
-                    rootConfiguration.restore()
-                }, completion: nil)
-            }
-            rootConfiguration = nil
-            return
-        }
-
-        let newConfiguration = IQRootControllerConfiguration(rootController: controller)
-
-        guard newConfiguration.rootController?.view.window != rootConfiguration?.rootController?.view.window ||
-                newConfiguration.beginOrientation != rootConfiguration?.beginOrientation else { return }
-
-        if rootConfiguration?.rootController != newConfiguration.rootController {
-
-            // If there was an old configuration but things are changed
-            if let rootConfiguration = rootConfiguration,
-               rootConfiguration.hasChanged {
-                animate(alongsideTransition: {
-                    rootConfiguration.restore()
-                }, completion: nil)
-            }
-        }
-
-        rootConfiguration = newConfiguration
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-extension IQActiveConfiguration {
-
-    var keyboardInfo: IQKeyboardInfo {
-        return keyboardObserver.keyboardInfo
-    }
-
-    private func addKeyboardObserver() {
-        keyboardObserver.subscribe(identifier: "IQActiveConfiguration", changeHandler: { [weak self] _, endFrame in
-
-            guard let self = self else { return }
-
-            guard self.keyboardObserver.oldKeyboardInfo.endFrame.height != endFrame.height else { return }
-
-            if let info = self.textInputViewInfo, self.keyboardInfo.isVisible {
-                if let rootConfiguration = self.rootConfiguration {
-                    let beginIsPortrait: Bool = rootConfiguration.beginOrientation.isPortrait
-                    let currentIsPortrait: Bool = rootConfiguration.currentOrientation.isPortrait
-                    if beginIsPortrait != currentIsPortrait {
-                        self.updateRootController(textInputView: info.textInputView)
-                    }
-                } else {
-                    self.updateRootController(textInputView: info.textInputView)
-                }
-            }
-
-            self.sendEvent()
-
-            // If interactive pop gesture is active then we don't want to remove this textField
-            if endFrame.height == 0,
-               !(self.rootConfiguration?.isInteractiveGestureActive ?? false) {
-                self.updateRootController(textInputView: nil)
-            }
-        })
-    }
-
-    public func animate(alongsideTransition transition: @escaping () -> Void, completion: (() -> Void)? = nil) {
-        keyboardObserver.animate(alongsideTransition: transition, completion: completion)
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-extension IQActiveConfiguration {
-
-    var textInputView: (any IQTextInputView)? {
-        guard let textInputView: UIView = textInputViewObserver.textInputView,
-              textInputView.iq.isAlertViewTextField() == false else {
-            return nil
-        }
-
-        return textInputViewObserver.textInputView
-    }
-
-    var textInputViewInfo: IQTextInputViewInfo? {
-        guard let textInputView: UIView = textInputView,
-              textInputView.iq.isAlertViewTextField() == false else {
-            return nil
-        }
-
-        return textInputViewObserver.textInputViewInfo
-    }
-
-    private func addTextInputViewObserver() {
-        textInputViewObserver.subscribe(identifier: "IQActiveConfiguration",
-                                        changeHandler: { [weak self] event, textInputView in
-
-            guard let self = self else { return }
-
-//            print(info.event.name)
-            guard (textInputView as UIView).iq.isAlertViewTextField() == false else {
-                return
-            }
-
-            if event == .beginEditing {
-                self.updateRootController(textInputView: textInputView)
-                self.sendEvent()
-            }
-        })
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-extension IQActiveConfiguration {
-
-    typealias ConfigurationCompletion = (_ event: Event,
-                                         _ keyboardInfo: IQKeyboardInfo,
-                                         _ textInputViewInfo: IQTextInputViewInfo?) -> Void
-
-    func subscribe(identifier: AnyHashable, changeHandler: @escaping ConfigurationCompletion) {
-        changeObservers[identifier] = changeHandler
-    }
-
-    func unsubscribe(identifier: AnyHashable) {
-        changeObservers[identifier] = nil
-    }
-
-    private func notify(event: Event, keyboardInfo: IQKeyboardInfo, textInputViewInfo: IQTextInputViewInfo?) {
-        lastEvent = event
-
-        for block in changeObservers.values {
-            block(event, keyboardInfo, textInputViewInfo)
-        }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Configuration/IQRootControllerConfiguration.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Configuration/IQRootControllerConfiguration.swift
deleted file mode 100644 (file)
index 4980b73..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-//
-//  IQRootControllerConfiguration.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal struct IQRootControllerConfiguration {
-
-    weak var rootController: UIViewController?
-    let beginOrigin: CGPoint
-    let beginSafeAreaInsets: UIEdgeInsets
-    let beginOrientation: UIInterfaceOrientation
-
-    init(rootController: UIViewController) {
-        self.rootController = rootController
-        beginOrigin = rootController.view.frame.origin
-        beginSafeAreaInsets = rootController.view.safeAreaInsets
-
-        let interfaceOrientation: UIInterfaceOrientation
-        if let scene = rootController.view.window?.windowScene {
-            interfaceOrientation = scene.interfaceOrientation
-        } else {
-            interfaceOrientation = .unknown
-        }
-
-        beginOrientation = interfaceOrientation
-    }
-
-    var currentOrientation: UIInterfaceOrientation {
-        let interfaceOrientation: UIInterfaceOrientation
-        if let scene = rootController?.view.window?.windowScene {
-            interfaceOrientation = scene.interfaceOrientation
-        } else {
-            interfaceOrientation = .unknown
-        }
-        return interfaceOrientation
-    }
-
-    var isReady: Bool {
-        return rootController?.view.window != nil
-    }
-
-    var hasChanged: Bool {
-        let origin: CGPoint = rootController?.view.frame.origin ?? .zero
-        return !origin.equalTo(beginOrigin)
-    }
-
-    var isInteractiveGestureActive: Bool {
-        guard let rootController: UIViewController = rootController,
-              let navigationController: UINavigationController = rootController.navigationController,
-              let interactiveGestureRecognizer = navigationController.interactivePopGestureRecognizer else {
-            return false
-        }
-        switch interactiveGestureRecognizer.state {
-        case .began, .changed:
-            return true
-        case .possible, .ended, .cancelled, .failed, .recognized:
-            // swiftlint:disable:next no_fallthrough_only
-            fallthrough
-        default:
-            return false
-        }
-    }
-    @discardableResult
-    func restore() -> Bool {
-        guard let rootController: UIViewController = rootController,
-              !rootController.view.frame.origin.equalTo(beginOrigin) else { return false }
-        // Setting it's new frame
-        var rect: CGRect = rootController.view.frame
-        rect.origin = beginOrigin
-        rootController.view.frame = rect
-        return true
-     }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Configuration/IQScrollViewConfiguration.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Configuration/IQScrollViewConfiguration.swift
deleted file mode 100644 (file)
index 8ced7b5..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-//
-//  IQScrollViewConfiguration.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal struct IQScrollViewConfiguration {
-    let scrollView: UIScrollView
-    let startingContentOffset: CGPoint
-    let startingScrollIndicatorInsets: UIEdgeInsets
-    let startingContentInset: UIEdgeInsets
-
-    private let canRestoreContentOffset: Bool
-
-    init(scrollView: UIScrollView, canRestoreContentOffset: Bool) {
-        self.scrollView = scrollView
-        self.canRestoreContentOffset = canRestoreContentOffset
-
-        startingContentOffset = scrollView.contentOffset
-        startingContentInset = scrollView.contentInset
-        startingScrollIndicatorInsets = scrollView.verticalScrollIndicatorInsets
-    }
-
-    var hasChanged: Bool {
-        if scrollView.contentInset != self.startingContentInset {
-            return true
-        }
-
-        if canRestoreContentOffset,
-           scrollView.iq.restoreContentOffset,
-           !scrollView.contentOffset.equalTo(startingContentOffset) {
-            return true
-        }
-        return false
-    }
-
-    @discardableResult
-    func restore(for textInputView: (some IQTextInputView)?) -> Bool {
-        var success: Bool = false
-
-        if scrollView.contentInset != self.startingContentInset {
-            scrollView.contentInset = self.startingContentInset
-            scrollView.layoutIfNeeded() // (Bug ID: #1996)
-            success = true
-        }
-
-        if scrollView.verticalScrollIndicatorInsets != self.startingScrollIndicatorInsets {
-            scrollView.verticalScrollIndicatorInsets = self.startingScrollIndicatorInsets
-        }
-
-        if canRestoreContentOffset,
-           scrollView.iq.restoreContentOffset,
-           !scrollView.contentOffset.equalTo(startingContentOffset) {
-
-            //  (Bug ID: #1365, #1508, #1541)
-            let stackView: UIStackView?
-            if let textInputView: UIView = textInputView {
-                stackView = textInputView.iq.superviewOf(type: UIStackView.self,
-                                                         belowView: scrollView)
-            } else {
-                stackView = nil
-            }
-            // (Bug ID: #1901, #1996)
-            let animatedContentOffset: Bool = stackView != nil ||
-            scrollView is UICollectionView ||
-            scrollView is UITableView
-
-            if animatedContentOffset {
-                scrollView.setContentOffset(startingContentOffset, animated: UIView.areAnimationsEnabled)
-            } else {
-                scrollView.contentOffset = startingContentOffset
-            }
-            success = true
-        }
-
-        return success
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Debug/IQKeyboardManager+Debug.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Debug/IQKeyboardManager+Debug.swift
deleted file mode 100644 (file)
index ccea38b..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-//  IQKeyboardManager+Debug.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-// MARK: Debugging & Developer options
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardManager {
-
-    @MainActor
-    private struct AssociatedKeys {
-        static var isDebuggingEnabled: Int = 0
-        static var logIndentation: Int = 0
-    }
-
-    var isDebuggingEnabled: Bool {
-        get {
-            return objc_getAssociatedObject(self, &AssociatedKeys.isDebuggingEnabled) as? Bool ?? false
-        }
-        set(newValue) {
-            objc_setAssociatedObject(self, &AssociatedKeys.isDebuggingEnabled,
-                                     newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-        }
-    }
-
-    private var logIndentation: Int {
-        get {
-            return objc_getAssociatedObject(self, &AssociatedKeys.logIndentation) as? Int ?? 0
-        }
-        set(newValue) {
-            objc_setAssociatedObject(self, &AssociatedKeys.logIndentation,
-                                     newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-        }
-    }
-
-    internal func showLog(_ logString: String, indentation: Int = 0) {
-
-        guard isDebuggingEnabled else {
-            return
-        }
-
-        if indentation < 0 {
-            logIndentation = max(0, logIndentation + indentation)
-        }
-
-        var preLog: String = "IQKeyboardManager"
-        for _ in 0 ... logIndentation {
-            preLog += "|\t"
-        }
-
-        print(preLog + logString)
-
-        if indentation > 0 {
-            logIndentation += indentation
-        }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Deprecated/IQKeyboardManager+Deprecated.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/Deprecated/IQKeyboardManager+Deprecated.swift
deleted file mode 100644 (file)
index 87bb3f9..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-//
-//  IQKeyboardManager+Deprecated.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-// swiftlint:disable unused_setter_value
-// swiftlint:disable line_length
-// swiftlint:disable type_name
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardManager {
-
-    @available(*, unavailable, renamed: "keyboardDistance")
-    var keyboardDistanceFromTextField: CGFloat {
-        get { fatalError() }
-        set { }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardManager {
-
-    @available(*, unavailable, message: "This feature has been removed due to few compatibility problems")
-    func registerTextFieldViewClass(_ aClass: UIView.Type,
-                                    didBeginEditingNotificationName: String,
-                                    didEndEditingNotificationName: String) {
-    }
-
-    @available(*, unavailable, message: "This feature has been removed due to few compatibility problems")
-    func unregisterTextFieldViewClass(_ aClass: UIView.Type,
-                                      didBeginEditingNotificationName: String,
-                                      didEndEditingNotificationName: String) {
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardManager {
-
-    typealias SizeBlock = (_ size: CGSize) -> Void
-
-    @available(*, unavailable, message: "Please use `IQKeyboardNotification` independently from https://github.com/hackiftekhar/IQKeyboardNotification")
-    func registerKeyboardSizeChange(identifier: AnyHashable, sizeHandler: @escaping SizeBlock) {}
-
-    @available(*, unavailable, message: "Please use `IQKeyboardNotification` independently from https://github.com/hackiftekhar/IQKeyboardNotification")
-    func unregisterKeyboardSizeChange(identifier: AnyHashable) {}
-
-    @available(*, unavailable, message: "Please use `IQKeyboardNotification` independently from https://github.com/hackiftekhar/IQKeyboardNotification")
-    var keyboardShowing: Bool { false }
-
-    @available(*, unavailable, message: "Please use `IQKeyboardNotification` independently from https://github.com/hackiftekhar/IQKeyboardNotification")
-    var keyboardFrame: CGRect { .zero }
-}
-
-@available(*, unavailable, renamed: "IQKeyboardReturnManager", message: "Please use `IQKeyboardReturnManager` independently from https://github.com/hackiftekhar/IQKeyboardReturnManager")
-@MainActor
-@objcMembers public final class IQKeyboardReturnKeyHandler: NSObject {}
-
-@available(*, unavailable, renamed: "IQKeyboardNotification", message: "Please use `IQKeyboardNotification` independently from https://github.com/hackiftekhar/IQKeyboardNotification")
-@MainActor
-@objcMembers public final class IQKeyboardListener: NSObject {}
-
-@available(*, unavailable, renamed: "IQTextInputViewNotification", message: "Please use `IQTextInputViewNotification` independently from https://github.com/hackiftekhar/IQTextInputViewNotification")
-@MainActor
-@objcMembers public final class IQTextFieldViewListener: NSObject {}
-
-@available(*, unavailable, renamed: "IQDeepResponderContainerView", message: "Please use `IQDeepResponderContainerView` class which is now part of `IQKeyboardToolbarManager` from https://github.com/hackiftekhar/IQKeyboardToolbarManager.")
-@MainActor
-@objcMembers open class IQPreviousNextView: UIView {}
-
-@available(*, unavailable, message: "Please use `IQKeyboardToolbar` independently https://github.com/hackiftekhar/IQKeyboardToolbar or through `IQKeyboardToolbarManager` from https://github.com/hackiftekhar/IQKeyboardToolbarManager")
-@MainActor
-@objcMembers public final class IQToolbarPlaceholderConfigurationDeprecated: NSObject {
-    public var showPlaceholder: Bool = true
-    public var font: UIFont?
-    public var color: UIColor?
-    public var buttonColor: UIColor?
-    public override var accessibilityLabel: String? { didSet { } }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@available(*, unavailable, message: "Please use `IQKeyboardToolbar` independently https://github.com/hackiftekhar/IQKeyboardToolbar or through `IQKeyboardToolbarManager` from https://github.com/hackiftekhar/IQKeyboardToolbarManager")
-@MainActor
-@objcMembers public final class IQBarButtonItemConfigurationDeprecated: NSObject {
-
-    public init(systemItem: UIBarButtonItem.SystemItem, action: Selector? = nil) {
-        self.systemItem = systemItem
-        self.image = nil
-        self.title = nil
-        self.action = action
-        super.init()
-    }
-
-    public init(image: UIImage, action: Selector? = nil) {
-        self.systemItem = nil
-        self.image = image
-        self.title = nil
-        self.action = action
-        super.init()
-    }
-
-    public init(title: String, action: Selector? = nil) {
-        self.systemItem = nil
-        self.image = nil
-        self.title = title
-        self.action = action
-        super.init()
-    }
-
-    public let systemItem: UIBarButtonItem.SystemItem?
-    public let image: UIImage?
-    public let title: String?
-    public var action: Selector?
-    public override var accessibilityLabel: String? { didSet { } }
-}
-
-@available(*, unavailable, message: "Please use `IQKeyboardToolbarManager` independently from https://github.com/hackiftekhar/IQKeyboardToolbarManager")
-@objc public enum IQAutoToolbarManageBehaviorDeprecated: Int {
-    case bySubviews
-    case byTag
-    case byPosition
-}
-
-@available(*, unavailable, message: "Please use `IQKeyboardToolbarManager` independently from https://github.com/hackiftekhar/IQKeyboardToolbarManager")
-@objc public enum IQPreviousNextDisplayModeDeprecated: Int {
-    case `default`
-    case alwaysHide
-    case alwaysShow
-}
-
-@available(*, unavailable, message: "Please use `IQKeyboardToolbarManager` independently from https://github.com/hackiftekhar/IQKeyboardToolbarManager")
-@MainActor
-@objcMembers public final class IQToolbarConfiguration: NSObject {
-
-    public var useTextInputViewTintColor: Bool = false
-    public var tintColor: UIColor?
-    public var barTintColor: UIColor?
-    public var previousNextDisplayMode: IQPreviousNextDisplayModeDeprecated = .default
-    public var manageBehavior: IQAutoToolbarManageBehaviorDeprecated = .bySubviews
-    public var previousBarButtonConfiguration: IQBarButtonItemConfigurationDeprecated?
-    public var nextBarButtonConfiguration: IQBarButtonItemConfigurationDeprecated?
-    public var doneBarButtonConfiguration: IQBarButtonItemConfigurationDeprecated?
-    public let placeholderConfiguration: IQToolbarPlaceholderConfigurationDeprecated = .init()
-}
-
-// swiftlint:enable line_length
-// swiftlint:enable unused_setter_value
-// swiftlint:enable type_name
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+ActiveConfiguration.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+ActiveConfiguration.swift
deleted file mode 100644 (file)
index a09bae8..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-//
-//  IQKeyboardManager+ActiveConfiguration.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-import Combine
-
-// MARK: UIKeyboard Notifications
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension IQKeyboardManager {
-
-    func addActiveConfigurationObserver() {
-        activeConfiguration.subscribe(identifier: "IQKeyboardManager", changeHandler: { [weak self] event, _, _ in
-            guard let self = self else { return }
-
-            switch event {
-            case .show:
-                self.handleKeyboardTextInputViewVisible()
-            case .change:
-                self.handleKeyboardTextInputViewChanged()
-            case .hide:
-                self.handleKeyboardTextInputViewHide()
-            }
-        })
-    }
-
-    private func handleKeyboardTextInputViewVisible() {
-
-        setupTextInputView()
-
-        if privateIsEnabled() {
-            adjustPosition()
-        } else {
-            restorePosition()
-        }
-    }
-
-    private func handleKeyboardTextInputViewChanged() {
-
-        setupTextInputView()
-
-        if privateIsEnabled() {
-            adjustPosition()
-        } else {
-            restorePosition()
-        }
-    }
-
-    private func handleKeyboardTextInputViewHide() {
-
-        self.restorePosition()
-        self.banishTextInputViewSetup()
-
-        self.lastScrollViewConfiguration = nil
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension IQKeyboardManager {
-
-    func setupTextInputView() {
-
-        guard let textInputView = activeConfiguration.textInputView else {
-            return
-        }
-
-        if let startingConfiguration = startingTextViewConfiguration,
-           startingConfiguration.hasChanged {
-
-            if startingConfiguration.scrollView.contentInset != startingConfiguration.startingContentInset {
-                showLog("""
-                Restoring textView.contentInset to: \(startingConfiguration.startingContentInset)
-                """)
-            }
-
-            activeConfiguration.animate(alongsideTransition: {
-                startingConfiguration.restore(for: textInputView)
-            })
-        }
-        startingTextViewConfiguration = nil
-    }
-
-    func banishTextInputViewSetup() {
-
-        guard let textInputView = activeConfiguration.textInputView else {
-            return
-        }
-
-        if let startingConfiguration = startingTextViewConfiguration,
-           startingConfiguration.hasChanged {
-
-            if startingConfiguration.scrollView.contentInset != startingConfiguration.startingContentInset {
-                showLog("""
-                Restoring textView.contentInset to: \(startingConfiguration.startingContentInset)
-                """)
-            }
-
-            activeConfiguration.animate(alongsideTransition: {
-                startingConfiguration.restore(for: textInputView)
-            })
-        }
-        startingTextViewConfiguration = nil
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Internal.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Internal.swift
deleted file mode 100644 (file)
index 5989671..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-//  IQKeyboardManager+Internal.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension IQKeyboardManager {
-
-    func privateIsEnabled() -> Bool {
-
-        guard let textInputView: any IQTextInputView = activeConfiguration.textInputView else {
-            return isEnabled
-        }
-
-        switch textInputView.internalEnableMode {
-        case .default:
-            guard var controller = (textInputView as UIView).iq.viewContainingController() else {
-                return isEnabled
-            }
-
-            // If it is searchBar textField embedded in Navigation Bar
-            if (textInputView as UIView).iq.textFieldSearchBar() != nil,
-               let navController: UINavigationController = controller as? UINavigationController,
-               let topController: UIViewController = navController.topViewController {
-                controller = topController
-            }
-
-            // If viewController is in enabledDistanceHandlingClasses, then assuming it's enabled.
-            let isWithEnabledClass: Bool = enabledDistanceHandlingClasses.contains(where: { controller.isKind(of: $0) })
-            var isEnabled: Bool = isEnabled || isWithEnabledClass
-
-            if isEnabled {
-                // If viewController is in disabledDistanceHandlingClasses,
-                // then assuming it's disabled.
-                if disabledDistanceHandlingClasses.contains(where: { controller.isKind(of: $0) }) {
-                    isEnabled = false
-                } else {
-                    // Special Controllers
-                    let classNameString: String = "\(type(of: controller.self))"
-
-                    // _UIAlertControllerTextFieldViewController
-                    if classNameString.contains("UIAlertController"),
-                       classNameString.hasSuffix("TextFieldViewController") {
-                        isEnabled = false
-                    }
-                }
-            }
-
-            return isEnabled
-        case .enabled:
-            return true
-        case .disabled:
-            return false
-        @unknown default:
-            return false
-        }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-fileprivate extension IQTextInputView {
-    var internalEnableMode: IQEnableMode {
-        return iq.enableMode
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Position.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Position.swift
deleted file mode 100644 (file)
index 478aa43..0000000
+++ /dev/null
@@ -1,795 +0,0 @@
-//
-//  IQKeyboardManager+Position.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-// swiftlint:disable file_length
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardManager {
-
-    private typealias IQLayoutGuide = (top: CGFloat, bottom: CGFloat)
-
-    @MainActor
-    private struct AssociatedKeys {
-        static var movedDistance: Int = 0
-        static var movedDistanceChanged: Int = 0
-        static var lastScrollViewConfiguration: Int = 0
-        static var startingTextViewConfiguration: Int = 0
-        static var activeConfiguration: Int = 0
-    }
-
-    /**
-     moved distance to the top used to maintain distance between keyboard and textInputView.
-     Most of the time this will be a positive value.
-     */
-    private(set) var movedDistance: CGFloat {
-        get {
-            return objc_getAssociatedObject(self, &AssociatedKeys.movedDistance) as? CGFloat ?? 0.0
-        }
-        set(newValue) {
-            objc_setAssociatedObject(self, &AssociatedKeys.movedDistance, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-            movedDistanceChanged?(movedDistance)
-        }
-    }
-
-    /**
-    Will be called then movedDistance will be changed
-     */
-    var movedDistanceChanged: ((CGFloat) -> Void)? {
-        get {
-            return objc_getAssociatedObject(self, &AssociatedKeys.movedDistanceChanged) as? ((CGFloat) -> Void)
-        }
-        set(newValue) {
-            objc_setAssociatedObject(self, &AssociatedKeys.movedDistanceChanged,
-                                     newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-            movedDistanceChanged?(movedDistance)
-        }
-    }
-
-    /** Variable to save lastScrollView that was scrolled. */
-    @nonobjc
-    internal var lastScrollViewConfiguration: IQScrollViewConfiguration? {
-        get {
-            return objc_getAssociatedObject(self,
-                                            &AssociatedKeys.lastScrollViewConfiguration) as? IQScrollViewConfiguration
-        }
-        set(newValue) {
-            objc_setAssociatedObject(self, &AssociatedKeys.lastScrollViewConfiguration,
-                                     newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-        }
-    }
-
-    /** used to adjust contentInset of UITextView. */
-    @nonobjc
-    internal var startingTextViewConfiguration: IQScrollViewConfiguration? {
-        get {
-            return objc_getAssociatedObject(self,
-                                            &AssociatedKeys.startingTextViewConfiguration) as? IQScrollViewConfiguration
-        }
-        set(newValue) {
-            objc_setAssociatedObject(self, &AssociatedKeys.startingTextViewConfiguration,
-                                     newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-        }
-    }
-
-    internal func applicationDidBecomeActive(_ notification: Notification) {
-
-        guard privateIsEnabled(),
-              activeConfiguration.keyboardInfo.isVisible,
-              activeConfiguration.isReady else {
-            return
-        }
-        adjustPosition()
-    }
-
-    /* Adjusting RootViewController's frame according to interface orientation. */
-    // swiftlint:disable function_body_length
-    internal func adjustPosition() {
-
-        guard UIApplication.shared.applicationState == .active,
-              let textInputView: any IQTextInputView = activeConfiguration.textInputView,
-              let superview: UIView = textInputView.superview,
-              let rootConfiguration = activeConfiguration.rootConfiguration,
-              let rootController: UIViewController = rootConfiguration.rootController,
-              let window: UIWindow = rootController.view.window else {
-            return
-        }
-
-        showLog(">>>>> \(#function) started >>>>>", indentation: 1)
-
-        defer {
-            showLog("<<<<< \(#function) ended <<<<<", indentation: -1)
-        }
-
-        let textInputViewRectInWindow: CGRect = superview.convert(textInputView.frame, to: window)
-        let textInputViewRectInRootSuperview: CGRect = superview.convert(textInputView.frame,
-                                                                         to: rootController.view.superview)
-
-        //  Getting RootViewOrigin.
-        let rootViewOrigin: CGPoint = rootController.view.frame.origin
-
-        let keyboardDistance: CGFloat = getSpecialTextInputViewDistance(textInputView: textInputView)
-
-        let kbSize: CGSize = Self.getKeyboardSize(keyboardDistance: keyboardDistance,
-                                                  keyboardFrame: activeConfiguration.keyboardInfo.endFrame,
-                                                  safeAreaInsets: rootConfiguration.beginSafeAreaInsets,
-                                                  windowFrame: window.frame)
-        let originalKbSize: CGSize = activeConfiguration.keyboardInfo.endFrame.size
-
-        let isScrollableTextInputView: Bool
-
-        if let textInputView: UIScrollView = textInputView as? UITextView {
-            isScrollableTextInputView = textInputView.isScrollEnabled
-        } else {
-            isScrollableTextInputView = false
-        }
-
-        let layoutGuide: IQLayoutGuide = Self.getLayoutGuides(rootController: rootController, window: window,
-                                                              isScrollableTextInputView: isScrollableTextInputView)
-
-        //  Move positive = textInputView is hidden.
-        //  Move negative = textInputView is showing.
-        //  Calculating move position.
-        var moveUp: CGFloat = Self.getMoveUpDistance(keyboardSize: kbSize,
-                                                     layoutGuide: layoutGuide,
-                                                     textInputViewRectInRootSuperview: textInputViewRectInRootSuperview,
-                                                     textInputViewRectInWindow: textInputViewRectInWindow,
-                                                     windowFrame: window.frame)
-
-        showLog("Need to move: \(moveUp), will be moving \(moveUp < 0 ? "down" : "up")")
-
-        var superScrollView: UIScrollView?
-        var superView: UIScrollView? = (textInputView as UIView).iq.superviewOf(type: UIScrollView.self)
-
-        // Getting UIScrollView whose scrolling is enabled.    //  (Bug ID: #285)
-        while let view: UIScrollView = superView {
-
-            if view.isScrollEnabled, !view.iq.ignoreScrollingAdjustment {
-                superScrollView = view
-                break
-            } else {
-                //  Getting it's superScrollView.   //  (Enhancement ID: #21, #24)
-                superView = view.iq.superviewOf(type: UIScrollView.self)
-            }
-        }
-
-        setupActiveScrollViewConfiguration(superScrollView: superScrollView, textInputView: textInputView)
-
-        //  Special case for ScrollView.
-        //  If we found lastScrollView then setting it's contentOffset to show textInputView.
-        if let lastScrollViewConfiguration: IQScrollViewConfiguration  = lastScrollViewConfiguration {
-            adjustScrollViewContentOffsets(moveUp: &moveUp, textInputView: textInputView,
-                                           lastScrollViewConfiguration: lastScrollViewConfiguration,
-                                           rootSuperview: rootController.view.superview, layoutGuide: layoutGuide,
-                                           textInputViewRectInRootSuperview: textInputViewRectInRootSuperview,
-                                           isScrollableTextInputView: isScrollableTextInputView, window: window,
-                                           kbSize: kbSize, keyboardDistance: keyboardDistance,
-                                           rootBeginSafeAreaInsets: rootConfiguration.beginSafeAreaInsets)
-        }
-
-        // Special case for UITextView
-        // (Readjusting textInputView.contentInset when textInputView hight is too big to fit on screen)
-        // _lastScrollView If not having inside any scrollView, now contentInset manages the full screen textInputView.
-        // If is a UITextView type
-        if isScrollableTextInputView, let textInputView = textInputView as? UITextView {
-
-            adjustTextInputViewContentInset(window: window, originalKbSize: originalKbSize,
-                                            rootSuperview: rootController.view.superview,
-                                            layoutGuide: layoutGuide,
-                                            textInputView: textInputView)
-        }
-
-        adjustRootController(moveUp: moveUp, rootViewOrigin: rootViewOrigin, originalKbSize: originalKbSize,
-                             rootController: rootController, rootBeginOrigin: rootConfiguration.beginOrigin)
-    }
-    // swiftlint:enable function_body_length
-
-    internal func restorePosition() {
-
-        //  Setting rootViewController frame to it's original position. //  (Bug ID: #18)
-        guard let configuration: IQRootControllerConfiguration = activeConfiguration.rootConfiguration else {
-            return
-        }
-        showLog(">>>>> \(#function) started >>>>>", indentation: 1)
-
-        defer {
-            showLog("<<<<< \(#function) ended <<<<<", indentation: -1)
-        }
-
-        activeConfiguration.animate(alongsideTransition: {
-            if configuration.hasChanged {
-                let classNameString: String = "\(type(of: configuration.rootController.self))"
-                self.showLog("Restoring \(classNameString) origin to: \(configuration.beginOrigin)")
-            }
-            configuration.restore()
-
-            // Animating content if needed (Bug ID: #204)
-            if self.layoutIfNeededOnUpdate {
-                // Animating content (Bug ID: #160)
-                configuration.rootController?.view.setNeedsLayout()
-                configuration.rootController?.view.layoutIfNeeded()
-            }
-        })
-        // Restoring the contentOffset of the lastScrollView
-        if let lastConfiguration: IQScrollViewConfiguration = lastScrollViewConfiguration {
-            let textInputView: (any IQTextInputView)? = activeConfiguration.textInputView
-
-            restoreScrollViewConfigurationIfChanged(configuration: lastConfiguration, textInputView: textInputView)
-
-            activeConfiguration.animate(alongsideTransition: {
-                // This is temporary solution. Have to implement the save and restore scrollView state
-                self.restoreScrollViewContentOffset(superScrollView: lastConfiguration.scrollView,
-                                                    textInputView: textInputView)
-            })
-        }
-
-        self.movedDistance = 0
-    }
-}
-
-// swiftlint:disable function_parameter_count
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-private extension IQKeyboardManager {
-
-    func getSpecialTextInputViewDistance(textInputView: some IQTextInputView) -> CGFloat {
-        // Maintain keyboardDistance
-        let specialKeyboardDistance: CGFloat
-
-        if let searchBar: UISearchBar = textInputView.iq.textFieldSearchBar() {
-            specialKeyboardDistance = searchBar.iq.distanceFromKeyboard
-        } else {
-            specialKeyboardDistance = textInputView.iq.distanceFromKeyboard
-        }
-
-        if specialKeyboardDistance == UIView.defaultKeyboardDistance {
-            return keyboardDistance
-        } else {
-            return specialKeyboardDistance
-        }
-    }
-
-    static func getKeyboardSize(keyboardDistance: CGFloat, keyboardFrame: CGRect,
-                                safeAreaInsets: UIEdgeInsets, windowFrame: CGRect) -> CGSize {
-        let kbSize: CGSize
-        var kbFrame: CGRect = keyboardFrame
-
-        kbFrame.origin.y -= keyboardDistance
-        kbFrame.size.height += keyboardDistance
-
-        kbFrame.origin.y -= safeAreaInsets.bottom
-        kbFrame.size.height += safeAreaInsets.bottom
-
-        // (Bug ID: #469) (Bug ID: #381) (Bug ID: #1506)
-        // Calculating actual keyboard covered size respect to window,
-        // keyboard frame may be different when hardware keyboard is attached
-        let intersectRect: CGRect = kbFrame.intersection(windowFrame)
-
-        if intersectRect.isNull {
-            kbSize = CGSize(width: kbFrame.size.width, height: 0)
-        } else {
-            kbSize = intersectRect.size
-        }
-        return kbSize
-    }
-
-    static private func getLayoutGuides(rootController: UIViewController, window: UIWindow,
-                                        isScrollableTextInputView: Bool) -> IQLayoutGuide {
-        let navigationBarAreaHeight: CGFloat
-        if let navigationController: UINavigationController = rootController.navigationController {
-            navigationBarAreaHeight = navigationController.navigationBar.frame.maxY
-        } else {
-            let statusBarHeight: CGFloat = window.windowScene?.statusBarManager?.statusBarFrame.height ?? 0
-            navigationBarAreaHeight = statusBarHeight
-        }
-
-        let directionalLayoutMargin: NSDirectionalEdgeInsets = rootController.view.directionalLayoutMargins
-        let topLayoutGuide: CGFloat = CGFloat.maximum(navigationBarAreaHeight, directionalLayoutMargin.top)
-
-        // Validation of textInputView for case where there is a tab bar
-        // at the bottom or running on iPhone X and textInputView is at the bottom.
-        let bottomLayoutGuide: CGFloat = isScrollableTextInputView ? 0 : directionalLayoutMargin.bottom
-        return (topLayoutGuide, bottomLayoutGuide)
-    }
-
-    static private func getMoveUpDistance(keyboardSize: CGSize,
-                                          layoutGuide: IQLayoutGuide,
-                                          textInputViewRectInRootSuperview: CGRect,
-                                          textInputViewRectInWindow: CGRect,
-                                          windowFrame: CGRect) -> CGFloat {
-
-        //  Move positive = textInputView is hidden.
-        //  Move negative = textInputView is showing.
-        //  Calculating move position.
-        let visibleHeight: CGFloat = windowFrame.height-keyboardSize.height
-
-        let topMovement: CGFloat = textInputViewRectInRootSuperview.minY-layoutGuide.top
-        let bottomMovement: CGFloat = textInputViewRectInWindow.maxY - visibleHeight + layoutGuide.bottom
-        var moveUp: CGFloat = CGFloat.minimum(topMovement, bottomMovement)
-        moveUp = CGFloat(Int(moveUp))
-        return moveUp
-    }
-
-    func setupActiveScrollViewConfiguration(superScrollView: UIScrollView?, textInputView: some IQTextInputView) {
-        // If there was a lastScrollView.    //  (Bug ID: #34)
-        guard let lastConfiguration: IQScrollViewConfiguration = lastScrollViewConfiguration else {
-            if let superScrollView: UIScrollView = superScrollView {
-                // If there was no lastScrollView and we found a current scrollView. then setting it as lastScrollView.
-                let configuration = IQScrollViewConfiguration(scrollView: superScrollView,
-                                                              canRestoreContentOffset: true)
-                self.lastScrollViewConfiguration = configuration
-                showLog("""
-                        Saving ScrollView New contentInset: \(configuration.startingContentInset)
-                        and contentOffset: \(configuration.startingContentOffset)
-                        """)
-            }
-            return
-        }
-
-        // If we can't find current superScrollView, then setting lastScrollView to it's original form.
-        if superScrollView == nil {
-            restoreScrollViewConfigurationIfChanged(configuration: lastConfiguration,
-                                                    textInputView: textInputView)
-            self.lastScrollViewConfiguration = nil
-        } else if superScrollView != lastConfiguration.scrollView {
-            // If both scrollView's are different,
-            // then reset lastScrollView to it's original frame and setting current scrollView as last scrollView.
-            restoreScrollViewConfigurationIfChanged(configuration: lastConfiguration,
-                                                    textInputView: textInputView)
-
-            if let superScrollView = superScrollView {
-                let configuration = IQScrollViewConfiguration(scrollView: superScrollView,
-                                                              canRestoreContentOffset: true)
-                self.lastScrollViewConfiguration = configuration
-                showLog("""
-                            Saving ScrollView New contentInset: \(configuration.startingContentInset)
-                            and contentOffset: \(configuration.startingContentOffset)
-                            """)
-            } else {
-                self.lastScrollViewConfiguration = nil
-            }
-        }
-        // Else the case where superScrollView == lastScrollView means we are on same scrollView
-        // after switching to different textInputView. So doing nothing, going ahead
-    }
-
-    func restoreScrollViewConfigurationIfChanged(configuration: IQScrollViewConfiguration,
-                                                 textInputView: (some IQTextInputView)?) {
-        guard configuration.hasChanged else { return }
-        if configuration.scrollView.contentInset != configuration.startingContentInset {
-            showLog("Restoring contentInset to: \(configuration.startingContentInset)")
-        }
-
-        if configuration.scrollView.iq.restoreContentOffset,
-           !configuration.scrollView.contentOffset.equalTo(configuration.startingContentOffset) {
-            showLog("Restoring contentOffset to: \(configuration.startingContentOffset)")
-        }
-
-        activeConfiguration.animate(alongsideTransition: {
-            configuration.restore(for: textInputView)
-        })
-    }
-
-    // swiftlint:disable function_body_length
-    private func adjustScrollViewContentOffsets(moveUp: inout CGFloat, textInputView: some IQTextInputView,
-                                                lastScrollViewConfiguration: IQScrollViewConfiguration,
-                                                rootSuperview: UIView?,
-                                                layoutGuide: IQLayoutGuide,
-                                                textInputViewRectInRootSuperview: CGRect,
-                                                isScrollableTextInputView: Bool, window: UIWindow,
-                                                kbSize: CGSize, keyboardDistance: CGFloat,
-                                                rootBeginSafeAreaInsets: UIEdgeInsets) {
-        // Saving
-        var lastView: UIView = textInputView
-        var superScrollView: UIScrollView? = lastScrollViewConfiguration.scrollView
-
-        while let scrollView: UIScrollView = superScrollView {
-
-            var isContinue: Bool = false
-
-            if moveUp > 0 {
-                isContinue = moveUp > (-scrollView.contentOffset.y - scrollView.contentInset.top)
-
-            } else if let tableView: UITableView = scrollView.iq.superviewOf(type: UITableView.self) {
-                // Special treatment for UITableView due to their cell reusing logic
-
-                isContinue = scrollView.contentOffset.y > 0
-
-                Self.handleTableViewCase(moveUp: &moveUp, isContinue: isContinue, textInputView: textInputView,
-                                         tableView: tableView, rootSuperview: rootSuperview, layoutGuide: layoutGuide)
-            } else if let collectionView = scrollView.iq.superviewOf(type: UICollectionView.self) {
-                // Special treatment for UICollectionView due to their cell reusing logic
-
-                isContinue = scrollView.contentOffset.y > 0
-
-                Self.handleCollectionViewCase(moveUp: &moveUp, isContinue: isContinue,
-                                              textInputView: textInputView, collectionView: collectionView,
-                                              rootSuperview: rootSuperview, layoutGuide: layoutGuide)
-            } else {
-                isContinue = textInputViewRectInRootSuperview.minY < layoutGuide.top
-
-                if isContinue {
-                    moveUp = CGFloat.minimum(0, textInputViewRectInRootSuperview.minY - layoutGuide.top)
-                }
-            }
-
-            // Looping in upper hierarchy until we don't found any scrollView
-            // in it's upper hierarchy till UIWindow object.
-            if isContinue {
-
-                var tempScrollView: UIScrollView? = scrollView.iq.superviewOf(type: UIScrollView.self)
-                var nextScrollView: UIScrollView?
-                while let view: UIScrollView = tempScrollView {
-
-                    if view.isScrollEnabled, !view.iq.ignoreScrollingAdjustment {
-                        nextScrollView = view
-                        break
-                    } else {
-                        tempScrollView = view.iq.superviewOf(type: UIScrollView.self)
-                    }
-                }
-
-                // Getting lastViewRect.
-                if let lastViewRect: CGRect = lastView.superview?.convert(lastView.frame, to: scrollView) {
-
-                    // Calculating the expected Y offset from move and scrollView's contentOffset.
-                    let minimumMovement: CGFloat = CGFloat.minimum(scrollView.contentOffset.y, -moveUp)
-                    var suggestedOffsetY: CGFloat = scrollView.contentOffset.y - minimumMovement
-
-                    // Rearranging the expected Y offset according to the view.
-                    suggestedOffsetY = CGFloat.minimum(suggestedOffsetY, lastViewRect.minY)
-
-                    updateSuggestedOffsetYAndMoveUp(suggestedOffsetY: &suggestedOffsetY, moveUp: &moveUp,
-                                                    isScrollableTextInputView: isScrollableTextInputView,
-                                                    nextScrollView: nextScrollView, textInputView: textInputView,
-                                                    window: window, layoutGuide: layoutGuide,
-                                                    scrollViewContentOffset: scrollView.contentOffset)
-
-                    let newContentOffset: CGPoint = CGPoint(x: scrollView.contentOffset.x, y: suggestedOffsetY)
-
-                    if !scrollView.contentOffset.equalTo(newContentOffset) {
-
-                        updateScrollViewContentOffset(scrollView: scrollView, newContentOffset: newContentOffset,
-                                                      moveUp: moveUp, textInputView: textInputView)
-                    }
-                }
-
-                // Getting next lastView & superScrollView.
-                lastView = scrollView
-                superScrollView = nextScrollView
-            } else {
-                moveUp = 0
-                break
-            }
-        }
-
-        adjustScrollViewContentInset(lastScrollViewConfiguration: lastScrollViewConfiguration, window: window,
-                                     kbSize: kbSize, keyboardDistance: keyboardDistance,
-                                     rootBeginSafeAreaInsets: rootBeginSafeAreaInsets)
-    }
-    // swiftlint:enable function_body_length
-
-    private static func handleTableViewCase(moveUp: inout CGFloat, isContinue: Bool,
-                                            textInputView: some IQTextInputView, tableView: UITableView,
-                                            rootSuperview: UIView?, layoutGuide: IQLayoutGuide) {
-        guard isContinue,
-              let tableCell: UITableViewCell = textInputView.iq.superviewOf(type: UITableViewCell.self),
-              let indexPath: IndexPath = tableView.indexPath(for: tableCell),
-              let previousIndexPath: IndexPath = tableView.previousIndexPath(of: indexPath) else { return }
-
-        let previousCellRect: CGRect = tableView.rectForRow(at: previousIndexPath)
-        guard !previousCellRect.isEmpty else { return }
-
-        let previousCellRectInRootSuperview: CGRect = tableView.convert(previousCellRect,
-                                                                        to: rootSuperview)
-
-        moveUp = CGFloat.minimum(0, previousCellRectInRootSuperview.maxY - layoutGuide.top)
-    }
-
-    private static func handleCollectionViewCase(moveUp: inout CGFloat, isContinue: Bool,
-                                                 textInputView: some IQTextInputView, collectionView: UICollectionView,
-                                                 rootSuperview: UIView?,
-                                                 layoutGuide: IQLayoutGuide) {
-        guard isContinue,
-              let collectionCell = textInputView.iq.superviewOf(type: UICollectionViewCell.self),
-              let indexPath: IndexPath = collectionView.indexPath(for: collectionCell),
-              let previousIndexPath: IndexPath = collectionView.previousIndexPath(of: indexPath),
-              let attributes = collectionView.layoutAttributesForItem(at: previousIndexPath) else { return }
-
-        let previousCellRect: CGRect = attributes.frame
-        guard !previousCellRect.isEmpty else { return }
-        let previousCellRectInRootSuperview: CGRect = collectionView.convert(previousCellRect,
-                                                                             to: rootSuperview)
-
-        moveUp = CGFloat.minimum(0, previousCellRectInRootSuperview.maxY - layoutGuide.top)
-    }
-
-    private func updateSuggestedOffsetYAndMoveUp(suggestedOffsetY: inout CGFloat, moveUp: inout CGFloat,
-                                                 isScrollableTextInputView: Bool, nextScrollView: UIScrollView?,
-                                                 textInputView: some IQTextInputView, window: UIWindow,
-                                                 layoutGuide: IQLayoutGuide,
-                                                 scrollViewContentOffset: CGPoint) {
-        // If is a UITextView type
-        // nextScrollView == nil
-        // If processing scrollView is last scrollView in upper hierarchy
-        // (there is no other scrollView in upper hierarchy.)
-        //
-        // suggestedOffsetY >= 0
-        // suggestedOffsetY must be >= 0 in order to keep distance from navigationBar (Bug ID: #92)
-        guard isScrollableTextInputView,
-              nextScrollView == nil,
-              suggestedOffsetY >= 0,
-              let superview: UIView = textInputView.superview else {
-            // Subtracting the Y offset from the move variable,
-            // because we are going to change scrollView's contentOffset.y to suggestedOffsetY.
-            moveUp -= (suggestedOffsetY-scrollViewContentOffset.y)
-            return
-        }
-
-        let currentTextInputViewRect: CGRect = superview.convert(textInputView.frame,
-                                                                 to: window)
-
-        // Calculating expected fix distance which needs to be managed from navigation bar
-        let expectedFixDistance: CGFloat = currentTextInputViewRect.minY - layoutGuide.top
-
-        // Now if expectedOffsetY (scrollView.contentOffset.y + expectedFixDistance)
-        // is lower than current suggestedOffsetY, which means we're in a position where
-        // navigationBar up and hide, then reducing suggestedOffsetY with expectedOffsetY
-        // (scrollView.contentOffset.y + expectedFixDistance)
-        let expectedOffsetY: CGFloat = scrollViewContentOffset.y + expectedFixDistance
-        suggestedOffsetY = CGFloat.minimum(suggestedOffsetY, expectedOffsetY)
-
-        // Setting move to 0 because now we don't want to move any view anymore
-        // (All will be managed by our contentInset logic.
-        moveUp = 0
-    }
-
-    func updateScrollViewContentOffset(scrollView: UIScrollView, newContentOffset: CGPoint,
-                                       moveUp: CGFloat, textInputView: some IQTextInputView) {
-        showLog("""
-                                    old contentOffset: \(scrollView.contentOffset)
-                                    new contentOffset: \(newContentOffset)
-                                    """)
-        showLog("Remaining Move: \(moveUp)")
-
-        // Getting problem while using `setContentOffset:animated:`, So I used animation API.
-        activeConfiguration.animate(alongsideTransition: {
-
-            //  (Bug ID: #1365, #1508, #1541)
-            let stackView: UIStackView? = textInputView.iq.superviewOf(type: UIStackView.self,
-                                                                       belowView: scrollView)
-            // (Bug ID: #1901, #1996)
-            let animatedContentOffset: Bool = stackView != nil ||
-            scrollView is UICollectionView ||
-            scrollView is UITableView
-
-            if animatedContentOffset {
-                scrollView.setContentOffset(newContentOffset, animated: UIView.areAnimationsEnabled)
-            } else {
-                scrollView.contentOffset = newContentOffset
-            }
-        }, completion: {
-
-            if scrollView is UITableView || scrollView is UICollectionView {
-                // This will update the next/previous states
-                textInputView.reloadInputViews()
-            }
-        })
-    }
-
-    func adjustScrollViewContentInset(lastScrollViewConfiguration: IQScrollViewConfiguration,
-                                      window: UIWindow, kbSize: CGSize, keyboardDistance: CGFloat,
-                                      rootBeginSafeAreaInsets: UIEdgeInsets) {
-
-        let lastScrollView = lastScrollViewConfiguration.scrollView
-
-        guard let lastScrollViewRect: CGRect = lastScrollView.superview?.convert(lastScrollView.frame, to: window),
-              !lastScrollView.iq.ignoreContentInsetAdjustment else { return }
-
-        // Updating contentInset
-        var bottomInset: CGFloat = (kbSize.height)-(window.frame.height-lastScrollViewRect.maxY)
-        let keyboardAndSafeArea: CGFloat = keyboardDistance + rootBeginSafeAreaInsets.bottom
-        var bottomScrollIndicatorInset: CGFloat = bottomInset - keyboardAndSafeArea
-
-        // Update the insets so that the scrollView doesn't shift incorrectly
-        // when the offset is near the bottom of the scroll view.
-        bottomInset = CGFloat.maximum(lastScrollViewConfiguration.startingContentInset.bottom, bottomInset)
-        let startingScrollInset: UIEdgeInsets = lastScrollViewConfiguration.startingScrollIndicatorInsets
-        bottomScrollIndicatorInset = CGFloat.maximum(startingScrollInset.bottom,
-                                                     bottomScrollIndicatorInset)
-
-        bottomInset -= lastScrollView.safeAreaInsets.bottom
-        bottomScrollIndicatorInset -= lastScrollView.safeAreaInsets.bottom
-
-        var movedInsets: UIEdgeInsets = lastScrollView.contentInset
-        movedInsets.bottom = bottomInset
-
-        guard lastScrollView.contentInset != movedInsets else { return }
-        showLog("""
-                old ContentInset: \(lastScrollView.contentInset) new ContentInset: \(movedInsets)
-                """)
-
-        activeConfiguration.animate(alongsideTransition: {
-            lastScrollView.contentInset = movedInsets
-            lastScrollView.layoutIfNeeded() // (Bug ID: #1996)
-
-            var newScrollIndicatorInset: UIEdgeInsets = lastScrollView.verticalScrollIndicatorInsets
-
-            newScrollIndicatorInset.bottom = bottomScrollIndicatorInset
-            lastScrollView.scrollIndicatorInsets = newScrollIndicatorInset
-        })
-    }
-
-    private func adjustTextInputViewContentInset(window: UIWindow, originalKbSize: CGSize,
-                                                 rootSuperview: UIView?,
-                                                 layoutGuide: IQLayoutGuide,
-                                                 textInputView: UIScrollView) {
-        let keyboardYPosition: CGFloat = window.frame.height - originalKbSize.height
-        var rootSuperViewFrameInWindow: CGRect = window.frame
-        if let rootSuperview: UIView = rootSuperview {
-            rootSuperViewFrameInWindow = rootSuperview.convert(rootSuperview.bounds, to: window)
-        }
-
-        let keyboardOverlapping: CGFloat = rootSuperViewFrameInWindow.maxY - keyboardYPosition
-
-        let availableHeight: CGFloat = rootSuperViewFrameInWindow.height-layoutGuide.top-keyboardOverlapping
-        let textInputViewHeight: CGFloat = CGFloat.minimum(textInputView.frame.height, availableHeight)
-
-        guard textInputView.frame.size.height-textInputView.contentInset.bottom>textInputViewHeight else { return }
-        // If frame is not change by library in past, then saving user textInputView properties  (Bug ID: #92)
-        if startingTextViewConfiguration == nil {
-            startingTextViewConfiguration = IQScrollViewConfiguration(scrollView: textInputView,
-                                                                      canRestoreContentOffset: false)
-        }
-
-        var newContentInset: UIEdgeInsets = textInputView.contentInset
-        newContentInset.bottom = textInputView.frame.size.height-textInputViewHeight
-        newContentInset.bottom -= textInputView.safeAreaInsets.bottom
-
-        guard textInputView.contentInset != newContentInset else { return }
-        showLog("""
-                                \(textInputView) Old textInputView.contentInset: \(textInputView.contentInset)
-                                 New textInputView.contentInset: \(newContentInset)
-                                """)
-
-        activeConfiguration.animate(alongsideTransition: {
-
-            textInputView.contentInset = newContentInset
-            textInputView.layoutIfNeeded() // (Bug ID: #1996)
-            textInputView.scrollIndicatorInsets = newContentInset
-        })
-    }
-
-    func adjustRootController(moveUp: CGFloat, rootViewOrigin: CGPoint, originalKbSize: CGSize,
-                              rootController: UIViewController, rootBeginOrigin: CGPoint) {
-        // +Positive or zero.
-        var rootViewOrigin: CGPoint = rootViewOrigin
-        if moveUp >= 0 {
-
-            rootViewOrigin.y = CGFloat.maximum(rootViewOrigin.y - moveUp, CGFloat.minimum(0, -originalKbSize.height))
-
-            if !rootController.view.frame.origin.equalTo(rootViewOrigin) {
-                showLog("Moving Upward")
-
-                activeConfiguration.animate(alongsideTransition: {
-
-                    var rect: CGRect = rootController.view.frame
-                    rect.origin = rootViewOrigin
-                    rootController.view.frame = rect
-
-                    // Animating content if needed (Bug ID: #204)
-                    if self.layoutIfNeededOnUpdate {
-                        // Animating content (Bug ID: #160)
-                        rootController.view.setNeedsLayout()
-                        rootController.view.layoutIfNeeded()
-                    }
-
-                    let classNameString: String = "\(type(of: rootController.self))"
-                    self.showLog("Set \(classNameString) origin to: \(rootViewOrigin)")
-                })
-            }
-
-            movedDistance = rootBeginOrigin.y-rootViewOrigin.y
-        } else {  //  -Negative
-            let disturbDistance: CGFloat = rootViewOrigin.y-rootBeginOrigin.y
-
-            //  disturbDistance Negative = frame disturbed.
-            //  disturbDistance positive = frame not disturbed.
-            if disturbDistance <= 0 {
-
-                rootViewOrigin.y -= CGFloat.maximum(moveUp, disturbDistance)
-
-                if !rootController.view.frame.origin.equalTo(rootViewOrigin) {
-                    showLog("Moving Downward")
-                    //  Setting adjusted rootViewRect
-                    //  Setting adjusted rootViewRect
-
-                    activeConfiguration.animate(alongsideTransition: {
-
-                        var rect: CGRect = rootController.view.frame
-                        rect.origin = rootViewOrigin
-                        rootController.view.frame = rect
-
-                        // Animating content if needed (Bug ID: #204)
-                        if self.layoutIfNeededOnUpdate {
-                            // Animating content (Bug ID: #160)
-                            rootController.view.setNeedsLayout()
-                            rootController.view.layoutIfNeeded()
-                        }
-
-                        let classNameString: String = "\(type(of: rootController.self))"
-                        self.showLog("Set \(classNameString) origin to: \(rootViewOrigin)")
-                    })
-                }
-
-                movedDistance = rootBeginOrigin.y-rootViewOrigin.y
-            }
-        }
-    }
-
-    func restoreScrollViewContentOffset(superScrollView: UIScrollView, textInputView: (some IQTextInputView)?) {
-        var superScrollView: UIScrollView? = superScrollView
-        while let scrollView: UIScrollView = superScrollView {
-
-            let width: CGFloat = CGFloat.maximum(scrollView.contentSize.width, scrollView.frame.width)
-            let height: CGFloat = CGFloat.maximum(scrollView.contentSize.height, scrollView.frame.height)
-            let contentSize: CGSize = CGSize(width: width, height: height)
-
-            let minimumY: CGFloat = contentSize.height - scrollView.frame.height
-
-            if minimumY < scrollView.contentOffset.y {
-
-                let newContentOffset: CGPoint = CGPoint(x: scrollView.contentOffset.x, y: minimumY)
-                if !scrollView.contentOffset.equalTo(newContentOffset) {
-
-                    //  (Bug ID: #1365, #1508, #1541)
-                    let stackView: UIStackView?
-                    if let textInputView: UIView = textInputView {
-                        stackView = textInputView.iq.superviewOf(type: UIStackView.self,
-                                                                 belowView: scrollView)
-                    } else {
-                        stackView = nil
-                    }
-
-                    // (Bug ID: #1901, #1996)
-                    let animatedContentOffset: Bool = stackView != nil ||
-                    scrollView is UICollectionView ||
-                    scrollView is UITableView
-
-                    if animatedContentOffset {
-                        scrollView.setContentOffset(newContentOffset, animated: UIView.areAnimationsEnabled)
-                    } else {
-                        scrollView.contentOffset = newContentOffset
-                    }
-
-                    showLog("Restoring contentOffset to: \(newContentOffset)")
-                }
-            }
-
-            superScrollView = scrollView.iq.superviewOf(type: UIScrollView.self)
-        }
-    }
-}
-// swiftlint:enable function_parameter_count
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager.swift
deleted file mode 100644 (file)
index b6f232f..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-//
-//  IQKeyboardManager.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-/**
-Code-less drop-in universal library allows to prevent issues of keyboard sliding up and cover TextInputView.
- Neither need to write any code nor any setup required and much more.
-*/
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers public final class IQKeyboardManager: NSObject {
-
-    /**
-    Returns the default singleton instance.
-    */
-    @MainActor
-    public static let shared: IQKeyboardManager = .init()
-
-    internal var activeConfiguration: IQActiveConfiguration = .init()
-
-    // MARK: UIKeyboard handling
-
-    /**
-    Enable/disable managing distance between keyboard and textInputView.
-     Default is YES(Enabled when class loads in `+(void)load` method).
-    */
-    public var isEnabled: Bool = false {
-        didSet {
-            guard isEnabled != oldValue else { return }
-            // If not enable, enable it.
-            if isEnabled {
-                // If keyboard is currently showing.
-                if activeConfiguration.keyboardInfo.isVisible {
-                    adjustPosition()
-                } else {
-                    restorePosition()
-                }
-                showLog("Enabled")
-            } else {   // If not disable, disable it.
-                restorePosition()
-                showLog("Disabled")
-            }
-        }
-    }
-
-    /**
-    To set keyboard distance from textInputView. can't be less than zero. Default is 10.0.
-    */
-    public var keyboardDistance: CGFloat = 10.0
-
-    /*******************************************/
-
-    // MARK: UIAnimation handling
-
-    /**
-    If YES, then calls 'setNeedsLayout' and 'layoutIfNeeded' on any frame update of to viewController's view.
-    */
-    public var layoutIfNeededOnUpdate: Bool = false
-
-    // MARK: Class Level disabling methods
-
-    /**
-     Disable distance handling within the scope of disabled distance handling viewControllers classes.
-     Within this scope, 'enabled' property is ignored. Class should be kind of UIViewController.
-     */
-    public var disabledDistanceHandlingClasses: [UIViewController.Type] = [
-        UITableViewController.self,
-        UIInputViewController.self,
-        UIAlertController.self
-    ]
-
-    /**
-     Enable distance handling within the scope of enabled distance handling viewControllers classes.
-     Within this scope, 'enabled' property is ignored. Class should be kind of UIViewController.
-     If same Class is added in disabledDistanceHandlingClasses list,
-     then enabledDistanceHandlingClasses will be ignored.
-     */
-    public var enabledDistanceHandlingClasses: [UIViewController.Type] = []
-
-    /**************************************************************************************/
-
-    // MARK: Initialization/De-initialization
-
-    /*  Singleton Object Initialization. */
-    private override init() {
-
-        super.init()
-
-        self.addActiveConfigurationObserver()
-
-        NotificationCenter.default.addObserver(self, selector: #selector(applicationDidBecomeActive(_:)),
-                                               name: UIApplication.didBecomeActiveNotification, object: nil)
-    }
-
-    deinit {
-        //  Disable the keyboard manager.
-        isEnabled = false
-    }
-
-    // MARK: Public Methods
-
-    /*  Refreshes textInputView position if any external changes is explicitly made by user.   */
-    public func reloadLayoutIfNeeded() {
-
-        guard privateIsEnabled(),
-              activeConfiguration.keyboardInfo.isVisible,
-              activeConfiguration.isReady else {
-                return
-        }
-        adjustPosition()
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIScrollView+IQKeyboardManagerExtension.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIScrollView+IQKeyboardManagerExtension.swift
deleted file mode 100644 (file)
index 91c2534..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-//
-//  UIScrollView+IQKeyboardManagerExtension.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-private struct AssociatedKeys {
-    static var ignoreScrollingAdjustment: Int = 0
-    static var ignoreContentInsetAdjustment: Int = 0
-    static var restoreContentOffset: Int = 0
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-public extension IQKeyboardExtension where Base: UIScrollView {
-
-    /**
-     If YES, then scrollview will ignore scrolling (simply not scroll it) for adjusting textInputView position.
-     Default is NO.
-     */
-    var ignoreScrollingAdjustment: Bool {
-        get {
-            if let base = base {
-                return objc_getAssociatedObject(base, &AssociatedKeys.ignoreScrollingAdjustment) as? Bool ?? false
-            }
-            return false
-        }
-        set(newValue) {
-            if let base = base {
-                objc_setAssociatedObject(base, &AssociatedKeys.ignoreScrollingAdjustment,
-                                         newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-            }
-        }
-    }
-
-    /**
-     If YES, then scrollview will ignore content inset adjustment (simply not updating it) when keyboard is shown.
-     Default is NO.
-     */
-    var ignoreContentInsetAdjustment: Bool {
-        get {
-            if let base = base {
-                return objc_getAssociatedObject(base, &AssociatedKeys.ignoreContentInsetAdjustment) as? Bool ?? false
-            }
-            return false
-        }
-        set(newValue) {
-            if let base = base {
-                objc_setAssociatedObject(base, &AssociatedKeys.ignoreContentInsetAdjustment,
-                                         newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-            }
-        }
-    }
-
-    /**
-     If we should restore scrollView contentOffset to it's initial position
-     */
-    var restoreContentOffset: Bool {
-        get {
-            if let base = base {
-                return objc_getAssociatedObject(base, &AssociatedKeys.restoreContentOffset) as? Bool ?? false
-            }
-            return false
-        }
-        set(newValue) {
-            if let base = base {
-                objc_setAssociatedObject(base, &AssociatedKeys.restoreContentOffset,
-                                         newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-            }
-        }
-    }
-}
-
-// swiftlint:disable unused_setter_value
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension UIScrollView {
-    @available(*, unavailable, renamed: "iq.ignoreScrollingAdjustment")
-    var shouldIgnoreScrollingAdjustment: Bool {
-        get { false }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "iq.ignoreContentInsetAdjustment")
-    var shouldIgnoreContentInsetAdjustment: Bool {
-        get { false }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "iq.restoreContentOffset")
-    var shouldRestoreScrollViewContentOffset: Bool {
-        get { false }
-        set { }
-    }
-}
-// swiftlint:enable unused_setter_value
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIScrollView+IQKeyboardManagerExtensionObjc.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIScrollView+IQKeyboardManagerExtensionObjc.swift
deleted file mode 100644 (file)
index 7a7c4b4..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-//  UIScrollView+IQKeyboardManagerExtensionObjc.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-// MARK: For ObjectiveC Compatibility
-
-// swiftlint:disable identifier_name
-@objc public extension UIScrollView {
-
-    var iq_ignoreScrollingAdjustment: Bool {
-        get { iq.ignoreScrollingAdjustment }
-        set { iq.ignoreScrollingAdjustment = newValue }
-    }
-
-    var iq_ignoreContentInsetAdjustment: Bool {
-        get { iq.ignoreContentInsetAdjustment }
-        set { iq.ignoreContentInsetAdjustment = newValue }
-    }
-
-    var iq_restoreContentOffset: Bool {
-        get { iq.restoreContentOffset }
-        set { iq.restoreContentOffset = newValue }
-    }
-}
-// swiftlint:enable identifier_name
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIView+IQKeyboardManagerExtension.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIView+IQKeyboardManagerExtension.swift
deleted file mode 100644 (file)
index 57fb2c8..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-//
-//  UIView+IQKeyboardManagerExtension.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-private struct AssociatedKeys {
-    static var distanceFromKeyboard: Int = 0
-    static var enableMode: Int = 0
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension UIView {
-    nonisolated static let defaultKeyboardDistance: CGFloat = .greatestFiniteMagnitude
-}
-
-@available(iOSApplicationExtension, unavailable)
-@available(*, unavailable, renamed: "UIView.defaultKeyboardDistance")
-nonisolated public let kIQUseDefaultKeyboardDistance: CGFloat = .greatestFiniteMagnitude
-
-/**
- TextInputView category for managing distance handling
-*/
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-public extension IQKeyboardExtension where Base: IQTextInputView {
-
-    /**
-     To set customized distance from keyboard for textInputView. Can't be less than zero
-     */
-    var distanceFromKeyboard: CGFloat {
-        get {
-            if let base = base {
-                if let value = objc_getAssociatedObject(base, &AssociatedKeys.distanceFromKeyboard) as? CGFloat {
-                    return value
-                }
-            }
-            return UIView.defaultKeyboardDistance
-        }
-        set(newValue) {
-            if let base = base {
-                objc_setAssociatedObject(base, &AssociatedKeys.distanceFromKeyboard,
-                                         newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-            }
-        }
-    }
-
-    /**
-     Override Enable/disable managing distance between
-     keyboard and textInputView behavior for this particular textInputView.
-     */
-    var enableMode: IQEnableMode {
-        get {
-            if let base = base {
-                return objc_getAssociatedObject(base, &AssociatedKeys.enableMode) as? IQEnableMode ?? .default
-            }
-            return .default
-        }
-        set(newValue) {
-            if let base = base {
-                objc_setAssociatedObject(base, &AssociatedKeys.enableMode, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-            }
-        }
-    }
-}
-
-// swiftlint:disable unused_setter_value
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension UIView {
-    @available(*, unavailable, renamed: "iq.distanceFromKeyboard")
-    var keyboardDistanceFromTextField: CGFloat {
-        get { 0 }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "iq.enableMode")
-    var enableMode: IQEnableMode {
-        get { .default }
-        set { }
-    }
-}
-// swiftlint:enable unused_setter_value
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIView+IQKeyboardManagerExtensionObjc.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIView+IQKeyboardManagerExtensionObjc.swift
deleted file mode 100644 (file)
index 84b52c8..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-//  UIView+IQKeyboardManagerExtensionObjc.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-// MARK: For ObjectiveC Compatibility
-
-// swiftlint:disable identifier_name
-@objc public extension UITextField {
-
-    var iq_distanceFromKeyboard: CGFloat {
-        get { iq.distanceFromKeyboard }
-        set { iq.distanceFromKeyboard = newValue }
-    }
-
-    var iq_enableMode: IQEnableMode {
-        get { iq.enableMode }
-        set { iq.enableMode = newValue }
-    }
-}
-
-@objc public extension UITextView {
-
-    var iq_distanceFromKeyboard: CGFloat {
-        get { iq.distanceFromKeyboard }
-        set { iq.distanceFromKeyboard = newValue }
-    }
-
-    var iq_enableMode: IQEnableMode {
-        get { iq.enableMode }
-        set { iq.enableMode = newValue }
-    }
-}
-// swiftlint:enable identifier_name
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UICollectionView+IndexPaths.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UICollectionView+IndexPaths.swift
deleted file mode 100644 (file)
index 99238ad..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-//  UICollectionView+IndexPaths.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension UICollectionView {
-
-    func previousIndexPath(of indexPath: IndexPath) -> IndexPath? {
-        var previousRow: Int = indexPath.row - 1
-        var previousSection: Int = indexPath.section
-
-        // Fixing indexPath
-        if previousRow < 0 {
-            previousSection -= 1
-            if previousSection >= 0 {
-                previousRow = self.numberOfItems(inSection: previousSection) - 1
-            }
-        }
-
-        guard previousRow >= 0, previousSection >= 0 else { return nil }
-        return IndexPath(item: previousRow, section: previousSection)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UITableView+IndexPaths.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UITableView+IndexPaths.swift
deleted file mode 100644 (file)
index 5b61fa8..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-//  UITableView+IndexPaths.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension UITableView {
-
-    func previousIndexPath(of indexPath: IndexPath) -> IndexPath? {
-        var previousRow: Int = indexPath.row - 1
-        var previousSection: Int = indexPath.section
-
-        // Fixing indexPath
-        if previousRow < 0 {
-            previousSection -= 1
-            if previousSection >= 0 {
-                previousRow = self.numberOfRows(inSection: previousSection) - 1
-            }
-        }
-
-        guard previousRow >= 0, previousSection >= 0 else { return nil }
-        return IndexPath(row: previousRow, section: previousSection)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UIView+Parent.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UIView+Parent.swift
deleted file mode 100644 (file)
index cf2e63c..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-//
-//  UIView+Parent.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-/**
-UIView hierarchy category.
-*/
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-public extension IQKeyboardExtension where Base: UIView {
-
-    /**
-     Returns the UIViewController object that is actually the parent of this object.
-     Most of the time it's the viewController object which actually contains it,
-     but result may be different if it's viewController is added as childViewController of another viewController.
-     */
-    func parentContainerViewController() -> UIViewController? {
-
-        var matchController: UIViewController? = viewContainingController()
-        var parentContainerViewController: UIViewController?
-
-        if var navController: UINavigationController = matchController?.navigationController {
-
-            while let parentNav: UINavigationController = navController.navigationController {
-                navController = parentNav
-            }
-
-            var parentController: UIViewController = navController
-
-            while let parent: UIViewController = parentController.parent,
-                  !(parent is UINavigationController) &&
-                   !(parent is UITabBarController) &&
-                   !(parent is UISplitViewController) {
-
-                        parentController = parent
-            }
-
-            if navController == parentController {
-                parentContainerViewController = navController.topViewController
-            } else {
-                parentContainerViewController = parentController
-            }
-        } else if let tabController: UITabBarController = matchController?.tabBarController {
-            let selectedController = tabController.selectedViewController
-            if let navController: UINavigationController = selectedController as? UINavigationController {
-                parentContainerViewController = navController.topViewController
-            } else {
-                parentContainerViewController = tabController.selectedViewController
-            }
-        } else {
-            while let parent: UIViewController = matchController?.parent,
-                  !(parent is UINavigationController) &&
-                   !(parent is UITabBarController) &&
-                   !(parent is UISplitViewController) {
-
-                        matchController = parent
-            }
-
-            parentContainerViewController = matchController
-        }
-
-        if let controller: UIViewController = parentContainerViewController?.iq_parentContainerViewController() {
-            return controller
-        } else {
-            return parentContainerViewController
-        }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension UIView {
-
-    @available(*, unavailable, renamed: "iq.parentContainerViewController()")
-    func parentContainerViewController() -> UIViewController? { nil }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UIView+ParentObjc.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UIView+ParentObjc.swift
deleted file mode 100644 (file)
index 9c0730e..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-//
-//  UIView+ParentObjc.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@objc public extension UIView {
-
-    func iq_parentContainerViewController() -> UIViewController? {
-        iq.parentContainerViewController()
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UIViewController+ParentContainer.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UIViewController+ParentContainer.swift
deleted file mode 100644 (file)
index 7fc96a9..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-//  UIViewController+ParentContainer.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc extension UIViewController {
-
-    /**
-     This method is provided to override by viewController's
-     if the library lifts a viewController which you doesn't want to lift.
-     This may happen if you have implemented side menu feature
-     in your app and the library try to lift the side menu controller.
-     Overriding this method in side menu class to return correct controller should fix the problem.
-    */
-    open func iq_parentContainerViewController() -> UIViewController? {
-        return self
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc extension UIViewController {
-    @available(*, unavailable, renamed: "iq_parentContainerViewController()")
-    open func parentIQContainerViewController() -> UIViewController? {
-        return self
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardToolbarManager/IQKeyboardManager+ToolbarManager.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardToolbarManager/IQKeyboardManager+ToolbarManager.swift
deleted file mode 100644 (file)
index 4cf109c..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-//
-//  IQKeyboardManager+ToolbarManager.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardToolbarManager
-
-@available(iOSApplicationExtension, unavailable)
-// swiftlint:disable line_length
-@available(*, deprecated,
-            message: "Please use `IQKeyboardToolbarManager` independently from https://github.com/hackiftekhar/IQKeyboardToolbarManager")
-// swiftlint:enable line_length
-@MainActor
-@objc public extension IQKeyboardManager {
-
-    @MainActor
-    private struct AssociatedKeys {
-        static var toolbarManager: Int = 0
-    }
-
-    internal var toolbarManager: IQKeyboardToolbarManager {
-        IQKeyboardToolbarManager.shared
-    }
-
-    var enableToolbarDebugging: Bool {
-        get { toolbarManager.isDebuggingEnabled }
-        set { toolbarManager.isDebuggingEnabled = newValue }
-    }
-
-    /**
-     Automatic add the toolbar functionality. Default is YES.
-     */
-    var enableAutoToolbar: Bool {
-        get { toolbarManager.isEnabled }
-        set { toolbarManager.isEnabled = newValue }
-    }
-
-    /**
-     Configurations related to the toolbar display over the keyboard.
-     */
-    var toolbarConfiguration: IQKeyboardToolbarConfiguration {
-        toolbarManager.toolbarConfiguration
-    }
-
-    // MARK: UISound handling
-
-    /**
-     If YES, then it plays inputClick sound on next/previous/done click.
-     */
-    var playInputClicks: Bool {
-        get { toolbarManager.playInputClicks }
-        set { toolbarManager.playInputClicks = newValue }
-    }
-
-    /**
-     Disable automatic toolbar creation within the scope of disabled toolbar viewControllers classes.
-     Within this scope, 'enableAutoToolbar' property is ignored. Class should be kind of UIViewController.
-     */
-    var disabledToolbarClasses: [UIViewController.Type] {
-        get { toolbarManager.disabledToolbarClasses }
-        set { toolbarManager.disabledToolbarClasses = newValue }
-    }
-
-    /**
-     Enable automatic toolbar creation within the scope of enabled toolbar viewControllers classes.
-     Within this scope, 'enableAutoToolbar' property is ignored. Class should be kind of UIViewController.
-     If same Class is added in disabledToolbarClasses list, then enabledToolbarClasses will be ignore.
-     */
-    var enabledToolbarClasses: [UIViewController.Type] {
-        get { toolbarManager.enabledToolbarClasses }
-        set { toolbarManager.enabledToolbarClasses = newValue }
-    }
-
-    /**
-     Allowed subclasses of UIView to add all inner textField,
-     this will allow to navigate between textField contains in different superview.
-     Class should be kind of UIView.
-     */
-    var deepResponderAllowedContainerClasses: [UIView.Type] {
-        get { toolbarManager.deepResponderAllowedContainerClasses }
-        set { toolbarManager.deepResponderAllowedContainerClasses = newValue }
-    }
-
-    /**    reloadInputViews to reload toolbar buttons enable/disable state on the fly Enhancement ID #434. */
-    func reloadInputViews() {
-        toolbarManager.reloadInputViews()
-    }
-
-    /**
-     Returns YES if can navigate to previous responder textInputView, otherwise NO.
-     */
-    var canGoPrevious: Bool {
-        toolbarManager.canGoPrevious
-    }
-
-    /**
-     Returns YES if can navigate to next responder textInputViews, otherwise NO.
-     */
-    var canGoNext: Bool {
-        toolbarManager.canGoNext
-    }
-
-    /**
-     Navigate to previous responder textInputViews
-    */
-    @discardableResult
-    func goPrevious() -> Bool {
-        toolbarManager.goPrevious()
-    }
-
-    /**
-     Navigate to next responder textInputView.
-    */
-    @discardableResult
-    func goNext() -> Bool {
-        toolbarManager.goNext()
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardToolbarManager/IQKeyboardManager+ToolbarManagerDeprecated.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardToolbarManager/IQKeyboardManager+ToolbarManagerDeprecated.swift
deleted file mode 100644 (file)
index e6b7321..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-//
-//  IQKeyboardManager+ToolbarManagerDeprecated.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardToolbarManager
-
-// swiftlint:disable unused_setter_value
-// swiftlint:disable identifier_name
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardManager {
-
-    @available(*, unavailable, renamed: "playInputClicks")
-    var shouldPlayInputClicks: Bool {
-        get { false }
-        set { }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardManager {
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.manageBehavior")
-    var toolbarManageBehaviour: IQKeyboardToolbarManageBehavior {
-        get { .bySubviews }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.useTextInputViewTintColor")
-    var shouldToolbarUsesTextFieldTintColor: Bool {
-        get { false }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.tintColor")
-    var toolbarTintColor: UIColor? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.barTintColor")
-    var toolbarBarTintColor: UIColor? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.previousNextDisplayMode")
-    var previousNextDisplayMode: IQPreviousNextDisplayMode {
-        get { .default }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "deepResponderAllowedContainerClasses")
-    var toolbarPreviousNextAllowedClasses: [UIView.Type] {
-        get { [] }
-        set { }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardManager {
-    @available(*, unavailable, renamed: "toolbarConfiguration.previousBarButtonConfiguration.image",
-                message: "To change, please assign a new toolbarConfiguration.previousBarButtonConfiguration")
-    var toolbarPreviousBarButtonItemImage: UIImage? {
-        get { nil }
-        set { }
-    }
-    @available(*, unavailable, renamed: "toolbarConfiguration.previousBarButtonConfiguration.title",
-                message: "To change, please assign a new toolbarConfiguration.previousBarButtonConfiguration")
-    var toolbarPreviousBarButtonItemText: String? {
-        get { nil }
-        set { }
-    }
-    @available(*, unavailable, renamed: "toolbarConfiguration.previousBarButtonConfiguration.accessibilityLabel",
-                message: "To change, please assign a new toolbarConfiguration.previousBarButtonConfiguration")
-    var toolbarPreviousBarButtonItemAccessibilityLabel: String? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.nextBarButtonConfiguration.image",
-                message: "To change, please assign a new toolbarConfiguration.nextBarButtonConfiguration")
-    var toolbarNextBarButtonItemImage: UIImage? {
-        get { nil }
-        set { }
-    }
-    @available(*, unavailable, renamed: "toolbarConfiguration.nextBarButtonConfiguration.title",
-                message: "To change, please assign a new toolbarConfiguration.nextBarButtonConfiguration")
-    var toolbarNextBarButtonItemText: String? {
-        get { nil }
-        set { }
-    }
-    @available(*, unavailable, renamed: "toolbarConfiguration.nextBarButtonConfiguration.accessibilityLabel",
-                message: "To change, please assign a new toolbarConfiguration.nextBarButtonConfiguration")
-    var toolbarNextBarButtonItemAccessibilityLabel: String? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.doneBarButtonConfiguration.image",
-                message: "To change, please assign a new toolbarConfiguration.doneBarButtonConfiguration")
-    var toolbarDoneBarButtonItemImage: UIImage? {
-        get { nil }
-        set { }
-    }
-    @available(*, unavailable, renamed: "toolbarConfiguration.doneBarButtonConfiguration.title",
-                message: "To change, please assign a new toolbarConfiguration.doneBarButtonConfiguration")
-    var toolbarDoneBarButtonItemText: String? {
-        get { nil }
-        set { }
-    }
-    @available(*, unavailable, renamed: "toolbarConfiguration.doneBarButtonConfiguration.accessibilityLabel",
-                message: "To change, please assign a new toolbarConfiguration.doneBarButtonConfiguration")
-    var toolbarDoneBarButtonItemAccessibilityLabel: String? {
-        get { nil }
-        set { }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardManager {
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.accessibilityLabel")
-    var toolbarTitleBarButtonItemAccessibilityLabel: String? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.showPlaceholder")
-    var shouldShowToolbarPlaceholder: Bool {
-        get { false }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.font")
-    var placeholderFont: UIFont? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.color")
-    var placeholderColor: UIColor? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.buttonColor")
-    var placeholderButtonColor: UIColor? {
-        get { nil }
-        set { }
-    }
-}
-// swiftlint:enable unused_setter_value
-// swiftlint:enable identifier_name
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/PrivacyInfo.xcprivacy b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/PrivacyInfo.xcprivacy
deleted file mode 100644 (file)
index 9021190..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>NSPrivacyAccessedAPITypes</key>
-       <array/>
-       <key>NSPrivacyTrackingDomains</key>
-       <array/>
-       <key>NSPrivacyCollectedDataTypes</key>
-       <array/>
-       <key>NSPrivacyTracking</key>
-       <false/>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/IQKeyboardManager+Resign.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/IQKeyboardManager+Resign.swift
deleted file mode 100644 (file)
index 5fc408d..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-//
-//  IQKeyboardManager+Resign.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardManager {
-
-    @MainActor
-    private struct AssociatedKeys {
-        static var resignHandler: Int = 0
-    }
-
-    internal var resignHandler: IQKeyboardResignHandler {
-        if let object = objc_getAssociatedObject(self, &AssociatedKeys.resignHandler)
-            as? IQKeyboardResignHandler {
-            return object
-        }
-
-        let object: IQKeyboardResignHandler = .init()
-        objc_setAssociatedObject(self, &AssociatedKeys.resignHandler,
-                                 object, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-
-        return object
-    }
-
-    /**
-     Resigns Keyboard on touching outside TextInputView. Default is NO.
-     */
-    var resignOnTouchOutside: Bool {
-        get { resignHandler.resignOnTouchOutside }
-        set { resignHandler.resignOnTouchOutside = newValue }
-    }
-
-    /** TapGesture to resign keyboard on view's touch.
-     It's a readonly property and exposed only for adding/removing dependencies
-     if your added gesture does have collision with this one
-     */
-    var resignGesture: UITapGestureRecognizer {
-        get { resignHandler.resignGesture }
-        set { resignHandler.resignGesture = newValue }
-    }
-
-    /**
-     Disabled classes to ignore resignOnTouchOutside' property, Class should be kind of UIViewController.
-     */
-    var disabledTouchResignedClasses: [UIViewController.Type] {
-        get { resignHandler.disabledTouchResignedClasses }
-        set { resignHandler.disabledTouchResignedClasses = newValue }
-    }
-
-    /**
-     Enabled classes to forcefully enable 'resignOnTouchOutside' property.
-     Class should be kind of UIViewController
-     . If same Class is added in disabledTouchResignedClasses list, then enabledTouchResignedClasses will be ignored.
-     */
-    var enabledTouchResignedClasses: [UIViewController.Type] {
-        get { resignHandler.enabledTouchResignedClasses }
-        set { resignHandler.enabledTouchResignedClasses = newValue }
-    }
-
-    /**
-     if resignOnTouchOutside is enabled then you can customize the behavior
-     to not recognize gesture touches on some specific view subclasses.
-     Class should be kind of UIView. Default is [UIControl, UINavigationBar]
-     */
-    var touchResignedGestureIgnoreClasses: [UIView.Type] {
-        get { resignHandler.touchResignedGestureIgnoreClasses }
-        set { resignHandler.touchResignedGestureIgnoreClasses = newValue }
-    }
-
-    /**
-     Resigns currently first responder field.
-     */
-    @discardableResult
-    func resignFirstResponder() -> Bool {
-        resignHandler.resignFirstResponder()
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/IQKeyboardManager+Resign_Deprecated.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/IQKeyboardManager+Resign_Deprecated.swift
deleted file mode 100644 (file)
index b304c72..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-//  IQKeyboardManager+Resign_Deprecated.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-// swiftlint:disable unused_setter_value
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardManager {
-
-    @available(*, unavailable, renamed: "resignOnTouchOutside")
-    var shouldResignOnTouchOutside: Bool {
-        get { false }
-        set { }
-    }
-}
-// swiftlint:enable unused_setter_value
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/IQKeyboardResignHandler+Internal.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/IQKeyboardResignHandler+Internal.swift
deleted file mode 100644 (file)
index 3c59049..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-//
-//  IQKeyboardResignHandler+Internal.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension IQKeyboardResignHandler {
-
-    func removeTextInputViewObserver() {
-        textInputViewObserver.unsubscribe(identifier: "IQKeyboardResignHandler")
-    }
-
-    func addTextInputViewObserver() {
-        textInputViewObserver.subscribe(identifier: "IQKeyboardResignHandler",
-                                        changeHandler: { [weak self] event, textInputView in
-            guard let self = self else { return }
-            switch event {
-            case .beginEditing:
-                self.resignGesture.isEnabled = self.privateResignOnTouchOutside()
-                textInputView.window?.addGestureRecognizer(self.resignGesture)
-            case .endEditing:
-                textInputView.window?.removeGestureRecognizer(self.resignGesture)
-            }
-        })
-    }
-
-    func privateResignOnTouchOutside() -> Bool {
-
-        guard let textInputView: any IQTextInputView = textInputViewObserver.textInputView else {
-            return resignOnTouchOutside
-        }
-
-        switch textInputView.internalResignOnTouchOutsideMode {
-        case .default:
-            guard var controller = (textInputView as UIView).iq.viewContainingController() else {
-                return resignOnTouchOutside
-            }
-
-            // If it is searchBar textField embedded in Navigation Bar
-            if (textInputView as UIView).iq.textFieldSearchBar() != nil,
-               let navController: UINavigationController = controller as? UINavigationController,
-               let topController: UIViewController = navController.topViewController {
-                controller = topController
-            }
-
-            // If viewController is in enabledTouchResignedClasses, then assuming resignOnTouchOutside is enabled.
-            let isWithEnabledClass: Bool = enabledTouchResignedClasses.contains(where: { controller.isKind(of: $0) })
-            var isEnabled: Bool = resignOnTouchOutside || isWithEnabledClass
-
-            if isEnabled {
-
-                // If viewController is in disabledTouchResignedClasses,
-                // then assuming resignOnTouchOutside is disable.
-                if disabledTouchResignedClasses.contains(where: { controller.isKind(of: $0) }) {
-                    isEnabled = false
-                } else {
-                    let classNameString: String = "\(type(of: controller.self))"
-
-                    // _UIAlertControllerTextFieldViewController
-                    if classNameString.contains("UIAlertController"),
-                       classNameString.hasSuffix("TextFieldViewController") {
-                        isEnabled = false
-                    }
-                }
-            }
-            return isEnabled
-        case .enabled:
-            return true
-        case .disabled:
-            return false
-        }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-fileprivate extension IQTextInputView {
-    var internalResignOnTouchOutsideMode: IQEnableMode {
-        iq.resignOnTouchOutsideMode
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/IQKeyboardResignHandler.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/IQKeyboardResignHandler.swift
deleted file mode 100644 (file)
index 2ce0667..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-//
-//  IQKeyboardResignHandler.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-import IQTextInputViewNotification
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers internal final class IQKeyboardResignHandler: NSObject {
-
-    let textInputViewObserver: IQTextInputViewNotification = .init()
-
-    /**
-     Resigns Keyboard on touching outside of TextInputView. Default is NO.
-    */
-    public var resignOnTouchOutside: Bool = false {
-
-        didSet {
-            resignGesture.isEnabled = privateResignOnTouchOutside()
-
-            IQKeyboardManager.shared.showLog("resignOnTouchOutside: \(resignOnTouchOutside ? "Yes" : "No")")
-        }
-    }
-
-    /** TapGesture to resign keyboard on view's touch.
-     It's a readonly property and exposed only for adding/removing dependencies
-     if your added gesture does have collision with this one
-     */
-    public var resignGesture: UITapGestureRecognizer = .init()
-
-    /**
-     Disabled classes to ignore resignOnTouchOutside' property, Class should be kind of UIViewController.
-     */
-    public var disabledTouchResignedClasses: [UIViewController.Type] = [
-        UIAlertController.self,
-        UIInputViewController.self
-    ]
-
-    /**
-     Enabled classes to forcefully enable 'resignOnTouchOutside' property.
-     Class should be kind of UIViewController
-     . If same Class is added in disabledTouchResignedClasses list, then enabledTouchResignedClasses will be ignored.
-     */
-    public var enabledTouchResignedClasses: [UIViewController.Type] = []
-
-    /**
-     if resignOnTouchOutside is enabled then you can customize the behavior
-     to not recognize gesture touches on some specific view subclasses.
-     Class should be kind of UIView. Default is [UIControl, UINavigationBar]
-     */
-    public var touchResignedGestureIgnoreClasses: [UIView.Type] = [
-        UIControl.self,
-        UINavigationBar.self
-    ]
-
-    /**
-    Resigns currently first responder field.
-    */
-    @discardableResult
-    public func resignFirstResponder() -> Bool {
-
-        guard let textInputView: any IQTextInputView = textInputViewObserver.textInputView else {
-            return false
-        }
-
-        // Resigning first responder
-        guard textInputView.resignFirstResponder() else {
-//            showLog("Refuses to resign first responder: \(textInputView)")
-            //  If it refuses then becoming it as first responder again.    (Bug ID: #96)
-            // If it refuses to resign then becoming it first responder again for getting notifications callback.
-            textInputView.becomeFirstResponder()
-            return false
-        }
-        return true
-    }
-
-    public override init() {
-        super.init()
-
-        resignGesture.addTarget(self, action: #selector(self.tapRecognized(_:)))
-        resignGesture.cancelsTouchesInView = false
-        resignGesture.delegate = self
-        resignGesture.isEnabled = false
-
-        addTextInputViewObserver()
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc extension IQKeyboardResignHandler: UIGestureRecognizerDelegate {
-
-    /** Resigning on tap gesture.   (Enhancement ID: #14)*/
-    private func tapRecognized(_ gesture: UITapGestureRecognizer) {
-
-        if gesture.state == .ended {
-
-            // Resigning currently responder textInputView.
-            resignFirstResponder()
-        }
-    }
-
-    /** Note: returning YES is guaranteed to allow simultaneous recognition.
-     returning NO is not guaranteed to prevent simultaneous recognition,
-     as the other gesture's delegate may return YES.
-     */
-    public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
-                                  shouldRecognizeSimultaneouslyWith
-                                  otherGestureRecognizer: UIGestureRecognizer) -> Bool {
-        return false
-    }
-
-    /**
-     To not detect touch events in a subclass of UIControl,
-     these may have added their own selector for specific work
-     */
-    public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
-                                  shouldReceive touch: UITouch) -> Bool {
-        // (Bug ID: #145)
-        // Should not recognize gesture if the clicked view is either UIControl or UINavigationBar(<Back button etc...)
-
-        for ignoreClass in touchResignedGestureIgnoreClasses where touch.view?.isKind(of: ignoreClass) ?? false {
-            return false
-        }
-
-        return true
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/UIKItExtensions/UIView+Resign.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/UIKItExtensions/UIView+Resign.swift
deleted file mode 100644 (file)
index 006090f..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-//  UIView+Resign.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-private struct AssociatedKeys {
-    static var resignOnTouchOutsideMode: Int = 0
-}
-
-/**
- TextInputView category for managing touch resign
-*/
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-public extension IQKeyboardExtension where Base: IQTextInputView {
-
-    /**
-     Override resigns Keyboard on touching outside of TextInputView behavior for this particular textInputView.
-     */
-    var resignOnTouchOutsideMode: IQEnableMode {
-        get {
-            guard let base = base else {
-                return .default
-            }
-            return objc_getAssociatedObject(base, &AssociatedKeys.resignOnTouchOutsideMode) as? IQEnableMode ?? .default
-        }
-        set(newValue) {
-            if let base = base {
-                objc_setAssociatedObject(base, &AssociatedKeys.resignOnTouchOutsideMode,
-                                         newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-            }
-        }
-    }
-}
-
-// swiftlint:disable unused_setter_value
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension UIView {
-    @available(*, unavailable, renamed: "iq.resignOnTouchOutsideMode")
-    var shouldResignOnTouchOutsideMode: IQEnableMode {
-        get { .default }
-        set { }
-    }
-}
-// swiftlint:enable unused_setter_value
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/UIKItExtensions/UIView+ResignObjc.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Resign/UIKItExtensions/UIView+ResignObjc.swift
deleted file mode 100644 (file)
index 7616ba8..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-//  UIView+ResignObjc.swift
-//  https://github.com/hackiftekhar/IQKeyboardManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-// MARK: For ObjectiveC Compatibility
-
-// swiftlint:disable identifier_name
-@objc public extension UITextField {
-
-    var iq_resignOnTouchOutsideMode: IQEnableMode {
-        get { iq.resignOnTouchOutsideMode }
-        set { iq.resignOnTouchOutsideMode = newValue }
-    }
-}
-
-@objc public extension UITextView {
-
-    var iq_resignOnTouchOutsideMode: IQEnableMode {
-        get { iq.resignOnTouchOutsideMode }
-        set { iq.resignOnTouchOutsideMode = newValue }
-    }
-}
-// swiftlint:enable identifier_name
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/LICENSE.md b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/LICENSE.md
deleted file mode 100644 (file)
index 0c652ed..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2013-2023 Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/README.md b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardManagerSwift/README.md
deleted file mode 100644 (file)
index 6d3a695..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-<p align="center">
-  <img src="https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Screenshot/Social.png" alt="Icon"/>
-</p>
-
-[![LICENSE.md](https://img.shields.io/github/license/hackiftekhar/IQKeyboardManager.svg)]([https://travis-ci.org/hackiftekhar/IQKeyboardManager](https://github.com/hackiftekhar/IQKeyboardManager/blob/master/LICENSE.md))
-[![Build Status](https://travis-ci.org/hackiftekhar/IQKeyboardManager.svg)](https://travis-ci.org/hackiftekhar/IQKeyboardManager)
-![Platform iOS](https://img.shields.io/badge/Platform-iOS-blue.svg?style=fla)
-[![CocoaPods](https://img.shields.io/cocoapods/v/IQKeyboardManagerSwift.svg)](http://cocoadocs.org/docsets/IQKeyboardManagerSwift)
-[![Github tag](https://img.shields.io/github/tag/hackiftekhar/iqkeyboardmanager.svg)](https://github.com/hackiftekhar/IQKeyboardManager/tags)
-
-## Major updates have arrived!
-
-#### First of all, Thank You for using IQKeyboardManager!
-It's been 12 years since it's first release in 2013. The library has grown a lot and we have added many new features since then.
-
-#### Motivation
-Recently while working on bug fixes, I realized that in 2013 there were only 2 files IQKeyboardManager.{h,m} in Objective-C version, while now in Swift version there were 50+ files (version 7.x.x) which makes the debugging a lot difficult than before. Also, some of the features are rarely used in apps.
-
-#### New Idea
-I realized that some of the features are not tightly linked to each other and can be moved out of the library easily. For Example:-
-- `IQTextView` class
-- `IQKeyboardListener` class
-- `IQTextFieldViewListener` class
-- `IQReturnKeyHandler` class
-- Toolbar related features like `IQToolbar` and `IQBarButtonItem` and their support classes.
-- ...
-
-Moving above things out will make the library more lightweight and user can plug in/out features as per their needs.
-
-#### Action Plan Execution
-I had decided to move loosely linked features out, and publish them to their separate github repo, and use them as dependencies as per requirements.
-
-- [x] Published [IQKeyboardCore](https://github.com/hackiftekhar/IQKeyboardCore)
- - This contains necessary classes and functions to be used by `IQKeyboardManager` related libraries. Please note that you shouldn't directly install this as dependency
-- [x] Published [IQTextView](https://github.com/hackiftekhar/IQTextView)
- - This is purely separated a separate library now.
- - This is usually used for showing placeholder in `UITextView`.
-- [x] Published [IQKeyboardReturnManager](https://github.com/hackiftekhar/IQKeyboardReturnManager)
- - This is a renamed of `IQReturnKeyHandler`. This is also separated from the library and can be used independently.
- - This depends on `IQKeyboardCore` for `TextInputView` type confirmation.
-- [x] Published [IQTextInputViewNotification](https://github.com/hackiftekhar/IQTextInputViewNotification)
- - This is a renamed of `IQTextFieldViewListener`. This can be used independently to subscribe/unsubscribe for `UITextView`/`UITextField` beginEditing/endEditing events.
- - This depends on the `IQKeyboardCore` to add some additional customized features for `UITextView`/`UITextField`.
-- [x] Published [IQKeyboardToolbar](https://github.com/hackiftekhar/IQKeyboardToolbar)
- - This contains toolbar related classes like `IQKeyboardToolbar`, `IQBarButtonItem`, `IQTitleBarButtonItems`, their configuration classes and other useful functions to add toolbar in keyboard. This can be used independently to add toolbar in keyboard.
- - This depends on the `IQKeyboardCore` to add some additional customized features for `UITextView`/`UITextField`.
-- [x] Published [IQKeyboardToolbarManager](https://github.com/hackiftekhar/IQKeyboardToolbarManager)
- - This is something similar to `IQKeyboardManager`. This has been moved out of the library as a huge update. 
- - This depends on the `IQTextInputViewNotification` to know which textField is currently in focus.
- - This depends on the `IQKeyboardToolbar` to add/remove toolbars over keyboard.
-- [x] Published [IQKeyboardNotification](https://github.com/hackiftekhar/IQKeyboardNotification)
- - This is a renamed of `IQKeyboardListener`. This can be used independently to subscribe/unsubscribe for keyboard events.
-- [x] Published [IQKeyboardManager](https://github.com/hackiftekhar/IQKeyboardManager) 7.2.0 for all the current support without any compilation error but by deprecating most of the things which are moved out of the library.
- - This now only contains functions for handling distance between `UITextView`/`UITextField` and their useful functions.
- - This depends on the `IQKeyboardNotification` to get keyboard notification callbacks.
- - This depends on the `IQTextInputViewNotification` to know which textField is currently in focus.
- - Now there are subspecs support since 7.2.0.
-  - `IQKeyboardManagerSwift/Appearance`
-  - `IQKeyboardManagerSwift/IQKeyboardReturnManager`
-  - `IQKeyboardManagerSwift/IQKeyboardToolbarManager`
-  - `IQKeyboardManagerSwift/IQTextView`
-  - `IQKeyboardManagerSwift/Resign`
-- [x] Published [IQKeyboardManager](https://github.com/hackiftekhar/IQKeyboardManager) 8.0.0 by marking deprecated classes as unavailable.
- - In this release, we removed deprecated classes and marking some of them as unavailable for easier migration.
-- [ ] Bug fixes which may have arrived due to the library segregation.
- - We need your support on this one.
-
-## Introduction
-While developing iOS apps, we often run into issues where the iPhone keyboard slides up and covers the `UITextField/UITextView`. `IQKeyboardManager` allows you to prevent this issue of keyboard sliding up and covering `UITextField/UITextView` without needing you to write any code or make any additional setup. To use `IQKeyboardManager` you simply need to add source files to your project.
-
-
-## Key Features
-
-1) `One Lines of Code`
-
-2) `Works Automatically`
-
-3) `No More UIScrollView`
-
-4) `No More Subclasses`
-
-5) `No More Manual Work`
-
-6) `No More #imports`
-
-`IQKeyboardManager` works on all orientations, and with the toolbar. It also has nice optional features allowing you to customize the distance from the text field, behavior of previous, next and done buttons in the keyboard toolbar, play sound when the user navigates through the form and more.
-
-
-## Screenshot
-[![Screenshot 1](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Screenshot/README_Screenshot1.png)](http://youtu.be/6nhLw6hju2A)
-[![Screenshot 2](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Screenshot/README_Screenshot2.png)](http://youtu.be/6nhLw6hju2A)
-[![Screenshot 3](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Screenshot/README_Screenshot3.png)](http://youtu.be/6nhLw6hju2A)
-[![Screenshot 4](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Screenshot/README_Screenshot4.png)](http://youtu.be/6nhLw6hju2A)
-[![Screenshot 5](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Screenshot/README_Screenshot5.png)](http://youtu.be/6nhLw6hju2A)
-
-## GIF animation
-[![IQKeyboardManager](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManager.gif)](http://youtu.be/6nhLw6hju2A)
-
-## Video
-
-<a href="http://youtu.be/WAYc2Qj-OQg" target="_blank"><img src="http://img.youtube.com/vi/WAYc2Qj-OQg/0.jpg"
-alt="IQKeyboardManager Demo Video" width="480" height="360" border="10" /></a>
-
-## Tutorial video by @rebeloper ([#1135](https://github.com/hackiftekhar/IQKeyboardManager/issues/1135))
-
-@rebeloper demonstrated two videos on how to implement **IQKeyboardManager** at it's core:
-
-<a href="https://www.youtube.com/playlist?list=PL_csAAO9PQ8aTL87XnueOXi3RpWE2m_8v" target="_blank"><img src="https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Screenshot/ThirdPartyYoutubeTutorial.jpg"
-alt="Youtube Tutorial Playlist"/></a>
-
-https://www.youtube.com/playlist?list=PL_csAAO9PQ8aTL87XnueOXi3RpWE2m_8v
-
-## Warning
-
-- **If you're planning to build SDK/library/framework and want to handle UITextField/UITextView with IQKeyboardManager then you're totally going the wrong way.** I would never suggest to add **IQKeyboardManager** as **dependency/adding/shipping** with any third-party library. Instead of adding **IQKeyboardManager** you should implement your own solution to achieve same kind of results. **IQKeyboardManager** is totally designed for projects to help developers for their convenience, it's not designed for **adding/dependency/shipping** with any **third-party library**, because **doing this could block adoption by other developers for their projects as well (who are not using IQKeyboardManager and have implemented their custom solution to handle UITextField/UITextView in the project).**
-- If **IQKeyboardManager** conflicts with other **third-party library**, then it's **developer responsibility** to **enable/disable IQKeyboardManager** when **presenting/dismissing** third-party library UI. Third-party libraries are not responsible to handle IQKeyboardManager.
-
-## Requirements
-
-|                        | Language | Minimum iOS Target | Minimum Xcode Version |
-|------------------------|----------|--------------------|-----------------------|
-| IQKeyboardManager      | Obj-C    | iOS 13.0            | Xcode 13             |
-| IQKeyboardManagerSwift | Swift    | iOS 13.0            | Xcode 13             |
-| Demo Project           |          |                     | Xcode 15             |
-
-#### Swift versions support
-
-| Swift             | Xcode | IQKeyboardManagerSwift |
-|-------------------|-------|------------------------|
-| 5.9, 5.8, 5.7     | 16    | >= 7.0.0       |
-| 5.9, 5.8, 5.7, 5.6| 15    | >= 7.0.0       |
-| 5.5, 5.4, 5.3, 5.2, 5.1, 5.0, 4.2| 11  | >= 6.5.7       |
-| 5.1, 5.0, 4.2, 4.0, 3.2, 3.0| 11  | >= 6.5.0       |
-| 5.0,4.2, 4.0, 3.2, 3.0| 10.2  | >= 6.2.1           |
-| 4.2, 4.0, 3.2, 3.0| 10.0  | >= 6.0.4               |
-| 4.0, 3.2, 3.0     | 9.0   | 5.0.0                  |
-
-
-Installation
-==========================
-
-#### CocoaPods
-
-***IQKeyboardManager (Objective-C):*** To install it, simply add the following line to your Podfile: ([#9](https://github.com/hackiftekhar/IQKeyboardManager/issues/9))
-
-```ruby
-pod 'IQKeyboardManager' #iOS13 and later
-```
-
-***IQKeyboardManager (Swift):*** To install it, simply add the following line to your Podfile: ([#236](https://github.com/hackiftekhar/IQKeyboardManager/issues/236))
-
-```ruby
-pod 'IQKeyboardManagerSwift'
-```
-
-*Or you can choose the version you need based on Swift support table from [Requirements](README.md#requirements)*
-
-```ruby
-pod 'IQKeyboardManagerSwift', '8.0.0'
-```
-
-#### Carthage
-
-To integrate `IQKeyboardManger` or `IQKeyboardManagerSwift` into your Xcode project using Carthage, add the following line to your `Cartfile`:
-
-```ogdl
-github "hackiftekhar/IQKeyboardManager"
-```
-
-Run `carthage update --use-xcframeworks` to build the frameworks and drag the appropriate framework (`IQKeyboardManager.xcframework` or `IQKeyboardManagerSwift.xcframework`) into your Xcode project based on your need. Make sure to add only one framework, not both.
-
-#### Swift Package Manager (SPM)
-
-To install `IQKeyboardManagerSwift` package via Xcode
-
- * Go to File -> Swift Packages -> Add Package Dependency...
- * Then search for https://github.com/hackiftekhar/IQKeyboardManager.git
- * And choose the version you want
-
-#### Source Code
-
-***IQKeyboardManager (Objective-C):*** Just ***drag and drop*** `IQKeyboardManager` directory from demo project to your project. That's it.
-
-***IQKeyboardManager (Swift):*** Source code installation is not supported (since 7.2.0) because now the library depends on some other independent libraries. Due to this you may face compilation issues.
-
-#### Basic Usage
-
-In `AppDelegate.swift`, just `import IQKeyboardManagerSwift` framework and enable IQKeyboardManager.
-
-```swift
-import IQKeyboardManagerSwift
-
-@UIApplicationMain
-class AppDelegate: UIResponder, UIApplicationDelegate {
-
-    var window: UIWindow?
-
-    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
-
-      IQKeyboardManager.shared.isEnabled = true
-
-      return true
-    }
-}
-```
-
-
-
-Migration Guide
-==========================
-- [IQKeyboardManager 8.0.0 Migration Guide](https://github.com/hackiftekhar/IQKeyboardManager/blob/master/Documentation/MIGRATION%20GUIDE%207.0%20TO%208.0.md)
-
-Other Links
-==========================
-
-- [Known Issues](https://github.com/hackiftekhar/IQKeyboardManager/wiki/Known-Issues)
-- [Manual Management Tweaks](https://github.com/hackiftekhar/IQKeyboardManager/wiki/Manual-Management)
-- [Properties and functions usage](https://github.com/hackiftekhar/IQKeyboardManager/wiki/Properties-&-Functions)
-
-## Flow Diagram
-[![IQKeyboardManager CFD](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Screenshot/IQKeyboardManagerFlowDiagram.jpg)](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Screenshot/IQKeyboardManagerFlowDiagram.jpg)
-
-If you would like to see detailed Flow diagram then check [Detailed Flow Diagram](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManagerCFD.jpg).
-
-
-LICENSE
----
-Distributed under the MIT License.
-
-Contributions
----
-Any contribution is more than welcome! You can contribute through pull requests and issues on GitHub.
-
-Author
----
-If you wish to contact me, email at: hack.iftekhar@gmail.com
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardNotification/IQKeyboardNotification/Classes/IQKeyboardInfo.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardNotification/IQKeyboardNotification/Classes/IQKeyboardInfo.swift
deleted file mode 100644 (file)
index 0f6243d..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-//
-//  IQKeyboardInfo.swift
-//  https://github.com/hackiftekhar/IQKeyboardNotification
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-public struct IQKeyboardInfo: Equatable {
-    nonisolated public static func == (lhs: Self, rhs: Self) -> Bool {
-        lhs.event == rhs.event &&
-        lhs.endFrame.equalTo(rhs.endFrame)
-    }
-
-    @objc public enum Event: Int, CaseIterable {
-        case willShow
-        case didShow
-        case willChangeFrame
-        case didChangeFrame
-        case willHide
-        case didHide
-
-        @MainActor
-        public var notification: Notification.Name {
-            switch self {
-            case .willShow:
-                return UIResponder.keyboardWillShowNotification
-            case .didShow:
-                return UIResponder.keyboardDidShowNotification
-            case .willChangeFrame:
-                return UIResponder.keyboardWillChangeFrameNotification
-            case .didChangeFrame:
-                return UIResponder.keyboardDidChangeFrameNotification
-            case .willHide:
-                return UIResponder.keyboardWillHideNotification
-            case .didHide:
-                return UIResponder.keyboardDidHideNotification
-            }
-        }
-    }
-
-    public let event: Event
-
-    /// `keyboardIsLocalUserInfoKey`.
-    public let isLocal: Bool
-
-    /// `UIKeyboardFrameBeginUserInfoKey`.
-    public let beginFrame: CGRect
-
-    /// `UIKeyboardFrameEndUserInfoKey`.
-    public let endFrame: CGRect
-
-    /// `UIKeyboardAnimationDurationUserInfoKey`.
-    public let animationDuration: TimeInterval
-
-    /// `UIKeyboardAnimationCurveUserInfoKey`.
-    public let animationCurve: UIView.AnimationCurve
-
-    public var animationOptions: UIView.AnimationOptions {
-        return UIView.AnimationOptions(rawValue: UInt(animationCurve.rawValue << 16))
-    }
-
-    public var isVisible: Bool {
-        endFrame.height > 0
-    }
-
-    internal init(notification: Notification?, event: Event) {
-        self.event = event
-
-        let screenBounds: CGRect
-        if let screen: UIScreen = notification?.object as? UIScreen {
-            screenBounds = screen.bounds
-        } else {
-            screenBounds = UIScreen.main.bounds
-        }
-
-        if let info: [AnyHashable: Any] = notification?.userInfo {
-
-            if let value = info[UIResponder.keyboardIsLocalUserInfoKey] as? Bool {
-                isLocal = value
-            } else {
-                isLocal = true
-            }
-
-            //  Getting keyboard animation.
-            if let curveValue: Int = info[UIResponder.keyboardAnimationCurveUserInfoKey] as? Int,
-               let curve: UIView.AnimationCurve = UIView.AnimationCurve(rawValue: curveValue) {
-                animationCurve = curve
-            } else {
-                animationCurve = .easeOut
-            }
-
-            //  Getting keyboard animation duration
-            if let duration: TimeInterval = info[UIResponder.keyboardAnimationDurationUserInfoKey] as? TimeInterval,
-               duration != 0.0 {
-                animationDuration = duration
-            } else {
-                animationDuration = 0.25
-            }
-
-            if let beginKeyboardFrame: CGRect = info[UIResponder.keyboardFrameBeginUserInfoKey] as? CGRect {
-                beginFrame = Self.getKeyboardFrame(of: beginKeyboardFrame, inScreenBounds: screenBounds)
-            } else {
-                beginFrame = CGRect(x: 0, y: screenBounds.height, width: screenBounds.width, height: 0)
-            }
-
-            if let endKeyboardFrame: CGRect = info[UIResponder.keyboardFrameEndUserInfoKey] as? CGRect {
-                endFrame = Self.getKeyboardFrame(of: endKeyboardFrame, inScreenBounds: screenBounds)
-            } else {
-                endFrame = CGRect(x: 0, y: screenBounds.height, width: screenBounds.width, height: 0)
-            }
-        } else {
-            isLocal = true
-            animationCurve = .easeOut
-            animationDuration = 0.25
-            beginFrame = CGRect(x: 0, y: screenBounds.height, width: screenBounds.width, height: 0)
-            endFrame = CGRect(x: 0, y: screenBounds.height, width: screenBounds.width, height: 0)
-        }
-    }
-
-    @MainActor
-    public func animate(alongsideTransition transition: @escaping () -> Void, completion: (() -> Void)? = nil) {
-
-        /* ******* */
-//        UIView.beginAnimations(nil, context: nil)
-//        UIView.setAnimationDuration(duration)
-//        UIView.setAnimationCurve(curve)
-//        UIView.setAnimationBeginsFromCurrentState(true)
-//        UIView.setAnimationDelegate(self)
-//        UIView.setAnimationDidStop(#selector(UIViewController.keyboardAnimationDidStop(_:finished:context:)))
-//
-//        keyboardStateDelegate?.keyboardTransitionAnimation(state)
-//
-//        UIView.commitAnimations()
-
-        /* ******* */
-//        if let timing = UIView.AnimationCurve.RawValue(exactly: animationCurve.rawValue),
-//           let curve = UIView.AnimationCurve(rawValue: timing) {
-//            let animator = UIViewPropertyAnimator(duration: animationDuration, curve: curve) {
-//                transition()
-//            }
-//            animator.addCompletion { _ in
-//                completion?()
-//            }
-//            animator.isUserInteractionEnabled = true
-//            animator.startAnimation()
-//        } else {
-        var animationOptions: UIView.AnimationOptions = self.animationOptions
-        animationOptions.formUnion(.allowUserInteraction)
-        animationOptions.formUnion(.beginFromCurrentState)
-        UIView.animate(withDuration: animationDuration, delay: 0,
-                       options: animationOptions,
-                       animations: transition,
-                       completion: { _ in
-            completion?()
-        })
-//        }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-private extension IQKeyboardInfo {
-    static func getKeyboardFrame(of rect: CGRect, inScreenBounds screenBounds: CGRect) -> CGRect {
-        var finalFrame: CGRect = rect
-        // If this is floating keyboard
-        if finalFrame.width < screenBounds.width,
-           finalFrame.maxY < screenBounds.height {
-            finalFrame.size = CGSize(width: finalFrame.size.width, height: 0)
-        } else {
-            // (Bug ID: #469) (Bug ID: #381) (Bug ID: #1506)
-            // Calculating actual keyboard covered size respect to window,
-            // keyboard frame may be different when hardware keyboard is attached
-            let keyboardHeight = CGFloat.maximum(screenBounds.height - finalFrame.minY, 0)
-            finalFrame.size = CGSize(width: finalFrame.size.width, height: keyboardHeight)
-        }
-
-        return finalFrame
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@objcMembers public class IQKeyboardInfoObjC: NSObject {
-    private let wrappedValue: IQKeyboardInfo
-
-    public var event: IQKeyboardInfo.Event { wrappedValue.event }
-
-    public var isLocal: Bool { wrappedValue.isLocal }
-
-    public var beginFrame: CGRect { wrappedValue.beginFrame }
-
-    public var endFrame: CGRect { wrappedValue.endFrame }
-
-    public var animationDuration: TimeInterval { wrappedValue.animationDuration }
-
-    public var animationCurve: UIView.AnimationCurve { wrappedValue.animationCurve }
-
-    public var animationOptions: UIView.AnimationOptions { wrappedValue.animationOptions }
-
-    public var isVisible: Bool { wrappedValue.isVisible }
-
-    init(wrappedValue: IQKeyboardInfo){
-        self.wrappedValue = wrappedValue
-    }
-
-    @MainActor
-    public func animate(alongsideTransition transition: @escaping () -> Void, completion: (() -> Void)? = nil) {
-        wrappedValue.animate(alongsideTransition: transition, completion: completion)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardNotification/IQKeyboardNotification/Classes/IQKeyboardNotification.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardNotification/IQKeyboardNotification/Classes/IQKeyboardNotification.swift
deleted file mode 100644 (file)
index ba4edb6..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-//
-//  IQKeyboardNotification.swift
-//  https://github.com/hackiftekhar/IQKeyboardNotification
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import Combine
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers public final class IQKeyboardNotification: NSObject {
-
-    private var storage: Set<AnyCancellable> = []
-
-    private var eventObservers: [IQKeyboardInfo.Event: [AnyHashable: SizeCompletion]] = [:]
-
-    public private(set) var oldKeyboardInfo: IQKeyboardInfo
-
-    public private(set) var keyboardInfo: IQKeyboardInfo {
-        didSet {
-            guard keyboardInfo != oldValue else { return }
-            oldKeyboardInfo = oldValue
-            sendKeyboardInfo(info: keyboardInfo)
-        }
-    }
-
-    public var isVisible: Bool {
-        keyboardInfo.isVisible
-    }
-
-    public var frame: CGRect {
-        keyboardInfo.endFrame
-    }
-
-    public override init() {
-        keyboardInfo = IQKeyboardInfo(notification: nil, event: .didHide)
-        oldKeyboardInfo = keyboardInfo
-        super.init()
-
-        //  Registering for keyboard notification.
-        for event in IQKeyboardInfo.Event.allCases {
-            NotificationCenter.default.publisher(for: event.notification)
-                .map({ IQKeyboardInfo(notification: $0, event: event) })
-                .assign(to: \.keyboardInfo, on: self)
-                .store(in: &storage)
-        }
-    }
-
-    public func animate(alongsideTransition transition: @escaping () -> Void, completion: (() -> Void)? = nil) {
-        keyboardInfo.animate(alongsideTransition: transition, completion: completion)
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-public extension IQKeyboardNotification {
-
-    typealias SizeCompletion = (_ event: IQKeyboardInfo.Event, _ endFrame: CGRect) -> Void
-
-    func subscribe(for events: [IQKeyboardInfo.Event],
-                   identifier: AnyHashable, changeHandler: @escaping SizeCompletion) {
-
-        for event in events {
-            var existingObservers: [AnyHashable: SizeCompletion] = eventObservers[event] ?? [:]
-            existingObservers[identifier] = changeHandler
-            eventObservers[event] = existingObservers
-        }
-
-        // If current event is the one user is subscribed to, then call changeHandler immediately for the first time.
-        if events.contains(keyboardInfo.event) {
-            changeHandler(keyboardInfo.event, keyboardInfo.endFrame)
-        }
-    }
-
-    func unsubscribe(for events: [IQKeyboardInfo.Event], identifier: AnyHashable) {
-
-        for event in events {
-            var existingObservers: [AnyHashable: SizeCompletion] = eventObservers[event] ?? [:]
-            existingObservers[identifier] = nil
-            eventObservers[event] = existingObservers
-        }
-    }
-
-    func isSubscribed(for event: IQKeyboardInfo.Event? = nil, identifier: AnyHashable) -> Bool {
-        if let event = event {
-            guard let observers = eventObservers[event], !observers.isEmpty else { return false }
-            return observers[identifier] != nil
-        } else {
-
-            for event in IQKeyboardInfo.Event.allCases {
-                let observers = eventObservers[event] ?? [:]
-                if observers[identifier] != nil {
-                    return true
-                }
-            }
-            return false
-        }
-    }
-
-    private func sendKeyboardInfo(info: IQKeyboardInfo) {
-
-        guard let observers = eventObservers[info.event], !observers.isEmpty else { return }
-
-        let endFrame: CGRect = info.endFrame
-
-        for block in observers.values {
-            block(info.event, endFrame)
-        }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardNotification {
-
-    var oldKeyboardInfoObjc: IQKeyboardInfoObjC { IQKeyboardInfoObjC(wrappedValue: oldKeyboardInfo) }
-
-    var keyboardInfoObjc: IQKeyboardInfoObjC { IQKeyboardInfoObjC(wrappedValue: keyboardInfo) }
-
-    func subscribe(identifier: AnyHashable, changeHandler: @escaping SizeCompletion) {
-        subscribe(for: IQKeyboardInfo.Event.allCases, identifier: identifier, changeHandler: changeHandler)
-    }
-
-    func unsubscribe(identifier: AnyHashable) {
-        unsubscribe(for: IQKeyboardInfo.Event.allCases, identifier: identifier)
-    }
-
-    func isSubscribed(identifier: AnyHashable) -> Bool {
-        isSubscribed(for: nil, identifier: identifier)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardNotification/LICENSE b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardNotification/LICENSE
deleted file mode 100644 (file)
index 5d8eb96..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardNotification/README.md b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardNotification/README.md
deleted file mode 100644 (file)
index 243db80..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# IQKeyboardNotification
-Lightweight library to observe keyboard events with ease.
-
-[![CI Status](https://img.shields.io/travis/hackiftekhar/IQKeyboardNotification.svg?style=flat)](https://travis-ci.org/hackiftekhar/IQKeyboardNotification)
-[![Version](https://img.shields.io/cocoapods/v/IQKeyboardNotification.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardNotification)
-[![License](https://img.shields.io/cocoapods/l/IQKeyboardNotification.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardNotification)
-[![Platform](https://img.shields.io/cocoapods/p/IQKeyboardNotification.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardNotification)
-
-![Screenshot](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardNotification/master/Screenshot/IQKeyboardNotificationScreenshot.png)
-
-## Example
-
-To run the example project, clone the repo, and run `pod install` from the Example directory first.
-
-## Requirements
-
-## Installation
-
-IQKeyboardNotification is available through [CocoaPods](https://cocoapods.org). To install
-it, simply add the following line to your Podfile:
-
-```ruby
-pod 'IQKeyboardNotification'
-```
-
-## Author
-
-Iftekhar Qurashi hack.iftekhar@gmail.com
-
-## Flow
-
-![Screenshot](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardNotification/master/Screenshot/FlowDiagram.jpg)
-
-## License
-
-IQKeyboardNotification is available under the MIT license. See the LICENSE file for more info.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/IQKeyboardReturnManager/Classes/Delegates/IQKeyboardReturnManager+UITextFieldDelegate.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/IQKeyboardReturnManager/Classes/Delegates/IQKeyboardReturnManager+UITextFieldDelegate.swift
deleted file mode 100644 (file)
index c3894a8..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-//
-//  IQKeyboardReturnManager+UITextFieldDelegate.swift
-//  https://github.com/hackiftekhar/IQKeyboardReturnManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-// MARK: UITextFieldDelegate
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc extension IQKeyboardReturnManager: UITextFieldDelegate {
-
-    public func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
-
-        var returnValue: Bool = true
-
-        if delegate == nil,
-           let textFieldDelegate: any UITextFieldDelegate = textInputViewCachedInfo(textField)?.textFieldDelegate {
-            if textFieldDelegate.responds(to: #selector((any UITextFieldDelegate).textFieldShouldBeginEditing(_:))) {
-                returnValue = textFieldDelegate.textFieldShouldBeginEditing?(textField) ?? false
-            }
-        }
-
-        if returnValue {
-            updateReturnKey(textInputView: textField)
-        }
-
-        return returnValue
-    }
-
-    public func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
-
-        guard delegate == nil else { return true }
-
-        if let textFieldDelegate: any UITextFieldDelegate = textInputViewCachedInfo(textField)?.textFieldDelegate {
-            if textFieldDelegate.responds(to: #selector((any UITextFieldDelegate).textFieldShouldEndEditing(_:))) {
-                return textFieldDelegate.textFieldShouldEndEditing?(textField) ?? false
-            }
-        }
-
-        return true
-    }
-
-    public func textFieldDidBeginEditing(_ textField: UITextField) {
-
-        var aDelegate: (any UITextFieldDelegate)? = delegate
-
-        if aDelegate == nil {
-
-            if let model: IQTextInputViewInfoModel = textInputViewCachedInfo(textField) {
-                aDelegate = model.textFieldDelegate
-            }
-        }
-
-        aDelegate?.textFieldDidBeginEditing?(textField)
-    }
-
-    public func textFieldDidEndEditing(_ textField: UITextField) {
-
-        var aDelegate: (any UITextFieldDelegate)? = delegate
-
-        if aDelegate == nil {
-
-            if let model: IQTextInputViewInfoModel = textInputViewCachedInfo(textField) {
-                aDelegate = model.textFieldDelegate
-            }
-        }
-
-        aDelegate?.textFieldDidEndEditing?(textField)
-    }
-
-    public func textFieldDidEndEditing(_ textField: UITextField, reason: UITextField.DidEndEditingReason) {
-
-        var aDelegate: (any UITextFieldDelegate)? = delegate
-
-        if aDelegate == nil {
-
-            if let model: IQTextInputViewInfoModel = textInputViewCachedInfo(textField) {
-                aDelegate = model.textFieldDelegate
-            }
-        }
-
-        aDelegate?.textFieldDidEndEditing?(textField, reason: reason)
-    }
-
-    public func textField(_ textField: UITextField,
-                                shouldChangeCharactersIn range: NSRange,
-                                replacementString string: String) -> Bool {
-
-        guard delegate == nil else { return true }
-
-        if let textFieldDelegate: any UITextFieldDelegate = textInputViewCachedInfo(textField)?.textFieldDelegate {
-            let selector: Selector = #selector((any UITextFieldDelegate).textField(_:shouldChangeCharactersIn:
-                                                                                    replacementString:))
-            if textFieldDelegate.responds(to: selector) {
-                return textFieldDelegate.textField?(textField,
-                                                    shouldChangeCharactersIn: range,
-                                                    replacementString: string) ?? false
-            }
-        }
-        return true
-    }
-
-    public func textFieldShouldClear(_ textField: UITextField) -> Bool {
-
-        guard delegate == nil else { return true }
-
-        if let textFieldDelegate: any UITextFieldDelegate = textInputViewCachedInfo(textField)?.textFieldDelegate {
-            if textFieldDelegate.responds(to: #selector((any UITextFieldDelegate).textFieldShouldClear(_:))) {
-                return textFieldDelegate.textFieldShouldClear?(textField) ?? false
-            }
-        }
-
-        return true
-    }
-
-    public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
-
-        guard delegate == nil else { return true }
-
-        var isReturn: Bool = true
-
-        if let textFieldDelegate: any UITextFieldDelegate = textInputViewCachedInfo(textField)?.textFieldDelegate {
-            if textFieldDelegate.responds(to: #selector((any UITextFieldDelegate).textFieldShouldReturn(_:))) {
-                isReturn = textFieldDelegate.textFieldShouldReturn?(textField) ?? false
-            }
-        }
-
-        if isReturn {
-            goToNextResponderOrResign(from: textField)
-            return true
-        } else {
-            return goToNextResponderOrResign(from: textField)
-        }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/IQKeyboardReturnManager/Classes/Delegates/IQKeyboardReturnManager+UITextViewDelegate.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/IQKeyboardReturnManager/Classes/Delegates/IQKeyboardReturnManager+UITextViewDelegate.swift
deleted file mode 100644 (file)
index 888ebbe..0000000
+++ /dev/null
@@ -1,398 +0,0 @@
-//
-//  IQKeyboardReturnManager+UITextViewDelegate.swift
-//  https://github.com/hackiftekhar/IQKeyboardReturnManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-// MARK: UITextViewDelegate
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc extension IQKeyboardReturnManager: UITextViewDelegate {
-
-    public func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {
-
-        var returnValue: Bool = true
-
-        if delegate == nil,
-           let textViewDelegate: any UITextViewDelegate = textInputViewCachedInfo(textView)?.textViewDelegate {
-            if textViewDelegate.responds(to: #selector((any UITextViewDelegate).textViewShouldBeginEditing(_:))) {
-                returnValue = textViewDelegate.textViewShouldBeginEditing?(textView) ?? false
-            }
-        }
-
-        if returnValue {
-            updateReturnKey(textInputView: textView)
-        }
-
-        return returnValue
-    }
-
-    public func textViewShouldEndEditing(_ textView: UITextView) -> Bool {
-
-        guard delegate == nil else { return true }
-
-        if let textViewDelegate: any UITextViewDelegate = textInputViewCachedInfo(textView)?.textViewDelegate {
-            if textViewDelegate.responds(to: #selector((any UITextViewDelegate).textViewShouldEndEditing(_:))) {
-                return textViewDelegate.textViewShouldEndEditing?(textView) ?? false
-            }
-        }
-
-        return true
-    }
-
-    public func textViewDidBeginEditing(_ textView: UITextView) {
-
-        var aDelegate: (any UITextViewDelegate)? = delegate
-
-        if aDelegate == nil {
-
-            if let model: IQTextInputViewInfoModel = textInputViewCachedInfo(textView) {
-                aDelegate = model.textViewDelegate
-            }
-        }
-
-        aDelegate?.textViewDidBeginEditing?(textView)
-    }
-
-    public func textViewDidEndEditing(_ textView: UITextView) {
-
-        var aDelegate: (any UITextViewDelegate)? = delegate
-
-        if aDelegate == nil {
-
-            if let model: IQTextInputViewInfoModel = textInputViewCachedInfo(textView) {
-                aDelegate = model.textViewDelegate
-            }
-        }
-
-        aDelegate?.textViewDidEndEditing?(textView)
-    }
-
-    public func textView(_ textView: UITextView,
-                               shouldChangeTextIn range: NSRange,
-                               replacementText text: String) -> Bool {
-
-        var shouldChange = true
-
-        if delegate == nil {
-
-            if let textViewDelegate: any UITextViewDelegate = textInputViewCachedInfo(textView)?.textViewDelegate {
-                let selector = #selector((any UITextViewDelegate).textView(_:shouldChangeTextIn:replacementText:))
-                if textViewDelegate.responds(to: selector) {
-                    shouldChange = (textViewDelegate.textView?(textView,
-                                                               shouldChangeTextIn: range,
-                                                               replacementText: text)) ?? true
-                }
-            }
-        }
-
-        if self.dismissTextViewOnReturn, text == "\n" {
-            goToNextResponderOrResign(from: textView)
-            return false
-        }
-
-        return shouldChange
-    }
-
-    public func textViewDidChange(_ textView: UITextView) {
-
-        var aDelegate: (any UITextViewDelegate)? = delegate
-
-        if aDelegate == nil {
-
-            if let model: IQTextInputViewInfoModel = textInputViewCachedInfo(textView) {
-                aDelegate = model.textViewDelegate
-            }
-        }
-
-        aDelegate?.textViewDidChange?(textView)
-    }
-
-    public func textViewDidChangeSelection(_ textView: UITextView) {
-
-        var aDelegate: (any UITextViewDelegate)? = delegate
-
-        if aDelegate == nil {
-
-            if let model: IQTextInputViewInfoModel = textInputViewCachedInfo(textView) {
-                aDelegate = model.textViewDelegate
-            }
-        }
-
-        aDelegate?.textViewDidChangeSelection?(textView)
-    }
-
-    @available(iOS, deprecated: 17.0)
-    public func textView(_ aTextView: UITextView,
-                               shouldInteractWith URL: URL,
-                               in characterRange: NSRange,
-                               interaction: UITextItemInteraction) -> Bool {
-
-        guard delegate == nil else { return true }
-
-        if let textViewDelegate: any UITextViewDelegate = textInputViewCachedInfo(aTextView)?.textViewDelegate {
-            let selector: Selector = #selector(textView as
-                                               (UITextView, URL, NSRange, UITextItemInteraction) -> Bool)
-            if textViewDelegate.responds(to: selector) {
-                return textViewDelegate.textView?(aTextView,
-                                                  shouldInteractWith: URL,
-                                                  in: characterRange,
-                                                  interaction: interaction) ?? false
-            }
-        }
-
-        return true
-    }
-
-    @available(iOS, deprecated: 17.0)
-    public func textView(_ aTextView: UITextView,
-                               shouldInteractWith textAttachment: NSTextAttachment,
-                               in characterRange: NSRange,
-                               interaction: UITextItemInteraction) -> Bool {
-
-        guard delegate == nil else { return true }
-
-        if let textViewDelegate: any UITextViewDelegate = textInputViewCachedInfo(aTextView)?.textViewDelegate {
-            let selector: Selector = #selector(textView as
-                                               (UITextView, NSTextAttachment, NSRange, UITextItemInteraction)
-                                               -> Bool)
-            if textViewDelegate.responds(to: selector) {
-                return textViewDelegate.textView?(aTextView,
-                                                  shouldInteractWith: textAttachment,
-                                                  in: characterRange,
-                                                  interaction: interaction) ?? false
-            }
-        }
-
-        return true
-    }
-
-    @available(iOS, deprecated: 10.0)
-    public func textView(_ aTextView: UITextView,
-                               shouldInteractWith URL: URL,
-                               in characterRange: NSRange) -> Bool {
-
-        guard delegate == nil else { return true }
-
-        if let textViewDelegate: any UITextViewDelegate = textInputViewCachedInfo(aTextView)?.textViewDelegate {
-            if textViewDelegate.responds(to: #selector(textView as (UITextView, URL, NSRange) -> Bool)) {
-                return textViewDelegate.textView?(aTextView,
-                                                  shouldInteractWith: URL,
-                                                  in: characterRange) ?? false
-            }
-        }
-
-        return true
-    }
-
-    @available(iOS, deprecated: 10.0)
-    public func textView(_ aTextView: UITextView,
-                               shouldInteractWith textAttachment: NSTextAttachment,
-                               in characterRange: NSRange) -> Bool {
-
-        guard delegate == nil else { return true }
-
-        if let textViewDelegate: any UITextViewDelegate = textInputViewCachedInfo(aTextView)?.textViewDelegate {
-            if textViewDelegate.responds(to: #selector(textView as (UITextView, NSTextAttachment, NSRange) -> Bool)) {
-                return textViewDelegate.textView?(aTextView,
-                                                  shouldInteractWith: textAttachment,
-                                                  in: characterRange) ?? false
-            }
-        }
-
-        return true
-    }
-}
-
-@available(iOS 16.0, *)
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc extension IQKeyboardReturnManager {
-    public func textView(_ aTextView: UITextView,
-                               editMenuForTextIn range: NSRange,
-                               suggestedActions: [UIMenuElement]) -> UIMenu? {
-
-        guard delegate == nil else { return nil }
-
-        if let textViewDelegate: any UITextViewDelegate = textInputViewCachedInfo(aTextView)?.textViewDelegate {
-
-            let selector: Selector = #selector(textView as
-                                               (UITextView, NSRange, [UIMenuElement]) -> UIMenu?)
-            if textViewDelegate.responds(to: selector) {
-                return textViewDelegate.textView?(aTextView,
-                                                  editMenuForTextIn: range,
-                                                  suggestedActions: suggestedActions)
-            }
-        }
-
-        return nil
-    }
-
-    public func textView(_ aTextView: UITextView,
-                               willPresentEditMenuWith animator: any UIEditMenuInteractionAnimating) {
-        var aDelegate: (any UITextViewDelegate)? = delegate
-
-        if aDelegate == nil {
-
-            if let model: IQTextInputViewInfoModel = textInputViewCachedInfo(aTextView) {
-                aDelegate = model.textViewDelegate
-            }
-        }
-
-        aDelegate?.textView?(aTextView, willPresentEditMenuWith: animator)
-    }
-
-    public func textView(_ aTextView: UITextView,
-                               willDismissEditMenuWith animator: any UIEditMenuInteractionAnimating) {
-        var aDelegate: (any UITextViewDelegate)? = delegate
-
-        if aDelegate == nil {
-
-            if let model: IQTextInputViewInfoModel = textInputViewCachedInfo(aTextView) {
-                aDelegate = model.textViewDelegate
-            }
-        }
-
-        aDelegate?.textView?(aTextView, willDismissEditMenuWith: animator)
-    }
-}
-
-#if swift(>=5.9)    // Xcode 15
-@available(iOS 17.0, *)
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardReturnManager {
-
-    func textView(_ aTextView: UITextView,
-                        primaryActionFor textItem: UITextItem,
-                        defaultAction: UIAction) -> UIAction? {
-        guard delegate == nil else { return nil }
-
-        if let textViewDelegate = textInputViewCachedInfo(aTextView)?.textViewDelegate {
-            if textViewDelegate.responds(to: #selector(textView as (UITextView, UITextItem, UIAction) -> UIAction?)) {
-                return textViewDelegate.textView?(aTextView,
-                                                  primaryActionFor: textItem,
-                                                  defaultAction: defaultAction)
-            }
-        }
-
-        return nil
-    }
-
-    func textView(_ aTextView: UITextView,
-                        menuConfigurationFor textItem: UITextItem,
-                        defaultMenu: UIMenu) -> UITextItem.MenuConfiguration? {
-        guard delegate == nil else { return nil }
-
-        if let textViewDelegate = textInputViewCachedInfo(aTextView)?.textViewDelegate {
-            let selector: Selector = #selector(textView as (UITextView, UITextItem, UIMenu)
-                                               -> UITextItem.MenuConfiguration?)
-            if textViewDelegate.responds(to: selector) {
-                return textViewDelegate.textView?(aTextView,
-                                                  menuConfigurationFor: textItem,
-                                                  defaultMenu: defaultMenu)
-            }
-        }
-
-        return nil
-    }
-
-    func textView(_ textView: UITextView,
-                        textItemMenuWillDisplayFor textItem: UITextItem,
-                        animator: any UIContextMenuInteractionAnimating) {
-        var aDelegate: (any UITextViewDelegate)? = delegate
-
-        if aDelegate == nil {
-
-            if let model = textInputViewCachedInfo(textView) {
-                aDelegate = model.textViewDelegate
-            }
-        }
-
-        aDelegate?.textView?(textView, textItemMenuWillDisplayFor: textItem, animator: animator)
-    }
-
-    func textView(_ textView: UITextView,
-                        textItemMenuWillEndFor textItem: UITextItem,
-                        animator: any UIContextMenuInteractionAnimating) {
-        var aDelegate: (any UITextViewDelegate)? = delegate
-
-        if aDelegate == nil {
-
-            if let model = textInputViewCachedInfo(textView) {
-                aDelegate = model.textViewDelegate
-            }
-        }
-
-        aDelegate?.textView?(textView, textItemMenuWillEndFor: textItem, animator: animator)
-    }
-}
-#endif
-
-#if swift(>=6.0)    // Xcode 16
-@available(iOS 18.0, *)
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardReturnManager {
-
-    func textViewWritingToolsWillBegin(_ textView: UITextView) {
-
-        var aDelegate: (any UITextViewDelegate)? = delegate
-
-        if aDelegate == nil {
-
-            if let model: IQTextInputViewInfoModel = textInputViewCachedInfo(textView) {
-                aDelegate = model.textViewDelegate
-            }
-        }
-
-        aDelegate?.textViewWritingToolsWillBegin?(textView)
-    }
-
-    func textViewWritingToolsDidEnd(_ textView: UITextView) {
-
-        var aDelegate: (any UITextViewDelegate)? = delegate
-
-        if aDelegate == nil {
-
-            if let model: IQTextInputViewInfoModel = textInputViewCachedInfo(textView) {
-                aDelegate = model.textViewDelegate
-            }
-        }
-
-        aDelegate?.textViewWritingToolsDidEnd?(textView)
-    }
-
-    func textView(_ textView: UITextView,
-                               writingToolsIgnoredRangesInEnclosingRange enclosingRange: NSRange) -> [NSValue] {
-        guard delegate == nil else { return [] }
-
-        if let textViewDelegate = textInputViewCachedInfo(aTextView)?.textViewDelegate {
-            if textViewDelegate.responds(to: #selector(textView as (UITextView, NSRange) -> [NSValue])) {
-                return textViewDelegate.textView?(aTextView,
-                                                  writingToolsIgnoredRangesInEnclosingRange: enclosingRange)
-            }
-        }
-        return []
-    }
-}
-#endif
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/IQKeyboardReturnManager/Classes/IQKeyboardReturnManager.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/IQKeyboardReturnManager/Classes/IQKeyboardReturnManager.swift
deleted file mode 100644 (file)
index f8b7f29..0000000
+++ /dev/null
@@ -1,277 +0,0 @@
-//
-//  IQKeyboardReturnManager.swift
-//  https://github.com/hackiftekhar/IQKeyboardReturnManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-/**
-Manages the return key to work like next/done in a view hierarchy.
-*/
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers public final class IQKeyboardReturnManager: NSObject {
-
-    // MARK: Private variables
-    private var textInputViewInfoCache: [IQTextInputViewInfoModel] = []
-
-    // MARK: Settings
-
-    /**
-     Delegate of textInputView
-     */
-    public weak var delegate: (any UITextFieldDelegate & UITextViewDelegate)?
-
-    /**
-     Set the last textInputView return key type. Default is UIReturnKeyDefault.
-     */
-    public var lastTextInputViewReturnKeyType: UIReturnKeyType = .default {
-
-        didSet {
-            if let activeModel = textInputViewInfoCache.first(where: {
-                guard let textInputView = $0.textInputView else {
-                    return false
-                }
-                return textInputView.isFirstResponder
-            }), let view: any IQTextInputView = activeModel.textInputView {
-                updateReturnKey(textInputView: view)
-            }
-        }
-    }
-
-    public var dismissTextViewOnReturn: Bool = false
-
-    // MARK: Initialization/De-initialization
-
-    public override init() {
-        super.init()
-    }
-
-    @available(*, unavailable, message: "Please use addResponderSubviews(of:recursive:)")
-    public init(controller: UIViewController) {
-        super.init()
-        addResponderSubviews(of: controller.view, recursive: true)
-    }
-
-    deinit {
-
-        //        for model in textInputViewInfoCache {
-        //            model.restore()
-        //        }
-
-        textInputViewInfoCache.removeAll()
-    }
-}
-
-// MARK: Registering/Unregistering textInputView
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-public extension IQKeyboardReturnManager {
-
-    /**
-     Should pass TextInputView instance. Assign textInputView delegate to self, change it's returnKeyType.
-
-     @param view TextInputView object to register.
-     */
-    func add(textInputView: any IQTextInputView) {
-
-        let model = IQTextInputViewInfoModel(textInputView: textInputView)
-        textInputViewInfoCache.append(model)
-
-        if let view: UITextField = textInputView as? UITextField {
-            view.delegate = self
-        } else if let view: UITextView = textInputView as? UITextView {
-            view.delegate = self
-        }
-    }
-
-    /**
-     Should pass TextInputView instance. Restore it's textInputView delegate and it's returnKeyType.
-
-     @param view TextInputView object to unregister.
-     */
-    func remove(textInputView: any IQTextInputView) {
-
-        guard let index: Int = textInputViewCachedInfoIndex(textInputView) else { return }
-
-        let model = textInputViewInfoCache.remove(at: index)
-        model.restore()
-    }
-
-    /**
-     Add all the TextInputView responderView's.
-
-     @param view object to register all it's responder subviews.
-     */
-    func addResponderSubviews(of view: UIView, recursive: Bool) {
-
-        let textInputViews: [any IQTextInputView] = view.responderSubviews(recursive: recursive)
-
-        for view in textInputViews {
-            add(textInputView: view)
-        }
-    }
-
-    /**
-     Remove all the TextInputView responderView's.
-
-     @param view object to unregister all it's responder subviews.
-     */
-    func removeResponderSubviews(of view: UIView, recursive: Bool) {
-
-        let textInputViews: [any IQTextInputView] = view.responderSubviews(recursive: recursive)
-
-        for view in textInputViews {
-            remove(textInputView: view)
-        }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardReturnManager {
-    @discardableResult
-    func goToNextResponderOrResign(from textInputView: any IQTextInputView) -> Bool {
-
-        guard let textInfoCache: IQTextInputViewInfoModel = nextResponderFromTextInputView(textInputView),
-              let textInputView = textInfoCache.textInputView else {
-            textInputView.resignFirstResponder()
-            return true
-        }
-
-        textInputView.becomeFirstResponder()
-        return false
-    }
-}
-
-// MARK: Internal Functions
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension IQKeyboardReturnManager {
-
-    func nextResponderFromTextInputView(_ textInputView: some IQTextInputView) -> IQTextInputViewInfoModel? {
-        guard let currentIndex: Int = textInputViewCachedInfoIndex(textInputView),
-                currentIndex < textInputViewInfoCache.count - 1 else { return nil }
-
-        let candidates = Array(textInputViewInfoCache[currentIndex+1..<textInputViewInfoCache.count])
-
-        return candidates.first {
-            guard let inputView = $0.textInputView,
-                  inputView.isUserInteractionEnabled,
-                  !inputView.isHidden, inputView.alpha != 0.0
-            else { return false }
-
-            return inputView.iqIsEnabled
-        }
-    }
-
-    func textInputViewCachedInfoIndex(_ textInputView: some IQTextInputView) -> Int? {
-        return textInputViewInfoCache.firstIndex {
-            guard let inputView = $0.textInputView else { return false }
-            return inputView == textInputView
-        }
-    }
-
-    func textInputViewCachedInfo(_ textInputView: some IQTextInputView) -> IQTextInputViewInfoModel? {
-        guard let index: Int = textInputViewCachedInfoIndex(textInputView) else { return nil }
-        return textInputViewInfoCache[index]
-    }
-
-    func updateReturnKey(textInputView: some IQTextInputView) {
-
-        let returnKey: UIReturnKeyType
-        if nextResponderFromTextInputView(textInputView) != nil {
-            returnKey = .next
-        } else {
-            returnKey = lastTextInputViewReturnKeyType
-        }
-
-        if textInputView.returnKeyType != returnKey {
-            // If it's the last textInputView in responder view, else next
-            textInputView.returnKeyType = returnKey
-            textInputView.reloadInputViews()
-        }
-    }
-}
-
-// swiftlint:disable unused_setter_value
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardReturnManager {
-
-    @available(*, unavailable, renamed: "lastTextInputViewReturnKeyType")
-    var lastTextFieldReturnKeyType: UIReturnKeyType {
-        get { .default }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "add(textInputView:)")
-    func addTextFieldView(_ textInputView: any IQTextInputView) { }
-
-    @available(*, unavailable, renamed: "remove(textInputView:)")
-    func removeTextFieldView(_ textInputView: any IQTextInputView) { }
-
-    @available(*, unavailable, renamed: "addResponderSubviews(of:recursive:)")
-    func addResponderFromView(_ view: UIView, recursive: Bool) { }
-
-    @available(*, unavailable, renamed: "removeResponderSubviews(of:recursive:)")
-    func removeResponderFromView(_ view: UIView, recursive: Bool = true) { }
-}
-// swiftlint:enable unused_setter_value
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-fileprivate extension UIView {
-
-    func responderSubviews(recursive: Bool) -> [any IQTextInputView] {
-
-        // Array of TextInputViews.
-        var textInputViews: [any IQTextInputView] = []
-        for view in subviews {
-
-            if let view = view as? IQTextInputView {
-                textInputViews.append(view)
-            }
-            // Sometimes there are hidden or disabled views and textInputView inside them still recorded,
-            // so we added some more validations here (Bug ID: #458)
-            // Uncommented else (Bug ID: #625)
-            else if recursive, !view.subviews.isEmpty {
-                let deepResponders = view.responderSubviews(recursive: recursive)
-                textInputViews.append(contentsOf: deepResponders)
-            }
-        }
-
-        // subviews are returning in opposite order. Sorting according the frames 'y'.
-        return textInputViews.sorted(by: { (view1: any IQTextInputView, view2: any IQTextInputView) -> Bool in
-
-            let frame1: CGRect = view1.convert(view1.bounds, to: self)
-            let frame2: CGRect = view2.convert(view2.bounds, to: self)
-
-            if frame1.minY != frame2.minY {
-                return frame1.minY < frame2.minY
-            } else {
-                return frame1.minX < frame2.minX
-            }
-        })
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/IQKeyboardReturnManager/Classes/IQTextInputViewInfoModel.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/IQKeyboardReturnManager/Classes/IQTextInputViewInfoModel.swift
deleted file mode 100644 (file)
index c7b9099..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-//  IQTextInputViewInfoModel.swift
-//  https://github.com/hackiftekhar/IQKeyboardReturnManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal final class IQTextInputViewInfoModel: NSObject {
-
-    weak var textFieldDelegate: (any UITextFieldDelegate)?
-    weak var textViewDelegate: (any UITextViewDelegate)?
-    weak var textInputView: (any IQTextInputView)?
-    let originalReturnKeyType: UIReturnKeyType
-
-    init(textInputView: any IQTextInputView) {
-        self.textInputView = textInputView
-        self.originalReturnKeyType = textInputView.returnKeyType
-        if let textInputView = textInputView as? UITextField {
-            self.textFieldDelegate = textInputView.delegate
-        } else if let textInputView = textInputView as? UITextView {
-            self.textViewDelegate = textInputView.delegate
-        }
-
-        super.init()
-    }
-
-    func restore() {
-        textInputView?.returnKeyType = originalReturnKeyType
-        if let textInputView = textInputView as? UITextField {
-            textInputView.delegate = textFieldDelegate
-        } else if let textInputView = textInputView as? UITextView {
-            textInputView.delegate = textViewDelegate
-        }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/LICENSE b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/LICENSE
deleted file mode 100644 (file)
index 5d8eb96..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/README.md b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardReturnManager/README.md
deleted file mode 100644 (file)
index 5524787..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-# IQKeyboardReturnManager
-
-[![CI Status](https://img.shields.io/travis/hackiftekhar/IQKeyboardReturnManager.svg?style=flat)](https://travis-ci.org/hackiftekhar/IQKeyboardReturnManager)
-[![Version](https://img.shields.io/cocoapods/v/IQKeyboardReturnManager.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardReturnManager)
-[![License](https://img.shields.io/cocoapods/l/IQKeyboardReturnManager.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardReturnManager)
-[![Platform](https://img.shields.io/cocoapods/p/IQKeyboardReturnManager.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardReturnManager)
-
-![Screenshot](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardReturnManager/master/Screenshot/IQKeyboardReturnManagerScreenshot.png)
-
-## Example
-
-To run the example project, clone the repo, and run `pod install` from the Example directory first.
-
-## Requirements
-
-## Installation
-
-IQKeyboardReturnManager is available through [CocoaPods](https://cocoapods.org). To install
-it, simply add the following line to your Podfile:
-
-```ruby
-pod 'IQKeyboardReturnManager'
-```
-
-## Usage
-
-To handle keyboard return key automatically:-
-
-```swift
-import IQKeyboardReturnManager
-
-class ViewController: UIViewController {
-
-    let returnManager: IQKeyboardReturnManager = .init()
-
-    override func viewDidLoad() {
-        super.viewDidLoad()
-
-        // This will add all textInputView of the controller and start observing for textFieldShouldReturn events
-        returnManager.addResponderSubviews(of: self.view, recursive: true)
-
-        // If you would like to dismiss the UITextView on tapping on return then add this
-        returnManager.dismissTextViewOnReturn = true
-
-        // If you would like to change last textInputView return key type to done or something else, then add this
-        returnManager.lastTextInputViewReturnKeyType = .done
-
-        // If you would like to customize the navigation between textField by your own order then add them manually
-        returnManager.add(textInputView: textField1)
-        returnManager.add(textInputView: textField2)
-        returnManager.add(textInputView: textField3)
-        returnManager.add(textInputView: textField4)
-    }
-}
-
-// IQKeyboardReturnManager will forward all delegate callbacks to you, so you can customize the decisions 
-extension ViewController: UITextFieldDelegate {
-    @objc public func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {...}
-}
-```
-
-## Author
-
-Iftekhar Qurashi hack.iftekhar@gmail.com
-
-## License
-
-IQKeyboardReturnManager is available under the MIT license. See the LICENSE file for more info.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Assets/PrivacyInfo.xcprivacy b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Assets/PrivacyInfo.xcprivacy
deleted file mode 100644 (file)
index 9021190..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>NSPrivacyAccessedAPITypes</key>
-       <array/>
-       <key>NSPrivacyTrackingDomains</key>
-       <array/>
-       <key>NSPrivacyCollectedDataTypes</key>
-       <array/>
-       <key>NSPrivacyTracking</key>
-       <false/>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQBarButtonItem/IQBarButtonItem.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQBarButtonItem/IQBarButtonItem.swift
deleted file mode 100644 (file)
index b289c30..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-//
-//  IQBarButtonItem.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbar
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers open class IQBarButtonItem: UIBarButtonItem {
-
-    internal static let flexibleBarButtonItem: IQBarButtonItem = IQBarButtonItem(barButtonSystemItem: .flexibleSpace,
-                                                                                 target: nil, action: nil)
-
-    public override init() {
-        super.init()
-        initialize()
-    }
-
-    public required init?(coder aDecoder: NSCoder) {
-        super.init(coder: aDecoder)
-        initialize()
-    }
-
-    private func initialize() {
-
-        let states: [UIControl.State] = [.normal, .highlighted, .disabled, .focused]
-
-        for state in states {
-
-            setBackgroundImage(UIImage(), for: state, barMetrics: .default)
-            setBackgroundImage(UIImage(), for: state, style: .plain, barMetrics: .default)
-            setBackButtonBackgroundImage(UIImage(), for: state, barMetrics: .default)
-        }
-
-        setTitlePositionAdjustment(UIOffset(), for: .default)
-        setBackgroundVerticalPositionAdjustment(0, for: .default)
-        setBackButtonBackgroundVerticalPositionAdjustment(0, for: .default)
-    }
-
-    override open var tintColor: UIColor? {
-        didSet {
-
-            var textAttributes: [NSAttributedString.Key: Any] = [:]
-            textAttributes[.foregroundColor] = tintColor
-
-            if let attributes: [NSAttributedString.Key: Any] = titleTextAttributes(for: .normal) {
-                for (key, value) in attributes {
-                    textAttributes[key] = value
-                }
-            }
-
-            setTitleTextAttributes(textAttributes, for: .normal)
-        }
-    }
-
-    /**
-     Boolean to know if it's a system item or custom item,
-     we are having a limitation that we cannot override a designated initializer,
-     so we are manually setting this property once in initialization
-     */
-    internal var isSystemItem: Bool = false
-
-    /**
-     Additional target & action to do get callback action.
-     Note that setting custom target & selector doesn't affect native functionality,
-     this is just an additional target to get a callback.
-
-     @param target Target object.
-     @param action Target Selector.
-     */
-    open func setTarget(_ target: AnyObject?, action: Selector?) {
-        if let target: AnyObject = target, let action: Selector = action {
-            invocation = IQInvocation(target: target, action: action)
-        } else {
-            invocation = nil
-        }
-    }
-
-    /**
-     Customized Invocation to be called when button is pressed.
-     invocation is internally created using setTarget:action: method.
-     */
-    open var invocation: IQInvocation? {
-        didSet {
-            // We have to put this condition here because if we override this function then
-            // We were getting "Cannot override '_' which has been marked unavailable" in Xcode 15
-            if let titleBarButton = self as? IQTitleBarButtonItem {
-
-                if let target = invocation?.target, let action = invocation?.action {
-                    titleBarButton.isEnabled = true
-                    titleBarButton.titleButton?.isEnabled = true
-                    titleBarButton.titleButton?.addTarget(target, action: action, for: .touchUpInside)
-                } else {
-                    titleBarButton.isEnabled = false
-                    titleBarButton.titleButton?.isEnabled = false
-                    titleBarButton.titleButton?.removeTarget(nil, action: nil, for: .touchUpInside)
-                }
-            }
-        }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQBarButtonItem/IQBarButtonItemConfiguration.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQBarButtonItem/IQBarButtonItemConfiguration.swift
deleted file mode 100644 (file)
index b12e8b1..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-//
-//  IQBarButtonItemConfiguration.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbar
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-/**
- IQBarButtonItemConfiguration for creating toolbar with bar button items
- */
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers public final class IQBarButtonItemConfiguration: NSObject {
-
-    public init(systemItem: UIBarButtonItem.SystemItem, action: Selector? = nil) {
-        self.systemItem = systemItem
-        self.image = nil
-        self.title = nil
-        self.action = action
-        super.init()
-    }
-
-    public init(image: UIImage, action: Selector? = nil) {
-        self.systemItem = nil
-        self.image = image
-        self.title = nil
-        self.action = action
-        super.init()
-    }
-
-    public init(title: String, action: Selector? = nil) {
-        self.systemItem = nil
-        self.image = nil
-        self.title = title
-        self.action = action
-        super.init()
-    }
-
-    public let systemItem: UIBarButtonItem.SystemItem?    // System Item to be used to instantiate bar button.
-
-    public let image: UIImage?    // Image to show on bar button item if it's not a system item.
-
-    public let title: String?     // Title to show on bar button item if it's not a system item.
-
-    public var action: Selector?  // action for bar button item. Usually 'doneAction:(IQBarButtonItem*)item'.
-
-    public override var accessibilityLabel: String? { didSet { } } // Accessibility related labels
-
-    public func apply(on oldBarButtonItem: IQBarButtonItem, target: AnyObject?) -> IQBarButtonItem {
-
-        var newBarButtonItem: IQBarButtonItem = oldBarButtonItem
-
-        if systemItem == nil, !oldBarButtonItem.isSystemItem {
-            newBarButtonItem.title = title
-            newBarButtonItem.accessibilityLabel = accessibilityLabel
-            newBarButtonItem.accessibilityIdentifier = newBarButtonItem.accessibilityLabel
-            newBarButtonItem.image = image
-            newBarButtonItem.target = target
-            newBarButtonItem.action = action
-        } else {
-            if let systemItem: UIBarButtonItem.SystemItem = systemItem {
-                newBarButtonItem = IQBarButtonItem(barButtonSystemItem: systemItem, target: target, action: action)
-                newBarButtonItem.isSystemItem = true
-            } else if let image: UIImage = image {
-                newBarButtonItem = IQBarButtonItem(image: image, style: .plain, target: target, action: action)
-            } else {
-                newBarButtonItem = IQBarButtonItem(title: title, style: .plain, target: target, action: action)
-            }
-
-            newBarButtonItem.invocation = oldBarButtonItem.invocation
-            newBarButtonItem.accessibilityLabel = accessibilityLabel
-            newBarButtonItem.accessibilityIdentifier = oldBarButtonItem.accessibilityLabel
-            newBarButtonItem.isEnabled = oldBarButtonItem.isEnabled
-            newBarButtonItem.tag = oldBarButtonItem.tag
-        }
-        return newBarButtonItem
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQBarButtonItem/IQInvocation.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQBarButtonItem/IQInvocation.swift
deleted file mode 100644 (file)
index 95afb9f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-//  IQInvocation.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbar
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers public final class IQInvocation: NSObject {
-    public weak var target: AnyObject?
-    public let action: Selector
-
-    public init(target: AnyObject, action: Selector) {
-        self.target = target
-        self.action = action
-    }
-
-    public func invoke(from: Any) {
-
-        guard let target: AnyObject = target else { return }
-        UIApplication.shared.sendAction(action, to: target, from: from, for: UIEvent())
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQBarButtonItem/IQTitleBarButtonItem.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQBarButtonItem/IQTitleBarButtonItem.swift
deleted file mode 100644 (file)
index 0ec2ef1..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-//
-//  IQTitleBarButtonItem.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbar
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers open class IQTitleBarButtonItem: IQBarButtonItem {
-
-    open var titleFont: UIFont? {
-
-        didSet {
-            if let titleFont: UIFont = titleFont {
-                titleButton?.titleLabel?.font = titleFont
-            } else {
-                titleButton?.titleLabel?.font = UIFont.systemFont(ofSize: 13)
-            }
-        }
-    }
-
-    override open var title: String? {
-        didSet {
-            titleButton?.setTitle(title, for: .normal)
-            updateAccessibility()
-        }
-    }
-
-    /**
-     titleColor to be used for displaying button text when displaying title (disabled state).
-     */
-    open var titleColor: UIColor? {
-
-        didSet {
-
-            if let titleColor: UIColor = titleColor {
-                titleButton?.setTitleColor(titleColor, for: .disabled)
-            } else {
-                titleButton?.setTitleColor(UIColor.lightGray, for: .disabled)
-            }
-        }
-    }
-
-    /**
-     selectableTitleColor to be used for displaying button text when button is enabled.
-     */
-    open var selectableTitleColor: UIColor? {
-
-        didSet {
-
-            if let selectableTitleColor: UIColor = selectableTitleColor {
-                titleButton?.setTitleColor(selectableTitleColor, for: .normal)
-            } else {
-                titleButton?.setTitleColor(UIColor.systemBlue, for: .normal)
-            }
-        }
-    }
-
-    internal var titleButton: UIButton?
-    private var _titleView: UIView?
-
-    override init() {
-        super.init()
-    }
-
-    public convenience init(title: String?) {
-
-        self.init(title: nil, style: .plain, target: nil, action: nil)
-
-        _titleView = UIView()
-        _titleView?.backgroundColor = UIColor.clear
-
-        titleButton = UIButton(type: .system)
-        titleButton?.isAccessibilityElement = false
-        titleButton?.isEnabled = false
-        titleButton?.titleLabel?.numberOfLines = 3
-        titleButton?.setTitleColor(UIColor.lightGray, for: .disabled)
-        titleButton?.setTitleColor(UIColor.systemBlue, for: .normal)
-        titleButton?.backgroundColor = UIColor.clear
-        titleButton?.titleLabel?.textAlignment = .center
-        titleButton?.setTitle(title, for: .normal)
-        titleFont = UIFont.systemFont(ofSize: 13.0)
-        titleButton?.titleLabel?.font = self.titleFont
-        _titleView?.addSubview(titleButton!)
-
-        let lowPriority: UILayoutPriority = UILayoutPriority(rawValue: UILayoutPriority.defaultLow.rawValue-1)
-        let highPriority: UILayoutPriority = UILayoutPriority(rawValue: UILayoutPriority.defaultHigh.rawValue-1)
-
-        _titleView?.translatesAutoresizingMaskIntoConstraints = false
-        _titleView?.setContentHuggingPriority(lowPriority, for: .vertical)
-        _titleView?.setContentHuggingPriority(lowPriority, for: .horizontal)
-        _titleView?.setContentCompressionResistancePriority(highPriority, for: .vertical)
-        _titleView?.setContentCompressionResistancePriority(highPriority, for: .horizontal)
-
-        titleButton?.translatesAutoresizingMaskIntoConstraints = false
-        titleButton?.setContentHuggingPriority(lowPriority, for: .vertical)
-        titleButton?.setContentHuggingPriority(lowPriority, for: .horizontal)
-        titleButton?.setContentCompressionResistancePriority(highPriority, for: .vertical)
-        titleButton?.setContentCompressionResistancePriority(highPriority, for: .horizontal)
-
-        let top: NSLayoutConstraint = NSLayoutConstraint(item: titleButton!, attribute: .top,
-                                                         relatedBy: .equal,
-                                                         toItem: _titleView, attribute: .top,
-                                                         multiplier: 1, constant: 0)
-        let bottom: NSLayoutConstraint = NSLayoutConstraint(item: titleButton!, attribute: .bottom,
-                                                            relatedBy: .equal,
-                                                            toItem: _titleView, attribute: .bottom,
-                                                            multiplier: 1, constant: 0)
-        let leading: NSLayoutConstraint = NSLayoutConstraint(item: titleButton!, attribute: .leading,
-                                                             relatedBy: .equal,
-                                                             toItem: _titleView, attribute: .leading,
-                                                             multiplier: 1, constant: 0)
-        let trailing: NSLayoutConstraint = NSLayoutConstraint(item: titleButton!, attribute: .trailing,
-                                                              relatedBy: .equal,
-                                                              toItem: _titleView, attribute: .trailing,
-                                                              multiplier: 1, constant: 0)
-
-        _titleView?.addConstraints([top, bottom, leading, trailing])
-
-        customView = _titleView
-    }
-
-    required public init?(coder aDecoder: NSCoder) {
-        super.init(coder: aDecoder)
-    }
-
-    private func updateAccessibility() {
-        if title == nil || title?.isEmpty == true {
-            isAccessibilityElement = false
-            // Swift 6: Reference to static property 'none'
-            // is not concurrency-safe because it involves shared mutable state
-//            accessibilityTraits = .none
-            accessibilityTraits = .init(rawValue: 0)
-        } else if titleButton?.isEnabled == true {
-            isAccessibilityElement = true
-            // Swift 6: Reference to static property 'button'
-            // is not concurrency-safe because it involves shared mutable state
-//            accessibilityTraits = .button
-            accessibilityTraits = .init(rawValue: 1)
-        } else {
-            isAccessibilityElement = true
-
-            // Swift 6: Reference to static property 'staticText'
-            // is not concurrency-safe because it involves shared mutable state
-//            accessibilityTraits = .staticText
-            accessibilityTraits = .init(rawValue: 64)
-        }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQKeyboardExtension/UIView+IQKeyboardExtension.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQKeyboardExtension/UIView+IQKeyboardExtension.swift
deleted file mode 100644 (file)
index 119a958..0000000
+++ /dev/null
@@ -1,344 +0,0 @@
-//
-//  UIView+IQKeyboardExtension.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbar
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-private struct AssociatedKeys {
-    static var toolbar: Int = 0
-    static var hidePlaceholder: Int = 0
-    static var placeholder: Int = 0
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-public extension IQKeyboardExtension where Base: IQTextInputView {
-
-    // MARK: Toolbar
-
-    /**
-     Toolbar references for better customization control.
-     */
-    var toolbar: IQKeyboardToolbar {
-        var toolbar: IQKeyboardToolbar? = base?.inputAccessoryView as? IQKeyboardToolbar
-
-        if toolbar == nil, let base = base {
-            toolbar = objc_getAssociatedObject(base, &AssociatedKeys.toolbar) as? IQKeyboardToolbar
-        }
-
-        if let toolbar: IQKeyboardToolbar = toolbar {
-            return toolbar
-        } else {
-
-            let width: CGFloat = base?.window?.windowScene?.screen.bounds.width ?? 0
-
-            let frame = CGRect(origin: .zero, size: .init(width: width, height: 44))
-            let newToolbar = IQKeyboardToolbar(frame: frame)
-
-            if let base = base {
-                objc_setAssociatedObject(base, &AssociatedKeys.toolbar, newToolbar, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-            }
-
-            return newToolbar
-        }
-    }
-
-    // MARK: Toolbar title
-
-    /**
-     If `hideToolbarPlaceholder` is YES, then title will not be added to the toolbar. Default to NO.
-     */
-    var hidePlaceholder: Bool {
-        get {
-            if let base = base {
-                return objc_getAssociatedObject(base, &AssociatedKeys.hidePlaceholder) as? Bool ?? false
-            }
-            return false
-        }
-        set(newValue) {
-            if let base = base {
-                objc_setAssociatedObject(base, &AssociatedKeys.hidePlaceholder,
-                                         newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-                toolbar.titleBarButton.title = drawingPlaceholder
-            }
-        }
-    }
-
-    /**
-     `toolbarPlaceholder` to override default `placeholder` text when drawing text on toolbar.
-     */
-    var placeholder: String? {
-        get {
-            if let base = base {
-                return objc_getAssociatedObject(base, &AssociatedKeys.placeholder) as? String
-            }
-            return nil
-        }
-        set(newValue) {
-            if let base = base {
-                // swiftlint:disable line_length
-                objc_setAssociatedObject(base, &AssociatedKeys.placeholder, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-                toolbar.titleBarButton.title = drawingPlaceholder
-                // swiftlint:enable line_length
-            }
-        }
-    }
-
-    /**
-     `drawingToolbarPlaceholder` will be actual text used to draw on toolbar.
-     This would either `placeholder` or `toolbarPlaceholder`.
-     */
-    var drawingPlaceholder: String? {
-
-        guard !hidePlaceholder else { return nil }
-
-        if let placeholder = placeholder,
-              !placeholder.isEmpty {
-            return placeholder
-        }
-
-        guard let placeholderable: any IQPlaceholderable = base as? (any IQPlaceholderable) else { return nil }
-
-        if let placeholder = placeholderable.attributedPlaceholder?.string,
-           !placeholder.isEmpty {
-            return placeholder
-        } else if let placeholder = placeholderable.placeholder {
-            return placeholder
-        } else {
-            return nil
-        }
-    }
-
-    // MARK: Common
-
-    func addToolbar(target: AnyObject?,
-                    previousConfiguration: IQBarButtonItemConfiguration? = nil,
-                    nextConfiguration: IQBarButtonItemConfiguration? = nil,
-                    rightConfiguration: IQBarButtonItemConfiguration? = nil,
-                    title: String?,
-                    titleAccessibilityLabel: String? = nil) {
-        guard let base = base else { return }
-        //  Creating a toolBar for phoneNumber keyboard
-        let toolbar: IQKeyboardToolbar = toolbar
-
-        let items: [UIBarButtonItem] = Self.constructBarButtonItems(target: target, toolbar: toolbar,
-                                                                    previousConfiguration: previousConfiguration,
-                                                                    nextConfiguration: nextConfiguration,
-                                                                    rightConfiguration: rightConfiguration,
-                                                                    title: title,
-                                                                    titleAccessibilityLabel: titleAccessibilityLabel)
-
-        //  Adding button to toolBar.
-        toolbar.items = items
-
-        switch base.keyboardAppearance {
-        case .dark:
-            toolbar.barStyle = .black
-        default:
-            toolbar.barStyle = .default
-        }
-
-        //  Setting toolbar to keyboard.
-        let reloadInputViews: Bool = base.inputAccessoryView != toolbar
-        guard reloadInputViews else { return }
-
-        base.inputAccessoryView = toolbar
-
-        base.reloadInputViews()
-    }
-
-    // MARK: Right
-    func addDone(target: AnyObject?,
-                 action: Selector,
-                 showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
-
-        let title: String? = showPlaceholder ? drawingPlaceholder : nil
-
-        addDone(target: target, action: action,
-                   title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func addDone(target: AnyObject?,
-                 action: Selector,
-                 title: String?, titleAccessibilityLabel: String? = nil) {
-
-        let rightConfiguration = IQBarButtonItemConfiguration(systemItem: .done, action: action)
-
-        addToolbar(target: target, rightConfiguration: rightConfiguration,
-                   title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func addRightButton(target: AnyObject?,
-                        configuration: IQBarButtonItemConfiguration,
-                        showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
-        let title: String? = showPlaceholder ? drawingPlaceholder : nil
-        addRightButton(target: target, configuration: configuration, title: title,
-                       titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func addRightButton(target: AnyObject?,
-                        configuration: IQBarButtonItemConfiguration,
-                        title: String?, titleAccessibilityLabel: String? = nil) {
-        addToolbar(target: target, rightConfiguration: configuration, title: title,
-                   titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    // MARK: Right/Left
-    func addRightLeft(target: AnyObject?,
-                      rightConfiguration: IQBarButtonItemConfiguration, leftConfiguration: IQBarButtonItemConfiguration,
-                      showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
-        let title: String? = showPlaceholder ? drawingPlaceholder : nil
-        addRightLeft(target: target,
-                     rightConfiguration: rightConfiguration, leftConfiguration: leftConfiguration,
-                     title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func addRightLeft(target: AnyObject?,
-                      rightConfiguration: IQBarButtonItemConfiguration, leftConfiguration: IQBarButtonItemConfiguration,
-                      title: String?, titleAccessibilityLabel: String? = nil) {
-        addToolbar(target: target,
-                   previousConfiguration: leftConfiguration, rightConfiguration: rightConfiguration,
-                   title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    // MARK: Previous/Next/Right
-
-    func addPreviousNextRight(target: AnyObject?,
-                              previousConfiguration: IQBarButtonItemConfiguration? = nil,
-                              nextConfiguration: IQBarButtonItemConfiguration? = nil,
-                              rightConfiguration: IQBarButtonItemConfiguration?,
-                              showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
-
-        let title: String? = showPlaceholder ? drawingPlaceholder : nil
-        addPreviousNextRight(target: target,
-                             previousConfiguration: previousConfiguration, nextConfiguration: nextConfiguration,
-                             rightConfiguration: rightConfiguration,
-                             title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func addPreviousNextRight(target: AnyObject?,
-                              previousConfiguration: IQBarButtonItemConfiguration? = nil,
-                              nextConfiguration: IQBarButtonItemConfiguration? = nil,
-                              rightConfiguration: IQBarButtonItemConfiguration?,
-                              title: String?, titleAccessibilityLabel: String? = nil) {
-
-        addToolbar(target: target,
-                   previousConfiguration: previousConfiguration, nextConfiguration: nextConfiguration,
-                   rightConfiguration: rightConfiguration,
-                   title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func addPreviousNextDone(target: AnyObject?, previousAction: Selector, nextAction: Selector, doneAction: Selector,
-                             showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
-        let title: String? = showPlaceholder ? drawingPlaceholder : nil
-        addPreviousNextDone(target: target, previousAction: previousAction, nextAction: nextAction,
-                            doneAction: doneAction,
-                            title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func addPreviousNextDone(target: AnyObject?,
-                             previousAction: Selector, nextAction: Selector, doneAction: Selector,
-                             title: String?, titleAccessibilityLabel: String? = nil) {
-
-        let chevronUp: UIImage = UIImage(systemName: "chevron.up") ?? UIImage()
-        let chevronDown: UIImage = UIImage(systemName: "chevron.down") ?? UIImage()
-
-        let previousConfiguration = IQBarButtonItemConfiguration(image: chevronUp,
-                                                                 action: previousAction)
-        let nextConfiguration = IQBarButtonItemConfiguration(image: chevronDown,
-                                                             action: nextAction)
-        let rightConfiguration = IQBarButtonItemConfiguration(systemItem: .done,
-                                                              action: doneAction)
-
-        addToolbar(target: target, previousConfiguration: previousConfiguration,
-                   nextConfiguration: nextConfiguration, rightConfiguration: rightConfiguration,
-                   title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-private extension IQKeyboardExtension where Base: IQTextInputView {
-
-    private static func constructBarButtonItems(target: AnyObject?,
-                                                toolbar: IQKeyboardToolbar,
-                                                previousConfiguration: IQBarButtonItemConfiguration? = nil,
-                                                nextConfiguration: IQBarButtonItemConfiguration? = nil,
-                                                rightConfiguration: IQBarButtonItemConfiguration? = nil,
-                                                title: String?,
-                                                titleAccessibilityLabel: String? = nil) -> [UIBarButtonItem] {
-        var items: [UIBarButtonItem] = []
-
-        if let previousConfiguration: IQBarButtonItemConfiguration = previousConfiguration {
-            let prev: IQBarButtonItem = previousConfiguration.apply(on: toolbar.previousBarButton, target: target)
-            toolbar.previousBarButton = prev
-            items.append(prev)
-        }
-
-        if previousConfiguration != nil, nextConfiguration != nil {
-            items.append(toolbar.fixedSpaceBarButton)
-        }
-
-        if let nextConfiguration: IQBarButtonItemConfiguration = nextConfiguration {
-            let next: IQBarButtonItem = nextConfiguration.apply(on: toolbar.nextBarButton, target: target)
-            toolbar.nextBarButton = next
-            items.append(next)
-        }
-
-        if !toolbar.additionalLeadingItems.isEmpty {
-            items.append(contentsOf: toolbar.additionalLeadingItems)
-        }
-
-        // Title bar button item
-        do {
-            // Flexible space
-            items.append(IQBarButtonItem.flexibleBarButtonItem)
-
-            // Title button
-            toolbar.titleBarButton.title = title
-            toolbar.titleBarButton.accessibilityLabel = titleAccessibilityLabel
-            toolbar.titleBarButton.accessibilityIdentifier = titleAccessibilityLabel
-
-            toolbar.titleBarButton.customView?.frame = .zero
-
-            items.append(toolbar.titleBarButton)
-
-            // Flexible space
-            items.append(IQBarButtonItem.flexibleBarButtonItem)
-        }
-
-        if !toolbar.additionalTrailingItems.isEmpty {
-            items.append(contentsOf: toolbar.additionalTrailingItems)
-        }
-
-        if let rightConfiguration: IQBarButtonItemConfiguration = rightConfiguration {
-
-            let done: IQBarButtonItem = rightConfiguration.apply(on: toolbar.doneBarButton, target: target)
-            toolbar.doneBarButton = done
-            items.append(done)
-        }
-        return items
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQKeyboardExtension/UIView+IQKeyboardExtensionDeprecated.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQKeyboardExtension/UIView+IQKeyboardExtensionDeprecated.swift
deleted file mode 100644 (file)
index c3be1a4..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-//
-//  UIView+IQKeyboardExtensionDeprecated.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbar
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-// swiftlint:disable unused_setter_value
-// swiftlint:disable line_length
-// swiftlint:disable function_parameter_count
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension UIView {
-
-    @available(*, unavailable, renamed: "iq.toolbar")
-    var keyboardToolbar: IQKeyboardToolbar {
-        get { fatalError() }
-        set {}
-    }
-
-    @available(*, unavailable, renamed: "iq.hidePlaceholder")
-    var shouldHideToolbarPlaceholder: Bool {
-        get { false }
-        set {}
-    }
-
-    @available(*, unavailable, renamed: "iq.placeholder")
-    var toolbarPlaceholder: String? {
-        get { nil }
-        set {}
-    }
-
-    @available(*, unavailable, renamed: "iq.drawingPlaceholder")
-    var drawingToolbarPlaceholder: String? {
-        get { nil }
-        set {}
-    }
-
-    @available(*, unavailable, renamed: "iq.addToolbar(target:previousConfiguration:nextConfiguration:rightConfiguration:title:titleAccessibilityLabel:)")
-    func addKeyboardToolbarWithTarget(target: AnyObject?,
-                                      titleText: String?,
-                                      titleAccessibilityLabel: String? = nil,
-                                      rightBarButtonConfiguration: IQBarButtonItemConfiguration?,
-                                      previousBarButtonConfiguration: IQBarButtonItemConfiguration? = nil,
-                                      nextBarButtonConfiguration: IQBarButtonItemConfiguration? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addDone(target:action:showPlaceholder:titleAccessibilityLabel:)")
-    func addDoneOnKeyboardWithTarget(_ target: AnyObject?,
-                                     action: Selector,
-                                     shouldShowPlaceholder: Bool = false,
-                                     titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addDone(target:action:title:titleAccessibilityLabel:)")
-    func addDoneOnKeyboardWithTarget(_ target: AnyObject?,
-                                     action: Selector,
-                                     titleText: String?,
-                                     titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addRightButton(target:configuration:showPlaceholder:titleAccessibilityLabel:)")
-    func addRightButtonOnKeyboardWithImage(_ image: UIImage,
-                                           target: AnyObject?,
-                                           action: Selector,
-                                           shouldShowPlaceholder: Bool = false,
-                                           titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addRightButton(target:configuration:title:titleAccessibilityLabel:)")
-    func addRightButtonOnKeyboardWithImage(_ image: UIImage,
-                                           target: AnyObject?,
-                                           action: Selector,
-                                           titleText: String?,
-                                           titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addRightButton(target:configuration:showPlaceholder:titleAccessibilityLabel:)")
-    func addRightButtonOnKeyboardWithText(_ text: String,
-                                          target: AnyObject?,
-                                          action: Selector,
-                                          shouldShowPlaceholder: Bool = false,
-                                          titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addRightButton(target:configuration:title:titleAccessibilityLabel:)")
-    func addRightButtonOnKeyboardWithText(_ text: String,
-                                          target: AnyObject?,
-                                          action: Selector,
-                                          titleText: String?,
-                                          titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addRightLeft(target:rightConfiguration:leftConfiguration:showPlaceholder:titleAccessibilityLabel:)")
-    func addCancelDoneOnKeyboardWithTarget(_ target: AnyObject?,
-                                           cancelAction: Selector,
-                                           doneAction: Selector,
-                                           shouldShowPlaceholder: Bool = false,
-                                           titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addRightLeft(target:rightConfiguration:leftConfiguration:showPlaceholder:titleAccessibilityLabel:)")
-    func addRightLeftOnKeyboardWithTarget(_ target: AnyObject?,
-                                          leftButtonTitle: String,
-                                          rightButtonTitle: String,
-                                          leftButtonAction: Selector,
-                                          rightButtonAction: Selector,
-                                          shouldShowPlaceholder: Bool = false,
-                                          titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addRightLeft(target:rightConfiguration:leftConfiguration:showPlaceholder:titleAccessibilityLabel:)")
-    func addRightLeftOnKeyboardWithTarget(_ target: AnyObject?,
-                                          leftButtonImage: UIImage,
-                                          rightButtonImage: UIImage,
-                                          leftButtonAction: Selector,
-                                          rightButtonAction: Selector,
-                                          shouldShowPlaceholder: Bool = false,
-                                          titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addRightLeft(target:rightConfiguration:leftConfiguration:title:titleAccessibilityLabel:)")
-    func addCancelDoneOnKeyboardWithTarget(_ target: AnyObject?,
-                                           cancelAction: Selector,
-                                           doneAction: Selector,
-                                           titleText: String?,
-                                           titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addRightLeft(target:rightConfiguration:leftConfiguration:title:titleAccessibilityLabel:)")
-    func addRightLeftOnKeyboardWithTarget(_ target: AnyObject?,
-                                          leftButtonTitle: String,
-                                          rightButtonTitle: String,
-                                          leftButtonAction: Selector,
-                                          rightButtonAction: Selector,
-                                          titleText: String?,
-                                          titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addRightLeft(target:rightConfiguration:leftConfiguration:title:titleAccessibilityLabel:)")
-    func addRightLeftOnKeyboardWithTarget(_ target: AnyObject?,
-                                          leftButtonImage: UIImage,
-                                          rightButtonImage: UIImage,
-                                          leftButtonAction: Selector,
-                                          rightButtonAction: Selector,
-                                          titleText: String?,
-                                          titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addPreviousNextDone(target:previousAction:nextAction:doneAction:showPlaceholder:titleAccessibilityLabel:)")
-    func addPreviousNextDone(_ target: AnyObject?,
-                             previousAction: Selector,
-                             nextAction: Selector,
-                             doneAction: Selector,
-                             shouldShowPlaceholder: Bool = false,
-                             titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addPreviousNextDone(target:previousAction:nextAction:doneAction:title:titleAccessibilityLabel:)")
-    func addPreviousNextDoneOnKeyboardWithTarget(_ target: AnyObject?,
-                                                 previousAction: Selector,
-                                                 nextAction: Selector,
-                                                 doneAction: Selector,
-                                                 titleText: String?,
-                                                 titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addPreviousNextRight(target:previousConfiguration:nextConfiguration:rightConfiguration:showPlaceholder:titleAccessibilityLabel:)")
-    func addPreviousNextRightOnKeyboardWithTarget(_ target: AnyObject?,
-                                                  rightButtonImage: UIImage,
-                                                  previousAction: Selector,
-                                                  nextAction: Selector,
-                                                  rightButtonAction: Selector,
-                                                  shouldShowPlaceholder: Bool = false,
-                                                  titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addPreviousNextRight(target:previousConfiguration:nextConfiguration:rightConfiguration:showPlaceholder:titleAccessibilityLabel:)")
-    func addPreviousNextRightOnKeyboardWithTarget(_ target: AnyObject?,
-                                                  rightButtonTitle: String,
-                                                  previousAction: Selector,
-                                                  nextAction: Selector,
-                                                  rightButtonAction: Selector,
-                                                  shouldShowPlaceholder: Bool = false,
-                                                  titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addPreviousNextRight(target:previousConfiguration:nextConfiguration:rightConfiguration:title:titleAccessibilityLabel:)")
-    func addPreviousNextRightOnKeyboardWithTarget(_ target: AnyObject?,
-                                                  rightButtonImage: UIImage,
-                                                  previousAction: Selector,
-                                                  nextAction: Selector,
-                                                  rightButtonAction: Selector,
-                                                  titleText: String?,
-                                                  titleAccessibilityLabel: String? = nil) {
-    }
-
-    @available(*, unavailable, renamed: "iq.addPreviousNextRight(target:previousConfiguration:nextConfiguration:rightConfiguration:title:titleAccessibilityLabel:)")
-    func addPreviousNextRightOnKeyboardWithTarget(_ target: AnyObject?,
-                                                  rightButtonTitle: String,
-                                                  previousAction: Selector,
-                                                  nextAction: Selector,
-                                                  rightButtonAction: Selector,
-                                                  titleText: String?,
-                                                  titleAccessibilityLabel: String? = nil) {
-    }
-}
-// swiftlint:enable unused_setter_value
-// swiftlint:enable line_length
-// swiftlint:enable function_parameter_count
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQKeyboardExtension/UIView+IQKeyboardExtensionObjc.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQKeyboardExtension/UIView+IQKeyboardExtensionObjc.swift
deleted file mode 100644 (file)
index 2dbcdbe..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-//
-//  UIView+IQKeyboardExtensionObjc.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbar
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-// MARK: For ObjectiveC Compatibility
-
-// swiftlint:disable identifier_name
-@objc public extension UITextField {
-
-    var iq_toolbar: IQKeyboardToolbar { iq.toolbar }
-
-    var iq_hidePlaceholder: Bool {
-        get { iq.hidePlaceholder }
-        set(newValue) { iq.hidePlaceholder = newValue }
-    }
-
-    var iq_placeholder: String? {
-        get { iq.placeholder }
-        set(newValue) { iq.placeholder = newValue }
-    }
-
-    var iq_drawingPlaceholder: String? { iq.drawingPlaceholder }
-
-    func iq_addToolbar(target: AnyObject?,
-                       previousConfiguration: IQBarButtonItemConfiguration? = nil,
-                       nextConfiguration: IQBarButtonItemConfiguration? = nil,
-                       rightConfiguration: IQBarButtonItemConfiguration? = nil,
-                       title: String?,
-                       titleAccessibilityLabel: String? = nil) {
-        iq.addToolbar(target: target, previousConfiguration: previousConfiguration,
-                      nextConfiguration: nextConfiguration,
-                      rightConfiguration: rightConfiguration,
-                      title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addDone(target: AnyObject?,
-                    action: Selector,
-                    showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
-        iq.addDone(target: target, action: action, showPlaceholder: showPlaceholder,
-                   titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addDone(target: AnyObject?,
-                    action: Selector,
-                    title: String?, titleAccessibilityLabel: String? = nil) {
-        iq.addDone(target: target, action: action, title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addRightButton(target: AnyObject?,
-                           configuration: IQBarButtonItemConfiguration,
-                           showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
-        iq.addRightButton(target: target, configuration: configuration, showPlaceholder: showPlaceholder,
-                          titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addRightButton(target: AnyObject?,
-                           configuration: IQBarButtonItemConfiguration,
-                           title: String?, titleAccessibilityLabel: String? = nil) {
-        iq.addRightButton(target: target, configuration: configuration, title: title,
-                          titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addRightLeft(target: AnyObject?,
-                         rightConfiguration: IQBarButtonItemConfiguration,
-                         leftConfiguration: IQBarButtonItemConfiguration,
-                         showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
-        iq.addRightLeft(target: target, rightConfiguration: rightConfiguration,
-                        leftConfiguration: leftConfiguration, showPlaceholder: showPlaceholder,
-                        titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addRightLeft(target: AnyObject?,
-                         rightConfiguration: IQBarButtonItemConfiguration,
-                         leftConfiguration: IQBarButtonItemConfiguration,
-                         title: String?, titleAccessibilityLabel: String? = nil) {
-        iq.addRightLeft(target: target, rightConfiguration: rightConfiguration,
-                        leftConfiguration: leftConfiguration, title: title,
-                        titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addPreviousNextRight(target: AnyObject?,
-                                 previousConfiguration: IQBarButtonItemConfiguration? = nil,
-                                 nextConfiguration: IQBarButtonItemConfiguration? = nil,
-                                 rightConfiguration: IQBarButtonItemConfiguration?,
-                                 showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
-        iq.addPreviousNextRight(target: target, previousConfiguration: previousConfiguration,
-                                nextConfiguration: nextConfiguration, rightConfiguration: rightConfiguration,
-                                showPlaceholder: showPlaceholder, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addPreviousNextRight(target: AnyObject?,
-                                 previousConfiguration: IQBarButtonItemConfiguration? = nil,
-                                 nextConfiguration: IQBarButtonItemConfiguration? = nil,
-                                 rightConfiguration: IQBarButtonItemConfiguration?,
-                                 title: String?, titleAccessibilityLabel: String? = nil) {
-        iq.addPreviousNextRight(target: target, previousConfiguration: previousConfiguration,
-                                nextConfiguration: nextConfiguration,
-                                rightConfiguration: rightConfiguration,
-                                title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addPreviousNextDone(target: AnyObject?, previousAction: Selector,
-                                nextAction: Selector, doneAction: Selector,
-                                showPlaceholder: Bool = false,
-                                titleAccessibilityLabel: String? = nil) {
-        iq.addPreviousNextDone(target: target, previousAction: previousAction,
-                               nextAction: nextAction, doneAction: doneAction,
-                               showPlaceholder: showPlaceholder,
-                               titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addPreviousNextDone(target: AnyObject?,
-                                previousAction: Selector, nextAction: Selector, doneAction: Selector,
-                                title: String?, titleAccessibilityLabel: String? = nil) {
-        iq.addPreviousNextDone(target: target, previousAction: previousAction,
-                               nextAction: nextAction, doneAction: doneAction,
-                               title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-}
-
-@objc public extension UITextView {
-
-    var iq_toolbar: IQKeyboardToolbar { iq.toolbar }
-
-    var iq_hidePlaceholder: Bool {
-        get { iq.hidePlaceholder }
-        set(newValue) { iq.hidePlaceholder = newValue }
-    }
-
-    var iq_placeholder: String? {
-        get { iq.placeholder }
-        set(newValue) { iq.placeholder = newValue }
-    }
-
-    var iq_drawingPlaceholder: String? { iq.drawingPlaceholder }
-
-    func iq_addToolbar(target: AnyObject?,
-                       previousConfiguration: IQBarButtonItemConfiguration? = nil,
-                       nextConfiguration: IQBarButtonItemConfiguration? = nil,
-                       rightConfiguration: IQBarButtonItemConfiguration? = nil,
-                       title: String?,
-                       titleAccessibilityLabel: String? = nil) {
-        iq.addToolbar(target: target, previousConfiguration: previousConfiguration,
-                      nextConfiguration: nextConfiguration, rightConfiguration: rightConfiguration,
-                      title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addDone(target: AnyObject?,
-                    action: Selector,
-                    showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
-        iq.addDone(target: target, action: action, showPlaceholder: showPlaceholder,
-                   titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addDone(target: AnyObject?,
-                    action: Selector,
-                    title: String?, titleAccessibilityLabel: String? = nil) {
-        iq.addDone(target: target, action: action, title: title,
-                   titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addRightButton(target: AnyObject?,
-                           configuration: IQBarButtonItemConfiguration,
-                           showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
-        iq.addRightButton(target: target, configuration: configuration,
-                          showPlaceholder: showPlaceholder, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addRightButton(target: AnyObject?,
-                           configuration: IQBarButtonItemConfiguration,
-                           title: String?, titleAccessibilityLabel: String? = nil) {
-        iq.addRightButton(target: target, configuration: configuration,
-                          title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addRightLeft(target: AnyObject?,
-                         rightConfiguration: IQBarButtonItemConfiguration,
-                         leftConfiguration: IQBarButtonItemConfiguration,
-                         showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
-        iq.addRightLeft(target: target, rightConfiguration: rightConfiguration,
-                        leftConfiguration: leftConfiguration, showPlaceholder: showPlaceholder,
-                        titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addRightLeft(target: AnyObject?,
-                         rightConfiguration: IQBarButtonItemConfiguration,
-                         leftConfiguration: IQBarButtonItemConfiguration,
-                         title: String?, titleAccessibilityLabel: String? = nil) {
-        iq.addRightLeft(target: target, rightConfiguration: rightConfiguration,
-                        leftConfiguration: leftConfiguration, title: title,
-                        titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addPreviousNextRight(target: AnyObject?,
-                                 previousConfiguration: IQBarButtonItemConfiguration? = nil,
-                                 nextConfiguration: IQBarButtonItemConfiguration? = nil,
-                                 rightConfiguration: IQBarButtonItemConfiguration?,
-                                 showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
-        iq.addPreviousNextRight(target: target, previousConfiguration: previousConfiguration,
-                                nextConfiguration: nextConfiguration, rightConfiguration: rightConfiguration,
-                                showPlaceholder: showPlaceholder, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addPreviousNextRight(target: AnyObject?,
-                                 previousConfiguration: IQBarButtonItemConfiguration? = nil,
-                                 nextConfiguration: IQBarButtonItemConfiguration? = nil,
-                                 rightConfiguration: IQBarButtonItemConfiguration?,
-                                 title: String?, titleAccessibilityLabel: String? = nil) {
-        iq.addPreviousNextRight(target: target, previousConfiguration: previousConfiguration,
-                                nextConfiguration: nextConfiguration,
-                                rightConfiguration: rightConfiguration,
-                                title: title, titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addPreviousNextDone(target: AnyObject?, previousAction: Selector, nextAction: Selector,
-                                doneAction: Selector, showPlaceholder: Bool = false,
-                                titleAccessibilityLabel: String? = nil) {
-        iq.addPreviousNextDone(target: target, previousAction: previousAction,
-                               nextAction: nextAction,
-                               doneAction: doneAction, showPlaceholder: showPlaceholder,
-                               titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-
-    func iq_addPreviousNextDone(target: AnyObject?,
-                                previousAction: Selector, nextAction: Selector, doneAction: Selector,
-                                title: String?, titleAccessibilityLabel: String? = nil) {
-        iq.addPreviousNextDone(target: target, previousAction: previousAction,
-                               nextAction: nextAction,
-                               doneAction: doneAction, title: title,
-                               titleAccessibilityLabel: titleAccessibilityLabel)
-    }
-}
-// swiftlint:enable identifier_name
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQKeyboardToolbar.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/IQKeyboardToolbar.swift
deleted file mode 100644 (file)
index f2d78b7..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-//
-//  IQKeyboardToolbar.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbar
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-/** @abstract IQKeyboardToolbar.    */
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers open class IQKeyboardToolbar: UIToolbar {
-
-    override public init(frame: CGRect) {
-        super.init(frame: frame)
-
-        initialize()
-    }
-
-    required public init?(coder aDecoder: NSCoder) {
-        super.init(coder: aDecoder)
-
-        initialize()
-    }
-
-    private func initialize() {
-
-        sizeToFit()
-
-        autoresizingMask = .flexibleWidth
-        self.isTranslucent = true
-        self.barTintColor = nil
-
-        let positions: [UIBarPosition] = [.any, .bottom, .top, .topAttached]
-
-        for position in positions {
-
-            self.setBackgroundImage(nil, forToolbarPosition: position, barMetrics: .default)
-            self.setShadowImage(nil, forToolbarPosition: .any)
-        }
-
-        // Background color
-        self.backgroundColor = nil
-    }
-
-    /**
-     Additional bar buttons to show at the leading side.
-     */
-    open var additionalLeadingItems: [UIBarButtonItem] = []
-
-    /**
-     Additional bar buttons to show at the trailing side.
-     */
-    open var additionalTrailingItems: [UIBarButtonItem] = []
-
-    /**
-     Previous bar button of toolbar.
-     */
-    private var privatePreviousBarButton: IQBarButtonItem?
-    open var previousBarButton: IQBarButtonItem {
-        get {
-            if privatePreviousBarButton == nil {
-                privatePreviousBarButton = IQBarButtonItem(image: nil, style: .plain, target: nil, action: nil)
-            }
-            return privatePreviousBarButton!
-        }
-
-        set (newValue) {
-            privatePreviousBarButton = newValue
-        }
-    }
-
-    /**
-     Next bar button of toolbar.
-     */
-    private var privateNextBarButton: IQBarButtonItem?
-    open var nextBarButton: IQBarButtonItem {
-        get {
-            if privateNextBarButton == nil {
-                privateNextBarButton = IQBarButtonItem(image: nil, style: .plain, target: nil, action: nil)
-            }
-            return privateNextBarButton!
-        }
-
-        set (newValue) {
-            privateNextBarButton = newValue
-        }
-    }
-
-    /**
-     Title bar button of toolbar.
-     */
-    private var privateTitleBarButton: IQTitleBarButtonItem?
-    open var titleBarButton: IQTitleBarButtonItem {
-        get {
-            if privateTitleBarButton == nil {
-                privateTitleBarButton = IQTitleBarButtonItem(title: nil)
-            }
-            return privateTitleBarButton!
-        }
-
-        set (newValue) {
-            privateTitleBarButton = newValue
-        }
-    }
-
-    /**
-     Done bar button of toolbar.
-     */
-    private var privateDoneBarButton: IQBarButtonItem?
-    open var doneBarButton: IQBarButtonItem {
-        get {
-            if privateDoneBarButton == nil {
-                privateDoneBarButton = IQBarButtonItem(title: nil, style: .done, target: nil, action: nil)
-            }
-            return privateDoneBarButton!
-        }
-
-        set (newValue) {
-            privateDoneBarButton = newValue
-        }
-    }
-
-    /**
-     Fixed space bar button of toolbar.
-     */
-    private var privateFixedSpaceBarButton: IQBarButtonItem?
-    open var fixedSpaceBarButton: IQBarButtonItem {
-        get {
-            if privateFixedSpaceBarButton == nil {
-                privateFixedSpaceBarButton = IQBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil)
-            }
-            privateFixedSpaceBarButton?.isSystemItem = true
-            privateFixedSpaceBarButton?.width = 6
-
-            return privateFixedSpaceBarButton!
-        }
-
-        set (newValue) {
-            privateFixedSpaceBarButton = newValue
-        }
-    }
-
-    override open func sizeThatFits(_ size: CGSize) -> CGSize {
-        var sizeThatFit: CGSize = super.sizeThatFits(size)
-        sizeThatFit.height = 44
-        return sizeThatFit
-    }
-
-    override open var tintColor: UIColor! {
-
-        didSet {
-            guard let items: [UIBarButtonItem] = items else { return }
-            for item in items {
-                item.tintColor = tintColor
-            }
-        }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc extension IQKeyboardToolbar: UIInputViewAudioFeedback {
-
-    open var enableInputClicksWhenVisible: Bool {
-        return true
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/Placeholder/IQKeyboardToolbarPlaceholderConfiguration.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Classes/Placeholder/IQKeyboardToolbarPlaceholderConfiguration.swift
deleted file mode 100644 (file)
index 9f543e5..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-//
-//  IQKeyboardToolbarPlaceholderConfiguration.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbar
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-// swiftlint:disable type_name
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers public final class IQKeyboardToolbarPlaceholderConfiguration: NSObject {
-
-    /**
-     If YES, then it add the textInputView's placeholder text on toolbar. Default is YES.
-    */
-    public var showPlaceholder: Bool = true
-
-    /**
-    Placeholder Font. Default is nil.
-    */
-    public var font: UIFont?
-
-    /**
-     Placeholder Color. Default is nil. Which means lightGray
-     */
-    public var color: UIColor?
-
-    /**
-     Placeholder Button Color when it's treated as button. Default is nil.
-     */
-    public var buttonColor: UIColor?
-
-    /**
-     Placeholder accessibility Label
-     */
-    public override var accessibilityLabel: String? { didSet { } }
-}
-// swiftlint:enable type_name
-
-@available(*, unavailable, renamed: "IQKeyboardToolbarPlaceholderConfiguration")
-@MainActor
-@objcMembers public final class IQToolbarPlaceholderConfiguration: NSObject {}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Placeholderable/IQPlaceholderable.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/IQKeyboardToolbar/Placeholderable/IQPlaceholderable.swift
deleted file mode 100644 (file)
index f0ceea2..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-//  IQPlaceholderable.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbar
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import Foundation
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public protocol IQPlaceholderable: AnyObject {
-
-    var placeholder: String? { get set }
-    var attributedPlaceholder: NSAttributedString? { get set }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc extension UITextField: IQPlaceholderable { }
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/LICENSE b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/LICENSE
deleted file mode 100644 (file)
index 5d8eb96..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/README.md b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbar/README.md
deleted file mode 100644 (file)
index 3b60eb8..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-# IQKeyboardToolbar
-
-[![CI Status](https://img.shields.io/travis/hackiftekhar/IQKeyboardToolbar.svg?style=flat)](https://travis-ci.org/hackiftekhar/IQKeyboardToolbar)
-[![Version](https://img.shields.io/cocoapods/v/IQKeyboardToolbar.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardToolbar)
-[![License](https://img.shields.io/cocoapods/l/IQKeyboardToolbar.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardToolbar)
-[![Platform](https://img.shields.io/cocoapods/p/IQKeyboardToolbar.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardToolbar)
-
-![Screenshot1](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardToolbar/master/Screenshot/IQKeyboardToolbarScreenshot.png)
-![Screenshot2](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardToolbar/master/Screenshot/IQKeyboardToolbarScreenshot2.png)
-![Screenshot3](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardToolbar/master/Screenshot/IQKeyboardToolbarScreenshot3.png)
-![Screenshot4](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardToolbar/master/Screenshot/IQKeyboardToolbarScreenshot4.png)
-
-## Example
-
-To run the example project, clone the repo, and run `pod install` from the Example directory first.
-
-## Requirements
-
-## Installation
-
-IQKeyboardToolbar is available through [CocoaPods](https://cocoapods.org). To install
-it, simply add the following line to your Podfile:
-
-```ruby
-pod 'IQKeyboardToolbar'
-```
-
-## Usage
-
-This library can be used to add toolbar to the keyboard
-
-Previous Next and Done button
-```swift
-        textField.iq.addPreviousNextDone(target: self,
-                                         previousAction: #selector(textField1PreviousAction),
-                                         nextAction: #selector(textField1NextAction),
-                                         doneAction: #selector(doneAction), showPlaceholder: true)
-```
-
-Previous Next and Right button with customized titles or images
-```swift
-        textField.iq.addPreviousNextRight(target: self,
-                                          previousConfiguration: .init(title: "Prev", action: #selector(textView1PreviousAction)),
-                                          nextConfiguration: .init(title: "Next", action: #selector(textView1NextAction)),
-                                          rightConfiguration: .init(image: UIImage(systemName: "chevron.down")!, action: #selector(doneAction)),
-                                          title: "Text View 1")
-```
-
-Action button
-```swift
-        textField.iq.addDone(target: self,
-                             action: #selector(doneAction),
-                             title: "Select Account")
-        textField.iq.toolbar.titleBarButton.setTarget(self,
-                                                      action: #selector(selectAccount))
-```
-
-Additional leading and trailing buttons
-```swift
-        textField.iq.toolbar.additionalLeadingItems = [.init(barButtonSystemItem: .add, target: self, action: #selector(addAction))]
-        textField.iq.toolbar.additionalTrailingItems = [.init(barButtonSystemItem: .camera, target: self, action: #selector(cameraAction))]
-        textField.iq.addToolbar(target: self,
-                                previousConfiguration: nil,
-                                nextConfiguration: .init(title: "Next", action: #selector(doneAction)),
-                                rightConfiguration: .init(title: "Finish", action: #selector(doneAction)),
-                                title: "TextView 2")
-```
-
-Hide Placeholder
-```swift
-        textField1.iq.hidePlaceholder = true
-```
-
-Customized Placeholder
-```swift
-        textField1.iq.placeholder = "My Own Placeholder"
-```
-
-## Author
-
-Iftekhar Qurashi hack.iftekhar@gmail.com
-
-## License
-
-IQKeyboardToolbar is available under the MIT license. See the LICENSE file for more info.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Assets/PrivacyInfo.xcprivacy b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Assets/PrivacyInfo.xcprivacy
deleted file mode 100644 (file)
index 9021190..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>NSPrivacyAccessedAPITypes</key>
-       <array/>
-       <key>NSPrivacyTrackingDomains</key>
-       <array/>
-       <key>NSPrivacyCollectedDataTypes</key>
-       <array/>
-       <key>NSPrivacyTracking</key>
-       <false/>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Configuration/IQKeyboardToolbarConfiguration.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Configuration/IQKeyboardToolbarConfiguration.swift
deleted file mode 100644 (file)
index efebfb9..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-//
-//  IQKeyboardToolbarConfiguration.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbarManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardToolbar
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers public final class IQKeyboardToolbarConfiguration: NSObject {
-
-    /**
-     If YES, then uses textInputView's tintColor property,
-     otherwise tint color is default. Default is NO.
-     */
-    public var useTextInputViewTintColor: Bool = false
-
-    /**
-     This is used for toolbar.tintColor when textInputView.keyboardAppearance is UIKeyboardAppearanceDefault.
-     If useTextInputViewTintColor is YES then this property is ignored. Default is nil and uses black color.
-     */
-    public var tintColor: UIColor?
-
-    /**
-     This is used for toolbar.barTintColor. Default is nil.
-     */
-    public var barTintColor: UIColor?
-
-    /**
-     IQPreviousNextDisplayModeDefault:      Show NextPrevious when there are more than 1 textInputView otherwise hide.
-     IQPreviousNextDisplayModeAlwaysHide:   Do not show NextPrevious buttons in any case.
-     IQPreviousNextDisplayModeAlwaysShow:   Always show nextPrevious buttons,
-     if there are more than 1 textInputView then both buttons will be visible but will be shown as disabled.
-     */
-    public var previousNextDisplayMode: IQPreviousNextDisplayMode = .default
-
-    /**
-     /**
-      IQAutoToolbarBySubviews:   Creates Toolbar according to subview's hierarchy of TextInputView's in view.
-      IQAutoToolbarByTag:        Creates Toolbar according to tag property of TextInputView's.
-      IQAutoToolbarByPosition:   Creates Toolbar according to the y,x position
-      of textInputView in it's superview coordinate.
-
-      Default is IQAutoToolbarBySubviews.
-      */
-     AutoToolbar managing behavior. Default is IQAutoToolbarBySubviews.
-     */
-    public var manageBehavior: IQKeyboardToolbarManageBehavior = .bySubviews
-
-    /**
-    Buttons configuration displayed on the toolbar, the selector parameter is ignored in below configuration
-    */
-    public var previousBarButtonConfiguration: IQBarButtonItemConfiguration?
-    public var nextBarButtonConfiguration: IQBarButtonItemConfiguration?
-    public var doneBarButtonConfiguration: IQBarButtonItemConfiguration?
-
-    public let placeholderConfiguration: IQKeyboardToolbarPlaceholderConfiguration = .init()
-}
-
-// swiftlint:disable unused_setter_value
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardToolbarConfiguration {
-
-    @available(*, unavailable, renamed: "useTextInputViewTintColor")
-    var useTextFieldTintColor: Bool {
-        get { fatalError() }
-        set {}
-    }
-}
-// swiftlint:enable unused_setter_value
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Constants/IQKeyboardToolbarConstants.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Constants/IQKeyboardToolbarConstants.swift
deleted file mode 100644 (file)
index ee76ea3..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-//
-//  IQKeyboardToolbarConstants.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbarManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import Foundation
-
-// MARK: IQKeyboardToolbarManageBehavior
-
-/**
-`IQAutoToolbarBySubviews`
-Creates Toolbar according to subview's hierarchy of textInputView's in view.
-
-`IQAutoToolbarByTag`
-Creates Toolbar according to tag property of textInputView's.
-
-`IQAutoToolbarByPosition`
-Creates Toolbar according to the y,x position of textInputView in it's superview coordinate.
-*/
-@available(iOSApplicationExtension, unavailable)
-@objc public enum IQKeyboardToolbarManageBehavior: Int {
-    case bySubviews
-    case byTag
-    case byPosition
-}
-
-@available(*, unavailable, renamed: "IQKeyboardToolbarManageBehavior")
-@objc public enum IQAutoToolbarManageBehavior: Int {
-    case bySubviews
-    case byTag
-    case byPosition
-}
-
-/**
- `IQPreviousNextDisplayModeDefault`
- Show NextPrevious when there are more than 1 textInputView otherwise hide.
-
- `IQPreviousNextDisplayModeAlwaysHide`
- Do not show NextPrevious buttons in any case.
- 
- `IQPreviousNextDisplayModeAlwaysShow`
- Always show nextPrevious buttons,
- if there are more than 1 textInputView then both buttons will be visible but will be shown as disabled.
- */
-@available(iOSApplicationExtension, unavailable)
-@objc public enum IQPreviousNextDisplayMode: Int {
-    case `default`
-    case alwaysHide
-    case alwaysShow
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Debug/IQKeyboardToolbarManager+Debug.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Debug/IQKeyboardToolbarManager+Debug.swift
deleted file mode 100644 (file)
index 8953423..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-//  IQKeyboardToolbarManager+Debug
-//  https://github.com/hackiftekhar/IQKeyboardToolbarManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import Foundation
-
-// MARK: Debugging & Developer options
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension IQKeyboardToolbarManager {
-
-    func showLog(_ logString: String, indentation: Int = 0) {
-
-        guard isDebuggingEnabled else {
-            return
-        }
-
-        if indentation < 0 {
-            self.logIndentation = max(0, self.logIndentation + indentation)
-        }
-
-        var preLog: String = "IQKeyboardToolbarManager"
-        for _ in 0 ... self.logIndentation {
-            preLog += "|\t"
-        }
-
-        print(preLog + logString)
-
-        if indentation > 0 {
-            self.logIndentation += indentation
-        }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/IQDeepResponderContainerView.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/IQDeepResponderContainerView.swift
deleted file mode 100644 (file)
index abd7566..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-//
-//  IQDeepResponderContainerView.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbarManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers open class IQDeepResponderContainerView: UIView {
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/IQKeyboardToolbarManager+Deprecated.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/IQKeyboardToolbarManager+Deprecated.swift
deleted file mode 100644 (file)
index fc34aa0..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-//
-//  IQKeyboardToolbarManager+Deprecated.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbarManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardToolbar
-
-// swiftlint:disable unused_setter_value
-// swiftlint:disable identifier_name
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardToolbarManager {
-
-    @available(*, unavailable, renamed: "isEnabled")
-    var enableAutoToolbar: Bool {
-        get { false }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "playInputClicks")
-    var shouldPlayInputClicks: Bool {
-        get { false }
-        set { }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardToolbarManager {
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.manageBehavior")
-    var toolbarManageBehaviour: IQAutoToolbarManageBehavior {
-        get { .bySubviews }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.useTextInputViewTintColor")
-    var shouldToolbarUsesTextFieldTintColor: Bool {
-        get { false }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.tintColor")
-    var toolbarTintColor: UIColor? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.barTintColor")
-    var toolbarBarTintColor: UIColor? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.previousNextDisplayMode")
-    var previousNextDisplayMode: IQPreviousNextDisplayMode {
-        get { .default }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "deepResponderAllowedContainerClasses")
-    var toolbarPreviousNextAllowedClasses: [UIView.Type] {
-        get { [] }
-        set { }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardToolbarManager {
-    @available(*, unavailable, renamed: "toolbarConfiguration.previousBarButtonConfiguration.image",
-                message: "To change, please assign a new toolbarConfiguration.previousBarButtonConfiguration")
-    var toolbarPreviousBarButtonItemImage: UIImage? {
-        get { nil }
-        set { }
-    }
-    @available(*, unavailable, renamed: "toolbarConfiguration.previousBarButtonConfiguration.title",
-                message: "To change, please assign a new toolbarConfiguration.previousBarButtonConfiguration")
-    var toolbarPreviousBarButtonItemText: String? {
-        get { nil }
-        set { }
-    }
-    @available(*, unavailable, renamed: "toolbarConfiguration.previousBarButtonConfiguration.accessibilityLabel",
-                message: "To change, please assign a new toolbarConfiguration.previousBarButtonConfiguration")
-    var toolbarPreviousBarButtonItemAccessibilityLabel: String? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.nextBarButtonConfiguration.image",
-                message: "To change, please assign a new toolbarConfiguration.nextBarButtonConfiguration")
-    var toolbarNextBarButtonItemImage: UIImage? {
-        get { nil }
-        set { }
-    }
-    @available(*, unavailable, renamed: "toolbarConfiguration.nextBarButtonConfiguration.title",
-                message: "To change, please assign a new toolbarConfiguration.nextBarButtonConfiguration")
-    var toolbarNextBarButtonItemText: String? {
-        get { nil }
-        set { }
-    }
-    @available(*, unavailable, renamed: "toolbarConfiguration.nextBarButtonConfiguration.accessibilityLabel",
-                message: "To change, please assign a new toolbarConfiguration.nextBarButtonConfiguration")
-    var toolbarNextBarButtonItemAccessibilityLabel: String? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.doneBarButtonConfiguration.image",
-                message: "To change, please assign a new toolbarConfiguration.doneBarButtonConfiguration")
-    var toolbarDoneBarButtonItemImage: UIImage? {
-        get { nil }
-        set { }
-    }
-    @available(*, unavailable, renamed: "toolbarConfiguration.doneBarButtonConfiguration.title",
-                message: "To change, please assign a new toolbarConfiguration.doneBarButtonConfiguration")
-    var toolbarDoneBarButtonItemText: String? {
-        get { nil }
-        set { }
-    }
-    @available(*, unavailable, renamed: "toolbarConfiguration.doneBarButtonConfiguration.accessibilityLabel",
-                message: "To change, please assign a new toolbarConfiguration.doneBarButtonConfiguration")
-    var toolbarDoneBarButtonItemAccessibilityLabel: String? {
-        get { nil }
-        set { }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardToolbarManager {
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.accessibilityLabel")
-    var toolbarTitleBarButtonItemAccessibilityLabel: String? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.showPlaceholder")
-    var shouldShowToolbarPlaceholder: Bool {
-        get { false }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.font")
-    var placeholderFont: UIFont? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.color")
-    var placeholderColor: UIColor? {
-        get { nil }
-        set { }
-    }
-
-    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.buttonColor")
-    var placeholderButtonColor: UIColor? {
-        get { nil }
-        set { }
-    }
-}
-// swiftlint:enable unused_setter_value
-// swiftlint:enable identifier_name
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/IQKeyboardToolbarManager+Internal.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/IQKeyboardToolbarManager+Internal.swift
deleted file mode 100644 (file)
index 13d4c86..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-//
-//  IQKeyboardToolbarManager+Internal.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbarManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQTextInputViewNotification
-import IQKeyboardCore
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension IQKeyboardToolbarManager {
-
-    /**    Get all textInputView siblings of textInputView. */
-    func responderViews(of textInputView: some IQTextInputView) -> [any IQTextInputView]? {
-
-        var superConsideredView: UIView?
-
-        // If find any consider responderView in it's upper hierarchy then will get deepResponderView.
-        for allowedClass in deepResponderAllowedContainerClasses {
-            superConsideredView = (textInputView as UIView).iq.superviewOf(type: allowedClass)
-            if superConsideredView != nil {
-                break
-            }
-        }
-
-        let swiftUIHostingView: UIView? = Self.getSwiftUIHostingView(textInputView: textInputView)
-
-        // (Enhancement ID: #22)
-        // If there is a superConsideredView in view's hierarchy,
-        // then fetching all it's subview that responds.
-        // No sorting for superConsideredView, it's by subView position.
-        if let view: UIView = swiftUIHostingView {
-            return view.iq.deepResponderViews()
-        } else if let view: UIView = superConsideredView {
-            return view.iq.deepResponderViews()
-        } else {  // Otherwise fetching all the siblings
-
-            let textInputViews: [any IQTextInputView] = textInputView.iq.responderSiblings()
-
-            // Sorting textInputViews according to behavior
-            switch toolbarConfiguration.manageBehavior {
-            // If autoToolbar behavior is bySubviews, then returning it.
-            case .bySubviews:   return textInputViews
-
-            // If autoToolbar behavior is by tag, then sorting it according to tag property.
-            case .byTag:    return textInputViews.sortedByTag()
-
-            // If autoToolbar behavior is by tag, then sorting it according to tag property.
-            case .byPosition:    return textInputViews.sortedByPosition()
-            }
-        }
-    }
-
-    func privateIsEnableAutoToolbar(of textInputView: some IQTextInputView) -> Bool {
-
-        var isEnabled: Bool = isEnabled
-
-        guard var textInputViewController = (textInputView as UIView).iq.viewContainingController() else {
-            return isEnabled
-        }
-
-        // If it is searchBar textInputView embedded in Navigation Bar
-        if (textInputView as UIView).iq.textFieldSearchBar() != nil,
-           let navController: UINavigationController = textInputViewController as? UINavigationController,
-           let topController: UIViewController = navController.topViewController {
-            textInputViewController = topController
-        }
-
-        if !isEnabled, enabledToolbarClasses.contains(where: { textInputViewController.isKind(of: $0) }) {
-            isEnabled = true
-        }
-
-        if isEnabled {
-
-            // If found any toolbar disabled classes then return.
-            if disabledToolbarClasses.contains(where: { textInputViewController.isKind(of: $0) }) {
-                isEnabled = false
-            }
-
-            // Special Controllers
-            if isEnabled {
-
-                let classNameString: String = "\(type(of: textInputViewController.self))"
-
-                // _UIAlertControllerTextFieldViewController
-                if classNameString.contains("UIAlertController"),
-                   classNameString.hasSuffix("TextFieldViewController") {
-                    isEnabled = false
-                }
-            }
-        }
-
-        return isEnabled
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-private extension IQKeyboardToolbarManager {
-
-    private static func getSwiftUIHostingView(textInputView: some IQTextInputView) -> UIView? {
-        var swiftUIHostingView: UIView?
-        let swiftUIHostingViewName: String = "UIHostingView<"
-        var superView: UIView? = textInputView.superview
-        while let aSuperview: UIView = superView {
-
-            let classNameString: String = {
-                var name: String = "\(type(of: aSuperview.self))"
-                if name.hasPrefix("_") {
-                    name.removeFirst()
-                }
-                return name
-            }()
-
-            if classNameString.hasPrefix(swiftUIHostingViewName) {
-                swiftUIHostingView = aSuperview
-                break
-            }
-
-            superView = aSuperview.superview
-        }
-        return swiftUIHostingView
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/IQKeyboardToolbarManager.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/IQKeyboardToolbarManager.swift
deleted file mode 100644 (file)
index 5186e05..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-//
-//  IQKeyboardToolbarManager.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbarManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQTextInputViewNotification
-import IQKeyboardCore
-import IQKeyboardToolbar
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers public final class IQKeyboardToolbarManager: NSObject {
-
-    private let textInputViewObserver: IQTextInputViewNotification = .init()
-
-    internal var textInputView: (some IQTextInputView)? {
-        textInputViewObserver.textInputView
-    }
-
-    /**
-     Returns the default singleton instance.
-     */
-    @MainActor
-    @objc public static let shared: IQKeyboardToolbarManager = .init()
-
-    /**
-     Automatic add the toolbar functionality. Default is false.
-     */
-    public var isEnabled: Bool = false {
-        didSet {
-            reloadInputViews()
-            showLog("isEnabled: \(isEnabled ? "Yes" : "NO")")
-        }
-    }
-
-    public var isDebuggingEnabled: Bool = false
-
-    /**
-     Configurations related to the toolbar display over the keyboard.
-     */
-    public let toolbarConfiguration: IQKeyboardToolbarConfiguration = .init()
-
-    // MARK: UISound handling
-
-    /**
-     If YES, then it plays inputClick sound on next/previous/done click.
-     */
-    public var playInputClicks: Bool = true
-
-    /**
-     Disable automatic toolbar creation within the scope of disabled toolbar viewControllers classes.
-     Within this scope, 'isEnabled' property is ignored. Class should be kind of UIViewController.
-     */
-    public var disabledToolbarClasses: [UIViewController.Type] = [
-        UIAlertController.self,
-        UIInputViewController.self
-    ]
-
-    /**
-     Enable automatic toolbar creation within the scope of enabled toolbar viewControllers classes.
-     Within this scope, 'isEnabled' property is ignored. Class should be kind of UIViewController.
-     If same Class is added in disabledToolbarClasses list, then enabledToolbarClasses will be ignore.
-     */
-    public var enabledToolbarClasses: [UIViewController.Type] = []
-
-    /**
-     Allowed subclasses of UIView to add all inner textInputView,
-     this will allow to navigate between textInputView contains in different superview.
-     Class should be kind of UIView.
-     */
-    public var deepResponderAllowedContainerClasses: [UIView.Type] = [
-        UITableView.self,
-        UICollectionView.self,
-        IQDeepResponderContainerView.self
-    ]
-
-    internal var logIndentation = 0
-
-    internal override init() {
-        super.init()
-
-        addTextInputViewObserver()
-
-        // (Bug ID: #550)
-        // Loading IQKeyboardToolbar, IQTitleBarButtonItem, IQBarButtonItem to fix first time keyboard appearance delay
-        // If you experience exception breakpoint issue at below line then try these solutions
-        // https://stackoverflow.com/questions/27375640/all-exception-break-point-is-stopping-for-no-reason-on-simulator
-        DispatchQueue.main.async {
-            let textInputView: UITextField = UITextField()
-            textInputView.iq.addDone(target: nil, action: #selector(self.doneAction(_:)))
-            textInputView.iq.addPreviousNextDone(target: nil,
-                                                 previousAction: #selector(self.previousAction(_:)),
-                                                 nextAction: #selector(self.nextAction(_:)),
-                                                 doneAction: #selector(self.doneAction(_:)))
-        }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-private extension IQKeyboardToolbarManager {
-
-    private func removeTextInputViewObserver() {
-        textInputViewObserver.unsubscribe(identifier: "IQKeyboardToolbarManager")
-    }
-
-    private func addTextInputViewObserver() {
-        textInputViewObserver.subscribe(identifier: "IQKeyboardToolbarManager",
-                                        changeHandler: { [weak self] event, textInputView in
-            guard let self = self else { return }
-            guard (textInputView as UIView).iq.isAlertViewTextField() == false else {
-                return
-            }
-
-            switch event {
-            case .beginEditing:
-                reloadInputViews()
-            case .endEditing:
-                removeToolbarIfRequired(of: textInputView)
-            }
-        })
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Toolbar/IQKeyboardToolbarManager+Action.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Toolbar/IQKeyboardToolbarManager+Action.swift
deleted file mode 100644 (file)
index 1a79819..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-//
-//  IQKeyboardToolbarManager+Action.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbarManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-import IQKeyboardToolbar
-
-// MARK: Previous next button actions
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardToolbarManager {
-
-    /**
-     Returns YES if can navigate to previous responder textInputView, otherwise NO.
-    */
-    var canGoPrevious: Bool {
-        // If it is not first textInputView. then it's previous object canBecomeFirstResponder.
-        guard let textInputView: any IQTextInputView = self.textInputView,
-              let textInputViews: [any IQTextInputView] = responderViews(of: textInputView),
-              let index: Int = textInputViews.firstIndex(where: { $0 == textInputView }),
-              index > 0 else {
-            return false
-        }
-        return true
-    }
-
-    /**
-     Returns YES if can navigate to next responder textInputViews, otherwise NO.
-    */
-    var canGoNext: Bool {
-        // If it is not first textInputView. then it's previous object canBecomeFirstResponder.
-        guard let textInputView: any IQTextInputView = self.textInputView,
-              let textInputViews: [any IQTextInputView] = responderViews(of: textInputView),
-              let index: Int = textInputViews.firstIndex(where: { $0 == textInputView }),
-              index < textInputViews.count-1 else {
-            return false
-        }
-        return true
-    }
-
-    /**
-     Navigate to previous responder textInputViews
-    */
-    @discardableResult
-    func goPrevious() -> Bool {
-
-        // If it is not first textInputView. then it's previous object becomeFirstResponder.
-        guard let textInputView: any IQTextInputView = self.textInputView,
-              let textInputViews: [any IQTextInputView] = responderViews(of: textInputView),
-              let index: Int = textInputViews.firstIndex(where: { $0 == textInputView }),
-              index > 0 else {
-            return false
-        }
-
-        let nextTextInputView: any IQTextInputView = textInputViews[index-1]
-
-        let isAcceptAsFirstResponder: Bool = nextTextInputView.becomeFirstResponder()
-
-        //  If it refuses then becoming previous textInputView as first responder again.    (Bug ID: #96)
-        if !isAcceptAsFirstResponder {
-            showLog("Refuses to become first responder: \(nextTextInputView)")
-        }
-
-        return isAcceptAsFirstResponder
-    }
-
-    /**
-     Navigate to next responder textInputView.
-    */
-    @discardableResult
-    func goNext() -> Bool {
-
-        // If it is not first textInputView. then it's previous object becomeFirstResponder.
-        guard let textInputView: any IQTextInputView = self.textInputView,
-              let textInputViews: [any IQTextInputView] = responderViews(of: textInputView),
-              let index: Int = textInputViews.firstIndex(where: { $0 == textInputView }),
-              index < textInputViews.count-1 else {
-            return false
-        }
-
-        let nextTextInputView: any IQTextInputView = textInputViews[index+1]
-
-        let isAcceptAsFirstResponder: Bool = nextTextInputView.becomeFirstResponder()
-
-        //  If it refuses then becoming previous textInputView as first responder again.    (Bug ID: #96)
-        if !isAcceptAsFirstResponder {
-            showLog("Refuses to become first responder: \(nextTextInputView)")
-        }
-
-        return isAcceptAsFirstResponder
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension IQKeyboardToolbarManager {
-
-    /**    previousAction. */
-    func previousAction(_ barButton: IQBarButtonItem) {
-
-        // If user wants to play input Click sound.
-        if playInputClicks {
-            // Play Input Click Sound.
-            UIDevice.current.playInputClick()
-        }
-
-        guard canGoPrevious,
-              let textInputView: any IQTextInputView = self.textInputView else {
-            return
-        }
-
-        let isAcceptedAsFirstResponder: Bool = goPrevious()
-
-        if isAcceptedAsFirstResponder {
-            Self.sendInvokeAction(of: barButton, sender: textInputView)
-        }
-    }
-
-    /**    nextAction. */
-    func nextAction(_ barButton: IQBarButtonItem) {
-
-        // If user wants to play input Click sound.
-        if playInputClicks {
-            // Play Input Click Sound.
-            UIDevice.current.playInputClick()
-        }
-
-        guard canGoNext,
-              let textInputView: any IQTextInputView = self.textInputView else {
-            return
-        }
-
-        let isAcceptedAsFirstResponder: Bool = goNext()
-
-        if isAcceptedAsFirstResponder {
-            Self.sendInvokeAction(of: barButton, sender: textInputView)
-        }
-    }
-
-    /**    doneAction. Resigning current textInputView. */
-    func doneAction(_ barButton: IQBarButtonItem) {
-
-        // If user wants to play input Click sound.
-        if playInputClicks {
-            // Play Input Click Sound.
-            UIDevice.current.playInputClick()
-        }
-
-        guard let textInputView: any IQTextInputView = self.textInputView else {
-            return
-        }
-
-        // Resign textInputView.
-        let isResignedFirstResponder: Bool = textInputView.resignFirstResponder()
-
-        if isResignedFirstResponder {
-            Self.sendInvokeAction(of: barButton, sender: textInputView)
-        }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-private extension IQKeyboardToolbarManager {
-    private static func sendInvokeAction(of barButton: IQBarButtonItem, sender: some IQTextInputView) {
-        // Handling search bar special case
-        if let searchBar: UISearchBar = sender.iq.textFieldSearchBar() {
-            switch barButton {
-            case sender.internalToolbar.nextBarButton:
-                searchBar.internalToolbar.nextBarButton.invocation?.invoke(from: searchBar)
-            case sender.internalToolbar.previousBarButton:
-                searchBar.internalToolbar.previousBarButton.invocation?.invoke(from: searchBar)
-            case sender.internalToolbar.doneBarButton:
-                searchBar.internalToolbar.doneBarButton.invocation?.invoke(from: searchBar)
-            default:
-                break
-            }
-        } else {
-            barButton.invocation?.invoke(from: sender)
-        }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-fileprivate extension IQTextInputView {
-    var internalToolbar: IQKeyboardToolbar {
-        return iq.toolbar
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Toolbar/IQKeyboardToolbarManager+Toolbar.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/Toolbar/IQKeyboardToolbarManager+Toolbar.swift
deleted file mode 100644 (file)
index 52b7895..0000000
+++ /dev/null
@@ -1,273 +0,0 @@
-//
-//  IQKeyboardToolbarManager+Toolbar.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbarManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-import IQKeyboardToolbar
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQKeyboardToolbarManager {
-    /**    reloadInputViews to reload toolbar buttons enable/disable state on the fly Enhancement ID #434. */
-    func reloadInputViews() {
-
-        guard let textInputView = textInputView else { return }
-        // If enabled then adding toolbar.
-        if privateIsEnableAutoToolbar(of: textInputView) {
-            self.addToolbarIfRequired(of: textInputView)
-        } else {
-            self.removeToolbarIfRequired(of: textInputView)
-        }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension IQKeyboardToolbarManager {
-
-    /**
-    Default tag for toolbar with Done button   -1001
-    */
-    private static let toolbarTag = -1001
-
-    // swiftlint:disable function_body_length
-    // swiftlint:disable cyclomatic_complexity
-    /**
-     Add toolbar if it is required to add on textInputViews and it's siblings.
-     */
-    func addToolbarIfRequired(of textInputView: some IQTextInputView) {
-
-        // Either there is no inputAccessoryView or
-        // if accessoryView is not appropriate for current situation
-        // (There is Previous/Next/Done toolbar)
-        guard let siblings: [any IQTextInputView] = responderViews(of: textInputView), !siblings.isEmpty,
-              !Self.hasUserDefinedInputAccessoryView(textInputView: textInputView) else {
-            return
-        }
-
-        showLog(">>>>> \(#function) started >>>>>", indentation: 1)
-        defer {
-            showLog("<<<<< \(#function) ended <<<<<", indentation: -1)
-        }
-
-        showLog("Found \(siblings.count) responder sibling(s)")
-        let rightConfiguration: IQBarButtonItemConfiguration = getRightConfiguration()
-
-        let isTableCollectionView: Bool
-        if (textInputView as UIView).iq.superviewOf(type: UITableView.self) != nil ||
-            (textInputView as UIView).iq.superviewOf(type: UICollectionView.self) != nil {
-            isTableCollectionView = true
-        } else {
-            isTableCollectionView = false
-        }
-
-        let previousNextDisplayMode: IQPreviousNextDisplayMode = toolbarConfiguration.previousNextDisplayMode
-
-        let havePreviousNext: Bool
-        switch previousNextDisplayMode {
-        case .default:
-            // If the textInputView is part of UITableView/UICollectionView then we should be exposing previous/next too
-            // Because at this time we don't know previous or next cell if it contains another textInputView to move.
-            if isTableCollectionView {
-                havePreviousNext = true
-            } else if siblings.count <= 1 {
-                //    If only one object is found, then adding only Done button.
-                havePreviousNext = false
-            } else {
-                havePreviousNext = true
-            }
-        case .alwaysShow:
-            havePreviousNext = true
-        case .alwaysHide:
-            havePreviousNext = false
-        }
-
-        let placeholderConfig: IQKeyboardToolbarPlaceholderConfiguration = toolbarConfiguration.placeholderConfiguration
-        let titleText: String? = placeholderConfig.showPlaceholder ? textInputView.iq.drawingPlaceholder : nil
-        if havePreviousNext {
-            let prevConfiguration: IQBarButtonItemConfiguration = getPreviousConfiguration()
-            let nextConfiguration: IQBarButtonItemConfiguration = getNextConfiguration()
-
-            textInputView.iq.addToolbar(target: self,
-                                        previousConfiguration: prevConfiguration,
-                                        nextConfiguration: nextConfiguration,
-                                        rightConfiguration: rightConfiguration, title: titleText,
-                                        titleAccessibilityLabel: placeholderConfig.accessibilityLabel)
-            if isTableCollectionView {
-                // (Bug ID: #56)
-                // In case of UITableView, the next/previous buttons should always be enabled.
-                textInputView.iq.toolbar.previousBarButton.isEnabled = true
-                textInputView.iq.toolbar.nextBarButton.isEnabled = true
-            } else {
-                // If first textInputView, then previous should not be enabled.
-                if let first = siblings.first {
-                    textInputView.iq.toolbar.previousBarButton.isEnabled = first != textInputView
-                } else {
-                    textInputView.iq.toolbar.previousBarButton.isEnabled = false
-                }
-                // If last textInputView, then next should not be enabled.
-                if let last = siblings.last {
-                    textInputView.iq.toolbar.nextBarButton.isEnabled = last != textInputView
-                } else {
-                    textInputView.iq.toolbar.nextBarButton.isEnabled = false
-                }
-            }
-        } else {
-            textInputView.iq.addToolbar(target: self, rightConfiguration: rightConfiguration,
-                                        title: titleText,
-                                        titleAccessibilityLabel: placeholderConfig.accessibilityLabel)
-        }
-        // (Bug ID: #78)
-        textInputView.inputAccessoryView?.tag = IQKeyboardToolbarManager.toolbarTag
-
-        Self.applyToolbarConfiguration(textInputView: textInputView, toolbarConfiguration: toolbarConfiguration)
-    }
-    // swiftlint:enable function_body_length
-    // swiftlint:enable cyclomatic_complexity
-
-    /** Remove any toolbar if it is IQKeyboardToolbar. */
-    func removeToolbarIfRequired(of textInputView: some IQTextInputView) {    //  (Bug ID: #18)
-
-        guard let toolbar: IQKeyboardToolbar = textInputView.inputAccessoryView as? IQKeyboardToolbar,
-              toolbar.tag == IQKeyboardToolbarManager.toolbarTag else {
-            return
-        }
-
-        showLog(">>>>> \(#function) started >>>>>", indentation: 1)
-
-        defer {
-            showLog("<<<<< \(#function) ended <<<<<", indentation: -1)
-        }
-
-        textInputView.inputAccessoryView = nil
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-private extension IQKeyboardToolbarManager {
-
-    static func hasUserDefinedInputAccessoryView(textInputView: some IQTextInputView) -> Bool {
-        guard let inputAccessoryView: UIView = textInputView.inputAccessoryView,
-              inputAccessoryView.tag != IQKeyboardToolbarManager.toolbarTag else { return false }
-
-        let swiftUIAccessoryNamePrefixes: [String] = [
-            "RootUIView",   // iOS 18
-            "InputAccessoryHost<InputAccessoryBar>" // iOS 17 and below
-        ]
-        let classNameString: String = "\(type(of: inputAccessoryView.classForCoder))"
-
-        // If it's SwiftUI accessory view but doesn't have a height (fake accessory view), then we should
-        // add our own accessoryView otherwise, keep the SwiftUI accessoryView since user has added it from code
-        guard swiftUIAccessoryNamePrefixes.contains(where: { classNameString.hasPrefix($0)}),
-              inputAccessoryView.subviews.isEmpty else {
-            return true
-        }
-        return false
-    }
-
-    func getRightConfiguration() -> IQBarButtonItemConfiguration {
-        let rightConfiguration: IQBarButtonItemConfiguration
-        if let configuration: IQBarButtonItemConfiguration = toolbarConfiguration.doneBarButtonConfiguration {
-            rightConfiguration = configuration
-            rightConfiguration.action = #selector(self.doneAction(_:))
-        } else {
-            rightConfiguration = IQBarButtonItemConfiguration(systemItem: .done, action: #selector(self.doneAction(_:)))
-            rightConfiguration.accessibilityLabel = "Done"
-        }
-        return rightConfiguration
-    }
-
-    func getPreviousConfiguration() -> IQBarButtonItemConfiguration {
-        let prevConfiguration: IQBarButtonItemConfiguration
-        if let configuration: IQBarButtonItemConfiguration = toolbarConfiguration.previousBarButtonConfiguration {
-            configuration.action = #selector(self.previousAction(_:))
-            prevConfiguration = configuration
-        } else {
-            let chevronUp: UIImage = UIImage(systemName: "chevron.up") ?? UIImage()
-            prevConfiguration = IQBarButtonItemConfiguration(image: chevronUp,
-                                                             action: #selector(self.previousAction(_:)))
-            prevConfiguration.accessibilityLabel = "Previous"
-        }
-        return prevConfiguration
-    }
-
-    func getNextConfiguration() -> IQBarButtonItemConfiguration {
-        let nextConfiguration: IQBarButtonItemConfiguration
-        if let configuration: IQBarButtonItemConfiguration = toolbarConfiguration.nextBarButtonConfiguration {
-            configuration.action = #selector(self.nextAction(_:))
-            nextConfiguration = configuration
-        } else {
-            let chevronDown: UIImage = UIImage(systemName: "chevron.down") ?? UIImage()
-            nextConfiguration = IQBarButtonItemConfiguration(image: chevronDown,
-                                                             action: #selector(self.nextAction(_:)))
-            nextConfiguration.accessibilityLabel = "Next"
-        }
-        return nextConfiguration
-    }
-
-    static func applyToolbarConfiguration(textInputView: some IQTextInputView,
-                                          toolbarConfiguration: IQKeyboardToolbarConfiguration) {
-
-        let toolbar: IQKeyboardToolbar = textInputView.iq.toolbar
-
-        // Setting toolbar tintColor //  (Enhancement ID: #30)
-        if toolbarConfiguration.useTextInputViewTintColor {
-            toolbar.tintColor = textInputView.tintColor
-        } else {
-            toolbar.tintColor = toolbarConfiguration.tintColor
-        }
-
-        // Bar style according to keyboard appearance
-        switch textInputView.keyboardAppearance {
-        case .dark:
-            toolbar.barStyle = .black
-            toolbar.barTintColor = nil
-        default:
-            toolbar.barStyle = .default
-            toolbar.barTintColor = toolbarConfiguration.barTintColor
-        }
-
-        // Setting toolbar title font.   //  (Enhancement ID: #30)
-        guard toolbarConfiguration.placeholderConfiguration.showPlaceholder,
-              !textInputView.iq.hidePlaceholder else {
-            toolbar.titleBarButton.title = nil
-            return
-        }
-
-        // Updating placeholder font to toolbar.     //(Bug ID: #148, #272)
-        if toolbar.titleBarButton.title == nil ||
-            toolbar.titleBarButton.title != textInputView.iq.drawingPlaceholder {
-            toolbar.titleBarButton.title = textInputView.iq.drawingPlaceholder
-        }
-
-        // Setting toolbar title font.   //  (Enhancement ID: #30)
-        toolbar.titleBarButton.titleFont = toolbarConfiguration.placeholderConfiguration.font
-
-        // Setting toolbar title color.   //  (Enhancement ID: #880)
-        toolbar.titleBarButton.titleColor = toolbarConfiguration.placeholderConfiguration.color
-
-        // Setting toolbar button title color.   //  (Enhancement ID: #880)
-        toolbar.titleBarButton.selectableTitleColor = toolbarConfiguration.placeholderConfiguration.buttonColor
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/UIKitExtensions/Array+Sort.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/UIKitExtensions/Array+Sort.swift
deleted file mode 100644 (file)
index 83a8b9c..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-//  Array+Sort.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbarManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-/**
-UIView.subviews sorting category.
-*/
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension Array where Element: IQTextInputView {
-
-    /**
-    Returns the array by sorting the UIView's by their tag property.
-    */
-    func sortedByTag() -> [Element] {
-
-        return sorted(by: { (obj1: Element, obj2: Element) -> Bool in
-
-            return (obj1.tag < obj2.tag)
-        })
-    }
-
-    /**
-    Returns the array by sorting the UIView's by their tag property.
-    */
-    func sortedByPosition() -> [Element] {
-
-        return sorted(by: { (obj1: Element, obj2: Element) -> Bool in
-            if obj1.frame.minY != obj2.frame.minY {
-                return obj1.frame.minY < obj2.frame.minY
-            } else {
-                return obj1.frame.minX < obj2.frame.minX
-            }
-        })
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/UIKitExtensions/UIView+Responders.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/UIKitExtensions/UIView+Responders.swift
deleted file mode 100644 (file)
index 592399e..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-//
-//  UIView+Responders.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbarManager
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-private struct AssociatedKeys {
-    static var ignoreSwitchingByNextPrevious: Int = 0
-}
-
-/**
-UIView category for managing textInputView
-*/
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-public extension IQKeyboardExtension where Base: IQTextInputView {
-
-    /**
-     If ignoreSwitchingByNextPrevious is true then library will ignore this textInputView
-     while moving to other textInputView using keyboard toolbar next previous buttons.
-     Default is false
-     */
-    var ignoreSwitchingByNextPrevious: Bool {
-        get {
-            if let base = base {
-                return objc_getAssociatedObject(base, &AssociatedKeys.ignoreSwitchingByNextPrevious) as? Bool ?? false
-            }
-            return false
-        }
-        set(newValue) {
-            if let base = base {
-                objc_setAssociatedObject(base, &AssociatedKeys.ignoreSwitchingByNextPrevious,
-                                         newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-            }
-        }
-    }
-}
-
-// swiftlint:disable unused_setter_value
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension UIView {
-    @available(*, unavailable, renamed: "iq.ignoreSwitchingByNextPrevious")
-    var ignoreSwitchingByNextPrevious: Bool {
-        get { false }
-        set { }
-    }
-}
-// swiftlint:enable unused_setter_value
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension IQKeyboardExtension where Base: IQTextInputView {
-
-    /**
-     Returns all siblings of the receiver which canBecomeFirstResponder.
-     */
-    func responderSiblings() -> [any IQTextInputView] {
-
-        //    Getting all siblings
-        guard let siblings: [UIView] = base?.superview?.subviews else { return [] }
-
-        // Array of textInputView.
-        var textInputViews: [any IQTextInputView] = []
-        for view in siblings {
-            if let view = view as? any IQTextInputView,
-               view == base || !view.internalIgnoreSwitchingByNextPrevious,
-               view.internalCanBecomeFirstResponder() {
-                textInputViews.append(view)
-            }
-        }
-
-        return textInputViews
-    }
-}
-
-/**
-UIView category for managing textInputView
-*/
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-internal extension IQKeyboardExtension where Base: UIView {
-
-    /**
-    Returns all deep subViews of the receiver which canBecomeFirstResponder.
-    */
-    func deepResponderViews() -> [any IQTextInputView] {
-
-        guard let subviews: [UIView] = base?.subviews, !subviews.isEmpty else { return [] }
-
-        // Array of textInputViews.
-        var textInputViews: [any IQTextInputView] = []
-
-        for view in subviews {
-
-            if let view = view as? any IQTextInputView,
-               view == base || !view.internalIgnoreSwitchingByNextPrevious,
-               view.internalCanBecomeFirstResponder() {
-                textInputViews.append(view)
-            }
-            // Sometimes there are hidden or disabled views and textInputView inside them still recorded,
-            // so we added some more validations here (Bug ID: #458)
-            // Uncommented else (Bug ID: #625)
-            else if view.subviews.count != 0,
-                    base?.isUserInteractionEnabled == true,
-                    base?.isHidden == false, base?.alpha != 0.0 {
-                for deepView in view.iq.deepResponderViews() {
-                    textInputViews.append(deepView)
-                }
-            }
-        }
-
-        // subviews are returning in opposite order. Sorting according the frames 'y'.
-        return textInputViews.sorted(by: { (view1: any IQTextInputView, view2: any IQTextInputView) -> Bool in
-
-            let frame1: CGRect = view1.convert(view1.bounds, to: base)
-            let frame2: CGRect = view2.convert(view2.bounds, to: base)
-
-            if frame1.minY != frame2.minY {
-                return frame1.minY < frame2.minY
-            } else {
-                return frame1.minX < frame2.minX
-            }
-        })
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-private extension IQKeyboardExtension where Base: IQTextInputView {
-
-    func canBecomeFirstResponder() -> Bool {
-
-        var canBecomeFirstResponder: Bool = base?.iqIsEnabled == true
-
-        if canBecomeFirstResponder {
-            canBecomeFirstResponder = base?.isUserInteractionEnabled == true &&
-            base?.isHidden == false &&
-            base?.alpha != 0.0 &&
-            !isAlertViewTextField() &&
-            textFieldSearchBar() == nil
-        }
-
-        return canBecomeFirstResponder
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-fileprivate extension IQTextInputView {
-    var internalIgnoreSwitchingByNextPrevious: Bool {
-        return iq.ignoreSwitchingByNextPrevious
-    }
-    func internalCanBecomeFirstResponder() -> Bool {
-        return iq.canBecomeFirstResponder()
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/UIKitExtensions/UIView+RespondersObjc.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/IQKeyboardToolbarManager/Classes/UIKitExtensions/UIView+RespondersObjc.swift
deleted file mode 100644 (file)
index f8113e6..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-//  UIView+RespondersObjc.swift
-//  https://github.com/hackiftekhar/IQKeyboardToolbar
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-// MARK:  For ObjectiveC Compatibility
-
-// swiftlint:disable identifier_name
-@objc public extension UITextField {
-
-    var iq_ignoreSwitchingByNextPrevious: Bool {
-        get { iq.ignoreSwitchingByNextPrevious }
-        set { iq.ignoreSwitchingByNextPrevious = newValue }
-    }
-}
-
-@objc public extension UITextView {
-
-    var iq_ignoreSwitchingByNextPrevious: Bool {
-        get { iq.ignoreSwitchingByNextPrevious }
-        set { iq.ignoreSwitchingByNextPrevious = newValue }
-    }
-}
-// swiftlint:enable identifier_name
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/LICENSE b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/LICENSE
deleted file mode 100644 (file)
index 5d8eb96..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/README.md b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQKeyboardToolbarManager/README.md
deleted file mode 100644 (file)
index d20fe8a..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-# IQKeyboardToolbarManager
-
-[![CI Status](https://img.shields.io/travis/hackiftekhar/IQKeyboardToolbarManager.svg?style=flat)](https://travis-ci.org/hackiftekhar/IQKeyboardToolbarManager)
-[![Version](https://img.shields.io/cocoapods/v/IQKeyboardToolbarManager.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardToolbarManager)
-[![License](https://img.shields.io/cocoapods/l/IQKeyboardToolbarManager.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardToolbarManager)
-[![Platform](https://img.shields.io/cocoapods/p/IQKeyboardToolbarManager.svg?style=flat)](https://cocoapods.org/pods/IQKeyboardToolbarManager)
-
-![Screenshot](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardToolbarManager/master/Screenshot/IQKeyboardToolbarManagerScreenshot.png)
-
-## Example
-
-To run the example project, clone the repo, and run `pod install` from the Example directory first.
-
-## Requirements
-
-## Installation
-
-IQKeyboardToolbarManager is available through [CocoaPods](https://cocoapods.org). To install
-it, simply add the following line to your Podfile:
-
-```ruby
-pod 'IQKeyboardToolbarManager'
-```
-
-## Usage
-
-Enable toolbar handling in AppDelegate
-
-```swift
-import UIKit
-import IQKeyboardToolbarManager
-
-@UIApplicationMain
-class AppDelegate: UIResponder, UIApplicationDelegate {
-
-    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
-        IQKeyboardToolbarManager.shared.isEnabled = true
-        return true
-    }
-```
-
-Cuistomize Behavior
-```swift
-        IQKeyboardToolbarManager.shared.toolbarConfiguration.useTextInputViewTintColor = true
-        IQKeyboardToolbarManager.shared.toolbarConfiguration.tintColor = UIColor.systemGreen
-        IQKeyboardToolbarManager.shared.toolbarConfiguration.barTintColor = UIColor.systemYellow
-        IQKeyboardToolbarManager.shared.toolbarConfiguration.previousNextDisplayMode = .alwaysShow
-        IQKeyboardToolbarManager.shared.toolbarConfiguration.manageBehavior = .byPosition
-
-        IQKeyboardToolbarManager.shared.toolbarConfiguration.previousBarButtonConfiguration = ... // BarButton configuration to change title, image or system image etc
-        IQKeyboardToolbarManager.shared.toolbarConfiguration.nextBarButtonConfiguration = ... // BarButton configuration to change title, image or system image etc
-        IQKeyboardToolbarManager.shared.toolbarConfiguration.doneBarButtonConfiguration = ... // BarButton configuration to change title, image or system image etc
-
-        IQKeyboardToolbarManager.shared.toolbarConfiguration.placeholderConfiguration.showPlaceholder = false
-        IQKeyboardToolbarManager.shared.toolbarConfiguration.placeholderConfiguration.font = UIFont.italicSystemFont(ofSize: 14)
-        IQKeyboardToolbarManager.shared.toolbarConfiguration.placeholderConfiguration.color = UIColor.systemPurple
-        IQKeyboardToolbarManager.shared.toolbarConfiguration.placeholderConfiguration.buttonColor = UIColor.systemBrown // This is used only if placeholder is an action button
-
-        IQKeyboardToolbarManager.shared.playInputClicks = false
-
-        IQKeyboardToolbarManager.shared.disabledToolbarClasses.append(ChatViewController.self)
-        IQKeyboardToolbarManager.shared.enabledToolbarClasses.append(LoginViewController.self)
-        IQKeyboardToolbarManager.shared.deepResponderAllowedContainerClasses.append(UIStackView.self)
-```
-
-Useful functions and variables
-```swift
-        if IQKeyboardToolbarManager.shared.canGoPrevious {
-          ...
-        }
-
-        if IQKeyboardToolbarManager.shared.canGoNext {
-          ...
-        }
-
-        IQKeyboardToolbarManager.shared.goPrevious()
-        IQKeyboardToolbarManager.shared.goNext()
-
-        IQKeyboardToolbarManager.shared.reloadInputViews() // If some textInputView hierarchy are changed on the fly then use this to reload button states
-```
-
-Useful functions and variables for TextInputView
-```swift
-        textField.iq.ignoreSwitchingByNextPrevious = false
-```
-
-## Author
-
-Iftekhar Qurashi hack.iftekhar@gmail.com
-
-## License
-
-IQKeyboardToolbarManager is available under the MIT license. See the LICENSE file for more info.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/IQTextInputViewNotification/Assets/PrivacyInfo.xcprivacy b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/IQTextInputViewNotification/Assets/PrivacyInfo.xcprivacy
deleted file mode 100644 (file)
index 9021190..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>NSPrivacyAccessedAPITypes</key>
-       <array/>
-       <key>NSPrivacyTrackingDomains</key>
-       <array/>
-       <key>NSPrivacyCollectedDataTypes</key>
-       <array/>
-       <key>NSPrivacyTracking</key>
-       <false/>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/IQTextInputViewNotification/Classes/IQTextInputViewInfo.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/IQTextInputViewNotification/Classes/IQTextInputViewInfo.swift
deleted file mode 100644 (file)
index 4b5e4f9..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-//  IQTextInputViewInfo.swift
-//  https://github.com/hackiftekhar/IQTextInputViewNotification
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardCore
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-public struct IQTextInputViewInfo: Equatable {
-
-    nonisolated public static func == (lhs: Self, rhs: Self) -> Bool {
-        return lhs.textInputView == rhs.textInputView &&
-        lhs.event == rhs.event
-    }
-
-    @MainActor
-    @objc public enum Event: Int {
-        case beginEditing
-        case endEditing
-
-        public var name: String {
-            switch self {
-            case .beginEditing:
-                return "BeginEditing"
-            case .endEditing:
-                return "EndEditing"
-            }
-        }
-    }
-
-    public let event: Event
-
-    public let textInputView: any IQTextInputView
-
-    internal init?(notification: Notification, event: Event) {
-        guard let view: any IQTextInputView = notification.object as? (any IQTextInputView) else {
-            return nil
-        }
-
-        self.event = event
-        textInputView = view
-    }
-}
-
-// MARK: Deprecated
-@available(iOSApplicationExtension, unavailable)
-public extension IQTextInputViewInfo {
-
-    @available(*, unavailable, renamed: "event")
-    var name: Event { event }
-
-    @available(*, unavailable, renamed: "textInputView")
-    var textFieldView: any IQTextInputView { textInputView }
-}
-
-@available(*, unavailable, renamed: "IQTextInputViewInfo")
-@MainActor
-public struct IQTextFieldViewInfo: Equatable {}
-
-@available(iOSApplicationExtension, unavailable)
-@objcMembers public class IQTextInputViewInfoObjC: NSObject {
-    private let wrappedValue: IQTextInputViewInfo
-
-    public var event: IQTextInputViewInfo.Event { wrappedValue.event }
-
-    public var textInputView: any IQTextInputView { wrappedValue.textInputView }
-
-    init(wrappedValue: IQTextInputViewInfo){
-        self.wrappedValue = wrappedValue
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/IQTextInputViewNotification/Classes/IQTextInputViewNotification.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/IQTextInputViewNotification/Classes/IQTextInputViewNotification.swift
deleted file mode 100644 (file)
index 8822d39..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-//
-//  IQTextInputViewNotification.swift
-//  https://github.com/hackiftekhar/IQTextInputViewNotification
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import Combine
-import IQKeyboardCore
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers public final class IQTextInputViewNotification: NSObject {
-
-    private var storage: Set<AnyCancellable> = []
-
-    private var textInputViewObservers: [AnyHashable: TextInputViewCompletion] = [:]
-
-    private var findInteractionTextInputViewInfo: IQTextInputViewInfo?
-
-    public private(set) var textInputViewInfo: IQTextInputViewInfo?
-
-    public var event: IQTextInputViewInfo.Event? {
-        textInputViewInfo?.event
-    }
-
-    public var textInputView: (any IQTextInputView)? {
-        return textInputViewInfo?.textInputView
-    }
-
-    public override init() {
-        super.init()
-
-        //  Registering for TextInputView notification.
-        do {
-            let beginEditingNotificationNames: [Notification.Name] = [
-                UITextField.textDidBeginEditingNotification,
-                UITextView.textDidBeginEditingNotification
-            ]
-
-            for notificationName in beginEditingNotificationNames {
-                NotificationCenter.default.publisher(for: notificationName)
-                    .compactMap({ IQTextInputViewInfo(notification: $0, event: .beginEditing) })
-                    .sink(receiveValue: { [weak self] info in
-                        guard let self = self else { return }
-                        self.didBeginEditing(info: info)
-                    })
-                    .store(in: &storage)
-            }
-        }
-
-        do {
-            let endEditingNotificationNames: [Notification.Name] = [
-                UITextField.textDidEndEditingNotification,
-                UITextView.textDidEndEditingNotification
-            ]
-
-            for notificationName in endEditingNotificationNames {
-                NotificationCenter.default.publisher(for: notificationName)
-                    .compactMap({ IQTextInputViewInfo(notification: $0, event: .endEditing) })
-                    .sink(receiveValue: { [weak self] info in
-                        guard let self = self else { return }
-                        self.didEndEditing(info: info)
-                    })
-                    .store(in: &storage)
-            }
-        }
-    }
-
-    private func didBeginEditing(info: IQTextInputViewInfo) {
-
-        if #available(iOS 16.0, *),
-           let findInteractionTextInputViewInfo = findInteractionTextInputViewInfo,
-           findInteractionTextInputViewInfo.textInputView.iqFindInteraction?.isFindNavigatorVisible == true {
-            // // This means the this didBeginEditing call comes due to find interaction
-            textInputViewInfo = findInteractionTextInputViewInfo
-            sendEvent(info: findInteractionTextInputViewInfo)
-        } else if textInputViewInfo != info {
-            textInputViewInfo = info
-            findInteractionTextInputViewInfo = nil
-            sendEvent(info: info)
-        } else {
-            findInteractionTextInputViewInfo = nil
-        }
-    }
-
-    private func didEndEditing(info: IQTextInputViewInfo) {
-
-        if textInputViewInfo != info {
-            if #available(iOS 16.0, *),
-               info.textInputView.iqIsFindInteractionEnabled {
-                findInteractionTextInputViewInfo = textInputViewInfo
-            } else {
-                findInteractionTextInputViewInfo = nil
-            }
-            textInputViewInfo = info
-            sendEvent(info: info)
-            textInputViewInfo = nil
-        }
-    }
-}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQTextInputViewNotification {
-
-    typealias TextInputViewCompletion = (_ event: IQTextInputViewInfo.Event,
-                                         _ textInputView: any IQTextInputView) -> Void
-
-    func subscribe(identifier: AnyHashable, changeHandler: @escaping TextInputViewCompletion) {
-        textInputViewObservers[identifier] = changeHandler
-
-        if let textInputViewInfo = textInputViewInfo {
-            changeHandler(textInputViewInfo.event, textInputViewInfo.textInputView)
-        }
-    }
-
-    func unsubscribe(identifier: AnyHashable) {
-        textInputViewObservers[identifier] = nil
-    }
-
-    func isSubscribed(identifier: AnyHashable) -> Bool {
-        return textInputViewObservers[identifier] != nil
-    }
-
-    @nonobjc
-    private func sendEvent(info: IQTextInputViewInfo) {
-
-        for block in textInputViewObservers.values {
-            block(info.event, info.textInputView)
-        }
-    }
-}
-
-// MARK: Deprecated
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-public extension IQTextInputViewNotification {
-
-    @available(*, unavailable, renamed: "textInputViewInfo")
-    var textFieldViewInfo: IQTextInputViewInfo? { textInputViewInfo }
-
-    @available(*, unavailable, renamed: "textInputView")
-    var textFieldView: (some IQTextInputView)? { textInputView }
-
-    @available(*, unavailable, renamed: "subscribe(identifier:changeHandler:)")
-    func registerTextFieldViewChange(identifier: AnyHashable, changeHandler: @escaping TextInputViewCompletion) {}
-
-    @available(*, unavailable, renamed: "unsubscribe(identifier:)")
-    func unregisterSizeChange(identifier: AnyHashable) {}
-}
-
-@available(*, unavailable, renamed: "IQTextInputViewNotification")
-@MainActor
-@objcMembers public final class IQTextFieldViewListener: NSObject {}
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc public extension IQTextInputViewNotification {
-
-    var textInputViewInfoObjc: IQTextInputViewInfoObjC? {
-        guard let textInputViewInfo = textInputViewInfo else { return nil }
-        return IQTextInputViewInfoObjC(wrappedValue: textInputViewInfo)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/LICENSE b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/LICENSE
deleted file mode 100644 (file)
index 4440a40..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2024 hackiftekhar <ideviftekhar@gmail.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/README.md b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextInputViewNotification/README.md
deleted file mode 100644 (file)
index 3926512..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-# IQTextInputViewNotification
-
-[![CI Status](https://img.shields.io/travis/hackiftekhar/IQTextInputViewNotification.svg?style=flat)](https://travis-ci.org/hackiftekhar/IQTextInputViewNotification)
-[![Version](https://img.shields.io/cocoapods/v/IQTextInputViewNotification.svg?style=flat)](https://cocoapods.org/pods/IQTextInputViewNotification)
-[![License](https://img.shields.io/cocoapods/l/IQTextInputViewNotification.svg?style=flat)](https://cocoapods.org/pods/IQTextInputViewNotification)
-[![Platform](https://img.shields.io/cocoapods/p/IQTextInputViewNotification.svg?style=flat)](https://cocoapods.org/pods/IQTextInputViewNotification)
-
-![Screenshot](https://raw.githubusercontent.com/hackiftekhar/IQTextInputViewNotification/master/Screenshot/IQTextInputViewNotificationScreenshot.png)
-
-## Example
-
-To run the example project, clone the repo, and run `pod install` from the Example directory first.
-
-## Requirements
-
-## Installation
-
-IQTextInputViewNotification is available through [CocoaPods](https://cocoapods.org). To install
-it, simply add the following line to your Podfile:
-
-```ruby
-pod 'IQTextInputViewNotification'
-```
-
-## Usage
-
-To observe textInputView becomeFirstResponder and resignFirstResponder changes, subscribe to the textInputView events:-
-
-```swift
-import IQTextInputViewNotification
-
-class ViewController: UIViewController {
-
-    private let textInputViewObserver: IQTextInputViewNotification = .init()
-
-    override func viewWillAppear(_ animated: Bool) {
-        super.viewWillAppear(animated)
-
-        // Subscribe
-        textInputViewObserver.subscribe(identifier: "YOUR_UNIQUE_IDENTIFIER") {info in
-            print(info.event.name) // BeginEditing or EndEditing event
-            print(info.textInputView) // TextInputView which begin editing or end editing
-            // Write your own logic here based on event
-        }
-    }
-
-    override func viewWillDisappear(_ animated: Bool) {
-        super.viewWillDisappear(animated)
-
-        // Unsubscribe
-        textInputViewObserver.unsubscribe(identifier: "YOUR_UNIQUE_IDENTIFIER")
-    }
-}
-```
-
-## Author
-
-Iftekhar Qurashi hack.iftekhar@gmail.com
-
-## Flow
-
-![Screenshot](https://raw.githubusercontent.com/hackiftekhar/IQTextInputViewNotification/master/Screenshot/FlowDiagram.jpg)
-
-## License
-
-IQTextInputViewNotification is available under the MIT license. See the LICENSE file for more info.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/IQTextView/Assets/PrivacyInfo.xcprivacy b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/IQTextView/Assets/PrivacyInfo.xcprivacy
deleted file mode 100644 (file)
index 9021190..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>NSPrivacyAccessedAPITypes</key>
-       <array/>
-       <key>NSPrivacyTrackingDomains</key>
-       <array/>
-       <key>NSPrivacyCollectedDataTypes</key>
-       <array/>
-       <key>NSPrivacyTracking</key>
-       <false/>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/IQTextView/Classes/IQTextView+Placeholderable.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/IQTextView/Classes/IQTextView+Placeholderable.swift
deleted file mode 100644 (file)
index 1cf3954..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-//
-//  IQTextView.swift
-//  https://github.com/hackiftekhar/IQTextView
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-import IQKeyboardToolbar
-
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objc extension IQTextView: IQPlaceholderable { }
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/IQTextView/Classes/IQTextView.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/IQTextView/Classes/IQTextView.swift
deleted file mode 100644 (file)
index 9c49e51..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-//
-//  IQTextView.swift
-//  https://github.com/hackiftekhar/IQTextView
-//  Copyright (c) 2013-24 Iftekhar Qurashi.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import UIKit
-
-/** @abstract UITextView with placeholder support   */
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-@objcMembers open class IQTextView: UITextView {
-
-    required public init?(coder aDecoder: NSCoder) {
-        super.init(coder: aDecoder)
-        setup()
-    }
-
-    override public init(frame: CGRect, textContainer: NSTextContainer?) {
-        super.init(frame: frame, textContainer: textContainer)
-        setup()
-    }
-
-    override open func awakeFromNib() {
-        super.awakeFromNib()
-        setup()
-    }
-
-    private func setup() {
-        NotificationCenter.default.addObserver(self, selector: #selector(self.refreshPlaceholder),
-                                               name: UITextView.textDidChangeNotification, object: self)
-
-        do {
-            placeholderLabel.frame = placeholderExpectedFrame
-            placeholderLabel.autoresizingMask = [.flexibleWidth, .flexibleHeight]
-            placeholderLabel.lineBreakMode = .byWordWrapping
-            placeholderLabel.numberOfLines = 0
-            placeholderLabel.font = self.font
-            placeholderLabel.textAlignment = self.textAlignment
-            placeholderLabel.backgroundColor = UIColor.clear
-            placeholderLabel.isAccessibilityElement = false
-            placeholderLabel.textColor = UIColor.placeholderText
-            self.addSubview(placeholderLabel)
-            refreshPlaceholder()
-        }
-    }
-
-    private var placeholderInsets: UIEdgeInsets {
-        let top: CGFloat = self.textContainerInset.top
-        let left: CGFloat = self.textContainerInset.left + self.textContainer.lineFragmentPadding
-        let bottom: CGFloat = self.textContainerInset.bottom
-        let right: CGFloat = self.textContainerInset.right + self.textContainer.lineFragmentPadding
-        return UIEdgeInsets(top: top, left: left, bottom: bottom, right: right)
-    }
-
-    private var placeholderExpectedFrame: CGRect {
-        let insets: UIEdgeInsets = self.placeholderInsets
-        let maxWidth: CGFloat = self.frame.width-insets.left-insets.right
-        let size: CGSize = CGSize(width: maxWidth, height: self.frame.height-insets.top-insets.bottom)
-        let expectedSize: CGSize = placeholderLabel.sizeThatFits(size)
-
-        return CGRect(x: insets.left, y: insets.top, width: maxWidth, height: expectedSize.height)
-    }
-
-    public let placeholderLabel: UILabel = .init()
-
-    /** @abstract To set textView's placeholder text color. */
-    @IBInspectable open var placeholderTextColor: UIColor? {
-
-        get {
-            return placeholderLabel.textColor
-        }
-
-        set {
-            placeholderLabel.textColor = newValue
-        }
-    }
-
-    /** @abstract To set textView's placeholder text. Default is nil.    */
-    @IBInspectable open var placeholder: String? {
-
-        get {
-            return placeholderLabel.text
-        }
-
-        set {
-            placeholderLabel.text = newValue
-            refreshPlaceholder()
-        }
-    }
-
-    /** @abstract To set textView's placeholder attributed text. Default is nil.    */
-    open var attributedPlaceholder: NSAttributedString? {
-        get {
-            return placeholderLabel.attributedText
-        }
-
-        set {
-            placeholderLabel.attributedText = newValue
-            refreshPlaceholder()
-        }
-    }
-
-    open override func layoutSubviews() {
-        super.layoutSubviews()
-
-        placeholderLabel.frame = placeholderExpectedFrame
-    }
-
-    @objc private func refreshPlaceholder() {
-
-        let text: String = text ?? attributedText?.string ?? ""
-        placeholderLabel.alpha = text.isEmpty ? 1 : 0
-    }
-
-    open override var text: String! {
-
-        didSet {
-            refreshPlaceholder()
-        }
-    }
-
-    open override var attributedText: NSAttributedString! {
-
-        didSet {
-            refreshPlaceholder()
-        }
-    }
-
-    open override var font: UIFont? {
-
-        didSet {
-
-            if let font: UIFont = font {
-                placeholderLabel.font = font
-            } else {
-                placeholderLabel.font = UIFont.systemFont(ofSize: 12)
-            }
-        }
-    }
-
-    open override var textAlignment: NSTextAlignment {
-        didSet {
-            placeholderLabel.textAlignment = textAlignment
-        }
-    }
-
-    open override var intrinsicContentSize: CGSize {
-        guard !hasText else {
-            return super.intrinsicContentSize
-        }
-
-        var newSize: CGSize = super.intrinsicContentSize
-        let placeholderInsets: UIEdgeInsets = self.placeholderInsets
-        newSize.height = placeholderExpectedFrame.height + placeholderInsets.top + placeholderInsets.bottom
-
-        return newSize
-    }
-
-    open override func caretRect(for position: UITextPosition) -> CGRect {
-        var originalRect = super.caretRect(for: position)
-
-        // When placeholder is visible and text alignment is centered
-        guard placeholderLabel.alpha == 1 && self.textAlignment == .center else { return originalRect }
-
-        // Calculate the width of the placeholder text
-        let font = placeholderLabel.font ?? UIFont.systemFont(ofSize: UIFont.systemFontSize)
-        let textSize = placeholderLabel.text?.size(withAttributes: [.font: font]) ?? .zero
-        // Calculate the starting x position of the centered placeholder text
-        let centeredTextX = (self.bounds.size.width - textSize.width) / 2
-        // Update the caret position to match the starting x position of the centered text
-        originalRect.origin.x = centeredTextX
-
-        return originalRect
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/LICENSE b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/LICENSE
deleted file mode 100644 (file)
index 5d8eb96..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/README.md b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/IQTextView/README.md
deleted file mode 100644 (file)
index 417325e..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-# IQTextView
-
-[![CI Status](https://img.shields.io/travis/hackiftekhar/IQTextView.svg?style=flat)](https://travis-ci.org/hackiftekhar/IQTextView)
-[![Version](https://img.shields.io/cocoapods/v/IQTextView.svg?style=flat)](https://cocoapods.org/pods/IQTextView)
-[![License](https://img.shields.io/cocoapods/l/IQTextView.svg?style=flat)](https://cocoapods.org/pods/IQTextView)
-[![Platform](https://img.shields.io/cocoapods/p/IQTextView.svg?style=flat)](https://cocoapods.org/pods/IQTextView)
-
-![Screenshot](https://raw.githubusercontent.com/hackiftekhar/IQTextView/master/Screenshot/IQTextViewScreenshot.png)
-
-## Example
-
-To run the example project, clone the repo, and run `pod install` from the Example directory first.
-
-## Requirements
-
-## Installation
-
-IQTextView is available through [CocoaPods](https://cocoapods.org). To install
-it, simply add the following line to your Podfile:
-
-```ruby
-pod 'IQTextView'
-```
-
-## Usage
-
-You can set any UITextView class to IQTextView and then you can change the placeholder and placeholderTextColor from the storyboard
-
-To change them via code, you may have to set them programmatically
-```swift
-textView.placeholderTextColor = UIColor.lightGray
-textView.placeholder = "Enter your message here..."
-```
-
-To work this with IQKeyboardToolbarManager to show placeholder in toolbar, you may have to confirm IQPlaceholderable manually in your code
-```swift
-@available(iOSApplicationExtension, unavailable)
-@MainActor
-extension IQTextView: IQPlaceholderable { }
-```
-
-## Author
-
-Iftekhar Qurashi hack.iftekhar@gmail.com
-
-## License
-
-IQTextView is available under the MIT license. See the LICENSE file for more info.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Manifest.lock b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Manifest.lock
deleted file mode 100644 (file)
index 4d306eb..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-PODS:
-  - IQKeyboardCore (1.0.5)
-  - IQKeyboardManagerSwift (8.0.1):
-    - IQKeyboardManagerSwift/Appearance (= 8.0.1)
-    - IQKeyboardManagerSwift/Core (= 8.0.1)
-    - IQKeyboardManagerSwift/IQKeyboardReturnManager (= 8.0.1)
-    - IQKeyboardManagerSwift/IQKeyboardToolbarManager (= 8.0.1)
-    - IQKeyboardManagerSwift/IQTextView (= 8.0.1)
-    - IQKeyboardManagerSwift/Resign (= 8.0.1)
-  - IQKeyboardManagerSwift/Appearance (8.0.1):
-    - IQKeyboardManagerSwift/Core
-  - IQKeyboardManagerSwift/Core (8.0.1):
-    - IQKeyboardNotification
-    - IQTextInputViewNotification
-  - IQKeyboardManagerSwift/IQKeyboardReturnManager (8.0.1):
-    - IQKeyboardReturnManager
-  - IQKeyboardManagerSwift/IQKeyboardToolbarManager (8.0.1):
-    - IQKeyboardManagerSwift/Core
-    - IQKeyboardToolbarManager
-  - IQKeyboardManagerSwift/IQTextView (8.0.1):
-    - IQTextView
-  - IQKeyboardManagerSwift/Resign (8.0.1):
-    - IQKeyboardManagerSwift/Core
-  - IQKeyboardNotification (1.0.3)
-  - IQKeyboardReturnManager (1.0.4):
-    - IQKeyboardCore (= 1.0.5)
-  - IQKeyboardToolbar (1.1.1):
-    - IQKeyboardCore
-    - IQKeyboardToolbar/Core (= 1.1.1)
-  - IQKeyboardToolbar/Core (1.1.1):
-    - IQKeyboardCore
-    - IQKeyboardToolbar/Placeholderable
-  - IQKeyboardToolbar/Placeholderable (1.1.1):
-    - IQKeyboardCore
-  - IQKeyboardToolbarManager (1.1.3):
-    - IQKeyboardToolbar
-    - IQTextInputViewNotification
-  - IQTextInputViewNotification (1.0.8):
-    - IQKeyboardCore
-  - IQTextView (1.0.5):
-    - IQKeyboardToolbar/Placeholderable
-  - SnapKit (5.7.1)
-  - SocketRocket (0.7.1)
-  - Toast-Swift (5.1.1)
-
-DEPENDENCIES:
-  - IQKeyboardManagerSwift
-  - SnapKit (~> 5.7.0)
-  - SocketRocket
-  - Toast-Swift
-
-SPEC REPOS:
-  https://gitee.com/mirrors/CocoaPods-Specs.git:
-    - IQKeyboardCore
-    - IQKeyboardManagerSwift
-    - IQKeyboardNotification
-    - IQKeyboardReturnManager
-    - IQKeyboardToolbar
-    - IQKeyboardToolbarManager
-    - IQTextInputViewNotification
-    - IQTextView
-    - SnapKit
-    - SocketRocket
-    - Toast-Swift
-
-SPEC CHECKSUMS:
-  IQKeyboardCore: 28c8bf3bcd8ba5aa1570b318cbc4da94b861711e
-  IQKeyboardManagerSwift: 835fc9c6e4732398113406d84900ad2e8f141218
-  IQKeyboardNotification: d7382c4466c5a5adef92c7452ebf861b36050088
-  IQKeyboardReturnManager: 972be48528ce9e7508ab3ab15ac7efac803f17f5
-  IQKeyboardToolbar: d4bdccfb78324aec2f3920659c77bb89acd33312
-  IQKeyboardToolbarManager: 6c693c8478d6327a7ef2107528d29698b3514dbb
-  IQTextInputViewNotification: f5e954d8881fd9808b744e49e024cc0d4bcfe572
-  IQTextView: ae13b4922f22e6f027f62c557d9f4f236b19d5c7
-  SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a
-  SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
-  Toast-Swift: 7a03a532afe3a560d4044bc7c237e2864d295173
-
-PODFILE CHECKSUM: 3b64f91d7c4f6c0036af83b3b1ff330c07d705a8
-
-COCOAPODS: 1.16.2
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Pods.xcodeproj/project.pbxproj b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Pods.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index e0e2481..0000000
+++ /dev/null
@@ -1,4644 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 77;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               01216C042B056FFF0FC7EE32A002C38A /* IQKeyboardCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BFB6F598FCE7D6294584E7334E04ECF2 /* IQKeyboardCore-dummy.m */; };
-               020799C53BF7A383514499A2B455C635 /* IQKeyboardReturnManager-IQKeyboardReturnManager in Resources */ = {isa = PBXBuildFile; fileRef = 110BD425B6CAD6801539E2C6AB6E0662 /* IQKeyboardReturnManager-IQKeyboardReturnManager */; };
-               0362BB03F32EC9FB6013DEE29E8E33EF /* SRHTTPConnectMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = ED22317A1312CBBA0134A8E449ABD201 /* SRHTTPConnectMessage.m */; };
-               04986EEC139DC7C45DAB58056315FDC8 /* SRPinningSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = B278701FAF564A3D25B8F87CCDB798D6 /* SRPinningSecurityPolicy.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               05F4664FC4EF89925161A064AA6481BB /* IQKeyboardManager+Position.swift in Sources */ = {isa = PBXBuildFile; fileRef = 936A804D23E5F53A2A38402D624D6EA2 /* IQKeyboardManager+Position.swift */; };
-               064D909CD827405E8DCC309DB1B7775A /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = A55BC45618B737DBC6885D98DC8C9C0C /* ConstraintLayoutSupportDSL.swift */; };
-               06B16BF7C2EA99B47539C34FF4150ABF /* Array+Sort.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7594A52F0B7E0AD0D9F26BE8026E1E4C /* Array+Sort.swift */; };
-               070601D9903BE1D11DD6DD1367C3F012 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */; };
-               07543B1010D44AA155CAFADBF03E66DB /* IQKeyboardToolbarManager+Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = 782D18DB9D0B7B74F8613026BAD77E86 /* IQKeyboardToolbarManager+Action.swift */; };
-               075FBDF5D186F8BF4537BC34E526F9DB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */; };
-               07632D281C5DED61CC7866B079BC9D2C /* SocketRocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EF0C08E9D339F2CB75ED0C9E7FA2C0B /* SocketRocket.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               09D303C994021652DF841C463DBD1DC5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */; };
-               09E1F569A93FAD4B9149E30B9301F44A /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6058A4E7C2EAB9B01A8DBB5AAD7E72A2 /* ConstraintPriority.swift */; };
-               0B380F6921261E661C9EF26B02E5D634 /* IQKeyboardNotification-IQKeyboardNotification in Resources */ = {isa = PBXBuildFile; fileRef = 120BD4C670EF00F4D5A40AA4B863A7AE /* IQKeyboardNotification-IQKeyboardNotification */; };
-               0C7E48CC6391092D8F5B4341E1EE7485 /* Toast-Swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D0CA09E0900EA77648A05D608CBA29F /* Toast-Swift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               0CA7A132ABE7018DE9295456732F38BB /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = E293311AF50DC30E5B7F7D2D91BEB28A /* ConstraintAttributes.swift */; };
-               0DE5DB9C6227B3416778D8417DD95EA9 /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1C674397D453B6D18F9DE46BC55B6FF /* ConstraintView+Extensions.swift */; };
-               0EB83A2AC8AAECEE26C8739477B3A431 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 3649D66694159EF7F40B5A7377AC04D1 /* PrivacyInfo.xcprivacy */; };
-               1194E62AA3F6F506799B1A43B16942B5 /* ConstraintDirectionalInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EE50CC6D98E37DA330EADC9F9C949F0 /* ConstraintDirectionalInsets.swift */; };
-               11A3EB5BE3623EC013AA37B49813E56C /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A92BC97913B825589680C917211C138 /* UIKit.framework */; };
-               1213C5A29D13B6F2E3AE2356CB9F5807 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */; };
-               154230695B4E3D61B8D2BD02DAA2CE91 /* IQKeyboardManager+Appearance_Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDD0C3C29384D3EEBCB4BE346B1CA890 /* IQKeyboardManager+Appearance_Deprecated.swift */; };
-               164062B86FCAFF355EE04D7A23A6EA1C /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 6C4219D35CB16DFEC9A662797E27F4D8 /* PrivacyInfo.xcprivacy */; };
-               172B6B4E5550420B8131FBD62C975821 /* Toast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D134ED7EB13A9F9FADC82CC86BC10FA /* Toast.swift */; };
-               1A117EC847E321871E40EB39F3576D11 /* SRDelegateController.m in Sources */ = {isa = PBXBuildFile; fileRef = B4BBB6B50C15DFF1221CD8E66DC2D354 /* SRDelegateController.m */; };
-               1A67B4D6FA3F8FB9A1083EF74C966F64 /* UIView+IQKeyboardExtensionDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F565A673CEEF3B818D7A75F2A2EE8B0 /* UIView+IQKeyboardExtensionDeprecated.swift */; };
-               1B5995FCE11B496E4102AC5AD357249A /* IQTextInputViewInfoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10288C630688257B185941E1EA55E346 /* IQTextInputViewInfoModel.swift */; };
-               1CCB9F1FA415F93E8F4AD0E4692E4BC6 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = C97A233DEE5D1279877CD8292A10AD84 /* PrivacyInfo.xcprivacy */; };
-               205EB01AED14BB574DD54EAFE26E4786 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */; };
-               20B8C7C05E3AF3032935F30500EF5550 /* SRIOConsumerPool.m in Sources */ = {isa = PBXBuildFile; fileRef = A6C0BF00B3D547B50DBE54D99A1307F4 /* SRIOConsumerPool.m */; };
-               2409EDE57DC13E13E7C7A81E9E2DDD9E /* IQTextView-IQTextView in Resources */ = {isa = PBXBuildFile; fileRef = 847044E56CBBCE1235A6F3CEF3F9F607 /* IQTextView-IQTextView */; };
-               24637C51989929A62E5E75585544A14D /* IQKeyboardManager+Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4B0C5FFB36CB099605387F3B9F34032 /* IQKeyboardManager+Debug.swift */; };
-               24A7645685912B02F96A1291D607DBAA /* UIView+IQKeyboardExtensionObjc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A599D5DDFD46F7296A5F93623AB6C3A /* UIView+IQKeyboardExtensionObjc.swift */; };
-               2A1DE175A760E9F7CF7AF711BF549BC9 /* IQKeyboardReturnManager-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9BF97689FA8F63852FC5D7EE814D2D /* IQKeyboardReturnManager-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               2B067825708D13E7E455426389397D1A /* UIView+IQKeyboardManagerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDFB64A96CC2B18E25FF662E37821253 /* UIView+IQKeyboardManagerExtension.swift */; };
-               2B2EB369550CE92CEEFCBFD3D32B8A3F /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92C5C459A1F7BF6872A58A16B7092803 /* ConstraintInsetTarget.swift */; };
-               2B518589AC1F3F54CE14633027E81734 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = BC590BB41230B885D405920A55DAD210 /* PrivacyInfo.xcprivacy */; };
-               2B7184BD487141C385B3CC3F3984AA55 /* SRSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = C33C375328643D5A9A1D1EA02C88D419 /* SRSecurityPolicy.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               30D6F928FC08B13B5BFEEB154A2089C1 /* IQKeyboardManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 895778DCA58AE753D96DD48F3E036F4F /* IQKeyboardManager.swift */; };
-               310A311043229B0F1C21B72E9FD37271 /* IQKeyboardToolbarManager+Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F992A0DC4578F2D62CB095A497114CC /* IQKeyboardToolbarManager+Debug.swift */; };
-               332EB3263B1002A5A0A146CCE70501AD /* IQRootControllerConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10C547231342B150BEC39F40295D087E /* IQRootControllerConfiguration.swift */; };
-               355A2A3962A82AE25D219DB774CB6AEE /* UIView+ResignObjc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12415404E6E70407610188D7ADDC1D02 /* UIView+ResignObjc.swift */; };
-               3577F172FA68CBAE47CFEE6FE25C5404 /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = B77F72F31D132841951EF8E4FA67360A /* ConstraintOffsetTarget.swift */; };
-               378BD5280F6C07B11CF30B253D824972 /* IQKeyboardExtended.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0F99DC81F369C1B739E19DE3923C65A /* IQKeyboardExtended.swift */; };
-               37E0B956B90DE65985C993A4DF4D6CA3 /* UIView+Responders.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97D19ACC9A79A3CF24DA377E12303E12 /* UIView+Responders.swift */; };
-               380EA4E3E2A772560E3A0670B6406450 /* IQTextInputViewInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9ECC82996747BDD9C0FF35EC1ECF0751 /* IQTextInputViewInfo.swift */; };
-               39B33D7873CD89C6A7E96ACD36A1EDFB /* UIScrollView+IQKeyboardManagerExtensionObjc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EF1258267E4FF8FA1F298C5303B0E86 /* UIScrollView+IQKeyboardManagerExtensionObjc.swift */; };
-               3A6B20BEE4F7A5B5835DE5D1E509754E /* IQActiveConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D63292C39BAA9B9EB776AAA03EABD932 /* IQActiveConfiguration.swift */; };
-               3BB0B5D924BE769E95E64A5E6FC1675D /* NSRunLoop+SRWebSocketPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AE37E30F693ED15CA31B520ED420454 /* NSRunLoop+SRWebSocketPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               3D1D0BFA512309AE63825C811A1BFC81 /* IQInvocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9939F486FEF106F98BDD0806CA8E0624 /* IQInvocation.swift */; };
-               3D3B646B4988314275B40E97BEB16C7F /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84BBB0405889161CCDDCD4F166723CBF /* ConstraintLayoutGuideDSL.swift */; };
-               3E715D5BADDEACEEF30D6A4CA82CDA9B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */; };
-               3F89C7F7F091BA0DFD648E0286E5665D /* IQKeyboardToolbarPlaceholderConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF60B19D2E8B68520E5121EFFF5A7D4B /* IQKeyboardToolbarPlaceholderConfiguration.swift */; };
-               40BB4A23AD4A18E81678F58EAA90EB85 /* UIScrollView+IQKeyboardManagerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F70480B31A6883BEDFC6C623FC76A32 /* UIScrollView+IQKeyboardManagerExtension.swift */; };
-               444E95921E2BDCE7512867EAA1A6B381 /* SRWebSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = D389D10DEC7EB9B503CD45CE58851CA6 /* SRWebSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               44EFA9A76932F81582D03076A8346A4B /* SRIOConsumerPool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C4CE911087AC8260002E6859821FAF0 /* SRIOConsumerPool.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               47C9A000C20E04EC69BFEEF3C6AC6256 /* IQKeyboardAppearanceManager+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6381011924A059A30C85325FB30E74A7 /* IQKeyboardAppearanceManager+Internal.swift */; };
-               49D83EC94BF242A406B6553F44E52024 /* IQKeyboardToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63CAFAB9111F6F5AAEFD9E00CD0AF892 /* IQKeyboardToolbar.swift */; };
-               49F88DA1CED23ACF70ED0D51D2BCCE4F /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = C688B508E11EFC4D24CB920CAF96B948 /* PrivacyInfo.xcprivacy */; };
-               4B2FB381B6E14F9E0F442557ADDAA2F8 /* IQTextInputViewNotification-IQTextInputViewNotification in Resources */ = {isa = PBXBuildFile; fileRef = F956E149F5B195BB7833F97FC6211AE8 /* IQTextInputViewNotification-IQTextInputViewNotification */; };
-               4C1E30BD1A58C10DE84E572ECD5DB54D /* IQKeyboardToolbarManager-IQKeyboardToolbarManager in Resources */ = {isa = PBXBuildFile; fileRef = 80A40EDA3AF0499BDBCFF09467BB49AD /* IQKeyboardToolbarManager-IQKeyboardToolbarManager */; };
-               4C26DF4F8D6AC77894F18EC89896258B /* IQKeyboardInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0B11EBC98CF5A275C2F8077CDEA1F18 /* IQKeyboardInfo.swift */; };
-               4DC15DC2DF3C4BBA344C86B112C9C68B /* SRWebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 95BCD7B08FF0A2A4F9B0A36B92688E27 /* SRWebSocket.m */; };
-               4E7BB3FBF4B3680AF358C0A0A0F34011 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */; };
-               4F4DEB687C0E4834A5B291DEE0651D6A /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4C8C6089794ACE3010224A9FB1D90EA /* ConstraintMaker.swift */; };
-               50ECD138DA8BC1FBBEBFBF3CE5CEB5FF /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 643F1AECE038E1886712C3619E367201 /* PrivacyInfo.xcprivacy */; };
-               548F940AC071FBFD9D8DF209775771E5 /* UIView+IQKeyboardExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9976447B92E50DDDCA64DBDE5A47FD7F /* UIView+IQKeyboardExtension.swift */; };
-               56851E11140A140A15088A41DC4C33BD /* NSURLRequest+SRWebSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 3187DDFEE4C490953B2AEF7B0D19EB1B /* NSURLRequest+SRWebSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               56E30C414ED43846B453D6FDE75DF3B5 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 25BADE0B95009E3B02C9E6EBB47417A3 /* PrivacyInfo.xcprivacy */; };
-               57A34E19799F03EB53206496FD362449 /* SRURLUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 27DA2684B87B3639C3D3D439F177E219 /* SRURLUtilities.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               57C4F6EFB30DDD14E960AC2D6B34F904 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AFBCEC8A83AB63E7D141D4EA274517BA /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               5922A6A0AE7152CF436356B3556F1835 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 080D923BC81BB12EE5B738187A72A0D4 /* ConstraintItem.swift */; };
-               59F34874DA4ABB2F5C4E09EA6865936B /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2793937CF93115D3117A82FB873124B /* ConstraintLayoutGuide.swift */; };
-               5B67445AE2F3934BDA08D407BBA3028B /* SocketRocket-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E46C7EF1F6BD003E0DEC56B05B15DDF /* SocketRocket-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               5BB666D0986483D015712429F9FF2674 /* IQKeyboardReturnManager+UITextViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66E229F790E827392A80B7F4C7A6110F /* IQKeyboardReturnManager+UITextViewDelegate.swift */; };
-               5DFD87881941225F0A5EAE64EB247708 /* SRSIMDHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E9444EE5839429C60E9A16651BAD78 /* SRSIMDHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               5E7E257AE5D618E46EF57A5818010F85 /* NSRunLoop+SRWebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FB6A208FD72153F040D4E1354F225B4 /* NSRunLoop+SRWebSocket.m */; };
-               6135798CCD656C1B3A6EA5738A23190A /* SRSIMDHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 50A2B3566A43C15186D3A1D9F91DB662 /* SRSIMDHelpers.m */; };
-               61ED64340371AB30B936A019C22C376D /* UIView+IQKeyboardManagerExtensionObjc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D8DC22EC08F3E72E7E53ADA12E80CC0 /* UIView+IQKeyboardManagerExtensionObjc.swift */; };
-               62B90C6FC83F91F91A4BF12022C7B050 /* UIView+Parent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8F3D9A02DBFA1FF9899DD8933A95DA /* UIView+Parent.swift */; };
-               64365C2671D733D3AAE1E25684E73255 /* Pods-Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 93B05AAE9D91B32B46928A2293611FF4 /* Pods-Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               6464C345447C71904DA3706AACA3F55D /* SRProxyConnect.h in Headers */ = {isa = PBXBuildFile; fileRef = 32080BC56EEB26340C6292BA94F068B6 /* SRProxyConnect.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               64684CAF22CAC1002958805187019FD7 /* IQDeepResponderContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 484ECEC55CB9E98BAF0AE020F8FFF767 /* IQDeepResponderContainerView.swift */; };
-               65ABC841033E6707C3419B304C1DDD50 /* IQKeyboardNotification-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DA85287A9C3D760A6324EF926C0C44CE /* IQKeyboardNotification-dummy.m */; };
-               65E5693A457A8AEE3E5758075D1E2792 /* SRError.h in Headers */ = {isa = PBXBuildFile; fileRef = E7EE2526E40B99B0F243808A2396A01C /* SRError.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               6645E9FB4265C5712E38055C931E1630 /* NSURLRequest+SRWebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = ED7286BA89901CA1D622A1FCF81E718C /* NSURLRequest+SRWebSocket.m */; };
-               6735CEF5CEDBE284902139B3ED3F2E73 /* UIView+RespondersObjc.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEAD5B92B7CF2B0746297208D610D3CD /* UIView+RespondersObjc.swift */; };
-               6DE9FD143CBC24075601F8FE2ADC4115 /* IQKeyboardCore-IQKeyboardCore in Resources */ = {isa = PBXBuildFile; fileRef = 6E897F35E5E27028AC58B14B552FBC8D /* IQKeyboardCore-IQKeyboardCore */; };
-               6E39129FC8643A70C276801FEF4C280D /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47BC329529726FFACA942239310E3841 /* Constraint.swift */; };
-               71311BC21C92A7DE376CAD928E325979 /* IQKeyboardToolbarManager+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF4BC9A0614A1C63539C14C08655781F /* IQKeyboardToolbarManager+Deprecated.swift */; };
-               7174D48AADABCBE6FC53185C5442B952 /* NSURLRequest+SRWebSocketPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = FA41F5D42C8280BA202FDE26BDBDFFA3 /* NSURLRequest+SRWebSocketPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               721D0AFDE15FCC46F4579069672719B9 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A92BC97913B825589680C917211C138 /* UIKit.framework */; };
-               737CE5F34A1D2B09DEF3038425A40877 /* IQTextView+Placeholderable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1F86119EB8AFCE72C0BA2356BBA4C46 /* IQTextView+Placeholderable.swift */; };
-               769B4905AD35AD554AA9DE98DA8E4E11 /* IQKeyboardManager+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0689F5C192D1672448116583D233922 /* IQKeyboardManager+Deprecated.swift */; };
-               77F1B40C21EFF28350EDA6A12263B098 /* IQKeyboardManager+Appearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = A44F945B3203BCA4B178E49ED53E5391 /* IQKeyboardManager+Appearance.swift */; };
-               782981022BF319DFD85AE89A392639A2 /* SRMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = CEA0C9AAC08B9E0D20DE8BC894AE3FDE /* SRMutex.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               7AF516B98D45391B909D507D0244104C /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF4B96374C0DB9D56AB95C3D5A31B152 /* ConstraintDescription.swift */; };
-               7B0BC17748C9775A8299A96D501CE5A8 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 133A600484839BF74BDD51C8B0BB6EBE /* QuartzCore.framework */; };
-               7BA968278DAB1050E34D0B65E56E5846 /* IQKeyboardToolbar-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 994130CE96E0F8ED28DCF165B03CB200 /* IQKeyboardToolbar-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               7BBD64ADF2DD2B427F258E87F3EDA284 /* IQTitleBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E8E02D90547D6DBD75A856D8A4E1275 /* IQTitleBarButtonItem.swift */; };
-               7BEAD7E859FB5BFCACD23CE492484CC4 /* IQPlaceholderable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE1B2703C190723870111C925A464468 /* IQPlaceholderable.swift */; };
-               7CBA95E07A492F7311C7DD8EDF0B4172 /* IQScrollViewConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47F6CB0808BEA63D36E484B5D53B6436 /* IQScrollViewConfiguration.swift */; };
-               7D42390CDB4FA147504B03DA2A174A0C /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = C53921D76AE7ECC63293C2263C9325A0 /* ConstraintViewDSL.swift */; };
-               7F30D73D46CAD9D21A25738B11A6DDDA /* SRURLUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 390BB9902E7A26E5A753B9CF32673BE9 /* SRURLUtilities.m */; };
-               7FCA9A032C39444BD74F08A5F3927839 /* Pods-Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A6BD2261427B29C50F84843B6BAB7DEA /* Pods-Example-dummy.m */; };
-               809199B64088AA02A6B900316396A83D /* IQKeyboardToolbarManager+Toolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA718E8C5B46720F8012D7471BC6BF37 /* IQKeyboardToolbarManager+Toolbar.swift */; };
-               860017D588B23C12B08A3C4390BAEA56 /* IQKeyboardNotification-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 822DD0DAF7E4428BCCDFE28EAD683ADD /* IQKeyboardNotification-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8667EBBAD4365F7E2DECFE792D488128 /* IQTextView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 64607CC28651258E6DAB2D1358080FB5 /* IQTextView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               868A9F524A7985BDA1EA124D9BF4CA63 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFCB22B3ED6C05251CBD3059AAE51013 /* ConstraintDSL.swift */; };
-               86CAB01D950C8BC35EDE0BDC01A2500B /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BBDD1BF37BF58D4C467C1D1F21D462 /* ConstraintView.swift */; };
-               870DC4F98094456228D282F5F6200609 /* IQTextView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B560A38E28D510B4A50AFF9595D57670 /* IQTextView-dummy.m */; };
-               8762AC084551DBB2E00C3091CAF011ED /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */; };
-               87E921A1D8B0C683DA2133709C867859 /* Toast-Swift-Toast-Swift in Resources */ = {isa = PBXBuildFile; fileRef = 13FD39576595D8A884BF5166065C5236 /* Toast-Swift-Toast-Swift */; };
-               883EDEE1C699497CF2A77C3B8A32A790 /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 750817E69AAE97D1AF5F958FC5904BF2 /* ConstraintMultiplierTarget.swift */; };
-               89CAC1E5DC5833EE630A652957D253A7 /* SRLog.h in Headers */ = {isa = PBXBuildFile; fileRef = AF5E93556B3B98CA5218F3B9E49304F6 /* SRLog.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               8ACE9296AA479804EFD2D3CC417DE801 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A92BC97913B825589680C917211C138 /* UIKit.framework */; };
-               8BA78192EBB4433C386A932BE198C2AD /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = CF362111EEE4CBA3A09DDC5814422B70 /* PrivacyInfo.xcprivacy */; };
-               8BA91314914C4486DACA16122819AF1C /* IQTextInputViewNotification-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C2878B4F3D509987EC767604F46AD0E1 /* IQTextInputViewNotification-dummy.m */; };
-               8BABA32F7B94A25D8E9208C0A8D90B2E /* ConstraintMakerRelatable+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 529559A67714BC64192FD9BF92B33312 /* ConstraintMakerRelatable+Extensions.swift */; };
-               8C41EA954997897C3E30C5754010C05F /* UIViewController+ParentContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 995B281C84F1083BE4DB31B75BCC029C /* UIViewController+ParentContainer.swift */; };
-               8CBC72065F0261B373B958696985AF99 /* IQKeyboardResignHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 261E9C437FF6FFF72C01BBB73341409D /* IQKeyboardResignHandler.swift */; };
-               8D0D15CE4E92BA4433AE7EA578FE3E15 /* SRSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6839FC9EB46E8CB05E17C35E5A5B579F /* SRSecurityPolicy.m */; };
-               8DC89975CCCA53253DE9DB5646E468FB /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A92BC97913B825589680C917211C138 /* UIKit.framework */; };
-               91CA63A8C62222E89FBB8FA2B7FE9CDE /* IQKeyboardManager+Resign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 236C98A9FAEF3200D70937E889092818 /* IQKeyboardManager+Resign.swift */; };
-               92571FFBEF3A7B2F4F633624013010EE /* SRRunLoopThread.m in Sources */ = {isa = PBXBuildFile; fileRef = 8609C41722C0D97335DBF43B1CE7AB03 /* SRRunLoopThread.m */; };
-               9298CB7C2E4AC4E751E535DA15BEEFA8 /* IQKeyboardManagerSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C8BDF6ED7A0F1533FC84E97705B2878 /* IQKeyboardManagerSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               939EE0216FC02064B2F5894E87628182 /* SRRunLoopThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 43CBF3C99F0BF342AEE8D7C7BE945B62 /* SRRunLoopThread.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               95A620A5272057BA126D00CC498F9B8A /* Combine.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3ED18FF4963E7B4F60DBBA903E25C67B /* Combine.framework */; };
-               975E6903FBA7CF724108613000500E7E /* IQKeyboardNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A14C9A838BD693FFDCAF82F4D5604A /* IQKeyboardNotification.swift */; };
-               992815E207201EE57916809E07ADBD74 /* IQKeyboardToolbarConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC713814A822ABA18A07C72E6B97AE04 /* IQKeyboardToolbarConstants.swift */; };
-               9A3761D8CEFB0E2131D2EFA2DEBB3A99 /* SRRandom.m in Sources */ = {isa = PBXBuildFile; fileRef = 68443C8F28AD901E531D6BFA7559C683 /* SRRandom.m */; };
-               9A3B9C740BC8FE0500132251551E5BE7 /* SRIOConsumer.h in Headers */ = {isa = PBXBuildFile; fileRef = 26FE696F5243F520CB872AC051139FE5 /* SRIOConsumer.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               9CFA943AABBDB657A85AAAF2FB4DED67 /* IQKeyboardToolbarManager-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C2460EF332DB152D7A7B9869C8F4032 /* IQKeyboardToolbarManager-dummy.m */; };
-               9D22F88B7F1AF054C2BF025DFB767154 /* IQKeyboardManager+ToolbarManagerDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = C61F58870F6E8F6EEF25FA9A6A0E7F60 /* IQKeyboardManager+ToolbarManagerDeprecated.swift */; };
-               9D71239428D38EB9B5E7F5AA51E3E1BB /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A92BC97913B825589680C917211C138 /* UIKit.framework */; };
-               9E0045B41BFE697DB4ADE151228024D2 /* SnapKit-SnapKit_Privacy in Resources */ = {isa = PBXBuildFile; fileRef = B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */; };
-               A3585531EE4D8466B74A5A6F7958EC79 /* SocketRocket-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B1F45CBD7E407DB108D6FAD8FF0A1415 /* SocketRocket-dummy.m */; };
-               A39FE5F72261B202CC63722A7B357206 /* IQTextInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 502964DCE1567348B5B03211445AEA35 /* IQTextInputView.swift */; };
-               A564D0B0EE8AED950D943A75C2B3092E /* SRMutex.m in Sources */ = {isa = PBXBuildFile; fileRef = D7EF3525F706753F05EA05BD1819EC4E /* SRMutex.m */; };
-               A6F1EFC3CDA009A4BE6CCBB01248DA21 /* UICollectionView+IndexPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = 115E19C96EB6123FE27F3A530B3BE30D /* UICollectionView+IndexPaths.swift */; };
-               A802B52FE5903601486CB77E2FDCF18B /* IQKeyboardToolbarManager+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 158193B636D7824993DB68D81AE2C233 /* IQKeyboardToolbarManager+Internal.swift */; };
-               A92367989121B0877023A09BF2F96F15 /* IQKeyboardToolbarManager-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D8DCDE8A3DFBFEA690BD5A6081C5762 /* IQKeyboardToolbarManager-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               A983CCA5F6596F030EFCC1E27C1E766E /* UITableView+IndexPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = A15B541658FAC5E8233C91001D7888EC /* UITableView+IndexPaths.swift */; };
-               A98E7BF0F63124A6CB7FC2BB19B1DCBE /* IQKeyboardReturnManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 224FAFA7B0169BBAAFD0FA422D7D11A6 /* IQKeyboardReturnManager.swift */; };
-               A9B5C45C3C4D517B581E536DE846A078 /* Toast-Swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B98BCBD470DE1E0FC19C5E1F3AF37195 /* Toast-Swift-dummy.m */; };
-               AA3E0F99979D1B54EE9DCD8FE01816CF /* IQKeyboardReturnManager+UITextFieldDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB23C93E47AFBF1FA651D132F7AC06E2 /* IQKeyboardReturnManager+UITextFieldDelegate.swift */; };
-               AABEF13464BA7F4621BD94736C1D057C /* ConstraintMakerPrioritizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9101BAF3027E387E34B0301BE000FA50 /* ConstraintMakerPrioritizable.swift */; };
-               AB12501C57FFF722131F674ACB425944 /* SRError.m in Sources */ = {isa = PBXBuildFile; fileRef = 77195404B1F7ADCD8B3008B1B89F5C03 /* SRError.m */; };
-               AC22AD1E1EF9CD9D6E242F3630A9A012 /* IQKeyboardManager+ToolbarManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A737607DB763EBB681D8D0F6E6AB5FB /* IQKeyboardManager+ToolbarManager.swift */; };
-               AC68F7636D1D7832E4B5B18DD2BF2941 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A92BC97913B825589680C917211C138 /* UIKit.framework */; };
-               AD9EF3D3778212D1147044DC3A971C80 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */; };
-               AE224EDB6D044C0FE86B086E950FC2F9 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8A90925F3434F73BD6A036480A5A473 /* Debugging.swift */; };
-               AEA1A05086EA1256D504393FAED3CF4B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */; };
-               AF760C78F1C7E11BF7CB9E9B29903530 /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DFE571CD6A634198545BB1149A5399C /* ConstraintInsets.swift */; };
-               B0875E3AB8718E7DFE5C53497C02A15E /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D8726D60E6EF3E455768E64432DA57 /* ConstraintLayoutSupport.swift */; };
-               B1990109AA9AF8F57180C17D4A04EF6B /* IQKeyboardToolbarManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB176716E9339D1CA456C696313236FE /* IQKeyboardToolbarManager.swift */; };
-               B4C82668A78939FE910FEA0D314F06C1 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 91B24E7C9EB4215BEA2C0A23D3960815 /* Security.framework */; };
-               B543A1E1882CAEA19589891FCE2D17EA /* NSRunLoop+SRWebSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 306B6BBB2D0B4D417ADD4B82D7D51E82 /* NSRunLoop+SRWebSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               B5C5EBCC5EC278EA704D27FB2D333B22 /* Combine.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3ED18FF4963E7B4F60DBBA903E25C67B /* Combine.framework */; };
-               B7D5043A8EC4C7C38F6C1688ACA93185 /* IQKeyboardReturnManager-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A8FACB5BCF825223E394FFECCE4AA031 /* IQKeyboardReturnManager-dummy.m */; };
-               B893C0DD5BE32FAE1D6895E1ED392B7A /* SRConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = A284951838ACA1015F31DBE6C5A8D45F /* SRConstants.m */; };
-               B903049E7C1BED7918DAB208754107C7 /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24926E8158D8FAD9BE42C760B3154B55 /* ConstraintMakerFinalizable.swift */; };
-               BA2FB695DEB0D179253EEB8DFCE3578B /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 02EDA2792EBD3343A7DBC6B427F1F041 /* SnapKit-dummy.m */; };
-               BDA5C7CC91E86448237CF40954FAC5AF /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BFDD7C500F5D6D58D212CB15B52E08 /* ConstraintMakerRelatable.swift */; };
-               BF1AE4D97E813B95C43EA4A298B973D1 /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C0366C8DAD8762352B37EDB4DD62E2E /* LayoutConstraint.swift */; };
-               C07CB3E9A4D1BF00F841E4285629A2B2 /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFB853532F59E8A63D1C93202280CEE9 /* ConstraintRelatableTarget.swift */; };
-               C0AD493AE4A8DC8FF960D753D6D971E3 /* IQKeyboardManagerSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 01E23D7305E51271DEFF79A9CADBF926 /* IQKeyboardManagerSwift-dummy.m */; };
-               C14F10B663FE2898EACAB90C202B3F50 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB474AD377D72ECDF638D46A73B7D687 /* ConstraintMakerEditable.swift */; };
-               C20ECE96A97688090D5FE186DCF7B5D9 /* IQKeyboardManager+Resign_Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC73E02165E26ABFCACC677AF94DD8B /* IQKeyboardManager+Resign_Deprecated.swift */; };
-               C36214D8311B615CDA115276934926DC /* SRRandom.h in Headers */ = {isa = PBXBuildFile; fileRef = D1B2801FD44E489C5B7F202C13D651F2 /* SRRandom.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               C433EA40A4C18AC4714CF6C9BC1172CA /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 0F6A2BF98BD227110E60762E29808CEC /* PrivacyInfo.xcprivacy */; };
-               C4CC8FC7015DCE5912B7607AFB238EFE /* Pods-DeepChordsSdk-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 284AC2E81CAAA90FEA12A250A16B11AB /* Pods-DeepChordsSdk-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               C6A4302ACE006C4E2CDD481287E2916B /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEF5BBB7C4ACF7C06BBD262B6C1145CE /* Typealiases.swift */; };
-               C6F45595676957ADBEC18EB3F23EAEC4 /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD6C692550BC0661BA84378E58F6BA8A /* LayoutConstraintItem.swift */; };
-               C749F0EFAF3D6CAE7C3C0B198665DFA5 /* IQTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E2BADF249E4A558D7EE5BB1077C1DE1 /* IQTextView.swift */; };
-               C7C6F1AD0C44C79C4A3416FCB32B0233 /* IQKeyboardResignHandler+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = E39AF10B1F50FF70721677FFF69BED27 /* IQKeyboardResignHandler+Internal.swift */; };
-               C92D93F48E74B79C08A2C5B81B68FD7D /* SRConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A3DB74B2C40BCD9F3AFA585DA322FF5 /* SRConstants.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               C945CB4EC42271D435BF23E7749BE6BF /* IQKeyboardConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBC1F980FADF5CA26AF9C77CF3D9B1A2 /* IQKeyboardConstants.swift */; };
-               CA547E1928ADED547C368A3AB7CE9267 /* IQBarButtonItemConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14A61C146CFCDB5CEC8508DC60360819 /* IQBarButtonItemConfiguration.swift */; };
-               CE593943A9E7CF83822CF60304BCAD43 /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = C23ABFD4CEF6F11C0094E61729745DE3 /* ConstraintConstantTarget.swift */; };
-               CF6554D8A9380CAC0F51D5043769D930 /* SRLog.m in Sources */ = {isa = PBXBuildFile; fileRef = F930ACB6AC5D06295D698ED0249EB0AB /* SRLog.m */; };
-               D25185C12789EA624C8BAC6A6432E77B /* SRPinningSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AF7DA075D6BD7E141707379E62BFA63 /* SRPinningSecurityPolicy.m */; };
-               D2E460754683003AE9ECF32A831D401F /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C917A6291C02472ECB91FD7B8B2CFC1 /* CFNetwork.framework */; };
-               D4218DA55B2BA45937589200CC0DF1FB /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37445197B6E56B3F3CA861A7F21F1C41 /* ConstraintMakerExtendable.swift */; };
-               D623A6CB33709C4D87766C66A756A0F7 /* SRProxyConnect.m in Sources */ = {isa = PBXBuildFile; fileRef = C3F49C31FFD05F4734B464D5C31979FB /* SRProxyConnect.m */; };
-               D6B15F2F110BC58F7635A9FD7A985C79 /* IQKeyboardManager+ActiveConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792548D571F70D8E7FA3B52FA58D9591 /* IQKeyboardManager+ActiveConfiguration.swift */; };
-               D6EFA9EAA562143F338EB164836B7837 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A92BC97913B825589680C917211C138 /* UIKit.framework */; };
-               DBA4803F4765E1650B8C6841157F5D73 /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = B932A928D72C73FB59FC964A82AC2723 /* ConstraintPriorityTarget.swift */; };
-               DD4291CF0D9971BFED1BD55FB65ACA32 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = E3B1CECC33970571F4F9AF61CB1D3DCD /* PrivacyInfo.xcprivacy */; };
-               DEEC14319D7619F96C4E93415A6D577D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */; };
-               DF011D18EBB28ECE459B6D96D3E460D8 /* SRHTTPConnectMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = FB26ACEBA0181227271430FB01A76848 /* SRHTTPConnectMessage.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               E1734E56DB48E6F238408C9A232C7051 /* UIView+Hierarchy.swift in Sources */ = {isa = PBXBuildFile; fileRef = A368339039F84E09260E0C59DD294DF3 /* UIView+Hierarchy.swift */; };
-               E3535804CAC5D872E37CD8639C930771 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */; };
-               E37671A03B4C17A1CF3766A6125833BB /* ConstraintDirectionalInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58E0237741E33CAFB3DB96DAA7559910 /* ConstraintDirectionalInsetTarget.swift */; };
-               E3D779DEE753C0B0D33BA8E73A980265 /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45E554E7AE314B29D9C07A10667261BE /* ConstraintLayoutGuide+Extensions.swift */; };
-               E4A0C00A361F30B7848B8AE7653C9C60 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A92BC97913B825589680C917211C138 /* UIKit.framework */; };
-               E4A29F8C3ED424A7BC912DB796D03AFB /* UIView+ParentObjc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BD0BDF557D8D8D7CFB04CB9C9482634 /* UIView+ParentObjc.swift */; };
-               E51720E5CBEEB2151A69D4FDF36B7E2D /* IQKeyboardToolbar-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 48CA3ADFB16E0C4E235D89C552572332 /* IQKeyboardToolbar-dummy.m */; };
-               E6FE2596512201193E95FC356C6E3351 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift in Resources */ = {isa = PBXBuildFile; fileRef = 8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */; };
-               E84C30FA4A382D9C330E87FB32C009AE /* IQKeyboardAppearanceManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E25ABD3C4935A40132346F656CA1AA7C /* IQKeyboardAppearanceManager.swift */; };
-               EB3BCE9B36BF814DA3069FA077168301 /* SRHash.m in Sources */ = {isa = PBXBuildFile; fileRef = 109E37988FF06586D32321CEA99162B0 /* SRHash.m */; };
-               EBDF215E376C3DF934F05D201833DDDC /* IQTextInputViewNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0578E47B5AE5713CF21EA86848CA87DD /* IQTextInputViewNotification.swift */; };
-               EBF34312A1F64FE81987440230E5BC49 /* IQKeyboardManager+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = F92A13F8C77041A7711D1764A76C37A3 /* IQKeyboardManager+Internal.swift */; };
-               EC8DB2CC9791B7DC686DCC78EFBB56C5 /* SRDelegateController.h in Headers */ = {isa = PBXBuildFile; fileRef = 2582EC469D9940C7AAE3F903A495E86A /* SRDelegateController.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               ECC5C2ADC2682F9171FEA22AF10DCE53 /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 363F0A017C453E3DC084A7B5BDB87911 /* ConstraintRelation.swift */; };
-               F020DBD67EA8E12A860BE211F6BE04D5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */; };
-               F1E1B1AC67AA1B21E1AF8D3AB5C9849C /* IQTextInputViewNotification-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EA467055B207002F9B70E96F08A0FF86 /* IQTextInputViewNotification-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               F312D740135121FC4C7D0EB4A5F76F90 /* IQKeyboardToolbarConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44AFC022F6D6DD0DF30E10F9B7C4615A /* IQKeyboardToolbarConfiguration.swift */; };
-               F3D41915714BC875B1DC32F49293A8B6 /* Pods-DeepChordsSdk-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D5278EBCB01A333274C163B9281DE38B /* Pods-DeepChordsSdk-dummy.m */; };
-               F4B260EE81F1B5801FC6DA3097F2E433 /* IQBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D6EF89B651DCBED1F5A7FA5D36D1FA6 /* IQBarButtonItem.swift */; };
-               F5F31138D70F9AEBD476D8AE418F37F9 /* IQKeyboardToolbar-IQKeyboardToolbar in Resources */ = {isa = PBXBuildFile; fileRef = A16FD016E18EACCF6B23F219F2E236FE /* IQKeyboardToolbar-IQKeyboardToolbar */; };
-               F6E948E2688CC08D3843DAA74F6328E8 /* SRHash.h in Headers */ = {isa = PBXBuildFile; fileRef = F2183FF2315FBF68B5F334EC6EB19A9B /* SRHash.h */; settings = {ATTRIBUTES = (Project, ); }; };
-               F6F33E8B268F3D41075374D95B8088DC /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E54219744D41CC6C6674908699602DD9 /* UILayoutSupport+Extensions.swift */; };
-               F9EBA65892D78A31C068D727D84BCB88 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 972CC8A48122693582F02385A70853A0 /* ConstraintConfig.swift */; };
-               FCFC8D5B48F3DC4BC8942320631D8C1B /* SRIOConsumer.m in Sources */ = {isa = PBXBuildFile; fileRef = B5D1545C4C0C2474FD103EFECB90E9C5 /* SRIOConsumer.m */; };
-               FD552610731EB624F8A47C3ACA927A15 /* UIView+Resign.swift in Sources */ = {isa = PBXBuildFile; fileRef = B704D82F61A7F3E0FF10EBDE953E7E49 /* UIView+Resign.swift */; };
-               FE0D3260BF27D388B0200F1AC8151619 /* IQKeyboardCore-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F657D2C1582A8BFEADD06E527D796B2 /* IQKeyboardCore-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               FF020D50D3B0742EFED9C172269D9D83 /* IQKeyboardAppearanceConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF4B79F3BC3201907DE2B7A2671776C1 /* IQKeyboardAppearanceConfiguration.swift */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               186EFCD32F2BEEE1514385E97F48B014 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 020993F16DA5986DACE118349EBCE9E5;
-                       remoteInfo = IQKeyboardToolbarManager;
-               };
-               1CC338AE066CE11E9D4C832A727D9C61 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = EEE261386011CDF271BE289F73FF5959;
-                       remoteInfo = "IQKeyboardCore-IQKeyboardCore";
-               };
-               1E3FD4E83C3BACBC0EE2DD7F457AA6E9 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 12890DE3ABBC2CA295E108358D85EE69;
-                       remoteInfo = IQTextView;
-               };
-               2DE1780C07830F70EB974DDA0E002280 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = B490E7485944099E16C9CBD79119D1D4;
-                       remoteInfo = IQKeyboardManagerSwift;
-               };
-               32B49C1963D38D5E1E60E037311DCDEF /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 0981F89DB5DA3FFCFFEBDE1F56287054;
-                       remoteInfo = IQKeyboardReturnManager;
-               };
-               4294839685D9EA7EF6090113DB9528A3 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 8A8DB685241263AFDF5E6B20FE67B93A;
-                       remoteInfo = "SnapKit-SnapKit_Privacy";
-               };
-               43A509886BF66DE03AA2357743AC5769 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 12890DE3ABBC2CA295E108358D85EE69;
-                       remoteInfo = IQTextView;
-               };
-               4BEE988A3465649375AC57D797ABF617 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 283C1F2EA88CD4413165801A6748A48E;
-                       remoteInfo = IQTextInputViewNotification;
-               };
-               548AF3FE70CC81B2ABBAEF65818BA3A6 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = B990BD87169C76A3ED3FE8A9258D91A3;
-                       remoteInfo = "Toast-Swift";
-               };
-               57A1C5DB51B6CD350C79C7B055A7F66B /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = C344E85893FCDEE5B70436E0A4A3472B;
-                       remoteInfo = "Toast-Swift-Toast-Swift";
-               };
-               6130D9140D152F57AA543D42CA625298 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = F4FE17428FD0E607723A44F17231B7A1;
-                       remoteInfo = IQKeyboardToolbar;
-               };
-               64F6091A60F53F5A90BEE2C59126E133 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 2B8FF445A5162845FAB9EC00FC92B694;
-                       remoteInfo = "IQKeyboardNotification-IQKeyboardNotification";
-               };
-               6795B29B74A0DFB983C8C121DAC73B8F /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = A26E6FD851C20D652B2755C1464A9990;
-                       remoteInfo = IQKeyboardNotification;
-               };
-               6C9C732B28DF0513A21CE6E248F89072 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 283C1F2EA88CD4413165801A6748A48E;
-                       remoteInfo = IQTextInputViewNotification;
-               };
-               7C1DC3C44CB9ED8404023CBE11C3A841 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 1948D0B63D2CF6A48E18B0B292BC6091;
-                       remoteInfo = SocketRocket;
-               };
-               7D69ABF84486EAFB55FB87BC9B44D3F6 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = F4FE17428FD0E607723A44F17231B7A1;
-                       remoteInfo = IQKeyboardToolbar;
-               };
-               8031384E87ED727FE68F4242803FF742 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 0981F89DB5DA3FFCFFEBDE1F56287054;
-                       remoteInfo = IQKeyboardReturnManager;
-               };
-               8581EB306F93FE5BF5504824295F3722 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = B247F77A0CD5E19C8187A9BA1EB58C09;
-                       remoteInfo = "IQKeyboardToolbar-IQKeyboardToolbar";
-               };
-               925132ADAAA2012B51EAE2C13D1BD31F /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = F9A1BF709B7BA4C24A83664EB1E1C7D4;
-                       remoteInfo = IQKeyboardCore;
-               };
-               92C92FF2930D007DABF544DC7AC08060 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4;
-                       remoteInfo = SnapKit;
-               };
-               94872272C37CF76A4C27D08B5EC60D6D /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = F9A1BF709B7BA4C24A83664EB1E1C7D4;
-                       remoteInfo = IQKeyboardCore;
-               };
-               9A200DA2E207287B114783961A389F97 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 982A68D37F5DCBC1FC1FDC0BB2F0EB8E;
-                       remoteInfo = "IQKeyboardManagerSwift-IQKeyboardManagerSwift";
-               };
-               9D53E47458385470A91D7295E48E0FD6 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = F4FE17428FD0E607723A44F17231B7A1;
-                       remoteInfo = IQKeyboardToolbar;
-               };
-               A24EA8C0FD67224523A2A8049A529730 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = A26E6FD851C20D652B2755C1464A9990;
-                       remoteInfo = IQKeyboardNotification;
-               };
-               BACED4BB4D08C0B382C214709ABE6A91 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 1948D0B63D2CF6A48E18B0B292BC6091;
-                       remoteInfo = SocketRocket;
-               };
-               C7AFFBB48EEA1AF602657886DA4FE905 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 88810798DA63A2F6611B0970EA276DEC;
-                       remoteInfo = "IQKeyboardReturnManager-IQKeyboardReturnManager";
-               };
-               C96EFF1386F982C542C2B03977A6FFD6 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = F9A1BF709B7BA4C24A83664EB1E1C7D4;
-                       remoteInfo = IQKeyboardCore;
-               };
-               D0E89F4255608F3B229AA3E8DFD93CF9 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 4502C7427440BEB17A50C0BF6E638A85;
-                       remoteInfo = "IQTextInputViewNotification-IQTextInputViewNotification";
-               };
-               D3993F1F1D303ACFD97829D6D9115BA0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 020993F16DA5986DACE118349EBCE9E5;
-                       remoteInfo = IQKeyboardToolbarManager;
-               };
-               D3C8D19228BDBCB03280ABF945D775BA /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = F9A1BF709B7BA4C24A83664EB1E1C7D4;
-                       remoteInfo = IQKeyboardCore;
-               };
-               D7076AE16282F5B2F87DAD903E05C6C4 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 283C1F2EA88CD4413165801A6748A48E;
-                       remoteInfo = IQTextInputViewNotification;
-               };
-               D72B40330912494BEDC722CCB167FF77 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 7C5613175BBC4BF67E36DB4FBEBC01D0;
-                       remoteInfo = "IQKeyboardToolbarManager-IQKeyboardToolbarManager";
-               };
-               F68560EF2AF1432CDC4EDEE224F0B10F /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = A6602BCAA6F4F932A586C41D0B7E019C;
-                       remoteInfo = "IQTextView-IQTextView";
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-               01E23D7305E51271DEFF79A9CADBF926 /* IQKeyboardManagerSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQKeyboardManagerSwift-dummy.m"; sourceTree = "<group>"; };
-               02E139B151EDFA1F4F63EA119D2269C7 /* Toast-Swift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Toast-Swift.debug.xcconfig"; sourceTree = "<group>"; };
-               02EDA2792EBD3343A7DBC6B427F1F041 /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = "<group>"; };
-               0578E47B5AE5713CF21EA86848CA87DD /* IQTextInputViewNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextInputViewNotification.swift; path = IQTextInputViewNotification/Classes/IQTextInputViewNotification.swift; sourceTree = "<group>"; };
-               06E5B413FEA5A600D76636DA132F8FB9 /* IQTextInputViewNotification */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IQTextInputViewNotification; path = IQTextInputViewNotification.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               06FEEB0FA2AA89DF42A1C6525F644FBF /* Pods-DeepChordsSdk */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-DeepChordsSdk"; path = Pods_DeepChordsSdk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               07FD04B2D25C4767E2AACE039E3E77A8 /* IQTextInputViewNotification.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IQTextInputViewNotification.modulemap; sourceTree = "<group>"; };
-               080D923BC81BB12EE5B738187A72A0D4 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Sources/ConstraintItem.swift; sourceTree = "<group>"; };
-               0A8C10276B315358D1F985B8F641683A /* ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist"; sourceTree = "<group>"; };
-               0AE37E30F693ED15CA31B520ED420454 /* NSRunLoop+SRWebSocketPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSRunLoop+SRWebSocketPrivate.h"; path = "SocketRocket/Internal/NSRunLoop+SRWebSocketPrivate.h"; sourceTree = "<group>"; };
-               0AF7DA075D6BD7E141707379E62BFA63 /* SRPinningSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRPinningSecurityPolicy.m; path = SocketRocket/Internal/Security/SRPinningSecurityPolicy.m; sourceTree = "<group>"; };
-               0C917A6291C02472ECB91FD7B8B2CFC1 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; };
-               0DFD4541FF9DAA31A2FC2A7F6D03ED22 /* IQTextView */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IQTextView; path = IQTextView.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               0EE50CC6D98E37DA330EADC9F9C949F0 /* ConstraintDirectionalInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsets.swift; path = Sources/ConstraintDirectionalInsets.swift; sourceTree = "<group>"; };
-               0F6A2BF98BD227110E60762E29808CEC /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = IQTextView/Assets/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
-               10288C630688257B185941E1EA55E346 /* IQTextInputViewInfoModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextInputViewInfoModel.swift; path = IQKeyboardReturnManager/Classes/IQTextInputViewInfoModel.swift; sourceTree = "<group>"; };
-               109E37988FF06586D32321CEA99162B0 /* SRHash.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRHash.m; path = SocketRocket/Internal/Utilities/SRHash.m; sourceTree = "<group>"; };
-               10C547231342B150BEC39F40295D087E /* IQRootControllerConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQRootControllerConfiguration.swift; path = IQKeyboardManagerSwift/IQKeyboardManager/Configuration/IQRootControllerConfiguration.swift; sourceTree = "<group>"; };
-               10CAAD795A45AB49A0EE4D6805AB7A1F /* SocketRocket.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SocketRocket.release.xcconfig; sourceTree = "<group>"; };
-               110BD425B6CAD6801539E2C6AB6E0662 /* IQKeyboardReturnManager-IQKeyboardReturnManager */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "IQKeyboardReturnManager-IQKeyboardReturnManager"; path = IQKeyboardReturnManager.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
-               115E19C96EB6123FE27F3A530B3BE30D /* UICollectionView+IndexPaths.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UICollectionView+IndexPaths.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UICollectionView+IndexPaths.swift"; sourceTree = "<group>"; };
-               120BD4C670EF00F4D5A40AA4B863A7AE /* IQKeyboardNotification-IQKeyboardNotification */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "IQKeyboardNotification-IQKeyboardNotification"; path = IQKeyboardNotification.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
-               12415404E6E70407610188D7ADDC1D02 /* UIView+ResignObjc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+ResignObjc.swift"; path = "IQKeyboardManagerSwift/Resign/UIKItExtensions/UIView+ResignObjc.swift"; sourceTree = "<group>"; };
-               133A600484839BF74BDD51C8B0BB6EBE /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
-               13FD39576595D8A884BF5166065C5236 /* Toast-Swift-Toast-Swift */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "Toast-Swift-Toast-Swift"; path = "Toast-Swift.bundle"; sourceTree = BUILT_PRODUCTS_DIR; };
-               14A61C146CFCDB5CEC8508DC60360819 /* IQBarButtonItemConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQBarButtonItemConfiguration.swift; path = IQKeyboardToolbar/Classes/IQBarButtonItem/IQBarButtonItemConfiguration.swift; sourceTree = "<group>"; };
-               1515EB933E55F8DF1275984150311F6F /* IQTextInputViewNotification.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQTextInputViewNotification.release.xcconfig; sourceTree = "<group>"; };
-               158193B636D7824993DB68D81AE2C233 /* IQKeyboardToolbarManager+Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardToolbarManager+Internal.swift"; path = "IQKeyboardToolbarManager/Classes/IQKeyboardToolbarManager+Internal.swift"; sourceTree = "<group>"; };
-               15848DEC7727A809830E7F6FC1B6CE0F /* IQKeyboardReturnManager */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IQKeyboardReturnManager; path = IQKeyboardReturnManager.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               159C74980AC55D136945F073F6CEDC14 /* IQKeyboardToolbar.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardToolbar.debug.xcconfig; sourceTree = "<group>"; };
-               15FF3E312676449AB12DADDDB8D5C352 /* IQKeyboardNotification.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IQKeyboardNotification.modulemap; sourceTree = "<group>"; };
-               170AE4D919026EA3D1FB264423443921 /* IQTextView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQTextView-prefix.pch"; sourceTree = "<group>"; };
-               1917E3D591E530CFE1940C6F4E878690 /* Pods-DeepChordsSdk-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-DeepChordsSdk-Info.plist"; sourceTree = "<group>"; };
-               1AB8D5FD6175CD8FCC7153B71E6DD77A /* IQKeyboardNotification.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardNotification.release.xcconfig; sourceTree = "<group>"; };
-               1D8DCDE8A3DFBFEA690BD5A6081C5762 /* IQKeyboardToolbarManager-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardToolbarManager-umbrella.h"; sourceTree = "<group>"; };
-               1E2BADF249E4A558D7EE5BB1077C1DE1 /* IQTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextView.swift; path = IQTextView/Classes/IQTextView.swift; sourceTree = "<group>"; };
-               1EEC9E9674D2F2735A1237FEC96C44CB /* IQKeyboardReturnManager.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IQKeyboardReturnManager.modulemap; sourceTree = "<group>"; };
-               1F667CC0E19EAF34E5A4119E2121F585 /* Pods-Example */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-Example"; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               21E9444EE5839429C60E9A16651BAD78 /* SRSIMDHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRSIMDHelpers.h; path = SocketRocket/Internal/Utilities/SRSIMDHelpers.h; sourceTree = "<group>"; };
-               224FAFA7B0169BBAAFD0FA422D7D11A6 /* IQKeyboardReturnManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardReturnManager.swift; path = IQKeyboardReturnManager/Classes/IQKeyboardReturnManager.swift; sourceTree = "<group>"; };
-               236C98A9FAEF3200D70937E889092818 /* IQKeyboardManager+Resign.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Resign.swift"; path = "IQKeyboardManagerSwift/Resign/IQKeyboardManager+Resign.swift"; sourceTree = "<group>"; };
-               24926E8158D8FAD9BE42C760B3154B55 /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Sources/ConstraintMakerFinalizable.swift; sourceTree = "<group>"; };
-               2582EC469D9940C7AAE3F903A495E86A /* SRDelegateController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRDelegateController.h; path = SocketRocket/Internal/Delegate/SRDelegateController.h; sourceTree = "<group>"; };
-               25BADE0B95009E3B02C9E6EBB47417A3 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = IQKeyboardNotification/Assets/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
-               261E9C437FF6FFF72C01BBB73341409D /* IQKeyboardResignHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardResignHandler.swift; path = IQKeyboardManagerSwift/Resign/IQKeyboardResignHandler.swift; sourceTree = "<group>"; };
-               26FE696F5243F520CB872AC051139FE5 /* SRIOConsumer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRIOConsumer.h; path = SocketRocket/Internal/IOConsumer/SRIOConsumer.h; sourceTree = "<group>"; };
-               27296D8B66561FF21E0EB354428156C7 /* IQKeyboardNotification-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardNotification-prefix.pch"; sourceTree = "<group>"; };
-               27DA2684B87B3639C3D3D439F177E219 /* SRURLUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRURLUtilities.h; path = SocketRocket/Internal/Utilities/SRURLUtilities.h; sourceTree = "<group>"; };
-               284AC2E81CAAA90FEA12A250A16B11AB /* Pods-DeepChordsSdk-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-DeepChordsSdk-umbrella.h"; sourceTree = "<group>"; };
-               2C45BE81EF6A9A12E115F2EDB69FC7D7 /* Pods-Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Example-acknowledgements.markdown"; sourceTree = "<group>"; };
-               2E8E02D90547D6DBD75A856D8A4E1275 /* IQTitleBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTitleBarButtonItem.swift; path = IQKeyboardToolbar/Classes/IQBarButtonItem/IQTitleBarButtonItem.swift; sourceTree = "<group>"; };
-               2EFB802792096CDDF8FD170084E303BC /* ResourceBundle-IQKeyboardReturnManager-IQKeyboardReturnManager-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-IQKeyboardReturnManager-IQKeyboardReturnManager-Info.plist"; sourceTree = "<group>"; };
-               306B6BBB2D0B4D417ADD4B82D7D51E82 /* NSRunLoop+SRWebSocket.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSRunLoop+SRWebSocket.h"; path = "SocketRocket/NSRunLoop+SRWebSocket.h"; sourceTree = "<group>"; };
-               3187DDFEE4C490953B2AEF7B0D19EB1B /* NSURLRequest+SRWebSocket.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLRequest+SRWebSocket.h"; path = "SocketRocket/NSURLRequest+SRWebSocket.h"; sourceTree = "<group>"; };
-               319AC1D7C71149C2DD5EF02DECE3F511 /* SnapKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.debug.xcconfig; sourceTree = "<group>"; };
-               32080BC56EEB26340C6292BA94F068B6 /* SRProxyConnect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRProxyConnect.h; path = SocketRocket/Internal/Proxy/SRProxyConnect.h; sourceTree = "<group>"; };
-               32B4B8845C7824A1AB6C42EB0B32845E /* ResourceBundle-IQKeyboardToolbarManager-IQKeyboardToolbarManager-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-IQKeyboardToolbarManager-IQKeyboardToolbarManager-Info.plist"; sourceTree = "<group>"; };
-               363F0A017C453E3DC084A7B5BDB87911 /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Sources/ConstraintRelation.swift; sourceTree = "<group>"; };
-               3649D66694159EF7F40B5A7377AC04D1 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = IQKeyboardToolbarManager/Assets/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
-               3725B14D6A408FA007F106F8CA983CE3 /* Pods-DeepChordsSdk-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-DeepChordsSdk-acknowledgements.markdown"; sourceTree = "<group>"; };
-               37445197B6E56B3F3CA861A7F21F1C41 /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Sources/ConstraintMakerExtendable.swift; sourceTree = "<group>"; };
-               390BB9902E7A26E5A753B9CF32673BE9 /* SRURLUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRURLUtilities.m; path = SocketRocket/Internal/Utilities/SRURLUtilities.m; sourceTree = "<group>"; };
-               39B4B067040847EC4A5CE870C4E0C5A1 /* IQKeyboardToolbarManager-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "IQKeyboardToolbarManager-Info.plist"; sourceTree = "<group>"; };
-               3A92BC97913B825589680C917211C138 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
-               3D0CA09E0900EA77648A05D608CBA29F /* Toast-Swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-Swift-umbrella.h"; sourceTree = "<group>"; };
-               3D8DC22EC08F3E72E7E53ADA12E80CC0 /* UIView+IQKeyboardManagerExtensionObjc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+IQKeyboardManagerExtensionObjc.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIView+IQKeyboardManagerExtensionObjc.swift"; sourceTree = "<group>"; };
-               3ECA1919991B8674C3FD3253CD02BE4B /* IQTextInputViewNotification-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "IQTextInputViewNotification-Info.plist"; sourceTree = "<group>"; };
-               3ED18FF4963E7B4F60DBBA903E25C67B /* Combine.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Combine.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Combine.framework; sourceTree = DEVELOPER_DIR; };
-               3F70480B31A6883BEDFC6C623FC76A32 /* UIScrollView+IQKeyboardManagerExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIScrollView+IQKeyboardManagerExtension.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIScrollView+IQKeyboardManagerExtension.swift"; sourceTree = "<group>"; };
-               3F8F3D9A02DBFA1FF9899DD8933A95DA /* UIView+Parent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Parent.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UIView+Parent.swift"; sourceTree = "<group>"; };
-               3F992A0DC4578F2D62CB095A497114CC /* IQKeyboardToolbarManager+Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardToolbarManager+Debug.swift"; path = "IQKeyboardToolbarManager/Classes/Debug/IQKeyboardToolbarManager+Debug.swift"; sourceTree = "<group>"; };
-               42E3FC1A9F2FBB9AE28FDE3285B70F2C /* IQKeyboardCore-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "IQKeyboardCore-Info.plist"; sourceTree = "<group>"; };
-               43CBF3C99F0BF342AEE8D7C7BE945B62 /* SRRunLoopThread.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRRunLoopThread.h; path = SocketRocket/Internal/RunLoop/SRRunLoopThread.h; sourceTree = "<group>"; };
-               44AFC022F6D6DD0DF30E10F9B7C4615A /* IQKeyboardToolbarConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardToolbarConfiguration.swift; path = IQKeyboardToolbarManager/Classes/Configuration/IQKeyboardToolbarConfiguration.swift; sourceTree = "<group>"; };
-               455A2446E1A8F92123FBE90A1D4B8D0B /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
-               45E554E7AE314B29D9C07A10667261BE /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Sources/ConstraintLayoutGuide+Extensions.swift"; sourceTree = "<group>"; };
-               47BC329529726FFACA942239310E3841 /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Sources/Constraint.swift; sourceTree = "<group>"; };
-               47F6CB0808BEA63D36E484B5D53B6436 /* IQScrollViewConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQScrollViewConfiguration.swift; path = IQKeyboardManagerSwift/IQKeyboardManager/Configuration/IQScrollViewConfiguration.swift; sourceTree = "<group>"; };
-               484ECEC55CB9E98BAF0AE020F8FFF767 /* IQDeepResponderContainerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQDeepResponderContainerView.swift; path = IQKeyboardToolbarManager/Classes/IQDeepResponderContainerView.swift; sourceTree = "<group>"; };
-               48CA3ADFB16E0C4E235D89C552572332 /* IQKeyboardToolbar-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQKeyboardToolbar-dummy.m"; sourceTree = "<group>"; };
-               4AB6723E60A4A0D494C4DCA4686CD3F0 /* IQKeyboardManagerSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "IQKeyboardManagerSwift-Info.plist"; sourceTree = "<group>"; };
-               4B6ABE8E0C199299C26E4B5977886B71 /* SnapKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.release.xcconfig; sourceTree = "<group>"; };
-               4BF6C697C2EB03CCBCE9CA841EA31F47 /* Pods-DeepChordsSdk.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DeepChordsSdk.debug.xcconfig"; sourceTree = "<group>"; };
-               4D6EF89B651DCBED1F5A7FA5D36D1FA6 /* IQBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQBarButtonItem.swift; path = IQKeyboardToolbar/Classes/IQBarButtonItem/IQBarButtonItem.swift; sourceTree = "<group>"; };
-               4EF1258267E4FF8FA1F298C5303B0E86 /* UIScrollView+IQKeyboardManagerExtensionObjc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIScrollView+IQKeyboardManagerExtensionObjc.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIScrollView+IQKeyboardManagerExtensionObjc.swift"; sourceTree = "<group>"; };
-               4F8CA916A31362AD762A33A32B0D936C /* ResourceBundle-IQTextInputViewNotification-IQTextInputViewNotification-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-IQTextInputViewNotification-IQTextInputViewNotification-Info.plist"; sourceTree = "<group>"; };
-               4FB988C66900BB1BEEF5C5CA21B14AC9 /* IQTextView-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "IQTextView-Info.plist"; sourceTree = "<group>"; };
-               502964DCE1567348B5B03211445AEA35 /* IQTextInputView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextInputView.swift; path = IQKeyboardCore/Classes/IQTextInputView.swift; sourceTree = "<group>"; };
-               5084335EF29A15EB6C31DFB1ACA15349 /* IQKeyboardManagerSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManagerSwift.debug.xcconfig; sourceTree = "<group>"; };
-               50A2B3566A43C15186D3A1D9F91DB662 /* SRSIMDHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRSIMDHelpers.m; path = SocketRocket/Internal/Utilities/SRSIMDHelpers.m; sourceTree = "<group>"; };
-               529559A67714BC64192FD9BF92B33312 /* ConstraintMakerRelatable+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintMakerRelatable+Extensions.swift"; path = "Sources/ConstraintMakerRelatable+Extensions.swift"; sourceTree = "<group>"; };
-               58E0237741E33CAFB3DB96DAA7559910 /* ConstraintDirectionalInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsetTarget.swift; path = Sources/ConstraintDirectionalInsetTarget.swift; sourceTree = "<group>"; };
-               5AF0EBE9A79115D36EF40E456919D63B /* IQKeyboardManagerSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManagerSwift.release.xcconfig; sourceTree = "<group>"; };
-               5C0366C8DAD8762352B37EDB4DD62E2E /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Sources/LayoutConstraint.swift; sourceTree = "<group>"; };
-               5C8BDF6ED7A0F1533FC84E97705B2878 /* IQKeyboardManagerSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManagerSwift-umbrella.h"; sourceTree = "<group>"; };
-               5EF0C08E9D339F2CB75ED0C9E7FA2C0B /* SocketRocket.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SocketRocket.h; path = SocketRocket/SocketRocket.h; sourceTree = "<group>"; };
-               5FB6A208FD72153F040D4E1354F225B4 /* NSRunLoop+SRWebSocket.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSRunLoop+SRWebSocket.m"; path = "SocketRocket/NSRunLoop+SRWebSocket.m"; sourceTree = "<group>"; };
-               6058A4E7C2EAB9B01A8DBB5AAD7E72A2 /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Sources/ConstraintPriority.swift; sourceTree = "<group>"; };
-               61AD3899C2D649897E11DA65A33ABCEE /* Toast-Swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-Swift-prefix.pch"; sourceTree = "<group>"; };
-               6381011924A059A30C85325FB30E74A7 /* IQKeyboardAppearanceManager+Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardAppearanceManager+Internal.swift"; path = "IQKeyboardManagerSwift/Appearance/IQKeyboardAppearanceManager+Internal.swift"; sourceTree = "<group>"; };
-               63CAFAB9111F6F5AAEFD9E00CD0AF892 /* IQKeyboardToolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardToolbar.swift; path = IQKeyboardToolbar/Classes/IQKeyboardToolbar.swift; sourceTree = "<group>"; };
-               643F1AECE038E1886712C3619E367201 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = IQKeyboardManagerSwift/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
-               64607CC28651258E6DAB2D1358080FB5 /* IQTextView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQTextView-umbrella.h"; sourceTree = "<group>"; };
-               66E229F790E827392A80B7F4C7A6110F /* IQKeyboardReturnManager+UITextViewDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardReturnManager+UITextViewDelegate.swift"; path = "IQKeyboardReturnManager/Classes/Delegates/IQKeyboardReturnManager+UITextViewDelegate.swift"; sourceTree = "<group>"; };
-               67B06A63B2F6FDD332A5D14963BFC3E3 /* IQKeyboardReturnManager-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "IQKeyboardReturnManager-Info.plist"; sourceTree = "<group>"; };
-               6839FC9EB46E8CB05E17C35E5A5B579F /* SRSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRSecurityPolicy.m; path = SocketRocket/SRSecurityPolicy.m; sourceTree = "<group>"; };
-               68443C8F28AD901E531D6BFA7559C683 /* SRRandom.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRRandom.m; path = SocketRocket/Internal/Utilities/SRRandom.m; sourceTree = "<group>"; };
-               6937B145AC462041831CC9D76D3CF28A /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = "<group>"; };
-               6A3DB74B2C40BCD9F3AFA585DA322FF5 /* SRConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRConstants.h; path = SocketRocket/Internal/SRConstants.h; sourceTree = "<group>"; };
-               6A599D5DDFD46F7296A5F93623AB6C3A /* UIView+IQKeyboardExtensionObjc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+IQKeyboardExtensionObjc.swift"; path = "IQKeyboardToolbar/Classes/IQKeyboardExtension/UIView+IQKeyboardExtensionObjc.swift"; sourceTree = "<group>"; };
-               6A737607DB763EBB681D8D0F6E6AB5FB /* IQKeyboardManager+ToolbarManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+ToolbarManager.swift"; path = "IQKeyboardManagerSwift/IQKeyboardToolbarManager/IQKeyboardManager+ToolbarManager.swift"; sourceTree = "<group>"; };
-               6C4219D35CB16DFEC9A662797E27F4D8 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = IQKeyboardCore/Assets/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
-               6D134ED7EB13A9F9FADC82CC86BC10FA /* Toast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Toast.swift; path = Toast/Toast.swift; sourceTree = "<group>"; };
-               6DFE571CD6A634198545BB1149A5399C /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Sources/ConstraintInsets.swift; sourceTree = "<group>"; };
-               6E897F35E5E27028AC58B14B552FBC8D /* IQKeyboardCore-IQKeyboardCore */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "IQKeyboardCore-IQKeyboardCore"; path = IQKeyboardCore.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
-               6EC73E02165E26ABFCACC677AF94DD8B /* IQKeyboardManager+Resign_Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Resign_Deprecated.swift"; path = "IQKeyboardManagerSwift/Resign/IQKeyboardManager+Resign_Deprecated.swift"; sourceTree = "<group>"; };
-               6F879A10A3809420736A229A9720D75A /* IQKeyboardReturnManager-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardReturnManager-prefix.pch"; sourceTree = "<group>"; };
-               73D26C4F196C661EA1DB04BCC2471A24 /* Pods-Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Example-frameworks.sh"; sourceTree = "<group>"; };
-               750817E69AAE97D1AF5F958FC5904BF2 /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Sources/ConstraintMultiplierTarget.swift; sourceTree = "<group>"; };
-               7594A52F0B7E0AD0D9F26BE8026E1E4C /* Array+Sort.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Sort.swift"; path = "IQKeyboardToolbarManager/Classes/UIKitExtensions/Array+Sort.swift"; sourceTree = "<group>"; };
-               761B4D8A688672EC9D13AB178F184A16 /* IQKeyboardToolbar.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IQKeyboardToolbar.modulemap; sourceTree = "<group>"; };
-               77195404B1F7ADCD8B3008B1B89F5C03 /* SRError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRError.m; path = SocketRocket/Internal/Utilities/SRError.m; sourceTree = "<group>"; };
-               77B67B7AD3900B61154BC9C1973DD611 /* SocketRocket.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SocketRocket.modulemap; sourceTree = "<group>"; };
-               782D18DB9D0B7B74F8613026BAD77E86 /* IQKeyboardToolbarManager+Action.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardToolbarManager+Action.swift"; path = "IQKeyboardToolbarManager/Classes/Toolbar/IQKeyboardToolbarManager+Action.swift"; sourceTree = "<group>"; };
-               78882EBBF9DB9EAA48F3FFBF14D1E0B5 /* IQKeyboardToolbar.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardToolbar.release.xcconfig; sourceTree = "<group>"; };
-               78F95F4E86380B049117A093BFC1CD7B /* IQTextInputViewNotification.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQTextInputViewNotification.debug.xcconfig; sourceTree = "<group>"; };
-               792548D571F70D8E7FA3B52FA58D9591 /* IQKeyboardManager+ActiveConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+ActiveConfiguration.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+ActiveConfiguration.swift"; sourceTree = "<group>"; };
-               79E6154EEE25D08664ACFE66C69DDFA0 /* Toast-Swift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Toast-Swift.release.xcconfig"; sourceTree = "<group>"; };
-               7E07F795F5513269A6EA62DE5EE8C187 /* IQKeyboardCore-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardCore-prefix.pch"; sourceTree = "<group>"; };
-               7E46C7EF1F6BD003E0DEC56B05B15DDF /* SocketRocket-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SocketRocket-umbrella.h"; sourceTree = "<group>"; };
-               7E6C82BDAFC8E25852BD0F53480C2FE2 /* IQKeyboardToolbarManager-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardToolbarManager-prefix.pch"; sourceTree = "<group>"; };
-               7F565A673CEEF3B818D7A75F2A2EE8B0 /* UIView+IQKeyboardExtensionDeprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+IQKeyboardExtensionDeprecated.swift"; path = "IQKeyboardToolbar/Classes/IQKeyboardExtension/UIView+IQKeyboardExtensionDeprecated.swift"; sourceTree = "<group>"; };
-               80A40EDA3AF0499BDBCFF09467BB49AD /* IQKeyboardToolbarManager-IQKeyboardToolbarManager */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "IQKeyboardToolbarManager-IQKeyboardToolbarManager"; path = IQKeyboardToolbarManager.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
-               822DD0DAF7E4428BCCDFE28EAD683ADD /* IQKeyboardNotification-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardNotification-umbrella.h"; sourceTree = "<group>"; };
-               847044E56CBBCE1235A6F3CEF3F9F607 /* IQTextView-IQTextView */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "IQTextView-IQTextView"; path = IQTextView.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
-               84BBB0405889161CCDDCD4F166723CBF /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Sources/ConstraintLayoutGuideDSL.swift; sourceTree = "<group>"; };
-               85A01882ED06DFEA2E0CE78BCDB204A7 /* SocketRocket */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SocketRocket; path = SocketRocket.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               8609C41722C0D97335DBF43B1CE7AB03 /* SRRunLoopThread.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRRunLoopThread.m; path = SocketRocket/Internal/RunLoop/SRRunLoopThread.m; sourceTree = "<group>"; };
-               87F05B4E0307C30EB4FC212724C8F157 /* IQKeyboardNotification.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardNotification.debug.xcconfig; sourceTree = "<group>"; };
-               888ACD87ACA8BCCE5527AAC76E41A5A3 /* ResourceBundle-IQKeyboardToolbar-IQKeyboardToolbar-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-IQKeyboardToolbar-IQKeyboardToolbar-Info.plist"; sourceTree = "<group>"; };
-               895778DCA58AE753D96DD48F3E036F4F /* IQKeyboardManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManager.swift; path = IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager.swift; sourceTree = "<group>"; };
-               8981CA762CD2FDB68D15FEEA091439B5 /* IQKeyboardToolbarManager.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardToolbarManager.release.xcconfig; sourceTree = "<group>"; };
-               8B5BF34764325604D366CC5C6F31A43A /* IQKeyboardToolbarManager.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IQKeyboardToolbarManager.modulemap; sourceTree = "<group>"; };
-               8BD0BDF557D8D8D7CFB04CB9C9482634 /* UIView+ParentObjc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+ParentObjc.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UIView+ParentObjc.swift"; sourceTree = "<group>"; };
-               8C2460EF332DB152D7A7B9869C8F4032 /* IQKeyboardToolbarManager-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQKeyboardToolbarManager-dummy.m"; sourceTree = "<group>"; };
-               8C4CE911087AC8260002E6859821FAF0 /* SRIOConsumerPool.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRIOConsumerPool.h; path = SocketRocket/Internal/IOConsumer/SRIOConsumerPool.h; sourceTree = "<group>"; };
-               8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "IQKeyboardManagerSwift-IQKeyboardManagerSwift"; path = IQKeyboardManagerSwift.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
-               8EE7DE8BEE69315B9018594B62622247 /* SocketRocket-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SocketRocket-Info.plist"; sourceTree = "<group>"; };
-               8F74E325EE2B99C0C5504B461E558136 /* ResourceBundle-IQKeyboardCore-IQKeyboardCore-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-IQKeyboardCore-IQKeyboardCore-Info.plist"; sourceTree = "<group>"; };
-               90A0A417BB33C9C0B15A1946762E0142 /* Pods-Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-Info.plist"; sourceTree = "<group>"; };
-               9101BAF3027E387E34B0301BE000FA50 /* ConstraintMakerPrioritizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPrioritizable.swift; path = Sources/ConstraintMakerPrioritizable.swift; sourceTree = "<group>"; };
-               914B3416C83998074DDAB130CB468706 /* IQKeyboardReturnManager.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardReturnManager.release.xcconfig; sourceTree = "<group>"; };
-               91511868D1335C41FD84563EF906555C /* Pods-DeepChordsSdk.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DeepChordsSdk.release.xcconfig"; sourceTree = "<group>"; };
-               91B24E7C9EB4215BEA2C0A23D3960815 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
-               92C5C459A1F7BF6872A58A16B7092803 /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Sources/ConstraintInsetTarget.swift; sourceTree = "<group>"; };
-               936A804D23E5F53A2A38402D624D6EA2 /* IQKeyboardManager+Position.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Position.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Position.swift"; sourceTree = "<group>"; };
-               9374F8A0206251FC7979A888F803B656 /* IQKeyboardCore.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardCore.debug.xcconfig; sourceTree = "<group>"; };
-               93B05AAE9D91B32B46928A2293611FF4 /* Pods-Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Example-umbrella.h"; sourceTree = "<group>"; };
-               95BCD7B08FF0A2A4F9B0A36B92688E27 /* SRWebSocket.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRWebSocket.m; path = SocketRocket/SRWebSocket.m; sourceTree = "<group>"; };
-               972CC8A48122693582F02385A70853A0 /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Sources/ConstraintConfig.swift; sourceTree = "<group>"; };
-               979486118B3E90C08386079D57962701 /* SnapKit */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapKit; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               97D19ACC9A79A3CF24DA377E12303E12 /* UIView+Responders.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Responders.swift"; path = "IQKeyboardToolbarManager/Classes/UIKitExtensions/UIView+Responders.swift"; sourceTree = "<group>"; };
-               9939F486FEF106F98BDD0806CA8E0624 /* IQInvocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQInvocation.swift; path = IQKeyboardToolbar/Classes/IQBarButtonItem/IQInvocation.swift; sourceTree = "<group>"; };
-               994130CE96E0F8ED28DCF165B03CB200 /* IQKeyboardToolbar-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardToolbar-umbrella.h"; sourceTree = "<group>"; };
-               995B281C84F1083BE4DB31B75BCC029C /* UIViewController+ParentContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewController+ParentContainer.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UIViewController+ParentContainer.swift"; sourceTree = "<group>"; };
-               9976447B92E50DDDCA64DBDE5A47FD7F /* UIView+IQKeyboardExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+IQKeyboardExtension.swift"; path = "IQKeyboardToolbar/Classes/IQKeyboardExtension/UIView+IQKeyboardExtension.swift"; sourceTree = "<group>"; };
-               99B82533878EEF9F0E2FB3560695FF8A /* IQTextView.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQTextView.debug.xcconfig; sourceTree = "<group>"; };
-               9D3FF860EEACD6D1A4A582CB31FC31C1 /* Pods-DeepChordsSdk-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-DeepChordsSdk-acknowledgements.plist"; sourceTree = "<group>"; };
-               9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
-               9ECC82996747BDD9C0FF35EC1ECF0751 /* IQTextInputViewInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextInputViewInfo.swift; path = IQTextInputViewNotification/Classes/IQTextInputViewInfo.swift; sourceTree = "<group>"; };
-               9F272A689E05B2AA0C0ED18AD4383DDE /* SocketRocket.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SocketRocket.debug.xcconfig; sourceTree = "<group>"; };
-               9F657D2C1582A8BFEADD06E527D796B2 /* IQKeyboardCore-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardCore-umbrella.h"; sourceTree = "<group>"; };
-               A0F99DC81F369C1B739E19DE3923C65A /* IQKeyboardExtended.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardExtended.swift; path = IQKeyboardCore/Classes/IQKeyboardExtended.swift; sourceTree = "<group>"; };
-               A15B541658FAC5E8233C91001D7888EC /* UITableView+IndexPaths.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITableView+IndexPaths.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/UIKitExtensions/UITableView+IndexPaths.swift"; sourceTree = "<group>"; };
-               A16FD016E18EACCF6B23F219F2E236FE /* IQKeyboardToolbar-IQKeyboardToolbar */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "IQKeyboardToolbar-IQKeyboardToolbar"; path = IQKeyboardToolbar.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
-               A1B189AA95276D5EC85F6B80EED66624 /* Pods-DeepChordsSdk.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-DeepChordsSdk.modulemap"; sourceTree = "<group>"; };
-               A284951838ACA1015F31DBE6C5A8D45F /* SRConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRConstants.m; path = SocketRocket/Internal/SRConstants.m; sourceTree = "<group>"; };
-               A368339039F84E09260E0C59DD294DF3 /* UIView+Hierarchy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Hierarchy.swift"; path = "IQKeyboardCore/Classes/UIKitExtensions/UIView+Hierarchy.swift"; sourceTree = "<group>"; };
-               A44F945B3203BCA4B178E49ED53E5391 /* IQKeyboardManager+Appearance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Appearance.swift"; path = "IQKeyboardManagerSwift/Appearance/IQKeyboardManager+Appearance.swift"; sourceTree = "<group>"; };
-               A55BC45618B737DBC6885D98DC8C9C0C /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Sources/ConstraintLayoutSupportDSL.swift; sourceTree = "<group>"; };
-               A6BD2261427B29C50F84843B6BAB7DEA /* Pods-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-dummy.m"; sourceTree = "<group>"; };
-               A6C0BF00B3D547B50DBE54D99A1307F4 /* SRIOConsumerPool.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRIOConsumerPool.m; path = SocketRocket/Internal/IOConsumer/SRIOConsumerPool.m; sourceTree = "<group>"; };
-               A8BBDD1BF37BF58D4C467C1D1F21D462 /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Sources/ConstraintView.swift; sourceTree = "<group>"; };
-               A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IQKeyboardManagerSwift; path = IQKeyboardManagerSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               A8FACB5BCF825223E394FFECCE4AA031 /* IQKeyboardReturnManager-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQKeyboardReturnManager-dummy.m"; sourceTree = "<group>"; };
-               A925E59D0B05DC5A56E631BD47C64317 /* IQTextView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IQTextView.modulemap; sourceTree = "<group>"; };
-               AA485EB92636FB68E91AF3FCC1CE9C5E /* IQKeyboardCore.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardCore.release.xcconfig; sourceTree = "<group>"; };
-               AB0D6BE05753DE859156BD2E8FCD55AD /* IQTextInputViewNotification-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQTextInputViewNotification-prefix.pch"; sourceTree = "<group>"; };
-               AEF5BBB7C4ACF7C06BBD262B6C1145CE /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Sources/Typealiases.swift; sourceTree = "<group>"; };
-               AF5E93556B3B98CA5218F3B9E49304F6 /* SRLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRLog.h; path = SocketRocket/Internal/Utilities/SRLog.h; sourceTree = "<group>"; };
-               AFBCEC8A83AB63E7D141D4EA274517BA /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = "<group>"; };
-               B1F45CBD7E407DB108D6FAD8FF0A1415 /* SocketRocket-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SocketRocket-dummy.m"; sourceTree = "<group>"; };
-               B1F86119EB8AFCE72C0BA2356BBA4C46 /* IQTextView+Placeholderable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQTextView+Placeholderable.swift"; path = "IQTextView/Classes/IQTextView+Placeholderable.swift"; sourceTree = "<group>"; };
-               B278701FAF564A3D25B8F87CCDB798D6 /* SRPinningSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRPinningSecurityPolicy.h; path = SocketRocket/Internal/Security/SRPinningSecurityPolicy.h; sourceTree = "<group>"; };
-               B3AA4CA7BB409A5191DBD08356FE703A /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
-               B4B1A58096F15199A14069C5D6AA1C99 /* IQKeyboardToolbar */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IQKeyboardToolbar; path = IQKeyboardToolbar.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               B4BBB6B50C15DFF1221CD8E66DC2D354 /* SRDelegateController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRDelegateController.m; path = SocketRocket/Internal/Delegate/SRDelegateController.m; sourceTree = "<group>"; };
-               B560A38E28D510B4A50AFF9595D57670 /* IQTextView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQTextView-dummy.m"; sourceTree = "<group>"; };
-               B5D1545C4C0C2474FD103EFECB90E9C5 /* SRIOConsumer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRIOConsumer.m; path = SocketRocket/Internal/IOConsumer/SRIOConsumer.m; sourceTree = "<group>"; };
-               B704D82F61A7F3E0FF10EBDE953E7E49 /* UIView+Resign.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Resign.swift"; path = "IQKeyboardManagerSwift/Resign/UIKItExtensions/UIView+Resign.swift"; sourceTree = "<group>"; };
-               B77F72F31D132841951EF8E4FA67360A /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Sources/ConstraintOffsetTarget.swift; sourceTree = "<group>"; };
-               B7AEC5DC6E5D0A8EAE327461A3FAFE6B /* ResourceBundle-IQTextView-IQTextView-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-IQTextView-IQTextView-Info.plist"; sourceTree = "<group>"; };
-               B7EC4834CE090AEAE5858B4D8B4513C7 /* ResourceBundle-IQKeyboardNotification-IQKeyboardNotification-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-IQKeyboardNotification-IQKeyboardNotification-Info.plist"; sourceTree = "<group>"; };
-               B8A90925F3434F73BD6A036480A5A473 /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Sources/Debugging.swift; sourceTree = "<group>"; };
-               B932A928D72C73FB59FC964A82AC2723 /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Sources/ConstraintPriorityTarget.swift; sourceTree = "<group>"; };
-               B98BCBD470DE1E0FC19C5E1F3AF37195 /* Toast-Swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Toast-Swift-dummy.m"; sourceTree = "<group>"; };
-               B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "SnapKit-SnapKit_Privacy"; path = SnapKit_Privacy.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
-               BA718E8C5B46720F8012D7471BC6BF37 /* IQKeyboardToolbarManager+Toolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardToolbarManager+Toolbar.swift"; path = "IQKeyboardToolbarManager/Classes/Toolbar/IQKeyboardToolbarManager+Toolbar.swift"; sourceTree = "<group>"; };
-               BB176716E9339D1CA456C696313236FE /* IQKeyboardToolbarManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardToolbarManager.swift; path = IQKeyboardToolbarManager/Classes/IQKeyboardToolbarManager.swift; sourceTree = "<group>"; };
-               BC06E9DFB77603B36FDA218B323243F1 /* Toast-Swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Toast-Swift.modulemap"; sourceTree = "<group>"; };
-               BC590BB41230B885D405920A55DAD210 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = IQKeyboardToolbar/Assets/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
-               BC713814A822ABA18A07C72E6B97AE04 /* IQKeyboardToolbarConstants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardToolbarConstants.swift; path = IQKeyboardToolbarManager/Classes/Constants/IQKeyboardToolbarConstants.swift; sourceTree = "<group>"; };
-               BDFB64A96CC2B18E25FF662E37821253 /* UIView+IQKeyboardManagerExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+IQKeyboardManagerExtension.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManagerExtension/UIView+IQKeyboardManagerExtension.swift"; sourceTree = "<group>"; };
-               BF4BC9A0614A1C63539C14C08655781F /* IQKeyboardToolbarManager+Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardToolbarManager+Deprecated.swift"; path = "IQKeyboardToolbarManager/Classes/IQKeyboardToolbarManager+Deprecated.swift"; sourceTree = "<group>"; };
-               BF60B19D2E8B68520E5121EFFF5A7D4B /* IQKeyboardToolbarPlaceholderConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardToolbarPlaceholderConfiguration.swift; path = IQKeyboardToolbar/Classes/Placeholder/IQKeyboardToolbarPlaceholderConfiguration.swift; sourceTree = "<group>"; };
-               BFB6F598FCE7D6294584E7334E04ECF2 /* IQKeyboardCore-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQKeyboardCore-dummy.m"; sourceTree = "<group>"; };
-               C0B11EBC98CF5A275C2F8077CDEA1F18 /* IQKeyboardInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardInfo.swift; path = IQKeyboardNotification/Classes/IQKeyboardInfo.swift; sourceTree = "<group>"; };
-               C1C674397D453B6D18F9DE46BC55B6FF /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Sources/ConstraintView+Extensions.swift"; sourceTree = "<group>"; };
-               C23ABFD4CEF6F11C0094E61729745DE3 /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Sources/ConstraintConstantTarget.swift; sourceTree = "<group>"; };
-               C2878B4F3D509987EC767604F46AD0E1 /* IQTextInputViewNotification-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQTextInputViewNotification-dummy.m"; sourceTree = "<group>"; };
-               C2E377B4F7062BE5BC6007798C6619AD /* IQKeyboardNotification-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "IQKeyboardNotification-Info.plist"; sourceTree = "<group>"; };
-               C33C375328643D5A9A1D1EA02C88D419 /* SRSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRSecurityPolicy.h; path = SocketRocket/SRSecurityPolicy.h; sourceTree = "<group>"; };
-               C3F49C31FFD05F4734B464D5C31979FB /* SRProxyConnect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRProxyConnect.m; path = SocketRocket/Internal/Proxy/SRProxyConnect.m; sourceTree = "<group>"; };
-               C4B0C5FFB36CB099605387F3B9F34032 /* IQKeyboardManager+Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Debug.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/Debug/IQKeyboardManager+Debug.swift"; sourceTree = "<group>"; };
-               C53921D76AE7ECC63293C2263C9325A0 /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Sources/ConstraintViewDSL.swift; sourceTree = "<group>"; };
-               C61F58870F6E8F6EEF25FA9A6A0E7F60 /* IQKeyboardManager+ToolbarManagerDeprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+ToolbarManagerDeprecated.swift"; path = "IQKeyboardManagerSwift/IQKeyboardToolbarManager/IQKeyboardManager+ToolbarManagerDeprecated.swift"; sourceTree = "<group>"; };
-               C688B508E11EFC4D24CB920CAF96B948 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = Sources/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
-               C8BFDD7C500F5D6D58D212CB15B52E08 /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Sources/ConstraintMakerRelatable.swift; sourceTree = "<group>"; };
-               C97A233DEE5D1279877CD8292A10AD84 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = IQTextInputViewNotification/Assets/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
-               CC93FCE609BBB131B2F1C23EEA6B9997 /* IQKeyboardCore.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IQKeyboardCore.modulemap; sourceTree = "<group>"; };
-               CCC7F61220FD5938841683501167A10F /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = "<group>"; };
-               CDD93D5045280AD0FFBB587ADD1D3B83 /* IQKeyboardManagerSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IQKeyboardManagerSwift.modulemap; sourceTree = "<group>"; };
-               CEA0C9AAC08B9E0D20DE8BC894AE3FDE /* SRMutex.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRMutex.h; path = SocketRocket/Internal/Utilities/SRMutex.h; sourceTree = "<group>"; };
-               CEAD5B92B7CF2B0746297208D610D3CD /* UIView+RespondersObjc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+RespondersObjc.swift"; path = "IQKeyboardToolbarManager/Classes/UIKitExtensions/UIView+RespondersObjc.swift"; sourceTree = "<group>"; };
-               CF362111EEE4CBA3A09DDC5814422B70 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = Toast/Resources/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
-               CFB853532F59E8A63D1C93202280CEE9 /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Sources/ConstraintRelatableTarget.swift; sourceTree = "<group>"; };
-               CFCB22B3ED6C05251CBD3059AAE51013 /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Sources/ConstraintDSL.swift; sourceTree = "<group>"; };
-               D0689F5C192D1672448116583D233922 /* IQKeyboardManager+Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Deprecated.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/Deprecated/IQKeyboardManager+Deprecated.swift"; sourceTree = "<group>"; };
-               D1B2801FD44E489C5B7F202C13D651F2 /* SRRandom.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRRandom.h; path = SocketRocket/Internal/Utilities/SRRandom.h; sourceTree = "<group>"; };
-               D2793937CF93115D3117A82FB873124B /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Sources/ConstraintLayoutGuide.swift; sourceTree = "<group>"; };
-               D389D10DEC7EB9B503CD45CE58851CA6 /* SRWebSocket.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRWebSocket.h; path = SocketRocket/SRWebSocket.h; sourceTree = "<group>"; };
-               D4C8C6089794ACE3010224A9FB1D90EA /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Sources/ConstraintMaker.swift; sourceTree = "<group>"; };
-               D5278EBCB01A333274C163B9281DE38B /* Pods-DeepChordsSdk-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-DeepChordsSdk-dummy.m"; sourceTree = "<group>"; };
-               D5434748DD18D8B60013ABF3FFC5B95F /* IQTextView.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQTextView.release.xcconfig; sourceTree = "<group>"; };
-               D5BD8A09B0B0972162CDD072ACB69843 /* IQKeyboardToolbar-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "IQKeyboardToolbar-Info.plist"; sourceTree = "<group>"; };
-               D5EC7B9244C6E5B0C7776ADA35992A5D /* Pods-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-acknowledgements.plist"; sourceTree = "<group>"; };
-               D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast-Swift */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Toast-Swift"; path = Toast_Swift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               D63292C39BAA9B9EB776AAA03EABD932 /* IQActiveConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQActiveConfiguration.swift; path = IQKeyboardManagerSwift/IQKeyboardManager/Configuration/IQActiveConfiguration.swift; sourceTree = "<group>"; };
-               D7EF3525F706753F05EA05BD1819EC4E /* SRMutex.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRMutex.m; path = SocketRocket/Internal/Utilities/SRMutex.m; sourceTree = "<group>"; };
-               D8D8726D60E6EF3E455768E64432DA57 /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Sources/ConstraintLayoutSupport.swift; sourceTree = "<group>"; };
-               DA85287A9C3D760A6324EF926C0C44CE /* IQKeyboardNotification-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQKeyboardNotification-dummy.m"; sourceTree = "<group>"; };
-               DA9BF97689FA8F63852FC5D7EE814D2D /* IQKeyboardReturnManager-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardReturnManager-umbrella.h"; sourceTree = "<group>"; };
-               DCDF74B5DEAC5E25CFC4D9F9B16EFBEB /* IQKeyboardToolbarManager.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardToolbarManager.debug.xcconfig; sourceTree = "<group>"; };
-               DD6C692550BC0661BA84378E58F6BA8A /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Sources/LayoutConstraintItem.swift; sourceTree = "<group>"; };
-               DD7D32B2F1F5F83790A39F4CDEBBFF96 /* ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist"; sourceTree = "<group>"; };
-               E1CAF7BAA0421C27EFE212A343F56870 /* ResourceBundle-Toast-Swift-Toast-Swift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-Toast-Swift-Toast-Swift-Info.plist"; sourceTree = "<group>"; };
-               E25ABD3C4935A40132346F656CA1AA7C /* IQKeyboardAppearanceManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardAppearanceManager.swift; path = IQKeyboardManagerSwift/Appearance/IQKeyboardAppearanceManager.swift; sourceTree = "<group>"; };
-               E293311AF50DC30E5B7F7D2D91BEB28A /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Sources/ConstraintAttributes.swift; sourceTree = "<group>"; };
-               E39AF10B1F50FF70721677FFF69BED27 /* IQKeyboardResignHandler+Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardResignHandler+Internal.swift"; path = "IQKeyboardManagerSwift/Resign/IQKeyboardResignHandler+Internal.swift"; sourceTree = "<group>"; };
-               E3B1CECC33970571F4F9AF61CB1D3DCD /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = IQKeyboardReturnManager/Assets/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
-               E54219744D41CC6C6674908699602DD9 /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Sources/UILayoutSupport+Extensions.swift"; sourceTree = "<group>"; };
-               E6A14C9A838BD693FFDCAF82F4D5604A /* IQKeyboardNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardNotification.swift; path = IQKeyboardNotification/Classes/IQKeyboardNotification.swift; sourceTree = "<group>"; };
-               E7EE2526E40B99B0F243808A2396A01C /* SRError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRError.h; path = SocketRocket/Internal/Utilities/SRError.h; sourceTree = "<group>"; };
-               E8366BB09BA070DB9FB5CB54F726B2C0 /* IQKeyboardToolbar-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardToolbar-prefix.pch"; sourceTree = "<group>"; };
-               E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
-               E9BAAEAF59FEC4ED102911D4A47849CB /* SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapKit-Info.plist"; sourceTree = "<group>"; };
-               EA467055B207002F9B70E96F08A0FF86 /* IQTextInputViewNotification-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQTextInputViewNotification-umbrella.h"; sourceTree = "<group>"; };
-               EAED633C414062FCB78BD8A5896433FC /* Toast-Swift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Toast-Swift-Info.plist"; sourceTree = "<group>"; };
-               ED22317A1312CBBA0134A8E449ABD201 /* SRHTTPConnectMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRHTTPConnectMessage.m; path = SocketRocket/Internal/Utilities/SRHTTPConnectMessage.m; sourceTree = "<group>"; };
-               ED7286BA89901CA1D622A1FCF81E718C /* NSURLRequest+SRWebSocket.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLRequest+SRWebSocket.m"; path = "SocketRocket/NSURLRequest+SRWebSocket.m"; sourceTree = "<group>"; };
-               EE1B2703C190723870111C925A464468 /* IQPlaceholderable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQPlaceholderable.swift; path = IQKeyboardToolbar/Placeholderable/IQPlaceholderable.swift; sourceTree = "<group>"; };
-               EF4B79F3BC3201907DE2B7A2671776C1 /* IQKeyboardAppearanceConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardAppearanceConfiguration.swift; path = IQKeyboardManagerSwift/Appearance/IQKeyboardAppearanceConfiguration.swift; sourceTree = "<group>"; };
-               F2183FF2315FBF68B5F334EC6EB19A9B /* SRHash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRHash.h; path = SocketRocket/Internal/Utilities/SRHash.h; sourceTree = "<group>"; };
-               F528CE7CB37911E316CD1F5622E5B931 /* IQKeyboardReturnManager.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardReturnManager.debug.xcconfig; sourceTree = "<group>"; };
-               F5522D8F6ABFFF15E2334E694691DD5E /* SocketRocket-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SocketRocket-prefix.pch"; sourceTree = "<group>"; };
-               F92A13F8C77041A7711D1764A76C37A3 /* IQKeyboardManager+Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Internal.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Internal.swift"; sourceTree = "<group>"; };
-               F930ACB6AC5D06295D698ED0249EB0AB /* SRLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRLog.m; path = SocketRocket/Internal/Utilities/SRLog.m; sourceTree = "<group>"; };
-               F956E149F5B195BB7833F97FC6211AE8 /* IQTextInputViewNotification-IQTextInputViewNotification */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "IQTextInputViewNotification-IQTextInputViewNotification"; path = IQTextInputViewNotification.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
-               FA41F5D42C8280BA202FDE26BDBDFFA3 /* NSURLRequest+SRWebSocketPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLRequest+SRWebSocketPrivate.h"; path = "SocketRocket/Internal/NSURLRequest+SRWebSocketPrivate.h"; sourceTree = "<group>"; };
-               FA727BF5D9541C98C22C9ECC911576E2 /* IQKeyboardToolbarManager */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IQKeyboardToolbarManager; path = IQKeyboardToolbarManager.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               FB23C93E47AFBF1FA651D132F7AC06E2 /* IQKeyboardReturnManager+UITextFieldDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardReturnManager+UITextFieldDelegate.swift"; path = "IQKeyboardReturnManager/Classes/Delegates/IQKeyboardReturnManager+UITextFieldDelegate.swift"; sourceTree = "<group>"; };
-               FB26ACEBA0181227271430FB01A76848 /* SRHTTPConnectMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRHTTPConnectMessage.h; path = SocketRocket/Internal/Utilities/SRHTTPConnectMessage.h; sourceTree = "<group>"; };
-               FB474AD377D72ECDF638D46A73B7D687 /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Sources/ConstraintMakerEditable.swift; sourceTree = "<group>"; };
-               FBC1F980FADF5CA26AF9C77CF3D9B1A2 /* IQKeyboardConstants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardConstants.swift; path = IQKeyboardCore/Classes/Constants/IQKeyboardConstants.swift; sourceTree = "<group>"; };
-               FC7F0CF2EA5DF59C59D9995890DA5C47 /* IQKeyboardCore */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IQKeyboardCore; path = IQKeyboardCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               FD07CC20E3828AFE18630B7C25BCCA92 /* IQKeyboardManagerSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManagerSwift-prefix.pch"; sourceTree = "<group>"; };
-               FDD0C3C29384D3EEBCB4BE346B1CA890 /* IQKeyboardManager+Appearance_Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Appearance_Deprecated.swift"; path = "IQKeyboardManagerSwift/Appearance/IQKeyboardManager+Appearance_Deprecated.swift"; sourceTree = "<group>"; };
-               FEF9AC89E9C4BD37AC0AB78B535D1CFC /* IQKeyboardNotification */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IQKeyboardNotification; path = IQKeyboardNotification.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               FF3B6C922ADF7DB53066B95C9359B445 /* Pods-Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Example.modulemap"; sourceTree = "<group>"; };
-               FF4B96374C0DB9D56AB95C3D5A31B152 /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Sources/ConstraintDescription.swift; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               2BE4574EA7A2208A3273A02C5D2F1D1B /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               33428AC36668E3ED52DB70316F843FB8 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               205EB01AED14BB574DD54EAFE26E4786 /* Foundation.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               3683C5D0C8F465D221926E5B41E0B565 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               4E7BB3FBF4B3680AF358C0A0A0F34011 /* Foundation.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               4F320E16D10A7BE9185BA7C5A5CCDA43 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               51FB4B943D35F3E908360703B96C7E25 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               95A620A5272057BA126D00CC498F9B8A /* Combine.framework in Frameworks */,
-                               8762AC084551DBB2E00C3091CAF011ED /* Foundation.framework in Frameworks */,
-                               AC68F7636D1D7832E4B5B18DD2BF2941 /* UIKit.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               524D81F2C5CE61FB9EB4A47C9DEE4C1E /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               5B8C51C6BFA979E81A28179CCC2C0936 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               09D303C994021652DF841C463DBD1DC5 /* Foundation.framework in Frameworks */,
-                               8ACE9296AA479804EFD2D3CC417DE801 /* UIKit.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               5C50EB2041FA8E3A1BB9E243091C260E /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               5FCE427163262BB0862B486F5E093C1C /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               743D51EAD768EDE4D4AB7D3C665C7D2E /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               7802B8C3260B2A1D85C8EFC0C6929B18 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               796567F81D938DA74DF71A2AFF3F8F3D /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               D2E460754683003AE9ECF32A831D401F /* CFNetwork.framework in Frameworks */,
-                               DEEC14319D7619F96C4E93415A6D577D /* Foundation.framework in Frameworks */,
-                               B4C82668A78939FE910FEA0D314F06C1 /* Security.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               9688A049F13521CC698EF57654CF2443 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               E3535804CAC5D872E37CD8639C930771 /* Foundation.framework in Frameworks */,
-                               8DC89975CCCA53253DE9DB5646E468FB /* UIKit.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               B0A1DA8C8E42CD15049F6F2D79726D7D /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               1213C5A29D13B6F2E3AE2356CB9F5807 /* Foundation.framework in Frameworks */,
-                               11A3EB5BE3623EC013AA37B49813E56C /* UIKit.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               B4BF16B463F2EC49D7CBC102A2936235 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               075FBDF5D186F8BF4537BC34E526F9DB /* Foundation.framework in Frameworks */,
-                               721D0AFDE15FCC46F4579069672719B9 /* UIKit.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               D07B79E83A18E3018EFA8CE654EF97CB /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               3E715D5BADDEACEEF30D6A4CA82CDA9B /* Foundation.framework in Frameworks */,
-                               D6EFA9EAA562143F338EB164836B7837 /* UIKit.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               D5899CD7924A4C13CEA79F5428436874 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               AEA1A05086EA1256D504393FAED3CF4B /* Foundation.framework in Frameworks */,
-                               E4A0C00A361F30B7848B8AE7653C9C60 /* UIKit.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               D603B521417D6EFBEB7EAECC9C431345 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               AD9EF3D3778212D1147044DC3A971C80 /* Foundation.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               D7208CA103D7DAE87F900A6B91736DCC /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               D9611FA61C59D2592877A687EEBEEFE4 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               F151972567B4508E965D5BFCCF7174A1 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               070601D9903BE1D11DD6DD1367C3F012 /* Foundation.framework in Frameworks */,
-                               7B0BC17748C9775A8299A96D501CE5A8 /* QuartzCore.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               F94D8D7F47FD316BA431BF216418ADF4 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               FBA90047961BDAD70FDA139EC0C30DD0 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               B5C5EBCC5EC278EA704D27FB2D333B22 /* Combine.framework in Frameworks */,
-                               F020DBD67EA8E12A860BE211F6BE04D5 /* Foundation.framework in Frameworks */,
-                               9D71239428D38EB9B5E7F5AA51E3E1BB /* UIKit.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               13E2B5C1BC359C44AB73F5D24BAFDDD5 /* Resources */ = {
-                       isa = PBXGroup;
-                       children = (
-                               BC590BB41230B885D405920A55DAD210 /* PrivacyInfo.xcprivacy */,
-                       );
-                       name = Resources;
-                       sourceTree = "<group>";
-               };
-               1BF8BA79F8DEAC3F899EE1DFFF731A01 /* IQKeyboardCore */ = {
-                       isa = PBXGroup;
-                       children = (
-                               FBC1F980FADF5CA26AF9C77CF3D9B1A2 /* IQKeyboardConstants.swift */,
-                               A0F99DC81F369C1B739E19DE3923C65A /* IQKeyboardExtended.swift */,
-                               502964DCE1567348B5B03211445AEA35 /* IQTextInputView.swift */,
-                               A368339039F84E09260E0C59DD294DF3 /* UIView+Hierarchy.swift */,
-                               50CDA1F6060CF0BC3D55DA36A001EA9D /* Resources */,
-                               A4931A6EF436A36B49F767979C6DFC2C /* Support Files */,
-                       );
-                       name = IQKeyboardCore;
-                       path = IQKeyboardCore;
-                       sourceTree = "<group>";
-               };
-               1D63BF5EA7169C494BFD74466E0A946E /* Support Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               1EEC9E9674D2F2735A1237FEC96C44CB /* IQKeyboardReturnManager.modulemap */,
-                               A8FACB5BCF825223E394FFECCE4AA031 /* IQKeyboardReturnManager-dummy.m */,
-                               67B06A63B2F6FDD332A5D14963BFC3E3 /* IQKeyboardReturnManager-Info.plist */,
-                               6F879A10A3809420736A229A9720D75A /* IQKeyboardReturnManager-prefix.pch */,
-                               DA9BF97689FA8F63852FC5D7EE814D2D /* IQKeyboardReturnManager-umbrella.h */,
-                               F528CE7CB37911E316CD1F5622E5B931 /* IQKeyboardReturnManager.debug.xcconfig */,
-                               914B3416C83998074DDAB130CB468706 /* IQKeyboardReturnManager.release.xcconfig */,
-                               2EFB802792096CDDF8FD170084E303BC /* ResourceBundle-IQKeyboardReturnManager-IQKeyboardReturnManager-Info.plist */,
-                       );
-                       name = "Support Files";
-                       path = "../Target Support Files/IQKeyboardReturnManager";
-                       sourceTree = "<group>";
-               };
-               1D7583ECA74F66EE34F3E9D627C627BA /* Targets Support Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               23FD8BC105B5E0EE727A6A6F33FC884D /* Pods-DeepChordsSdk */,
-                               B3257EA856A4DD50C7E8688B28071AAA /* Pods-Example */,
-                       );
-                       name = "Targets Support Files";
-                       sourceTree = "<group>";
-               };
-               1FCA4E5DDAB2C58C6C3DA814626EF4AF /* iOS */ = {
-                       isa = PBXGroup;
-                       children = (
-                               0C917A6291C02472ECB91FD7B8B2CFC1 /* CFNetwork.framework */,
-                               3ED18FF4963E7B4F60DBBA903E25C67B /* Combine.framework */,
-                               E88E50F432B6DEA7E36A35EA934B002C /* Foundation.framework */,
-                               133A600484839BF74BDD51C8B0BB6EBE /* QuartzCore.framework */,
-                               91B24E7C9EB4215BEA2C0A23D3960815 /* Security.framework */,
-                               3A92BC97913B825589680C917211C138 /* UIKit.framework */,
-                       );
-                       name = iOS;
-                       sourceTree = "<group>";
-               };
-               23FD8BC105B5E0EE727A6A6F33FC884D /* Pods-DeepChordsSdk */ = {
-                       isa = PBXGroup;
-                       children = (
-                               A1B189AA95276D5EC85F6B80EED66624 /* Pods-DeepChordsSdk.modulemap */,
-                               3725B14D6A408FA007F106F8CA983CE3 /* Pods-DeepChordsSdk-acknowledgements.markdown */,
-                               9D3FF860EEACD6D1A4A582CB31FC31C1 /* Pods-DeepChordsSdk-acknowledgements.plist */,
-                               D5278EBCB01A333274C163B9281DE38B /* Pods-DeepChordsSdk-dummy.m */,
-                               1917E3D591E530CFE1940C6F4E878690 /* Pods-DeepChordsSdk-Info.plist */,
-                               284AC2E81CAAA90FEA12A250A16B11AB /* Pods-DeepChordsSdk-umbrella.h */,
-                               4BF6C697C2EB03CCBCE9CA841EA31F47 /* Pods-DeepChordsSdk.debug.xcconfig */,
-                               91511868D1335C41FD84563EF906555C /* Pods-DeepChordsSdk.release.xcconfig */,
-                       );
-                       name = "Pods-DeepChordsSdk";
-                       path = "Target Support Files/Pods-DeepChordsSdk";
-                       sourceTree = "<group>";
-               };
-               27556D70EE23F0F08BF16229FD0E531E /* Resources */ = {
-                       isa = PBXGroup;
-                       children = (
-                               CF362111EEE4CBA3A09DDC5814422B70 /* PrivacyInfo.xcprivacy */,
-                       );
-                       name = Resources;
-                       sourceTree = "<group>";
-               };
-               28309F6F20D52ED4CD8FF99A9C1660E7 /* Resources */ = {
-                       isa = PBXGroup;
-                       children = (
-                               0F6A2BF98BD227110E60762E29808CEC /* PrivacyInfo.xcprivacy */,
-                       );
-                       name = Resources;
-                       sourceTree = "<group>";
-               };
-               2C2FAE5EF6DD9554D932D5EFD9116CAF /* Toast-Swift */ = {
-                       isa = PBXGroup;
-                       children = (
-                               6D134ED7EB13A9F9FADC82CC86BC10FA /* Toast.swift */,
-                               27556D70EE23F0F08BF16229FD0E531E /* Resources */,
-                               D9C1D5F2F67176B3E300A9D87ACBD68C /* Support Files */,
-                       );
-                       name = "Toast-Swift";
-                       path = "Toast-Swift";
-                       sourceTree = "<group>";
-               };
-               346904CC6058F4E1176842D4FBB1C297 /* IQKeyboardManagerSwift */ = {
-                       isa = PBXGroup;
-                       children = (
-                               CDD0B85A0330B1E5B6A1922E992D6D74 /* Appearance */,
-                               609A1498D37F4C29C58C45EFCB47A49F /* Core */,
-                               D1DA56D0B201AACDCF6837C820268F5C /* IQKeyboardToolbarManager */,
-                               988D9336740C0F448BAA393FDDF28A0C /* Resign */,
-                               A76710793188CE18938A1F3AE19BCA99 /* Resources */,
-                               A8F67839F6044F4381759B3BB49258DA /* Support Files */,
-                       );
-                       name = IQKeyboardManagerSwift;
-                       path = IQKeyboardManagerSwift;
-                       sourceTree = "<group>";
-               };
-               386ACAC75067BB6189F2C50B03C8280B /* Support Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               77B67B7AD3900B61154BC9C1973DD611 /* SocketRocket.modulemap */,
-                               B1F45CBD7E407DB108D6FAD8FF0A1415 /* SocketRocket-dummy.m */,
-                               8EE7DE8BEE69315B9018594B62622247 /* SocketRocket-Info.plist */,
-                               F5522D8F6ABFFF15E2334E694691DD5E /* SocketRocket-prefix.pch */,
-                               7E46C7EF1F6BD003E0DEC56B05B15DDF /* SocketRocket-umbrella.h */,
-                               9F272A689E05B2AA0C0ED18AD4383DDE /* SocketRocket.debug.xcconfig */,
-                               10CAAD795A45AB49A0EE4D6805AB7A1F /* SocketRocket.release.xcconfig */,
-                       );
-                       name = "Support Files";
-                       path = "../Target Support Files/SocketRocket";
-                       sourceTree = "<group>";
-               };
-               472C5FB976462E83207651E16BEEAA5D /* Resources */ = {
-                       isa = PBXGroup;
-                       children = (
-                               3649D66694159EF7F40B5A7377AC04D1 /* PrivacyInfo.xcprivacy */,
-                       );
-                       name = Resources;
-                       sourceTree = "<group>";
-               };
-               4C6F9E06DF0DA1DF8AC4B116BBF4C9C0 /* Support Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               A925E59D0B05DC5A56E631BD47C64317 /* IQTextView.modulemap */,
-                               B560A38E28D510B4A50AFF9595D57670 /* IQTextView-dummy.m */,
-                               4FB988C66900BB1BEEF5C5CA21B14AC9 /* IQTextView-Info.plist */,
-                               170AE4D919026EA3D1FB264423443921 /* IQTextView-prefix.pch */,
-                               64607CC28651258E6DAB2D1358080FB5 /* IQTextView-umbrella.h */,
-                               99B82533878EEF9F0E2FB3560695FF8A /* IQTextView.debug.xcconfig */,
-                               D5434748DD18D8B60013ABF3FFC5B95F /* IQTextView.release.xcconfig */,
-                               B7AEC5DC6E5D0A8EAE327461A3FAFE6B /* ResourceBundle-IQTextView-IQTextView-Info.plist */,
-                       );
-                       name = "Support Files";
-                       path = "../Target Support Files/IQTextView";
-                       sourceTree = "<group>";
-               };
-               4E55C56B4EBD419565958D777C1D742F /* Resources */ = {
-                       isa = PBXGroup;
-                       children = (
-                               25BADE0B95009E3B02C9E6EBB47417A3 /* PrivacyInfo.xcprivacy */,
-                       );
-                       name = Resources;
-                       sourceTree = "<group>";
-               };
-               50CDA1F6060CF0BC3D55DA36A001EA9D /* Resources */ = {
-                       isa = PBXGroup;
-                       children = (
-                               6C4219D35CB16DFEC9A662797E27F4D8 /* PrivacyInfo.xcprivacy */,
-                       );
-                       name = Resources;
-                       sourceTree = "<group>";
-               };
-               5173CCD3EAD3FD7627B918D1D542D872 /* Placeholderable */ = {
-                       isa = PBXGroup;
-                       children = (
-                               EE1B2703C190723870111C925A464468 /* IQPlaceholderable.swift */,
-                       );
-                       name = Placeholderable;
-                       sourceTree = "<group>";
-               };
-               52A8D4FE846B6E04B566DBAF11B33A13 /* Support Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               761B4D8A688672EC9D13AB178F184A16 /* IQKeyboardToolbar.modulemap */,
-                               48CA3ADFB16E0C4E235D89C552572332 /* IQKeyboardToolbar-dummy.m */,
-                               D5BD8A09B0B0972162CDD072ACB69843 /* IQKeyboardToolbar-Info.plist */,
-                               E8366BB09BA070DB9FB5CB54F726B2C0 /* IQKeyboardToolbar-prefix.pch */,
-                               994130CE96E0F8ED28DCF165B03CB200 /* IQKeyboardToolbar-umbrella.h */,
-                               159C74980AC55D136945F073F6CEDC14 /* IQKeyboardToolbar.debug.xcconfig */,
-                               78882EBBF9DB9EAA48F3FFBF14D1E0B5 /* IQKeyboardToolbar.release.xcconfig */,
-                               888ACD87ACA8BCCE5527AAC76E41A5A3 /* ResourceBundle-IQKeyboardToolbar-IQKeyboardToolbar-Info.plist */,
-                       );
-                       name = "Support Files";
-                       path = "../Target Support Files/IQKeyboardToolbar";
-                       sourceTree = "<group>";
-               };
-               5A6A32F0330DE1F0FF6179C5C3799FF3 /* IQTextInputViewNotification */ = {
-                       isa = PBXGroup;
-                       children = (
-                               9ECC82996747BDD9C0FF35EC1ECF0751 /* IQTextInputViewInfo.swift */,
-                               0578E47B5AE5713CF21EA86848CA87DD /* IQTextInputViewNotification.swift */,
-                               7043FF2BB90FA65D64CD5D4BB3449DE9 /* Resources */,
-                               6E70A82102C02142D2369D9D1C31773C /* Support Files */,
-                       );
-                       name = IQTextInputViewNotification;
-                       path = IQTextInputViewNotification;
-                       sourceTree = "<group>";
-               };
-               609A1498D37F4C29C58C45EFCB47A49F /* Core */ = {
-                       isa = PBXGroup;
-                       children = (
-                               D63292C39BAA9B9EB776AAA03EABD932 /* IQActiveConfiguration.swift */,
-                               895778DCA58AE753D96DD48F3E036F4F /* IQKeyboardManager.swift */,
-                               792548D571F70D8E7FA3B52FA58D9591 /* IQKeyboardManager+ActiveConfiguration.swift */,
-                               C4B0C5FFB36CB099605387F3B9F34032 /* IQKeyboardManager+Debug.swift */,
-                               D0689F5C192D1672448116583D233922 /* IQKeyboardManager+Deprecated.swift */,
-                               F92A13F8C77041A7711D1764A76C37A3 /* IQKeyboardManager+Internal.swift */,
-                               936A804D23E5F53A2A38402D624D6EA2 /* IQKeyboardManager+Position.swift */,
-                               10C547231342B150BEC39F40295D087E /* IQRootControllerConfiguration.swift */,
-                               47F6CB0808BEA63D36E484B5D53B6436 /* IQScrollViewConfiguration.swift */,
-                               115E19C96EB6123FE27F3A530B3BE30D /* UICollectionView+IndexPaths.swift */,
-                               3F70480B31A6883BEDFC6C623FC76A32 /* UIScrollView+IQKeyboardManagerExtension.swift */,
-                               4EF1258267E4FF8FA1F298C5303B0E86 /* UIScrollView+IQKeyboardManagerExtensionObjc.swift */,
-                               A15B541658FAC5E8233C91001D7888EC /* UITableView+IndexPaths.swift */,
-                               BDFB64A96CC2B18E25FF662E37821253 /* UIView+IQKeyboardManagerExtension.swift */,
-                               3D8DC22EC08F3E72E7E53ADA12E80CC0 /* UIView+IQKeyboardManagerExtensionObjc.swift */,
-                               3F8F3D9A02DBFA1FF9899DD8933A95DA /* UIView+Parent.swift */,
-                               8BD0BDF557D8D8D7CFB04CB9C9482634 /* UIView+ParentObjc.swift */,
-                               995B281C84F1083BE4DB31B75BCC029C /* UIViewController+ParentContainer.swift */,
-                       );
-                       name = Core;
-                       sourceTree = "<group>";
-               };
-               659362BF40FCF9635ED3C52F96CC6133 /* Support Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               8B5BF34764325604D366CC5C6F31A43A /* IQKeyboardToolbarManager.modulemap */,
-                               8C2460EF332DB152D7A7B9869C8F4032 /* IQKeyboardToolbarManager-dummy.m */,
-                               39B4B067040847EC4A5CE870C4E0C5A1 /* IQKeyboardToolbarManager-Info.plist */,
-                               7E6C82BDAFC8E25852BD0F53480C2FE2 /* IQKeyboardToolbarManager-prefix.pch */,
-                               1D8DCDE8A3DFBFEA690BD5A6081C5762 /* IQKeyboardToolbarManager-umbrella.h */,
-                               DCDF74B5DEAC5E25CFC4D9F9B16EFBEB /* IQKeyboardToolbarManager.debug.xcconfig */,
-                               8981CA762CD2FDB68D15FEEA091439B5 /* IQKeyboardToolbarManager.release.xcconfig */,
-                               32B4B8845C7824A1AB6C42EB0B32845E /* ResourceBundle-IQKeyboardToolbarManager-IQKeyboardToolbarManager-Info.plist */,
-                       );
-                       name = "Support Files";
-                       path = "../Target Support Files/IQKeyboardToolbarManager";
-                       sourceTree = "<group>";
-               };
-               6A6ACDADD484E61C0C86AAAC23AA5774 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               FC7F0CF2EA5DF59C59D9995890DA5C47 /* IQKeyboardCore */,
-                               6E897F35E5E27028AC58B14B552FBC8D /* IQKeyboardCore-IQKeyboardCore */,
-                               A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */,
-                               8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */,
-                               FEF9AC89E9C4BD37AC0AB78B535D1CFC /* IQKeyboardNotification */,
-                               120BD4C670EF00F4D5A40AA4B863A7AE /* IQKeyboardNotification-IQKeyboardNotification */,
-                               15848DEC7727A809830E7F6FC1B6CE0F /* IQKeyboardReturnManager */,
-                               110BD425B6CAD6801539E2C6AB6E0662 /* IQKeyboardReturnManager-IQKeyboardReturnManager */,
-                               B4B1A58096F15199A14069C5D6AA1C99 /* IQKeyboardToolbar */,
-                               A16FD016E18EACCF6B23F219F2E236FE /* IQKeyboardToolbar-IQKeyboardToolbar */,
-                               FA727BF5D9541C98C22C9ECC911576E2 /* IQKeyboardToolbarManager */,
-                               80A40EDA3AF0499BDBCFF09467BB49AD /* IQKeyboardToolbarManager-IQKeyboardToolbarManager */,
-                               06E5B413FEA5A600D76636DA132F8FB9 /* IQTextInputViewNotification */,
-                               F956E149F5B195BB7833F97FC6211AE8 /* IQTextInputViewNotification-IQTextInputViewNotification */,
-                               0DFD4541FF9DAA31A2FC2A7F6D03ED22 /* IQTextView */,
-                               847044E56CBBCE1235A6F3CEF3F9F607 /* IQTextView-IQTextView */,
-                               06FEEB0FA2AA89DF42A1C6525F644FBF /* Pods-DeepChordsSdk */,
-                               1F667CC0E19EAF34E5A4119E2121F585 /* Pods-Example */,
-                               979486118B3E90C08386079D57962701 /* SnapKit */,
-                               B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */,
-                               85A01882ED06DFEA2E0CE78BCDB204A7 /* SocketRocket */,
-                               D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast-Swift */,
-                               13FD39576595D8A884BF5166065C5236 /* Toast-Swift-Toast-Swift */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               6E70A82102C02142D2369D9D1C31773C /* Support Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               07FD04B2D25C4767E2AACE039E3E77A8 /* IQTextInputViewNotification.modulemap */,
-                               C2878B4F3D509987EC767604F46AD0E1 /* IQTextInputViewNotification-dummy.m */,
-                               3ECA1919991B8674C3FD3253CD02BE4B /* IQTextInputViewNotification-Info.plist */,
-                               AB0D6BE05753DE859156BD2E8FCD55AD /* IQTextInputViewNotification-prefix.pch */,
-                               EA467055B207002F9B70E96F08A0FF86 /* IQTextInputViewNotification-umbrella.h */,
-                               78F95F4E86380B049117A093BFC1CD7B /* IQTextInputViewNotification.debug.xcconfig */,
-                               1515EB933E55F8DF1275984150311F6F /* IQTextInputViewNotification.release.xcconfig */,
-                               4F8CA916A31362AD762A33A32B0D936C /* ResourceBundle-IQTextInputViewNotification-IQTextInputViewNotification-Info.plist */,
-                       );
-                       name = "Support Files";
-                       path = "../Target Support Files/IQTextInputViewNotification";
-                       sourceTree = "<group>";
-               };
-               7043FF2BB90FA65D64CD5D4BB3449DE9 /* Resources */ = {
-                       isa = PBXGroup;
-                       children = (
-                               C97A233DEE5D1279877CD8292A10AD84 /* PrivacyInfo.xcprivacy */,
-                       );
-                       name = Resources;
-                       sourceTree = "<group>";
-               };
-               75159EE7B37E3F28B11793B290D99D4D /* Support Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               0A8C10276B315358D1F985B8F641683A /* ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist */,
-                               CCC7F61220FD5938841683501167A10F /* SnapKit.modulemap */,
-                               02EDA2792EBD3343A7DBC6B427F1F041 /* SnapKit-dummy.m */,
-                               E9BAAEAF59FEC4ED102911D4A47849CB /* SnapKit-Info.plist */,
-                               6937B145AC462041831CC9D76D3CF28A /* SnapKit-prefix.pch */,
-                               AFBCEC8A83AB63E7D141D4EA274517BA /* SnapKit-umbrella.h */,
-                               319AC1D7C71149C2DD5EF02DECE3F511 /* SnapKit.debug.xcconfig */,
-                               4B6ABE8E0C199299C26E4B5977886B71 /* SnapKit.release.xcconfig */,
-                       );
-                       name = "Support Files";
-                       path = "../Target Support Files/SnapKit";
-                       sourceTree = "<group>";
-               };
-               8EA7A9F63431873BFF102A07E64CF035 /* Resources */ = {
-                       isa = PBXGroup;
-                       children = (
-                               E3B1CECC33970571F4F9AF61CB1D3DCD /* PrivacyInfo.xcprivacy */,
-                       );
-                       name = Resources;
-                       sourceTree = "<group>";
-               };
-               955D2D4B70444278CFDCF5CF250E2A20 /* Pods */ = {
-                       isa = PBXGroup;
-                       children = (
-                               1BF8BA79F8DEAC3F899EE1DFFF731A01 /* IQKeyboardCore */,
-                               346904CC6058F4E1176842D4FBB1C297 /* IQKeyboardManagerSwift */,
-                               D47F0896C3D08DD5FCAAE3AD09D78D07 /* IQKeyboardNotification */,
-                               FE2569B518EBA4ED83E9AD75F910D0D7 /* IQKeyboardReturnManager */,
-                               B05518A8E4E4C4D4DFF1474C45D525EE /* IQKeyboardToolbar */,
-                               C93D11812BB5D25D8ACDA16CA17BF6A4 /* IQKeyboardToolbarManager */,
-                               5A6A32F0330DE1F0FF6179C5C3799FF3 /* IQTextInputViewNotification */,
-                               DFD394DDF6732B23692437B4AD9ECF1E /* IQTextView */,
-                               FEBA5030F43677046B3656649FBE15ED /* SnapKit */,
-                               BA1DFB9047177FD01B3C29EBE37C8457 /* SocketRocket */,
-                               2C2FAE5EF6DD9554D932D5EFD9116CAF /* Toast-Swift */,
-                       );
-                       name = Pods;
-                       sourceTree = "<group>";
-               };
-               988D9336740C0F448BAA393FDDF28A0C /* Resign */ = {
-                       isa = PBXGroup;
-                       children = (
-                               236C98A9FAEF3200D70937E889092818 /* IQKeyboardManager+Resign.swift */,
-                               6EC73E02165E26ABFCACC677AF94DD8B /* IQKeyboardManager+Resign_Deprecated.swift */,
-                               261E9C437FF6FFF72C01BBB73341409D /* IQKeyboardResignHandler.swift */,
-                               E39AF10B1F50FF70721677FFF69BED27 /* IQKeyboardResignHandler+Internal.swift */,
-                               B704D82F61A7F3E0FF10EBDE953E7E49 /* UIView+Resign.swift */,
-                               12415404E6E70407610188D7ADDC1D02 /* UIView+ResignObjc.swift */,
-                       );
-                       name = Resign;
-                       sourceTree = "<group>";
-               };
-               9A941C126B5B7C383F87BEF24EFD16F1 /* Resources */ = {
-                       isa = PBXGroup;
-                       children = (
-                               C688B508E11EFC4D24CB920CAF96B948 /* PrivacyInfo.xcprivacy */,
-                       );
-                       name = Resources;
-                       sourceTree = "<group>";
-               };
-               A4931A6EF436A36B49F767979C6DFC2C /* Support Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               CC93FCE609BBB131B2F1C23EEA6B9997 /* IQKeyboardCore.modulemap */,
-                               BFB6F598FCE7D6294584E7334E04ECF2 /* IQKeyboardCore-dummy.m */,
-                               42E3FC1A9F2FBB9AE28FDE3285B70F2C /* IQKeyboardCore-Info.plist */,
-                               7E07F795F5513269A6EA62DE5EE8C187 /* IQKeyboardCore-prefix.pch */,
-                               9F657D2C1582A8BFEADD06E527D796B2 /* IQKeyboardCore-umbrella.h */,
-                               9374F8A0206251FC7979A888F803B656 /* IQKeyboardCore.debug.xcconfig */,
-                               AA485EB92636FB68E91AF3FCC1CE9C5E /* IQKeyboardCore.release.xcconfig */,
-                               8F74E325EE2B99C0C5504B461E558136 /* ResourceBundle-IQKeyboardCore-IQKeyboardCore-Info.plist */,
-                       );
-                       name = "Support Files";
-                       path = "../Target Support Files/IQKeyboardCore";
-                       sourceTree = "<group>";
-               };
-               A76710793188CE18938A1F3AE19BCA99 /* Resources */ = {
-                       isa = PBXGroup;
-                       children = (
-                               643F1AECE038E1886712C3619E367201 /* PrivacyInfo.xcprivacy */,
-                       );
-                       name = Resources;
-                       sourceTree = "<group>";
-               };
-               A8F67839F6044F4381759B3BB49258DA /* Support Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               CDD93D5045280AD0FFBB587ADD1D3B83 /* IQKeyboardManagerSwift.modulemap */,
-                               01E23D7305E51271DEFF79A9CADBF926 /* IQKeyboardManagerSwift-dummy.m */,
-                               4AB6723E60A4A0D494C4DCA4686CD3F0 /* IQKeyboardManagerSwift-Info.plist */,
-                               FD07CC20E3828AFE18630B7C25BCCA92 /* IQKeyboardManagerSwift-prefix.pch */,
-                               5C8BDF6ED7A0F1533FC84E97705B2878 /* IQKeyboardManagerSwift-umbrella.h */,
-                               5084335EF29A15EB6C31DFB1ACA15349 /* IQKeyboardManagerSwift.debug.xcconfig */,
-                               5AF0EBE9A79115D36EF40E456919D63B /* IQKeyboardManagerSwift.release.xcconfig */,
-                               DD7D32B2F1F5F83790A39F4CDEBBFF96 /* ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist */,
-                       );
-                       name = "Support Files";
-                       path = "../Target Support Files/IQKeyboardManagerSwift";
-                       sourceTree = "<group>";
-               };
-               B05518A8E4E4C4D4DFF1474C45D525EE /* IQKeyboardToolbar */ = {
-                       isa = PBXGroup;
-                       children = (
-                               C73796DD46B1AEC273D7C44D7E60CDF4 /* Core */,
-                               5173CCD3EAD3FD7627B918D1D542D872 /* Placeholderable */,
-                               13E2B5C1BC359C44AB73F5D24BAFDDD5 /* Resources */,
-                               52A8D4FE846B6E04B566DBAF11B33A13 /* Support Files */,
-                       );
-                       name = IQKeyboardToolbar;
-                       path = IQKeyboardToolbar;
-                       sourceTree = "<group>";
-               };
-               B22E10DCB2F25088E198204D0681E4C7 /* Support Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               15FF3E312676449AB12DADDDB8D5C352 /* IQKeyboardNotification.modulemap */,
-                               DA85287A9C3D760A6324EF926C0C44CE /* IQKeyboardNotification-dummy.m */,
-                               C2E377B4F7062BE5BC6007798C6619AD /* IQKeyboardNotification-Info.plist */,
-                               27296D8B66561FF21E0EB354428156C7 /* IQKeyboardNotification-prefix.pch */,
-                               822DD0DAF7E4428BCCDFE28EAD683ADD /* IQKeyboardNotification-umbrella.h */,
-                               87F05B4E0307C30EB4FC212724C8F157 /* IQKeyboardNotification.debug.xcconfig */,
-                               1AB8D5FD6175CD8FCC7153B71E6DD77A /* IQKeyboardNotification.release.xcconfig */,
-                               B7EC4834CE090AEAE5858B4D8B4513C7 /* ResourceBundle-IQKeyboardNotification-IQKeyboardNotification-Info.plist */,
-                       );
-                       name = "Support Files";
-                       path = "../Target Support Files/IQKeyboardNotification";
-                       sourceTree = "<group>";
-               };
-               B3257EA856A4DD50C7E8688B28071AAA /* Pods-Example */ = {
-                       isa = PBXGroup;
-                       children = (
-                               FF3B6C922ADF7DB53066B95C9359B445 /* Pods-Example.modulemap */,
-                               2C45BE81EF6A9A12E115F2EDB69FC7D7 /* Pods-Example-acknowledgements.markdown */,
-                               D5EC7B9244C6E5B0C7776ADA35992A5D /* Pods-Example-acknowledgements.plist */,
-                               A6BD2261427B29C50F84843B6BAB7DEA /* Pods-Example-dummy.m */,
-                               73D26C4F196C661EA1DB04BCC2471A24 /* Pods-Example-frameworks.sh */,
-                               90A0A417BB33C9C0B15A1946762E0142 /* Pods-Example-Info.plist */,
-                               93B05AAE9D91B32B46928A2293611FF4 /* Pods-Example-umbrella.h */,
-                               455A2446E1A8F92123FBE90A1D4B8D0B /* Pods-Example.debug.xcconfig */,
-                               B3AA4CA7BB409A5191DBD08356FE703A /* Pods-Example.release.xcconfig */,
-                       );
-                       name = "Pods-Example";
-                       path = "Target Support Files/Pods-Example";
-                       sourceTree = "<group>";
-               };
-               BA1DFB9047177FD01B3C29EBE37C8457 /* SocketRocket */ = {
-                       isa = PBXGroup;
-                       children = (
-                               306B6BBB2D0B4D417ADD4B82D7D51E82 /* NSRunLoop+SRWebSocket.h */,
-                               5FB6A208FD72153F040D4E1354F225B4 /* NSRunLoop+SRWebSocket.m */,
-                               0AE37E30F693ED15CA31B520ED420454 /* NSRunLoop+SRWebSocketPrivate.h */,
-                               3187DDFEE4C490953B2AEF7B0D19EB1B /* NSURLRequest+SRWebSocket.h */,
-                               ED7286BA89901CA1D622A1FCF81E718C /* NSURLRequest+SRWebSocket.m */,
-                               FA41F5D42C8280BA202FDE26BDBDFFA3 /* NSURLRequest+SRWebSocketPrivate.h */,
-                               5EF0C08E9D339F2CB75ED0C9E7FA2C0B /* SocketRocket.h */,
-                               6A3DB74B2C40BCD9F3AFA585DA322FF5 /* SRConstants.h */,
-                               A284951838ACA1015F31DBE6C5A8D45F /* SRConstants.m */,
-                               2582EC469D9940C7AAE3F903A495E86A /* SRDelegateController.h */,
-                               B4BBB6B50C15DFF1221CD8E66DC2D354 /* SRDelegateController.m */,
-                               E7EE2526E40B99B0F243808A2396A01C /* SRError.h */,
-                               77195404B1F7ADCD8B3008B1B89F5C03 /* SRError.m */,
-                               F2183FF2315FBF68B5F334EC6EB19A9B /* SRHash.h */,
-                               109E37988FF06586D32321CEA99162B0 /* SRHash.m */,
-                               FB26ACEBA0181227271430FB01A76848 /* SRHTTPConnectMessage.h */,
-                               ED22317A1312CBBA0134A8E449ABD201 /* SRHTTPConnectMessage.m */,
-                               26FE696F5243F520CB872AC051139FE5 /* SRIOConsumer.h */,
-                               B5D1545C4C0C2474FD103EFECB90E9C5 /* SRIOConsumer.m */,
-                               8C4CE911087AC8260002E6859821FAF0 /* SRIOConsumerPool.h */,
-                               A6C0BF00B3D547B50DBE54D99A1307F4 /* SRIOConsumerPool.m */,
-                               AF5E93556B3B98CA5218F3B9E49304F6 /* SRLog.h */,
-                               F930ACB6AC5D06295D698ED0249EB0AB /* SRLog.m */,
-                               CEA0C9AAC08B9E0D20DE8BC894AE3FDE /* SRMutex.h */,
-                               D7EF3525F706753F05EA05BD1819EC4E /* SRMutex.m */,
-                               B278701FAF564A3D25B8F87CCDB798D6 /* SRPinningSecurityPolicy.h */,
-                               0AF7DA075D6BD7E141707379E62BFA63 /* SRPinningSecurityPolicy.m */,
-                               32080BC56EEB26340C6292BA94F068B6 /* SRProxyConnect.h */,
-                               C3F49C31FFD05F4734B464D5C31979FB /* SRProxyConnect.m */,
-                               D1B2801FD44E489C5B7F202C13D651F2 /* SRRandom.h */,
-                               68443C8F28AD901E531D6BFA7559C683 /* SRRandom.m */,
-                               43CBF3C99F0BF342AEE8D7C7BE945B62 /* SRRunLoopThread.h */,
-                               8609C41722C0D97335DBF43B1CE7AB03 /* SRRunLoopThread.m */,
-                               C33C375328643D5A9A1D1EA02C88D419 /* SRSecurityPolicy.h */,
-                               6839FC9EB46E8CB05E17C35E5A5B579F /* SRSecurityPolicy.m */,
-                               21E9444EE5839429C60E9A16651BAD78 /* SRSIMDHelpers.h */,
-                               50A2B3566A43C15186D3A1D9F91DB662 /* SRSIMDHelpers.m */,
-                               27DA2684B87B3639C3D3D439F177E219 /* SRURLUtilities.h */,
-                               390BB9902E7A26E5A753B9CF32673BE9 /* SRURLUtilities.m */,
-                               D389D10DEC7EB9B503CD45CE58851CA6 /* SRWebSocket.h */,
-                               95BCD7B08FF0A2A4F9B0A36B92688E27 /* SRWebSocket.m */,
-                               386ACAC75067BB6189F2C50B03C8280B /* Support Files */,
-                       );
-                       name = SocketRocket;
-                       path = SocketRocket;
-                       sourceTree = "<group>";
-               };
-               C73796DD46B1AEC273D7C44D7E60CDF4 /* Core */ = {
-                       isa = PBXGroup;
-                       children = (
-                               4D6EF89B651DCBED1F5A7FA5D36D1FA6 /* IQBarButtonItem.swift */,
-                               14A61C146CFCDB5CEC8508DC60360819 /* IQBarButtonItemConfiguration.swift */,
-                               9939F486FEF106F98BDD0806CA8E0624 /* IQInvocation.swift */,
-                               63CAFAB9111F6F5AAEFD9E00CD0AF892 /* IQKeyboardToolbar.swift */,
-                               BF60B19D2E8B68520E5121EFFF5A7D4B /* IQKeyboardToolbarPlaceholderConfiguration.swift */,
-                               2E8E02D90547D6DBD75A856D8A4E1275 /* IQTitleBarButtonItem.swift */,
-                               9976447B92E50DDDCA64DBDE5A47FD7F /* UIView+IQKeyboardExtension.swift */,
-                               7F565A673CEEF3B818D7A75F2A2EE8B0 /* UIView+IQKeyboardExtensionDeprecated.swift */,
-                               6A599D5DDFD46F7296A5F93623AB6C3A /* UIView+IQKeyboardExtensionObjc.swift */,
-                       );
-                       name = Core;
-                       sourceTree = "<group>";
-               };
-               C93D11812BB5D25D8ACDA16CA17BF6A4 /* IQKeyboardToolbarManager */ = {
-                       isa = PBXGroup;
-                       children = (
-                               7594A52F0B7E0AD0D9F26BE8026E1E4C /* Array+Sort.swift */,
-                               484ECEC55CB9E98BAF0AE020F8FFF767 /* IQDeepResponderContainerView.swift */,
-                               44AFC022F6D6DD0DF30E10F9B7C4615A /* IQKeyboardToolbarConfiguration.swift */,
-                               BC713814A822ABA18A07C72E6B97AE04 /* IQKeyboardToolbarConstants.swift */,
-                               BB176716E9339D1CA456C696313236FE /* IQKeyboardToolbarManager.swift */,
-                               782D18DB9D0B7B74F8613026BAD77E86 /* IQKeyboardToolbarManager+Action.swift */,
-                               3F992A0DC4578F2D62CB095A497114CC /* IQKeyboardToolbarManager+Debug.swift */,
-                               BF4BC9A0614A1C63539C14C08655781F /* IQKeyboardToolbarManager+Deprecated.swift */,
-                               158193B636D7824993DB68D81AE2C233 /* IQKeyboardToolbarManager+Internal.swift */,
-                               BA718E8C5B46720F8012D7471BC6BF37 /* IQKeyboardToolbarManager+Toolbar.swift */,
-                               97D19ACC9A79A3CF24DA377E12303E12 /* UIView+Responders.swift */,
-                               CEAD5B92B7CF2B0746297208D610D3CD /* UIView+RespondersObjc.swift */,
-                               472C5FB976462E83207651E16BEEAA5D /* Resources */,
-                               659362BF40FCF9635ED3C52F96CC6133 /* Support Files */,
-                       );
-                       name = IQKeyboardToolbarManager;
-                       path = IQKeyboardToolbarManager;
-                       sourceTree = "<group>";
-               };
-               CDD0B85A0330B1E5B6A1922E992D6D74 /* Appearance */ = {
-                       isa = PBXGroup;
-                       children = (
-                               EF4B79F3BC3201907DE2B7A2671776C1 /* IQKeyboardAppearanceConfiguration.swift */,
-                               E25ABD3C4935A40132346F656CA1AA7C /* IQKeyboardAppearanceManager.swift */,
-                               6381011924A059A30C85325FB30E74A7 /* IQKeyboardAppearanceManager+Internal.swift */,
-                               A44F945B3203BCA4B178E49ED53E5391 /* IQKeyboardManager+Appearance.swift */,
-                               FDD0C3C29384D3EEBCB4BE346B1CA890 /* IQKeyboardManager+Appearance_Deprecated.swift */,
-                       );
-                       name = Appearance;
-                       sourceTree = "<group>";
-               };
-               CF1408CF629C7361332E53B88F7BD30C = {
-                       isa = PBXGroup;
-                       children = (
-                               9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
-                               D68CA58901FBF589D75F5E40F1EAF5BA /* Frameworks */,
-                               955D2D4B70444278CFDCF5CF250E2A20 /* Pods */,
-                               6A6ACDADD484E61C0C86AAAC23AA5774 /* Products */,
-                               1D7583ECA74F66EE34F3E9D627C627BA /* Targets Support Files */,
-                       );
-                       sourceTree = "<group>";
-               };
-               D1DA56D0B201AACDCF6837C820268F5C /* IQKeyboardToolbarManager */ = {
-                       isa = PBXGroup;
-                       children = (
-                               6A737607DB763EBB681D8D0F6E6AB5FB /* IQKeyboardManager+ToolbarManager.swift */,
-                               C61F58870F6E8F6EEF25FA9A6A0E7F60 /* IQKeyboardManager+ToolbarManagerDeprecated.swift */,
-                       );
-                       name = IQKeyboardToolbarManager;
-                       sourceTree = "<group>";
-               };
-               D47F0896C3D08DD5FCAAE3AD09D78D07 /* IQKeyboardNotification */ = {
-                       isa = PBXGroup;
-                       children = (
-                               C0B11EBC98CF5A275C2F8077CDEA1F18 /* IQKeyboardInfo.swift */,
-                               E6A14C9A838BD693FFDCAF82F4D5604A /* IQKeyboardNotification.swift */,
-                               4E55C56B4EBD419565958D777C1D742F /* Resources */,
-                               B22E10DCB2F25088E198204D0681E4C7 /* Support Files */,
-                       );
-                       name = IQKeyboardNotification;
-                       path = IQKeyboardNotification;
-                       sourceTree = "<group>";
-               };
-               D68CA58901FBF589D75F5E40F1EAF5BA /* Frameworks */ = {
-                       isa = PBXGroup;
-                       children = (
-                               1FCA4E5DDAB2C58C6C3DA814626EF4AF /* iOS */,
-                       );
-                       name = Frameworks;
-                       sourceTree = "<group>";
-               };
-               D9C1D5F2F67176B3E300A9D87ACBD68C /* Support Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               E1CAF7BAA0421C27EFE212A343F56870 /* ResourceBundle-Toast-Swift-Toast-Swift-Info.plist */,
-                               BC06E9DFB77603B36FDA218B323243F1 /* Toast-Swift.modulemap */,
-                               B98BCBD470DE1E0FC19C5E1F3AF37195 /* Toast-Swift-dummy.m */,
-                               EAED633C414062FCB78BD8A5896433FC /* Toast-Swift-Info.plist */,
-                               61AD3899C2D649897E11DA65A33ABCEE /* Toast-Swift-prefix.pch */,
-                               3D0CA09E0900EA77648A05D608CBA29F /* Toast-Swift-umbrella.h */,
-                               02E139B151EDFA1F4F63EA119D2269C7 /* Toast-Swift.debug.xcconfig */,
-                               79E6154EEE25D08664ACFE66C69DDFA0 /* Toast-Swift.release.xcconfig */,
-                       );
-                       name = "Support Files";
-                       path = "../Target Support Files/Toast-Swift";
-                       sourceTree = "<group>";
-               };
-               DFD394DDF6732B23692437B4AD9ECF1E /* IQTextView */ = {
-                       isa = PBXGroup;
-                       children = (
-                               1E2BADF249E4A558D7EE5BB1077C1DE1 /* IQTextView.swift */,
-                               B1F86119EB8AFCE72C0BA2356BBA4C46 /* IQTextView+Placeholderable.swift */,
-                               28309F6F20D52ED4CD8FF99A9C1660E7 /* Resources */,
-                               4C6F9E06DF0DA1DF8AC4B116BBF4C9C0 /* Support Files */,
-                       );
-                       name = IQTextView;
-                       path = IQTextView;
-                       sourceTree = "<group>";
-               };
-               FE2569B518EBA4ED83E9AD75F910D0D7 /* IQKeyboardReturnManager */ = {
-                       isa = PBXGroup;
-                       children = (
-                               224FAFA7B0169BBAAFD0FA422D7D11A6 /* IQKeyboardReturnManager.swift */,
-                               FB23C93E47AFBF1FA651D132F7AC06E2 /* IQKeyboardReturnManager+UITextFieldDelegate.swift */,
-                               66E229F790E827392A80B7F4C7A6110F /* IQKeyboardReturnManager+UITextViewDelegate.swift */,
-                               10288C630688257B185941E1EA55E346 /* IQTextInputViewInfoModel.swift */,
-                               8EA7A9F63431873BFF102A07E64CF035 /* Resources */,
-                               1D63BF5EA7169C494BFD74466E0A946E /* Support Files */,
-                       );
-                       name = IQKeyboardReturnManager;
-                       path = IQKeyboardReturnManager;
-                       sourceTree = "<group>";
-               };
-               FEBA5030F43677046B3656649FBE15ED /* SnapKit */ = {
-                       isa = PBXGroup;
-                       children = (
-                               47BC329529726FFACA942239310E3841 /* Constraint.swift */,
-                               E293311AF50DC30E5B7F7D2D91BEB28A /* ConstraintAttributes.swift */,
-                               972CC8A48122693582F02385A70853A0 /* ConstraintConfig.swift */,
-                               C23ABFD4CEF6F11C0094E61729745DE3 /* ConstraintConstantTarget.swift */,
-                               FF4B96374C0DB9D56AB95C3D5A31B152 /* ConstraintDescription.swift */,
-                               0EE50CC6D98E37DA330EADC9F9C949F0 /* ConstraintDirectionalInsets.swift */,
-                               58E0237741E33CAFB3DB96DAA7559910 /* ConstraintDirectionalInsetTarget.swift */,
-                               CFCB22B3ED6C05251CBD3059AAE51013 /* ConstraintDSL.swift */,
-                               6DFE571CD6A634198545BB1149A5399C /* ConstraintInsets.swift */,
-                               92C5C459A1F7BF6872A58A16B7092803 /* ConstraintInsetTarget.swift */,
-                               080D923BC81BB12EE5B738187A72A0D4 /* ConstraintItem.swift */,
-                               D2793937CF93115D3117A82FB873124B /* ConstraintLayoutGuide.swift */,
-                               45E554E7AE314B29D9C07A10667261BE /* ConstraintLayoutGuide+Extensions.swift */,
-                               84BBB0405889161CCDDCD4F166723CBF /* ConstraintLayoutGuideDSL.swift */,
-                               D8D8726D60E6EF3E455768E64432DA57 /* ConstraintLayoutSupport.swift */,
-                               A55BC45618B737DBC6885D98DC8C9C0C /* ConstraintLayoutSupportDSL.swift */,
-                               D4C8C6089794ACE3010224A9FB1D90EA /* ConstraintMaker.swift */,
-                               FB474AD377D72ECDF638D46A73B7D687 /* ConstraintMakerEditable.swift */,
-                               37445197B6E56B3F3CA861A7F21F1C41 /* ConstraintMakerExtendable.swift */,
-                               24926E8158D8FAD9BE42C760B3154B55 /* ConstraintMakerFinalizable.swift */,
-                               9101BAF3027E387E34B0301BE000FA50 /* ConstraintMakerPrioritizable.swift */,
-                               C8BFDD7C500F5D6D58D212CB15B52E08 /* ConstraintMakerRelatable.swift */,
-                               529559A67714BC64192FD9BF92B33312 /* ConstraintMakerRelatable+Extensions.swift */,
-                               750817E69AAE97D1AF5F958FC5904BF2 /* ConstraintMultiplierTarget.swift */,
-                               B77F72F31D132841951EF8E4FA67360A /* ConstraintOffsetTarget.swift */,
-                               6058A4E7C2EAB9B01A8DBB5AAD7E72A2 /* ConstraintPriority.swift */,
-                               B932A928D72C73FB59FC964A82AC2723 /* ConstraintPriorityTarget.swift */,
-                               CFB853532F59E8A63D1C93202280CEE9 /* ConstraintRelatableTarget.swift */,
-                               363F0A017C453E3DC084A7B5BDB87911 /* ConstraintRelation.swift */,
-                               A8BBDD1BF37BF58D4C467C1D1F21D462 /* ConstraintView.swift */,
-                               C1C674397D453B6D18F9DE46BC55B6FF /* ConstraintView+Extensions.swift */,
-                               C53921D76AE7ECC63293C2263C9325A0 /* ConstraintViewDSL.swift */,
-                               B8A90925F3434F73BD6A036480A5A473 /* Debugging.swift */,
-                               5C0366C8DAD8762352B37EDB4DD62E2E /* LayoutConstraint.swift */,
-                               DD6C692550BC0661BA84378E58F6BA8A /* LayoutConstraintItem.swift */,
-                               AEF5BBB7C4ACF7C06BBD262B6C1145CE /* Typealiases.swift */,
-                               E54219744D41CC6C6674908699602DD9 /* UILayoutSupport+Extensions.swift */,
-                               9A941C126B5B7C383F87BEF24EFD16F1 /* Resources */,
-                               75159EE7B37E3F28B11793B290D99D4D /* Support Files */,
-                       );
-                       name = SnapKit;
-                       path = SnapKit;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
-               060405D4024056E8E8E0AAAA43BAE414 /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               860017D588B23C12B08A3C4390BAEA56 /* IQKeyboardNotification-umbrella.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               122D78F42E79267651C92A08FF3CBF82 /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               64365C2671D733D3AAE1E25684E73255 /* Pods-Example-umbrella.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               3B1AF30CF9C8E42E24DA5BEA63D1D465 /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               FE0D3260BF27D388B0200F1AC8151619 /* IQKeyboardCore-umbrella.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               448E74EF9D17B3DCC5432BB6215BCAB0 /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               0C7E48CC6391092D8F5B4341E1EE7485 /* Toast-Swift-umbrella.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               5800FFAC29D42F17B23D62063D737B73 /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               2A1DE175A760E9F7CF7AF711BF549BC9 /* IQKeyboardReturnManager-umbrella.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               5B1500FE995B9224E0AF0B42CE93C03B /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               57C4F6EFB30DDD14E960AC2D6B34F904 /* SnapKit-umbrella.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               82711643BCFA0EA6AA2167CCA71932C5 /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               F1E1B1AC67AA1B21E1AF8D3AB5C9849C /* IQTextInputViewNotification-umbrella.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A440384545772625048C36C84242D128 /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               B543A1E1882CAEA19589891FCE2D17EA /* NSRunLoop+SRWebSocket.h in Headers */,
-                               3BB0B5D924BE769E95E64A5E6FC1675D /* NSRunLoop+SRWebSocketPrivate.h in Headers */,
-                               56851E11140A140A15088A41DC4C33BD /* NSURLRequest+SRWebSocket.h in Headers */,
-                               7174D48AADABCBE6FC53185C5442B952 /* NSURLRequest+SRWebSocketPrivate.h in Headers */,
-                               07632D281C5DED61CC7866B079BC9D2C /* SocketRocket.h in Headers */,
-                               5B67445AE2F3934BDA08D407BBA3028B /* SocketRocket-umbrella.h in Headers */,
-                               C92D93F48E74B79C08A2C5B81B68FD7D /* SRConstants.h in Headers */,
-                               EC8DB2CC9791B7DC686DCC78EFBB56C5 /* SRDelegateController.h in Headers */,
-                               65E5693A457A8AEE3E5758075D1E2792 /* SRError.h in Headers */,
-                               F6E948E2688CC08D3843DAA74F6328E8 /* SRHash.h in Headers */,
-                               DF011D18EBB28ECE459B6D96D3E460D8 /* SRHTTPConnectMessage.h in Headers */,
-                               9A3B9C740BC8FE0500132251551E5BE7 /* SRIOConsumer.h in Headers */,
-                               44EFA9A76932F81582D03076A8346A4B /* SRIOConsumerPool.h in Headers */,
-                               89CAC1E5DC5833EE630A652957D253A7 /* SRLog.h in Headers */,
-                               782981022BF319DFD85AE89A392639A2 /* SRMutex.h in Headers */,
-                               04986EEC139DC7C45DAB58056315FDC8 /* SRPinningSecurityPolicy.h in Headers */,
-                               6464C345447C71904DA3706AACA3F55D /* SRProxyConnect.h in Headers */,
-                               C36214D8311B615CDA115276934926DC /* SRRandom.h in Headers */,
-                               939EE0216FC02064B2F5894E87628182 /* SRRunLoopThread.h in Headers */,
-                               2B7184BD487141C385B3CC3F3984AA55 /* SRSecurityPolicy.h in Headers */,
-                               5DFD87881941225F0A5EAE64EB247708 /* SRSIMDHelpers.h in Headers */,
-                               57A34E19799F03EB53206496FD362449 /* SRURLUtilities.h in Headers */,
-                               444E95921E2BDCE7512867EAA1A6B381 /* SRWebSocket.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               C08BBEDF18AE8DF38ABA50C42B1D2E2C /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               9298CB7C2E4AC4E751E535DA15BEEFA8 /* IQKeyboardManagerSwift-umbrella.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               C88A56468418AB0D810EF16B5B8E485D /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               7BA968278DAB1050E34D0B65E56E5846 /* IQKeyboardToolbar-umbrella.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               E0881C44D4CBAF3C805B0C76FC20E95E /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               C4CC8FC7015DCE5912B7607AFB238EFE /* Pods-DeepChordsSdk-umbrella.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               ECC96828C08E355DF2C5A52C3625D7B2 /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               A92367989121B0877023A09BF2F96F15 /* IQKeyboardToolbarManager-umbrella.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               F3A1579A28F2237B19E04D5A1428811C /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               8667EBBAD4365F7E2DECFE792D488128 /* IQTextView-umbrella.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
-               020993F16DA5986DACE118349EBCE9E5 /* IQKeyboardToolbarManager */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = D7FB8C3DDF4703D4590435540A2233A9 /* Build configuration list for PBXNativeTarget "IQKeyboardToolbarManager" */;
-                       buildPhases = (
-                               ECC96828C08E355DF2C5A52C3625D7B2 /* Headers */,
-                               1A398E6B367B205FAAAE4088C36F8875 /* Sources */,
-                               B0A1DA8C8E42CD15049F6F2D79726D7D /* Frameworks */,
-                               D10E28E3B3D225E4049054F6C994854A /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               806811E474B5E127D48FE9CA32DCFB26 /* PBXTargetDependency */,
-                               FDF0C9122AFE5F4537D84EB5B5EA2535 /* PBXTargetDependency */,
-                               F7852222FD7DD0B21BC78B245F2045A0 /* PBXTargetDependency */,
-                       );
-                       name = IQKeyboardToolbarManager;
-                       productName = IQKeyboardToolbarManager;
-                       productReference = FA727BF5D9541C98C22C9ECC911576E2 /* IQKeyboardToolbarManager */;
-                       productType = "com.apple.product-type.framework";
-               };
-               0981F89DB5DA3FFCFFEBDE1F56287054 /* IQKeyboardReturnManager */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = AC758F51A954F3478B41C0B2B845766B /* Build configuration list for PBXNativeTarget "IQKeyboardReturnManager" */;
-                       buildPhases = (
-                               5800FFAC29D42F17B23D62063D737B73 /* Headers */,
-                               7D875C37EC81C736C5CCCE65FA1343A6 /* Sources */,
-                               9688A049F13521CC698EF57654CF2443 /* Frameworks */,
-                               E733192D0FA619FCCD70BD62F5A6A0F4 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               1F9AF4725D5847BEA5D8B724D1A3B414 /* PBXTargetDependency */,
-                               9BE1A2A7D5E6D44833CB0C78085D940D /* PBXTargetDependency */,
-                       );
-                       name = IQKeyboardReturnManager;
-                       productName = IQKeyboardReturnManager;
-                       productReference = 15848DEC7727A809830E7F6FC1B6CE0F /* IQKeyboardReturnManager */;
-                       productType = "com.apple.product-type.framework";
-               };
-               0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 95C096ADDB6F7FCAFFA3FBB358C75EF3 /* Build configuration list for PBXNativeTarget "Pods-Example" */;
-                       buildPhases = (
-                               122D78F42E79267651C92A08FF3CBF82 /* Headers */,
-                               85B610DD95380C789F1D31249548827B /* Sources */,
-                               3683C5D0C8F465D221926E5B41E0B565 /* Frameworks */,
-                               2E3D44000BD1509E439B9C80D2F2E273 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               AEFFF3B21972CDA23989650CB0D06DC1 /* PBXTargetDependency */,
-                               F2792ADD73FF2795D46955194D6DB5FA /* PBXTargetDependency */,
-                               0A6F859D7948477715DBD4333CD962F5 /* PBXTargetDependency */,
-                               1EE6EF0BEC589B1038459A693177F2FE /* PBXTargetDependency */,
-                               6A012670364ED3DE97C5B8D570417F17 /* PBXTargetDependency */,
-                               54C3CEF0CE5F2ADC19CF09FA97EA2FCD /* PBXTargetDependency */,
-                               77F02D151BFA0BF2A8184E8F7040E02E /* PBXTargetDependency */,
-                               7C197C0E14E357C0482C5CECC1F7DAE7 /* PBXTargetDependency */,
-                               FC49926069485756B05C5F53750496AD /* PBXTargetDependency */,
-                               9143EFF5B329D660A0398F7391E5D055 /* PBXTargetDependency */,
-                               3E3639BC049B1894293B33F5B52D836A /* PBXTargetDependency */,
-                       );
-                       name = "Pods-Example";
-                       productName = Pods_Example;
-                       productReference = 1F667CC0E19EAF34E5A4119E2121F585 /* Pods-Example */;
-                       productType = "com.apple.product-type.framework";
-               };
-               12890DE3ABBC2CA295E108358D85EE69 /* IQTextView */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = D8BBE9E3900D941FF67F5A73A1AECA11 /* Build configuration list for PBXNativeTarget "IQTextView" */;
-                       buildPhases = (
-                               F3A1579A28F2237B19E04D5A1428811C /* Headers */,
-                               EDF3D1BC9513EF41FD61EEC958BC7E9C /* Sources */,
-                               B4BF16B463F2EC49D7CBC102A2936235 /* Frameworks */,
-                               9E7C5C7D75FB952C9859F404E09D0DBE /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               9AB32C8C254D84A755461731E5E31837 /* PBXTargetDependency */,
-                               486058C9A622B4968F720109A1CB425D /* PBXTargetDependency */,
-                       );
-                       name = IQTextView;
-                       productName = IQTextView;
-                       productReference = 0DFD4541FF9DAA31A2FC2A7F6D03ED22 /* IQTextView */;
-                       productType = "com.apple.product-type.framework";
-               };
-               1948D0B63D2CF6A48E18B0B292BC6091 /* SocketRocket */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 698D46877F77FCD24D7D79E95A4A06D5 /* Build configuration list for PBXNativeTarget "SocketRocket" */;
-                       buildPhases = (
-                               A440384545772625048C36C84242D128 /* Headers */,
-                               5B14979992C9DB89400DDFB2EB8B8ECB /* Sources */,
-                               796567F81D938DA74DF71A2AFF3F8F3D /* Frameworks */,
-                               A540247F97F33E3F24D6C4B41FFA27DB /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = SocketRocket;
-                       productName = SocketRocket;
-                       productReference = 85A01882ED06DFEA2E0CE78BCDB204A7 /* SocketRocket */;
-                       productType = "com.apple.product-type.framework";
-               };
-               19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 80CE967CAA1D35721519F892BAF7A19B /* Build configuration list for PBXNativeTarget "SnapKit" */;
-                       buildPhases = (
-                               5B1500FE995B9224E0AF0B42CE93C03B /* Headers */,
-                               F7AC6792C89443C7B212A06E810BAB97 /* Sources */,
-                               33428AC36668E3ED52DB70316F843FB8 /* Frameworks */,
-                               1DEDF411E550D85A1218E1655456A9CD /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               032EC8AE715F3D13AD519BE9CA03294E /* PBXTargetDependency */,
-                       );
-                       name = SnapKit;
-                       productName = SnapKit;
-                       productReference = 979486118B3E90C08386079D57962701 /* SnapKit */;
-                       productType = "com.apple.product-type.framework";
-               };
-               283C1F2EA88CD4413165801A6748A48E /* IQTextInputViewNotification */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 0DA28833D7A042B27FBAEDF85A1C1D74 /* Build configuration list for PBXNativeTarget "IQTextInputViewNotification" */;
-                       buildPhases = (
-                               82711643BCFA0EA6AA2167CCA71932C5 /* Headers */,
-                               64CD60E8B295A57BEBDD5D87A91B92C2 /* Sources */,
-                               51FB4B943D35F3E908360703B96C7E25 /* Frameworks */,
-                               B13E49C52D1F4CA576AECF646E227048 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               0BA497932D68F052CFDA60CB4325E823 /* PBXTargetDependency */,
-                               C2F5904EDA280BF704E19BEC7E450D7C /* PBXTargetDependency */,
-                       );
-                       name = IQTextInputViewNotification;
-                       productName = IQTextInputViewNotification;
-                       productReference = 06E5B413FEA5A600D76636DA132F8FB9 /* IQTextInputViewNotification */;
-                       productType = "com.apple.product-type.framework";
-               };
-               2B8FF445A5162845FAB9EC00FC92B694 /* IQKeyboardNotification-IQKeyboardNotification */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 2FC9855C948A66726D61C1BF2072066A /* Build configuration list for PBXNativeTarget "IQKeyboardNotification-IQKeyboardNotification" */;
-                       buildPhases = (
-                               3C441F0A74335E026B3A49DF02ECF4CE /* Sources */,
-                               524D81F2C5CE61FB9EB4A47C9DEE4C1E /* Frameworks */,
-                               6FB0C9C708A89616971C79B2B1BB4FD5 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = "IQKeyboardNotification-IQKeyboardNotification";
-                       productName = IQKeyboardNotification;
-                       productReference = 120BD4C670EF00F4D5A40AA4B863A7AE /* IQKeyboardNotification-IQKeyboardNotification */;
-                       productType = "com.apple.product-type.bundle";
-               };
-               4502C7427440BEB17A50C0BF6E638A85 /* IQTextInputViewNotification-IQTextInputViewNotification */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = BA50FBEF420279D7BDB90421B1103569 /* Build configuration list for PBXNativeTarget "IQTextInputViewNotification-IQTextInputViewNotification" */;
-                       buildPhases = (
-                               3C68A4C08DF19233949A87717EEB487B /* Sources */,
-                               D9611FA61C59D2592877A687EEBEEFE4 /* Frameworks */,
-                               53F78ACD922DFE5F07BB53AF35B10C1B /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = "IQTextInputViewNotification-IQTextInputViewNotification";
-                       productName = IQTextInputViewNotification;
-                       productReference = F956E149F5B195BB7833F97FC6211AE8 /* IQTextInputViewNotification-IQTextInputViewNotification */;
-                       productType = "com.apple.product-type.bundle";
-               };
-               57C07B65DFE17EDE1FBA00A59C380215 /* Pods-DeepChordsSdk */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 49D80946082E3E53F4077E15D8887408 /* Build configuration list for PBXNativeTarget "Pods-DeepChordsSdk" */;
-                       buildPhases = (
-                               E0881C44D4CBAF3C805B0C76FC20E95E /* Headers */,
-                               B559610B7522BD1394961D290D7F9F24 /* Sources */,
-                               D603B521417D6EFBEB7EAECC9C431345 /* Frameworks */,
-                               51DCE991AF37B3EEABE23F0A727B58A0 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               DDA643E4BF2CFF13D6B0D25A5C59AB5F /* PBXTargetDependency */,
-                       );
-                       name = "Pods-DeepChordsSdk";
-                       productName = Pods_DeepChordsSdk;
-                       productReference = 06FEEB0FA2AA89DF42A1C6525F644FBF /* Pods-DeepChordsSdk */;
-                       productType = "com.apple.product-type.framework";
-               };
-               7C5613175BBC4BF67E36DB4FBEBC01D0 /* IQKeyboardToolbarManager-IQKeyboardToolbarManager */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 9E4E9D837E21217746DEB582B898D487 /* Build configuration list for PBXNativeTarget "IQKeyboardToolbarManager-IQKeyboardToolbarManager" */;
-                       buildPhases = (
-                               93B28B68B9253146A5A3760F7F07BAB5 /* Sources */,
-                               2BE4574EA7A2208A3273A02C5D2F1D1B /* Frameworks */,
-                               C8DC5880AFA70136503A77EF1FA12E8B /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = "IQKeyboardToolbarManager-IQKeyboardToolbarManager";
-                       productName = IQKeyboardToolbarManager;
-                       productReference = 80A40EDA3AF0499BDBCFF09467BB49AD /* IQKeyboardToolbarManager-IQKeyboardToolbarManager */;
-                       productType = "com.apple.product-type.bundle";
-               };
-               88810798DA63A2F6611B0970EA276DEC /* IQKeyboardReturnManager-IQKeyboardReturnManager */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 08CCC0BB4F7D4BA07752DF404F6EDD9A /* Build configuration list for PBXNativeTarget "IQKeyboardReturnManager-IQKeyboardReturnManager" */;
-                       buildPhases = (
-                               4E2755E9D46C6DFDCFEB8FB5461370B2 /* Sources */,
-                               5C50EB2041FA8E3A1BB9E243091C260E /* Frameworks */,
-                               648156F3F654BAD048DC31929DADADD3 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = "IQKeyboardReturnManager-IQKeyboardReturnManager";
-                       productName = IQKeyboardReturnManager;
-                       productReference = 110BD425B6CAD6801539E2C6AB6E0662 /* IQKeyboardReturnManager-IQKeyboardReturnManager */;
-                       productType = "com.apple.product-type.bundle";
-               };
-               8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 2D29A227B6A83F5A542054A8A8043BAA /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */;
-                       buildPhases = (
-                               8BEB91B4B898532A40DB8A8E4B9A7792 /* Sources */,
-                               4F320E16D10A7BE9185BA7C5A5CCDA43 /* Frameworks */,
-                               174BF058335E0D9E0D5AE8280994DE37 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = "SnapKit-SnapKit_Privacy";
-                       productName = SnapKit_Privacy;
-                       productReference = B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */;
-                       productType = "com.apple.product-type.bundle";
-               };
-               982A68D37F5DCBC1FC1FDC0BB2F0EB8E /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = FD573F16CD31603388EC2DE46509F450 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift-IQKeyboardManagerSwift" */;
-                       buildPhases = (
-                               5760F041F8E34852DB231732150718DE /* Sources */,
-                               D7208CA103D7DAE87F900A6B91736DCC /* Frameworks */,
-                               47EBE3AE692A6D5A8D76F3E9294A02F6 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = "IQKeyboardManagerSwift-IQKeyboardManagerSwift";
-                       productName = IQKeyboardManagerSwift;
-                       productReference = 8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */;
-                       productType = "com.apple.product-type.bundle";
-               };
-               A26E6FD851C20D652B2755C1464A9990 /* IQKeyboardNotification */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 7B6A2B3DDE303A370FD2A5C8DB9C6E2D /* Build configuration list for PBXNativeTarget "IQKeyboardNotification" */;
-                       buildPhases = (
-                               060405D4024056E8E8E0AAAA43BAE414 /* Headers */,
-                               536076B1DBBF070DAA25A21BCE546B3C /* Sources */,
-                               FBA90047961BDAD70FDA139EC0C30DD0 /* Frameworks */,
-                               3F90A77AEBBD3ABB426A427B522E1CA7 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               BAE9291352BA3C02DCD824BD9455EEFB /* PBXTargetDependency */,
-                       );
-                       name = IQKeyboardNotification;
-                       productName = IQKeyboardNotification;
-                       productReference = FEF9AC89E9C4BD37AC0AB78B535D1CFC /* IQKeyboardNotification */;
-                       productType = "com.apple.product-type.framework";
-               };
-               A6602BCAA6F4F932A586C41D0B7E019C /* IQTextView-IQTextView */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = D2E3CA4A5A5255636741A362E4F6BCF7 /* Build configuration list for PBXNativeTarget "IQTextView-IQTextView" */;
-                       buildPhases = (
-                               6BA8B3ED1069309303992AA48F45596A /* Sources */,
-                               F94D8D7F47FD316BA431BF216418ADF4 /* Frameworks */,
-                               2F55A6F40CBE52B1DAF28461F9E6E647 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = "IQTextView-IQTextView";
-                       productName = IQTextView;
-                       productReference = 847044E56CBBCE1235A6F3CEF3F9F607 /* IQTextView-IQTextView */;
-                       productType = "com.apple.product-type.bundle";
-               };
-               B247F77A0CD5E19C8187A9BA1EB58C09 /* IQKeyboardToolbar-IQKeyboardToolbar */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 7468FF21977574A694627CBF4D7DEC53 /* Build configuration list for PBXNativeTarget "IQKeyboardToolbar-IQKeyboardToolbar" */;
-                       buildPhases = (
-                               AD7CA0B1355EA84E4891403413E3DFF0 /* Sources */,
-                               743D51EAD768EDE4D4AB7D3C665C7D2E /* Frameworks */,
-                               058186BCF638406CD478B0C025C67642 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = "IQKeyboardToolbar-IQKeyboardToolbar";
-                       productName = IQKeyboardToolbar;
-                       productReference = A16FD016E18EACCF6B23F219F2E236FE /* IQKeyboardToolbar-IQKeyboardToolbar */;
-                       productType = "com.apple.product-type.bundle";
-               };
-               B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 3208C0F97FCB948C4F12E81E25FFEAF9 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift" */;
-                       buildPhases = (
-                               C08BBEDF18AE8DF38ABA50C42B1D2E2C /* Headers */,
-                               27DAA7793549B5BA83223EF9A017BFC2 /* Sources */,
-                               5B8C51C6BFA979E81A28179CCC2C0936 /* Frameworks */,
-                               636F2BA8305CAE418272BBDC04936516 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               0ED2A9B38A71F6850A959089852BDB0A /* PBXTargetDependency */,
-                               CACDD982D78D0FBB2772B70DB888F8B4 /* PBXTargetDependency */,
-                               E4562E3C97AF6073F7BD53F0DA943866 /* PBXTargetDependency */,
-                               443ECCCC8495E109D669FC24E39EE5E7 /* PBXTargetDependency */,
-                               3920F2A30AF54503207FB9C2E5ECC456 /* PBXTargetDependency */,
-                               3BDAAC90F533878935276DA626D3CE8F /* PBXTargetDependency */,
-                       );
-                       name = IQKeyboardManagerSwift;
-                       productName = IQKeyboardManagerSwift;
-                       productReference = A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */;
-                       productType = "com.apple.product-type.framework";
-               };
-               B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 9C146D0EDFB76FE1156D655A897B6E94 /* Build configuration list for PBXNativeTarget "Toast-Swift" */;
-                       buildPhases = (
-                               448E74EF9D17B3DCC5432BB6215BCAB0 /* Headers */,
-                               B4A020AF82EF829322C86201C5C31A20 /* Sources */,
-                               F151972567B4508E965D5BFCCF7174A1 /* Frameworks */,
-                               A694D13AD95802E0936531BC8DAEBB89 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               24C84A614B93271254E3B59008326861 /* PBXTargetDependency */,
-                       );
-                       name = "Toast-Swift";
-                       productName = Toast_Swift;
-                       productReference = D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast-Swift */;
-                       productType = "com.apple.product-type.framework";
-               };
-               C344E85893FCDEE5B70436E0A4A3472B /* Toast-Swift-Toast-Swift */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 2DEB3984BC37C7B27AE0091EC7509142 /* Build configuration list for PBXNativeTarget "Toast-Swift-Toast-Swift" */;
-                       buildPhases = (
-                               401AB3CA229BFB5D1BD2B86A0F771029 /* Sources */,
-                               7802B8C3260B2A1D85C8EFC0C6929B18 /* Frameworks */,
-                               9ACC5CFB969DD7CBAFA4FD3471F250AB /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = "Toast-Swift-Toast-Swift";
-                       productName = "Toast-Swift";
-                       productReference = 13FD39576595D8A884BF5166065C5236 /* Toast-Swift-Toast-Swift */;
-                       productType = "com.apple.product-type.bundle";
-               };
-               EEE261386011CDF271BE289F73FF5959 /* IQKeyboardCore-IQKeyboardCore */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = D452E33AB7D1DEFA04A6E2B89E1B70BD /* Build configuration list for PBXNativeTarget "IQKeyboardCore-IQKeyboardCore" */;
-                       buildPhases = (
-                               0E2B16FF344B7465603C1647248CC9B3 /* Sources */,
-                               5FCE427163262BB0862B486F5E093C1C /* Frameworks */,
-                               2BA5C599D1605C3C6BB5CD4D9997593F /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = "IQKeyboardCore-IQKeyboardCore";
-                       productName = IQKeyboardCore;
-                       productReference = 6E897F35E5E27028AC58B14B552FBC8D /* IQKeyboardCore-IQKeyboardCore */;
-                       productType = "com.apple.product-type.bundle";
-               };
-               F4FE17428FD0E607723A44F17231B7A1 /* IQKeyboardToolbar */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 6545B5D9E1142254EECDDEFC1408EA74 /* Build configuration list for PBXNativeTarget "IQKeyboardToolbar" */;
-                       buildPhases = (
-                               C88A56468418AB0D810EF16B5B8E485D /* Headers */,
-                               3363E27ECA850B6F97ED682F53C6A346 /* Sources */,
-                               D5899CD7924A4C13CEA79F5428436874 /* Frameworks */,
-                               D2C990C2F192D6D365F0DA3D5288AE39 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               5A538984C0CD4E2FF0B2AAA2EF368D0F /* PBXTargetDependency */,
-                               36DB0F3DA574BD5B7448F2F28DFAA125 /* PBXTargetDependency */,
-                       );
-                       name = IQKeyboardToolbar;
-                       productName = IQKeyboardToolbar;
-                       productReference = B4B1A58096F15199A14069C5D6AA1C99 /* IQKeyboardToolbar */;
-                       productType = "com.apple.product-type.framework";
-               };
-               F9A1BF709B7BA4C24A83664EB1E1C7D4 /* IQKeyboardCore */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = B2130418C2FAD0A1E2FD872758AD609B /* Build configuration list for PBXNativeTarget "IQKeyboardCore" */;
-                       buildPhases = (
-                               3B1AF30CF9C8E42E24DA5BEA63D1D465 /* Headers */,
-                               BF6F1816B0325207E7310ABC9FD05174 /* Sources */,
-                               D07B79E83A18E3018EFA8CE654EF97CB /* Frameworks */,
-                               30325A914D6527C8259F46363D6D7531 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               9CF7EA505D7A9CAA62AFDC4457D80AEF /* PBXTargetDependency */,
-                       );
-                       name = IQKeyboardCore;
-                       productName = IQKeyboardCore;
-                       productReference = FC7F0CF2EA5DF59C59D9995890DA5C47 /* IQKeyboardCore */;
-                       productType = "com.apple.product-type.framework";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastSwiftUpdateCheck = 1600;
-                               LastUpgradeCheck = 1600;
-                       };
-                       buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
-                       compatibilityVersion = "Xcode 16.0";
-                       developmentRegion = en;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               Base,
-                               en,
-                       );
-                       mainGroup = CF1408CF629C7361332E53B88F7BD30C;
-                       minimizedProjectReferenceProxies = 0;
-                       preferredProjectObjectVersion = 77;
-                       productRefGroup = 6A6ACDADD484E61C0C86AAAC23AA5774 /* Products */;
-                       projectDirPath = "";
-                       projectRoot = "";
-                       targets = (
-                               F9A1BF709B7BA4C24A83664EB1E1C7D4 /* IQKeyboardCore */,
-                               EEE261386011CDF271BE289F73FF5959 /* IQKeyboardCore-IQKeyboardCore */,
-                               B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */,
-                               982A68D37F5DCBC1FC1FDC0BB2F0EB8E /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */,
-                               A26E6FD851C20D652B2755C1464A9990 /* IQKeyboardNotification */,
-                               2B8FF445A5162845FAB9EC00FC92B694 /* IQKeyboardNotification-IQKeyboardNotification */,
-                               0981F89DB5DA3FFCFFEBDE1F56287054 /* IQKeyboardReturnManager */,
-                               88810798DA63A2F6611B0970EA276DEC /* IQKeyboardReturnManager-IQKeyboardReturnManager */,
-                               F4FE17428FD0E607723A44F17231B7A1 /* IQKeyboardToolbar */,
-                               B247F77A0CD5E19C8187A9BA1EB58C09 /* IQKeyboardToolbar-IQKeyboardToolbar */,
-                               020993F16DA5986DACE118349EBCE9E5 /* IQKeyboardToolbarManager */,
-                               7C5613175BBC4BF67E36DB4FBEBC01D0 /* IQKeyboardToolbarManager-IQKeyboardToolbarManager */,
-                               283C1F2EA88CD4413165801A6748A48E /* IQTextInputViewNotification */,
-                               4502C7427440BEB17A50C0BF6E638A85 /* IQTextInputViewNotification-IQTextInputViewNotification */,
-                               12890DE3ABBC2CA295E108358D85EE69 /* IQTextView */,
-                               A6602BCAA6F4F932A586C41D0B7E019C /* IQTextView-IQTextView */,
-                               57C07B65DFE17EDE1FBA00A59C380215 /* Pods-DeepChordsSdk */,
-                               0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */,
-                               19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */,
-                               8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */,
-                               1948D0B63D2CF6A48E18B0B292BC6091 /* SocketRocket */,
-                               B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */,
-                               C344E85893FCDEE5B70436E0A4A3472B /* Toast-Swift-Toast-Swift */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
-               058186BCF638406CD478B0C025C67642 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               2B518589AC1F3F54CE14633027E81734 /* PrivacyInfo.xcprivacy in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               174BF058335E0D9E0D5AE8280994DE37 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               49F88DA1CED23ACF70ED0D51D2BCCE4F /* PrivacyInfo.xcprivacy in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               1DEDF411E550D85A1218E1655456A9CD /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               9E0045B41BFE697DB4ADE151228024D2 /* SnapKit-SnapKit_Privacy in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               2BA5C599D1605C3C6BB5CD4D9997593F /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               164062B86FCAFF355EE04D7A23A6EA1C /* PrivacyInfo.xcprivacy in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               2E3D44000BD1509E439B9C80D2F2E273 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               2F55A6F40CBE52B1DAF28461F9E6E647 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               C433EA40A4C18AC4714CF6C9BC1172CA /* PrivacyInfo.xcprivacy in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               30325A914D6527C8259F46363D6D7531 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               6DE9FD143CBC24075601F8FE2ADC4115 /* IQKeyboardCore-IQKeyboardCore in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               3F90A77AEBBD3ABB426A427B522E1CA7 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               0B380F6921261E661C9EF26B02E5D634 /* IQKeyboardNotification-IQKeyboardNotification in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               47EBE3AE692A6D5A8D76F3E9294A02F6 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               50ECD138DA8BC1FBBEBFBF3CE5CEB5FF /* PrivacyInfo.xcprivacy in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               51DCE991AF37B3EEABE23F0A727B58A0 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               53F78ACD922DFE5F07BB53AF35B10C1B /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               1CCB9F1FA415F93E8F4AD0E4692E4BC6 /* PrivacyInfo.xcprivacy in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               636F2BA8305CAE418272BBDC04936516 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               E6FE2596512201193E95FC356C6E3351 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               648156F3F654BAD048DC31929DADADD3 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               DD4291CF0D9971BFED1BD55FB65ACA32 /* PrivacyInfo.xcprivacy in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               6FB0C9C708A89616971C79B2B1BB4FD5 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               56E30C414ED43846B453D6FDE75DF3B5 /* PrivacyInfo.xcprivacy in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               9ACC5CFB969DD7CBAFA4FD3471F250AB /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               8BA78192EBB4433C386A932BE198C2AD /* PrivacyInfo.xcprivacy in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               9E7C5C7D75FB952C9859F404E09D0DBE /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               2409EDE57DC13E13E7C7A81E9E2DDD9E /* IQTextView-IQTextView in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A540247F97F33E3F24D6C4B41FFA27DB /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A694D13AD95802E0936531BC8DAEBB89 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               87E921A1D8B0C683DA2133709C867859 /* Toast-Swift-Toast-Swift in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               B13E49C52D1F4CA576AECF646E227048 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               4B2FB381B6E14F9E0F442557ADDAA2F8 /* IQTextInputViewNotification-IQTextInputViewNotification in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               C8DC5880AFA70136503A77EF1FA12E8B /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               0EB83A2AC8AAECEE26C8739477B3A431 /* PrivacyInfo.xcprivacy in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               D10E28E3B3D225E4049054F6C994854A /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               4C1E30BD1A58C10DE84E572ECD5DB54D /* IQKeyboardToolbarManager-IQKeyboardToolbarManager in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               D2C990C2F192D6D365F0DA3D5288AE39 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               F5F31138D70F9AEBD476D8AE418F37F9 /* IQKeyboardToolbar-IQKeyboardToolbar in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               E733192D0FA619FCCD70BD62F5A6A0F4 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               020799C53BF7A383514499A2B455C635 /* IQKeyboardReturnManager-IQKeyboardReturnManager in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               0E2B16FF344B7465603C1647248CC9B3 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               1A398E6B367B205FAAAE4088C36F8875 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               06B16BF7C2EA99B47539C34FF4150ABF /* Array+Sort.swift in Sources */,
-                               64684CAF22CAC1002958805187019FD7 /* IQDeepResponderContainerView.swift in Sources */,
-                               F312D740135121FC4C7D0EB4A5F76F90 /* IQKeyboardToolbarConfiguration.swift in Sources */,
-                               992815E207201EE57916809E07ADBD74 /* IQKeyboardToolbarConstants.swift in Sources */,
-                               B1990109AA9AF8F57180C17D4A04EF6B /* IQKeyboardToolbarManager.swift in Sources */,
-                               07543B1010D44AA155CAFADBF03E66DB /* IQKeyboardToolbarManager+Action.swift in Sources */,
-                               310A311043229B0F1C21B72E9FD37271 /* IQKeyboardToolbarManager+Debug.swift in Sources */,
-                               71311BC21C92A7DE376CAD928E325979 /* IQKeyboardToolbarManager+Deprecated.swift in Sources */,
-                               A802B52FE5903601486CB77E2FDCF18B /* IQKeyboardToolbarManager+Internal.swift in Sources */,
-                               809199B64088AA02A6B900316396A83D /* IQKeyboardToolbarManager+Toolbar.swift in Sources */,
-                               9CFA943AABBDB657A85AAAF2FB4DED67 /* IQKeyboardToolbarManager-dummy.m in Sources */,
-                               37E0B956B90DE65985C993A4DF4D6CA3 /* UIView+Responders.swift in Sources */,
-                               6735CEF5CEDBE284902139B3ED3F2E73 /* UIView+RespondersObjc.swift in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               27DAA7793549B5BA83223EF9A017BFC2 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               3A6B20BEE4F7A5B5835DE5D1E509754E /* IQActiveConfiguration.swift in Sources */,
-                               FF020D50D3B0742EFED9C172269D9D83 /* IQKeyboardAppearanceConfiguration.swift in Sources */,
-                               E84C30FA4A382D9C330E87FB32C009AE /* IQKeyboardAppearanceManager.swift in Sources */,
-                               47C9A000C20E04EC69BFEEF3C6AC6256 /* IQKeyboardAppearanceManager+Internal.swift in Sources */,
-                               30D6F928FC08B13B5BFEEB154A2089C1 /* IQKeyboardManager.swift in Sources */,
-                               D6B15F2F110BC58F7635A9FD7A985C79 /* IQKeyboardManager+ActiveConfiguration.swift in Sources */,
-                               77F1B40C21EFF28350EDA6A12263B098 /* IQKeyboardManager+Appearance.swift in Sources */,
-                               154230695B4E3D61B8D2BD02DAA2CE91 /* IQKeyboardManager+Appearance_Deprecated.swift in Sources */,
-                               24637C51989929A62E5E75585544A14D /* IQKeyboardManager+Debug.swift in Sources */,
-                               769B4905AD35AD554AA9DE98DA8E4E11 /* IQKeyboardManager+Deprecated.swift in Sources */,
-                               EBF34312A1F64FE81987440230E5BC49 /* IQKeyboardManager+Internal.swift in Sources */,
-                               05F4664FC4EF89925161A064AA6481BB /* IQKeyboardManager+Position.swift in Sources */,
-                               91CA63A8C62222E89FBB8FA2B7FE9CDE /* IQKeyboardManager+Resign.swift in Sources */,
-                               C20ECE96A97688090D5FE186DCF7B5D9 /* IQKeyboardManager+Resign_Deprecated.swift in Sources */,
-                               AC22AD1E1EF9CD9D6E242F3630A9A012 /* IQKeyboardManager+ToolbarManager.swift in Sources */,
-                               9D22F88B7F1AF054C2BF025DFB767154 /* IQKeyboardManager+ToolbarManagerDeprecated.swift in Sources */,
-                               C0AD493AE4A8DC8FF960D753D6D971E3 /* IQKeyboardManagerSwift-dummy.m in Sources */,
-                               8CBC72065F0261B373B958696985AF99 /* IQKeyboardResignHandler.swift in Sources */,
-                               C7C6F1AD0C44C79C4A3416FCB32B0233 /* IQKeyboardResignHandler+Internal.swift in Sources */,
-                               332EB3263B1002A5A0A146CCE70501AD /* IQRootControllerConfiguration.swift in Sources */,
-                               7CBA95E07A492F7311C7DD8EDF0B4172 /* IQScrollViewConfiguration.swift in Sources */,
-                               A6F1EFC3CDA009A4BE6CCBB01248DA21 /* UICollectionView+IndexPaths.swift in Sources */,
-                               40BB4A23AD4A18E81678F58EAA90EB85 /* UIScrollView+IQKeyboardManagerExtension.swift in Sources */,
-                               39B33D7873CD89C6A7E96ACD36A1EDFB /* UIScrollView+IQKeyboardManagerExtensionObjc.swift in Sources */,
-                               A983CCA5F6596F030EFCC1E27C1E766E /* UITableView+IndexPaths.swift in Sources */,
-                               2B067825708D13E7E455426389397D1A /* UIView+IQKeyboardManagerExtension.swift in Sources */,
-                               61ED64340371AB30B936A019C22C376D /* UIView+IQKeyboardManagerExtensionObjc.swift in Sources */,
-                               62B90C6FC83F91F91A4BF12022C7B050 /* UIView+Parent.swift in Sources */,
-                               E4A29F8C3ED424A7BC912DB796D03AFB /* UIView+ParentObjc.swift in Sources */,
-                               FD552610731EB624F8A47C3ACA927A15 /* UIView+Resign.swift in Sources */,
-                               355A2A3962A82AE25D219DB774CB6AEE /* UIView+ResignObjc.swift in Sources */,
-                               8C41EA954997897C3E30C5754010C05F /* UIViewController+ParentContainer.swift in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               3363E27ECA850B6F97ED682F53C6A346 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               F4B260EE81F1B5801FC6DA3097F2E433 /* IQBarButtonItem.swift in Sources */,
-                               CA547E1928ADED547C368A3AB7CE9267 /* IQBarButtonItemConfiguration.swift in Sources */,
-                               3D1D0BFA512309AE63825C811A1BFC81 /* IQInvocation.swift in Sources */,
-                               49D83EC94BF242A406B6553F44E52024 /* IQKeyboardToolbar.swift in Sources */,
-                               E51720E5CBEEB2151A69D4FDF36B7E2D /* IQKeyboardToolbar-dummy.m in Sources */,
-                               3F89C7F7F091BA0DFD648E0286E5665D /* IQKeyboardToolbarPlaceholderConfiguration.swift in Sources */,
-                               7BEAD7E859FB5BFCACD23CE492484CC4 /* IQPlaceholderable.swift in Sources */,
-                               7BBD64ADF2DD2B427F258E87F3EDA284 /* IQTitleBarButtonItem.swift in Sources */,
-                               548F940AC071FBFD9D8DF209775771E5 /* UIView+IQKeyboardExtension.swift in Sources */,
-                               1A67B4D6FA3F8FB9A1083EF74C966F64 /* UIView+IQKeyboardExtensionDeprecated.swift in Sources */,
-                               24A7645685912B02F96A1291D607DBAA /* UIView+IQKeyboardExtensionObjc.swift in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               3C441F0A74335E026B3A49DF02ECF4CE /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               3C68A4C08DF19233949A87717EEB487B /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               401AB3CA229BFB5D1BD2B86A0F771029 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               4E2755E9D46C6DFDCFEB8FB5461370B2 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               536076B1DBBF070DAA25A21BCE546B3C /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               4C26DF4F8D6AC77894F18EC89896258B /* IQKeyboardInfo.swift in Sources */,
-                               975E6903FBA7CF724108613000500E7E /* IQKeyboardNotification.swift in Sources */,
-                               65ABC841033E6707C3419B304C1DDD50 /* IQKeyboardNotification-dummy.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               5760F041F8E34852DB231732150718DE /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               5B14979992C9DB89400DDFB2EB8B8ECB /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               5E7E257AE5D618E46EF57A5818010F85 /* NSRunLoop+SRWebSocket.m in Sources */,
-                               6645E9FB4265C5712E38055C931E1630 /* NSURLRequest+SRWebSocket.m in Sources */,
-                               A3585531EE4D8466B74A5A6F7958EC79 /* SocketRocket-dummy.m in Sources */,
-                               B893C0DD5BE32FAE1D6895E1ED392B7A /* SRConstants.m in Sources */,
-                               1A117EC847E321871E40EB39F3576D11 /* SRDelegateController.m in Sources */,
-                               AB12501C57FFF722131F674ACB425944 /* SRError.m in Sources */,
-                               EB3BCE9B36BF814DA3069FA077168301 /* SRHash.m in Sources */,
-                               0362BB03F32EC9FB6013DEE29E8E33EF /* SRHTTPConnectMessage.m in Sources */,
-                               FCFC8D5B48F3DC4BC8942320631D8C1B /* SRIOConsumer.m in Sources */,
-                               20B8C7C05E3AF3032935F30500EF5550 /* SRIOConsumerPool.m in Sources */,
-                               CF6554D8A9380CAC0F51D5043769D930 /* SRLog.m in Sources */,
-                               A564D0B0EE8AED950D943A75C2B3092E /* SRMutex.m in Sources */,
-                               D25185C12789EA624C8BAC6A6432E77B /* SRPinningSecurityPolicy.m in Sources */,
-                               D623A6CB33709C4D87766C66A756A0F7 /* SRProxyConnect.m in Sources */,
-                               9A3761D8CEFB0E2131D2EFA2DEBB3A99 /* SRRandom.m in Sources */,
-                               92571FFBEF3A7B2F4F633624013010EE /* SRRunLoopThread.m in Sources */,
-                               8D0D15CE4E92BA4433AE7EA578FE3E15 /* SRSecurityPolicy.m in Sources */,
-                               6135798CCD656C1B3A6EA5738A23190A /* SRSIMDHelpers.m in Sources */,
-                               7F30D73D46CAD9D21A25738B11A6DDDA /* SRURLUtilities.m in Sources */,
-                               4DC15DC2DF3C4BBA344C86B112C9C68B /* SRWebSocket.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               64CD60E8B295A57BEBDD5D87A91B92C2 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               380EA4E3E2A772560E3A0670B6406450 /* IQTextInputViewInfo.swift in Sources */,
-                               EBDF215E376C3DF934F05D201833DDDC /* IQTextInputViewNotification.swift in Sources */,
-                               8BA91314914C4486DACA16122819AF1C /* IQTextInputViewNotification-dummy.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               6BA8B3ED1069309303992AA48F45596A /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               7D875C37EC81C736C5CCCE65FA1343A6 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               A98E7BF0F63124A6CB7FC2BB19B1DCBE /* IQKeyboardReturnManager.swift in Sources */,
-                               AA3E0F99979D1B54EE9DCD8FE01816CF /* IQKeyboardReturnManager+UITextFieldDelegate.swift in Sources */,
-                               5BB666D0986483D015712429F9FF2674 /* IQKeyboardReturnManager+UITextViewDelegate.swift in Sources */,
-                               B7D5043A8EC4C7C38F6C1688ACA93185 /* IQKeyboardReturnManager-dummy.m in Sources */,
-                               1B5995FCE11B496E4102AC5AD357249A /* IQTextInputViewInfoModel.swift in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               85B610DD95380C789F1D31249548827B /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               7FCA9A032C39444BD74F08A5F3927839 /* Pods-Example-dummy.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               8BEB91B4B898532A40DB8A8E4B9A7792 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               93B28B68B9253146A5A3760F7F07BAB5 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AD7CA0B1355EA84E4891403413E3DFF0 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               B4A020AF82EF829322C86201C5C31A20 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               172B6B4E5550420B8131FBD62C975821 /* Toast.swift in Sources */,
-                               A9B5C45C3C4D517B581E536DE846A078 /* Toast-Swift-dummy.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               B559610B7522BD1394961D290D7F9F24 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               F3D41915714BC875B1DC32F49293A8B6 /* Pods-DeepChordsSdk-dummy.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               BF6F1816B0325207E7310ABC9FD05174 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               C945CB4EC42271D435BF23E7749BE6BF /* IQKeyboardConstants.swift in Sources */,
-                               01216C042B056FFF0FC7EE32A002C38A /* IQKeyboardCore-dummy.m in Sources */,
-                               378BD5280F6C07B11CF30B253D824972 /* IQKeyboardExtended.swift in Sources */,
-                               A39FE5F72261B202CC63722A7B357206 /* IQTextInputView.swift in Sources */,
-                               E1734E56DB48E6F238408C9A232C7051 /* UIView+Hierarchy.swift in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               EDF3D1BC9513EF41FD61EEC958BC7E9C /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               C749F0EFAF3D6CAE7C3C0B198665DFA5 /* IQTextView.swift in Sources */,
-                               737CE5F34A1D2B09DEF3038425A40877 /* IQTextView+Placeholderable.swift in Sources */,
-                               870DC4F98094456228D282F5F6200609 /* IQTextView-dummy.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               F7AC6792C89443C7B212A06E810BAB97 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               6E39129FC8643A70C276801FEF4C280D /* Constraint.swift in Sources */,
-                               0CA7A132ABE7018DE9295456732F38BB /* ConstraintAttributes.swift in Sources */,
-                               F9EBA65892D78A31C068D727D84BCB88 /* ConstraintConfig.swift in Sources */,
-                               CE593943A9E7CF83822CF60304BCAD43 /* ConstraintConstantTarget.swift in Sources */,
-                               7AF516B98D45391B909D507D0244104C /* ConstraintDescription.swift in Sources */,
-                               1194E62AA3F6F506799B1A43B16942B5 /* ConstraintDirectionalInsets.swift in Sources */,
-                               E37671A03B4C17A1CF3766A6125833BB /* ConstraintDirectionalInsetTarget.swift in Sources */,
-                               868A9F524A7985BDA1EA124D9BF4CA63 /* ConstraintDSL.swift in Sources */,
-                               AF760C78F1C7E11BF7CB9E9B29903530 /* ConstraintInsets.swift in Sources */,
-                               2B2EB369550CE92CEEFCBFD3D32B8A3F /* ConstraintInsetTarget.swift in Sources */,
-                               5922A6A0AE7152CF436356B3556F1835 /* ConstraintItem.swift in Sources */,
-                               59F34874DA4ABB2F5C4E09EA6865936B /* ConstraintLayoutGuide.swift in Sources */,
-                               E3D779DEE753C0B0D33BA8E73A980265 /* ConstraintLayoutGuide+Extensions.swift in Sources */,
-                               3D3B646B4988314275B40E97BEB16C7F /* ConstraintLayoutGuideDSL.swift in Sources */,
-                               B0875E3AB8718E7DFE5C53497C02A15E /* ConstraintLayoutSupport.swift in Sources */,
-                               064D909CD827405E8DCC309DB1B7775A /* ConstraintLayoutSupportDSL.swift in Sources */,
-                               4F4DEB687C0E4834A5B291DEE0651D6A /* ConstraintMaker.swift in Sources */,
-                               C14F10B663FE2898EACAB90C202B3F50 /* ConstraintMakerEditable.swift in Sources */,
-                               D4218DA55B2BA45937589200CC0DF1FB /* ConstraintMakerExtendable.swift in Sources */,
-                               B903049E7C1BED7918DAB208754107C7 /* ConstraintMakerFinalizable.swift in Sources */,
-                               AABEF13464BA7F4621BD94736C1D057C /* ConstraintMakerPrioritizable.swift in Sources */,
-                               BDA5C7CC91E86448237CF40954FAC5AF /* ConstraintMakerRelatable.swift in Sources */,
-                               8BABA32F7B94A25D8E9208C0A8D90B2E /* ConstraintMakerRelatable+Extensions.swift in Sources */,
-                               883EDEE1C699497CF2A77C3B8A32A790 /* ConstraintMultiplierTarget.swift in Sources */,
-                               3577F172FA68CBAE47CFEE6FE25C5404 /* ConstraintOffsetTarget.swift in Sources */,
-                               09E1F569A93FAD4B9149E30B9301F44A /* ConstraintPriority.swift in Sources */,
-                               DBA4803F4765E1650B8C6841157F5D73 /* ConstraintPriorityTarget.swift in Sources */,
-                               C07CB3E9A4D1BF00F841E4285629A2B2 /* ConstraintRelatableTarget.swift in Sources */,
-                               ECC5C2ADC2682F9171FEA22AF10DCE53 /* ConstraintRelation.swift in Sources */,
-                               86CAB01D950C8BC35EDE0BDC01A2500B /* ConstraintView.swift in Sources */,
-                               0DE5DB9C6227B3416778D8417DD95EA9 /* ConstraintView+Extensions.swift in Sources */,
-                               7D42390CDB4FA147504B03DA2A174A0C /* ConstraintViewDSL.swift in Sources */,
-                               AE224EDB6D044C0FE86B086E950FC2F9 /* Debugging.swift in Sources */,
-                               BF1AE4D97E813B95C43EA4A298B973D1 /* LayoutConstraint.swift in Sources */,
-                               C6F45595676957ADBEC18EB3F23EAEC4 /* LayoutConstraintItem.swift in Sources */,
-                               BA2FB695DEB0D179253EEB8DFCE3578B /* SnapKit-dummy.m in Sources */,
-                               C6A4302ACE006C4E2CDD481287E2916B /* Typealiases.swift in Sources */,
-                               F6F33E8B268F3D41075374D95B8088DC /* UILayoutSupport+Extensions.swift in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-               032EC8AE715F3D13AD519BE9CA03294E /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = "SnapKit-SnapKit_Privacy";
-                       target = 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */;
-                       targetProxy = 4294839685D9EA7EF6090113DB9528A3 /* PBXContainerItemProxy */;
-               };
-               0A6F859D7948477715DBD4333CD962F5 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardNotification;
-                       target = A26E6FD851C20D652B2755C1464A9990 /* IQKeyboardNotification */;
-                       targetProxy = A24EA8C0FD67224523A2A8049A529730 /* PBXContainerItemProxy */;
-               };
-               0BA497932D68F052CFDA60CB4325E823 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardCore;
-                       target = F9A1BF709B7BA4C24A83664EB1E1C7D4 /* IQKeyboardCore */;
-                       targetProxy = C96EFF1386F982C542C2B03977A6FFD6 /* PBXContainerItemProxy */;
-               };
-               0ED2A9B38A71F6850A959089852BDB0A /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = "IQKeyboardManagerSwift-IQKeyboardManagerSwift";
-                       target = 982A68D37F5DCBC1FC1FDC0BB2F0EB8E /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */;
-                       targetProxy = 9A200DA2E207287B114783961A389F97 /* PBXContainerItemProxy */;
-               };
-               1EE6EF0BEC589B1038459A693177F2FE /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardReturnManager;
-                       target = 0981F89DB5DA3FFCFFEBDE1F56287054 /* IQKeyboardReturnManager */;
-                       targetProxy = 8031384E87ED727FE68F4242803FF742 /* PBXContainerItemProxy */;
-               };
-               1F9AF4725D5847BEA5D8B724D1A3B414 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardCore;
-                       target = F9A1BF709B7BA4C24A83664EB1E1C7D4 /* IQKeyboardCore */;
-                       targetProxy = 94872272C37CF76A4C27D08B5EC60D6D /* PBXContainerItemProxy */;
-               };
-               24C84A614B93271254E3B59008326861 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = "Toast-Swift-Toast-Swift";
-                       target = C344E85893FCDEE5B70436E0A4A3472B /* Toast-Swift-Toast-Swift */;
-                       targetProxy = 57A1C5DB51B6CD350C79C7B055A7F66B /* PBXContainerItemProxy */;
-               };
-               36DB0F3DA574BD5B7448F2F28DFAA125 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = "IQKeyboardToolbar-IQKeyboardToolbar";
-                       target = B247F77A0CD5E19C8187A9BA1EB58C09 /* IQKeyboardToolbar-IQKeyboardToolbar */;
-                       targetProxy = 8581EB306F93FE5BF5504824295F3722 /* PBXContainerItemProxy */;
-               };
-               3920F2A30AF54503207FB9C2E5ECC456 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQTextInputViewNotification;
-                       target = 283C1F2EA88CD4413165801A6748A48E /* IQTextInputViewNotification */;
-                       targetProxy = 4BEE988A3465649375AC57D797ABF617 /* PBXContainerItemProxy */;
-               };
-               3BDAAC90F533878935276DA626D3CE8F /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQTextView;
-                       target = 12890DE3ABBC2CA295E108358D85EE69 /* IQTextView */;
-                       targetProxy = 43A509886BF66DE03AA2357743AC5769 /* PBXContainerItemProxy */;
-               };
-               3E3639BC049B1894293B33F5B52D836A /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = "Toast-Swift";
-                       target = B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */;
-                       targetProxy = 548AF3FE70CC81B2ABBAEF65818BA3A6 /* PBXContainerItemProxy */;
-               };
-               443ECCCC8495E109D669FC24E39EE5E7 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardToolbarManager;
-                       target = 020993F16DA5986DACE118349EBCE9E5 /* IQKeyboardToolbarManager */;
-                       targetProxy = 186EFCD32F2BEEE1514385E97F48B014 /* PBXContainerItemProxy */;
-               };
-               486058C9A622B4968F720109A1CB425D /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = "IQTextView-IQTextView";
-                       target = A6602BCAA6F4F932A586C41D0B7E019C /* IQTextView-IQTextView */;
-                       targetProxy = F68560EF2AF1432CDC4EDEE224F0B10F /* PBXContainerItemProxy */;
-               };
-               54C3CEF0CE5F2ADC19CF09FA97EA2FCD /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardToolbarManager;
-                       target = 020993F16DA5986DACE118349EBCE9E5 /* IQKeyboardToolbarManager */;
-                       targetProxy = D3993F1F1D303ACFD97829D6D9115BA0 /* PBXContainerItemProxy */;
-               };
-               5A538984C0CD4E2FF0B2AAA2EF368D0F /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardCore;
-                       target = F9A1BF709B7BA4C24A83664EB1E1C7D4 /* IQKeyboardCore */;
-                       targetProxy = 925132ADAAA2012B51EAE2C13D1BD31F /* PBXContainerItemProxy */;
-               };
-               6A012670364ED3DE97C5B8D570417F17 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardToolbar;
-                       target = F4FE17428FD0E607723A44F17231B7A1 /* IQKeyboardToolbar */;
-                       targetProxy = 6130D9140D152F57AA543D42CA625298 /* PBXContainerItemProxy */;
-               };
-               77F02D151BFA0BF2A8184E8F7040E02E /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQTextInputViewNotification;
-                       target = 283C1F2EA88CD4413165801A6748A48E /* IQTextInputViewNotification */;
-                       targetProxy = D7076AE16282F5B2F87DAD903E05C6C4 /* PBXContainerItemProxy */;
-               };
-               7C197C0E14E357C0482C5CECC1F7DAE7 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQTextView;
-                       target = 12890DE3ABBC2CA295E108358D85EE69 /* IQTextView */;
-                       targetProxy = 1E3FD4E83C3BACBC0EE2DD7F457AA6E9 /* PBXContainerItemProxy */;
-               };
-               806811E474B5E127D48FE9CA32DCFB26 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardToolbar;
-                       target = F4FE17428FD0E607723A44F17231B7A1 /* IQKeyboardToolbar */;
-                       targetProxy = 9D53E47458385470A91D7295E48E0FD6 /* PBXContainerItemProxy */;
-               };
-               9143EFF5B329D660A0398F7391E5D055 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = SocketRocket;
-                       target = 1948D0B63D2CF6A48E18B0B292BC6091 /* SocketRocket */;
-                       targetProxy = BACED4BB4D08C0B382C214709ABE6A91 /* PBXContainerItemProxy */;
-               };
-               9AB32C8C254D84A755461731E5E31837 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardToolbar;
-                       target = F4FE17428FD0E607723A44F17231B7A1 /* IQKeyboardToolbar */;
-                       targetProxy = 7D69ABF84486EAFB55FB87BC9B44D3F6 /* PBXContainerItemProxy */;
-               };
-               9BE1A2A7D5E6D44833CB0C78085D940D /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = "IQKeyboardReturnManager-IQKeyboardReturnManager";
-                       target = 88810798DA63A2F6611B0970EA276DEC /* IQKeyboardReturnManager-IQKeyboardReturnManager */;
-                       targetProxy = C7AFFBB48EEA1AF602657886DA4FE905 /* PBXContainerItemProxy */;
-               };
-               9CF7EA505D7A9CAA62AFDC4457D80AEF /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = "IQKeyboardCore-IQKeyboardCore";
-                       target = EEE261386011CDF271BE289F73FF5959 /* IQKeyboardCore-IQKeyboardCore */;
-                       targetProxy = 1CC338AE066CE11E9D4C832A727D9C61 /* PBXContainerItemProxy */;
-               };
-               AEFFF3B21972CDA23989650CB0D06DC1 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardCore;
-                       target = F9A1BF709B7BA4C24A83664EB1E1C7D4 /* IQKeyboardCore */;
-                       targetProxy = D3C8D19228BDBCB03280ABF945D775BA /* PBXContainerItemProxy */;
-               };
-               BAE9291352BA3C02DCD824BD9455EEFB /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = "IQKeyboardNotification-IQKeyboardNotification";
-                       target = 2B8FF445A5162845FAB9EC00FC92B694 /* IQKeyboardNotification-IQKeyboardNotification */;
-                       targetProxy = 64F6091A60F53F5A90BEE2C59126E133 /* PBXContainerItemProxy */;
-               };
-               C2F5904EDA280BF704E19BEC7E450D7C /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = "IQTextInputViewNotification-IQTextInputViewNotification";
-                       target = 4502C7427440BEB17A50C0BF6E638A85 /* IQTextInputViewNotification-IQTextInputViewNotification */;
-                       targetProxy = D0E89F4255608F3B229AA3E8DFD93CF9 /* PBXContainerItemProxy */;
-               };
-               CACDD982D78D0FBB2772B70DB888F8B4 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardNotification;
-                       target = A26E6FD851C20D652B2755C1464A9990 /* IQKeyboardNotification */;
-                       targetProxy = 6795B29B74A0DFB983C8C121DAC73B8F /* PBXContainerItemProxy */;
-               };
-               DDA643E4BF2CFF13D6B0D25A5C59AB5F /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = SocketRocket;
-                       target = 1948D0B63D2CF6A48E18B0B292BC6091 /* SocketRocket */;
-                       targetProxy = 7C1DC3C44CB9ED8404023CBE11C3A841 /* PBXContainerItemProxy */;
-               };
-               E4562E3C97AF6073F7BD53F0DA943866 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardReturnManager;
-                       target = 0981F89DB5DA3FFCFFEBDE1F56287054 /* IQKeyboardReturnManager */;
-                       targetProxy = 32B49C1963D38D5E1E60E037311DCDEF /* PBXContainerItemProxy */;
-               };
-               F2792ADD73FF2795D46955194D6DB5FA /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQKeyboardManagerSwift;
-                       target = B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */;
-                       targetProxy = 2DE1780C07830F70EB974DDA0E002280 /* PBXContainerItemProxy */;
-               };
-               F7852222FD7DD0B21BC78B245F2045A0 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = IQTextInputViewNotification;
-                       target = 283C1F2EA88CD4413165801A6748A48E /* IQTextInputViewNotification */;
-                       targetProxy = 6C9C732B28DF0513A21CE6E248F89072 /* PBXContainerItemProxy */;
-               };
-               FC49926069485756B05C5F53750496AD /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = SnapKit;
-                       target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */;
-                       targetProxy = 92C92FF2930D007DABF544DC7AC08060 /* PBXContainerItemProxy */;
-               };
-               FDF0C9122AFE5F4537D84EB5B5EA2535 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = "IQKeyboardToolbarManager-IQKeyboardToolbarManager";
-                       target = 7C5613175BBC4BF67E36DB4FBEBC01D0 /* IQKeyboardToolbarManager-IQKeyboardToolbarManager */;
-                       targetProxy = D72B40330912494BEDC722CCB167FF77 /* PBXContainerItemProxy */;
-               };
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-               1B2F38B82BEBA44EF2EE45BF7A44037A /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 5AF0EBE9A79115D36EF40E456919D63B /* IQKeyboardManagerSwift.release.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardManagerSwift";
-                               IBSC_MODULE = IQKeyboardManagerSwift;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardManagerSwift/ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQKeyboardManagerSwift;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Release;
-               };
-               1D0FBA28D44BDD4502A8E31DAEABF97D /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 78882EBBF9DB9EAA48F3FFBF14D1E0B5 /* IQKeyboardToolbar.release.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar.modulemap";
-                               PRODUCT_MODULE_NAME = IQKeyboardToolbar;
-                               PRODUCT_NAME = IQKeyboardToolbar;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               1F029A7E58A02CC7BF83B726ECB24B27 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 455A2446E1A8F92123FBE90A1D4B8D0B /* Pods-Example.debug.xcconfig */;
-                       buildSettings = {
-                               ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               INFOPLIST_FILE = "Target Support Files/Pods-Example/Pods-Example-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MACH_O_TYPE = staticlib;
-                               MODULEMAP_FILE = "Target Support Files/Pods-Example/Pods-Example.modulemap";
-                               OTHER_LDFLAGS = "";
-                               OTHER_LIBTOOLFLAGS = "";
-                               PODS_ROOT = "$(SRCROOT)";
-                               PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
-                               PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               298BF47A1ADB1CEC5A9281F125EF0788 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 1515EB933E55F8DF1275984150311F6F /* IQTextInputViewNotification.release.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQTextInputViewNotification";
-                               IBSC_MODULE = IQTextInputViewNotification;
-                               INFOPLIST_FILE = "Target Support Files/IQTextInputViewNotification/ResourceBundle-IQTextInputViewNotification-IQTextInputViewNotification-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQTextInputViewNotification;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Release;
-               };
-               2C4EBC8097D4D07427A18EC0F79738BE /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 5AF0EBE9A79115D36EF40E456919D63B /* IQKeyboardManagerSwift.release.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap";
-                               PRODUCT_MODULE_NAME = IQKeyboardManagerSwift;
-                               PRODUCT_NAME = IQKeyboardManagerSwift;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               3016B50127E54871902147B82FABA968 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 8981CA762CD2FDB68D15FEEA091439B5 /* IQKeyboardToolbarManager.release.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager.modulemap";
-                               PRODUCT_MODULE_NAME = IQKeyboardToolbarManager;
-                               PRODUCT_NAME = IQKeyboardToolbarManager;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               34DA1E3BEA25E012EF708AE69C0C9193 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 02E139B151EDFA1F4F63EA119D2269C7 /* Toast-Swift.debug.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Toast-Swift";
-                               IBSC_MODULE = Toast_Swift;
-                               INFOPLIST_FILE = "Target Support Files/Toast-Swift/ResourceBundle-Toast-Swift-Toast-Swift-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 12.0;
-                               PRODUCT_NAME = "Toast-Swift";
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Debug;
-               };
-               37AF8DF61716FB1975DE10B4998E2A87 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 79E6154EEE25D08664ACFE66C69DDFA0 /* Toast-Swift.release.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Toast-Swift";
-                               IBSC_MODULE = Toast_Swift;
-                               INFOPLIST_FILE = "Target Support Files/Toast-Swift/ResourceBundle-Toast-Swift-Toast-Swift-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 12.0;
-                               PRODUCT_NAME = "Toast-Swift";
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Release;
-               };
-               397EF464FF32EAD44C05D7CE58A2C382 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = D5434748DD18D8B60013ABF3FFC5B95F /* IQTextView.release.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQTextView";
-                               IBSC_MODULE = IQTextView;
-                               INFOPLIST_FILE = "Target Support Files/IQTextView/ResourceBundle-IQTextView-IQTextView-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQTextView;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Release;
-               };
-               47C2D0929EA82A67E33FEB42776A6CAC /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 99B82533878EEF9F0E2FB3560695FF8A /* IQTextView.debug.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQTextView";
-                               IBSC_MODULE = IQTextView;
-                               INFOPLIST_FILE = "Target Support Files/IQTextView/ResourceBundle-IQTextView-IQTextView-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQTextView;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Debug;
-               };
-               4E28A2258944850B8D0D598586B5E92B /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 1AB8D5FD6175CD8FCC7153B71E6DD77A /* IQKeyboardNotification.release.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardNotification/IQKeyboardNotification-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardNotification/IQKeyboardNotification-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQKeyboardNotification/IQKeyboardNotification.modulemap";
-                               PRODUCT_MODULE_NAME = IQKeyboardNotification;
-                               PRODUCT_NAME = IQKeyboardNotification;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               5392BBBB9A595846BCE334B1D7D1D3B7 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = F528CE7CB37911E316CD1F5622E5B931 /* IQKeyboardReturnManager.debug.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardReturnManager";
-                               IBSC_MODULE = IQKeyboardReturnManager;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardReturnManager/ResourceBundle-IQKeyboardReturnManager-IQKeyboardReturnManager-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQKeyboardReturnManager;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Debug;
-               };
-               544532B6E87F836C1A3288A60D36F726 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = D5434748DD18D8B60013ABF3FFC5B95F /* IQTextView.release.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQTextView/IQTextView-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQTextView/IQTextView-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQTextView/IQTextView.modulemap";
-                               PRODUCT_MODULE_NAME = IQTextView;
-                               PRODUCT_NAME = IQTextView;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               5F0B975EFB983C4E1131BDA3D8ED0683 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 78F95F4E86380B049117A093BFC1CD7B /* IQTextInputViewNotification.debug.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification.modulemap";
-                               PRODUCT_MODULE_NAME = IQTextInputViewNotification;
-                               PRODUCT_NAME = IQTextInputViewNotification;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               60B198379BE0F80DDD5483A405A8AC5F /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 159C74980AC55D136945F073F6CEDC14 /* IQKeyboardToolbar.debug.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar.modulemap";
-                               PRODUCT_MODULE_NAME = IQKeyboardToolbar;
-                               PRODUCT_NAME = IQKeyboardToolbar;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               60BF7D5EEEA720FA876075D448A3EEFF /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 9F272A689E05B2AA0C0ED18AD4383DDE /* SocketRocket.debug.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/SocketRocket/SocketRocket-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/SocketRocket/SocketRocket-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 11.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/SocketRocket/SocketRocket.modulemap";
-                               PRODUCT_MODULE_NAME = SocketRocket;
-                               PRODUCT_NAME = SocketRocket;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.0;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               63E9BC6B186B49FDCAB4170225DF66FE /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 914B3416C83998074DDAB130CB468706 /* IQKeyboardReturnManager.release.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardReturnManager";
-                               IBSC_MODULE = IQKeyboardReturnManager;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardReturnManager/ResourceBundle-IQKeyboardReturnManager-IQKeyboardReturnManager-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQKeyboardReturnManager;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Release;
-               };
-               6458EACFEBDCB49A35654564C62A5CDB /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 87F05B4E0307C30EB4FC212724C8F157 /* IQKeyboardNotification.debug.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardNotification";
-                               IBSC_MODULE = IQKeyboardNotification;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardNotification/ResourceBundle-IQKeyboardNotification-IQKeyboardNotification-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQKeyboardNotification;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Debug;
-               };
-               64801BD417925AB9BA656A8FA9DC5CB6 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = DCDF74B5DEAC5E25CFC4D9F9B16EFBEB /* IQKeyboardToolbarManager.debug.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager.modulemap";
-                               PRODUCT_MODULE_NAME = IQKeyboardToolbarManager;
-                               PRODUCT_NAME = IQKeyboardToolbarManager;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               74ED47C1AB733A447D6619EAD98BAD82 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = AA485EB92636FB68E91AF3FCC1CE9C5E /* IQKeyboardCore.release.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardCore";
-                               IBSC_MODULE = IQKeyboardCore;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardCore/ResourceBundle-IQKeyboardCore-IQKeyboardCore-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQKeyboardCore;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Release;
-               };
-               7AA36B6CE3B0C3B48B651A2702CCFC98 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 4B6ABE8E0C199299C26E4B5977886B71 /* SnapKit.release.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SnapKit";
-                               IBSC_MODULE = SnapKit;
-                               INFOPLIST_FILE = "Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 12.0;
-                               PRODUCT_NAME = SnapKit_Privacy;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Release;
-               };
-               7D3C700E017BEA5E61F542AD4EBE06C7 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = B3AA4CA7BB409A5191DBD08356FE703A /* Pods-Example.release.xcconfig */;
-                       buildSettings = {
-                               ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               INFOPLIST_FILE = "Target Support Files/Pods-Example/Pods-Example-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MACH_O_TYPE = staticlib;
-                               MODULEMAP_FILE = "Target Support Files/Pods-Example/Pods-Example.modulemap";
-                               OTHER_LDFLAGS = "";
-                               OTHER_LIBTOOLFLAGS = "";
-                               PODS_ROOT = "$(SRCROOT)";
-                               PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
-                               PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               7E48D17D0469F73801BBDAF1F20755F2 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 79E6154EEE25D08664ACFE66C69DDFA0 /* Toast-Swift.release.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/Toast-Swift/Toast-Swift-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/Toast-Swift/Toast-Swift-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 12.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/Toast-Swift/Toast-Swift.modulemap";
-                               PRODUCT_MODULE_NAME = Toast_Swift;
-                               PRODUCT_NAME = Toast_Swift;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.0;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               8DE5143C03248BB6CD542DE3963D6F3A /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
-                               CLANG_ANALYZER_NONNULL = YES;
-                               CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
-                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
-                               CLANG_CXX_LIBRARY = "libc++";
-                               CLANG_ENABLE_MODULES = YES;
-                               CLANG_ENABLE_OBJC_ARC = YES;
-                               CLANG_ENABLE_OBJC_WEAK = YES;
-                               CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
-                               CLANG_WARN_BOOL_CONVERSION = YES;
-                               CLANG_WARN_COMMA = YES;
-                               CLANG_WARN_CONSTANT_CONVERSION = YES;
-                               CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
-                               CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-                               CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
-                               CLANG_WARN_EMPTY_BODY = YES;
-                               CLANG_WARN_ENUM_CONVERSION = YES;
-                               CLANG_WARN_INFINITE_RECURSION = YES;
-                               CLANG_WARN_INT_CONVERSION = YES;
-                               CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
-                               CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
-                               CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
-                               CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-                               CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
-                               CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
-                               CLANG_WARN_STRICT_PROTOTYPES = YES;
-                               CLANG_WARN_SUSPICIOUS_MOVE = YES;
-                               CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
-                               CLANG_WARN_UNREACHABLE_CODE = YES;
-                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               COPY_PHASE_STRIP = NO;
-                               DEBUG_INFORMATION_FORMAT = dwarf;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = YES;
-                               GCC_C_LANGUAGE_STANDARD = gnu11;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_NO_COMMON_BLOCKS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = (
-                                       "POD_CONFIGURATION_DEBUG=1",
-                                       "DEBUG=1",
-                                       "$(inherited)",
-                               );
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-                               GCC_WARN_UNDECLARED_SELECTOR = YES;
-                               GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
-                               GCC_WARN_UNUSED_FUNCTION = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
-                               MTL_FAST_MATH = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                               STRIP_INSTALLED_PRODUCT = NO;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
-                               SWIFT_OPTIMIZATION_LEVEL = "-Onone";
-                               SWIFT_VERSION = 5.0;
-                               SYMROOT = "${SRCROOT}/../build";
-                       };
-                       name = Debug;
-               };
-               8E2D63C2146204D6E9066CFE984F976A /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 91511868D1335C41FD84563EF906555C /* Pods-DeepChordsSdk.release.xcconfig */;
-                       buildSettings = {
-                               ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               INFOPLIST_FILE = "Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MACH_O_TYPE = staticlib;
-                               MODULEMAP_FILE = "Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.modulemap";
-                               OTHER_LDFLAGS = "";
-                               OTHER_LIBTOOLFLAGS = "";
-                               PODS_ROOT = "$(SRCROOT)";
-                               PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
-                               PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               8F408C586919D67ACCB4002B798BF1CE /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 319AC1D7C71149C2DD5EF02DECE3F511 /* SnapKit.debug.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SnapKit";
-                               IBSC_MODULE = SnapKit;
-                               INFOPLIST_FILE = "Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 12.0;
-                               PRODUCT_NAME = SnapKit_Privacy;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Debug;
-               };
-               9D0D7572FEDA4CC9E75E7387846AFE57 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 319AC1D7C71149C2DD5EF02DECE3F511 /* SnapKit.debug.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 12.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap";
-                               PRODUCT_MODULE_NAME = SnapKit;
-                               PRODUCT_NAME = SnapKit;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.0;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               9E406C6AAF85E580207CD97B0044DEAB /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
-                               CLANG_ANALYZER_NONNULL = YES;
-                               CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
-                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
-                               CLANG_CXX_LIBRARY = "libc++";
-                               CLANG_ENABLE_MODULES = YES;
-                               CLANG_ENABLE_OBJC_ARC = YES;
-                               CLANG_ENABLE_OBJC_WEAK = YES;
-                               CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
-                               CLANG_WARN_BOOL_CONVERSION = YES;
-                               CLANG_WARN_COMMA = YES;
-                               CLANG_WARN_CONSTANT_CONVERSION = YES;
-                               CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
-                               CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-                               CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
-                               CLANG_WARN_EMPTY_BODY = YES;
-                               CLANG_WARN_ENUM_CONVERSION = YES;
-                               CLANG_WARN_INFINITE_RECURSION = YES;
-                               CLANG_WARN_INT_CONVERSION = YES;
-                               CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
-                               CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
-                               CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
-                               CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-                               CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
-                               CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
-                               CLANG_WARN_STRICT_PROTOTYPES = YES;
-                               CLANG_WARN_SUSPICIOUS_MOVE = YES;
-                               CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
-                               CLANG_WARN_UNREACHABLE_CODE = YES;
-                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               COPY_PHASE_STRIP = NO;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               ENABLE_NS_ASSERTIONS = NO;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               GCC_C_LANGUAGE_STANDARD = gnu11;
-                               GCC_NO_COMMON_BLOCKS = YES;
-                               GCC_PREPROCESSOR_DEFINITIONS = (
-                                       "POD_CONFIGURATION_RELEASE=1",
-                                       "$(inherited)",
-                               );
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-                               GCC_WARN_UNDECLARED_SELECTOR = YES;
-                               GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
-                               GCC_WARN_UNUSED_FUNCTION = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               MTL_FAST_MATH = YES;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                               STRIP_INSTALLED_PRODUCT = NO;
-                               SWIFT_COMPILATION_MODE = wholemodule;
-                               SWIFT_OPTIMIZATION_LEVEL = "-O";
-                               SWIFT_VERSION = 5.0;
-                               SYMROOT = "${SRCROOT}/../build";
-                       };
-                       name = Release;
-               };
-               9E6F8A334BBF6110E0F8360AA5245522 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 87F05B4E0307C30EB4FC212724C8F157 /* IQKeyboardNotification.debug.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardNotification/IQKeyboardNotification-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardNotification/IQKeyboardNotification-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQKeyboardNotification/IQKeyboardNotification.modulemap";
-                               PRODUCT_MODULE_NAME = IQKeyboardNotification;
-                               PRODUCT_NAME = IQKeyboardNotification;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               A0F0EEB28C54A3D861769B31AB6A09BC /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 9374F8A0206251FC7979A888F803B656 /* IQKeyboardCore.debug.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardCore/IQKeyboardCore-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardCore/IQKeyboardCore-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQKeyboardCore/IQKeyboardCore.modulemap";
-                               PRODUCT_MODULE_NAME = IQKeyboardCore;
-                               PRODUCT_NAME = IQKeyboardCore;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               B5986331465FE771133F16D76C24C707 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 9374F8A0206251FC7979A888F803B656 /* IQKeyboardCore.debug.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardCore";
-                               IBSC_MODULE = IQKeyboardCore;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardCore/ResourceBundle-IQKeyboardCore-IQKeyboardCore-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQKeyboardCore;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Debug;
-               };
-               BA84D2E7DDC5F76ACF1327798B6F924C /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 78F95F4E86380B049117A093BFC1CD7B /* IQTextInputViewNotification.debug.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQTextInputViewNotification";
-                               IBSC_MODULE = IQTextInputViewNotification;
-                               INFOPLIST_FILE = "Target Support Files/IQTextInputViewNotification/ResourceBundle-IQTextInputViewNotification-IQTextInputViewNotification-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQTextInputViewNotification;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Debug;
-               };
-               BAD20131EC29650C6737E66854A3A9FD /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 4B6ABE8E0C199299C26E4B5977886B71 /* SnapKit.release.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 12.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap";
-                               PRODUCT_MODULE_NAME = SnapKit;
-                               PRODUCT_NAME = SnapKit;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.0;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               BFE9B004B8D63FFCD9138A8CD9D03F13 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 1AB8D5FD6175CD8FCC7153B71E6DD77A /* IQKeyboardNotification.release.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardNotification";
-                               IBSC_MODULE = IQKeyboardNotification;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardNotification/ResourceBundle-IQKeyboardNotification-IQKeyboardNotification-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQKeyboardNotification;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Release;
-               };
-               CC57776530A62F3C6BCEE299CDB87503 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 99B82533878EEF9F0E2FB3560695FF8A /* IQTextView.debug.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQTextView/IQTextView-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQTextView/IQTextView-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQTextView/IQTextView.modulemap";
-                               PRODUCT_MODULE_NAME = IQTextView;
-                               PRODUCT_NAME = IQTextView;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               D0C03895DE80B8549E8C1D167D22E44D /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 5084335EF29A15EB6C31DFB1ACA15349 /* IQKeyboardManagerSwift.debug.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap";
-                               PRODUCT_MODULE_NAME = IQKeyboardManagerSwift;
-                               PRODUCT_NAME = IQKeyboardManagerSwift;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               D0D91380BCB9BC9A0529D56C8ED5FFE9 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 159C74980AC55D136945F073F6CEDC14 /* IQKeyboardToolbar.debug.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardToolbar";
-                               IBSC_MODULE = IQKeyboardToolbar;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardToolbar/ResourceBundle-IQKeyboardToolbar-IQKeyboardToolbar-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQKeyboardToolbar;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Debug;
-               };
-               D138F4694413B3332A4486830C10613A /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = DCDF74B5DEAC5E25CFC4D9F9B16EFBEB /* IQKeyboardToolbarManager.debug.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardToolbarManager";
-                               IBSC_MODULE = IQKeyboardToolbarManager;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardToolbarManager/ResourceBundle-IQKeyboardToolbarManager-IQKeyboardToolbarManager-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQKeyboardToolbarManager;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Debug;
-               };
-               D29AEDD40B3E8B1E6FC8C1D23E9FE854 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 1515EB933E55F8DF1275984150311F6F /* IQTextInputViewNotification.release.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification.modulemap";
-                               PRODUCT_MODULE_NAME = IQTextInputViewNotification;
-                               PRODUCT_NAME = IQTextInputViewNotification;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               DDBEDC2B6C48735DEA3B7E0F66D166CA /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 4BF6C697C2EB03CCBCE9CA841EA31F47 /* Pods-DeepChordsSdk.debug.xcconfig */;
-                       buildSettings = {
-                               ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               INFOPLIST_FILE = "Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MACH_O_TYPE = staticlib;
-                               MODULEMAP_FILE = "Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.modulemap";
-                               OTHER_LDFLAGS = "";
-                               OTHER_LIBTOOLFLAGS = "";
-                               PODS_ROOT = "$(SRCROOT)";
-                               PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
-                               PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               E06F70F13B606F0979741BCAFE1F1003 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 02E139B151EDFA1F4F63EA119D2269C7 /* Toast-Swift.debug.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/Toast-Swift/Toast-Swift-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/Toast-Swift/Toast-Swift-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 12.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/Toast-Swift/Toast-Swift.modulemap";
-                               PRODUCT_MODULE_NAME = Toast_Swift;
-                               PRODUCT_NAME = Toast_Swift;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.0;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               E0AD5D7D6A14E0A5CE237F7AA2103EDA /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 10CAAD795A45AB49A0EE4D6805AB7A1F /* SocketRocket.release.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/SocketRocket/SocketRocket-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/SocketRocket/SocketRocket-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 11.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/SocketRocket/SocketRocket.modulemap";
-                               PRODUCT_MODULE_NAME = SocketRocket;
-                               PRODUCT_NAME = SocketRocket;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.0;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               E5E79CB0A013D41033C3D1F195F2D511 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = F528CE7CB37911E316CD1F5622E5B931 /* IQKeyboardReturnManager.debug.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager.modulemap";
-                               PRODUCT_MODULE_NAME = IQKeyboardReturnManager;
-                               PRODUCT_NAME = IQKeyboardReturnManager;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               EA45E75E18A3088D3BECAB8A13C8E1FA /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 5084335EF29A15EB6C31DFB1ACA15349 /* IQKeyboardManagerSwift.debug.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardManagerSwift";
-                               IBSC_MODULE = IQKeyboardManagerSwift;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardManagerSwift/ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQKeyboardManagerSwift;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Debug;
-               };
-               ED5F5D7028C0D13C5D338346ADB64D2D /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 78882EBBF9DB9EAA48F3FFBF14D1E0B5 /* IQKeyboardToolbar.release.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardToolbar";
-                               IBSC_MODULE = IQKeyboardToolbar;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardToolbar/ResourceBundle-IQKeyboardToolbar-IQKeyboardToolbar-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQKeyboardToolbar;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Release;
-               };
-               EFB4FCFDA1169E42C1B49870156BCDDD /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 914B3416C83998074DDAB130CB468706 /* IQKeyboardReturnManager.release.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager.modulemap";
-                               PRODUCT_MODULE_NAME = IQKeyboardReturnManager;
-                               PRODUCT_NAME = IQKeyboardReturnManager;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               F08D20936BD3635F1144C8ABE3CED471 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 8981CA762CD2FDB68D15FEEA091439B5 /* IQKeyboardToolbarManager.release.xcconfig */;
-                       buildSettings = {
-                               CODE_SIGNING_ALLOWED = NO;
-                               CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardToolbarManager";
-                               IBSC_MODULE = IQKeyboardToolbarManager;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardToolbarManager/ResourceBundle-IQKeyboardToolbarManager-IQKeyboardToolbarManager-Info.plist";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               PRODUCT_NAME = IQKeyboardToolbarManager;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               WRAPPER_EXTENSION = bundle;
-                       };
-                       name = Release;
-               };
-               FC91939289B6972DE0D1E8C4EDF5A399 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = AA485EB92636FB68E91AF3FCC1CE9C5E /* IQKeyboardCore.release.xcconfig */;
-                       buildSettings = {
-                               CLANG_ENABLE_OBJC_WEAK = NO;
-                               "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
-                               "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               ENABLE_MODULE_VERIFIER = NO;
-                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
-                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardCore/IQKeyboardCore-prefix.pch";
-                               GENERATE_INFOPLIST_FILE = NO;
-                               INFOPLIST_FILE = "Target Support Files/IQKeyboardCore/IQKeyboardCore-Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               IPHONEOS_DEPLOYMENT_TARGET = 13.0;
-                               LD_RUNPATH_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "@executable_path/Frameworks",
-                                       "@loader_path/Frameworks",
-                               );
-                               MODULEMAP_FILE = "Target Support Files/IQKeyboardCore/IQKeyboardCore.modulemap";
-                               PRODUCT_MODULE_NAME = IQKeyboardCore;
-                               PRODUCT_NAME = IQKeyboardCore;
-                               SDKROOT = iphoneos;
-                               SKIP_INSTALL = YES;
-                               SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
-                               SWIFT_INSTALL_OBJC_HEADER = YES;
-                               SWIFT_VERSION = 5.9;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               08CCC0BB4F7D4BA07752DF404F6EDD9A /* Build configuration list for PBXNativeTarget "IQKeyboardReturnManager-IQKeyboardReturnManager" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               5392BBBB9A595846BCE334B1D7D1D3B7 /* Debug */,
-                               63E9BC6B186B49FDCAB4170225DF66FE /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               0DA28833D7A042B27FBAEDF85A1C1D74 /* Build configuration list for PBXNativeTarget "IQTextInputViewNotification" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               5F0B975EFB983C4E1131BDA3D8ED0683 /* Debug */,
-                               D29AEDD40B3E8B1E6FC8C1D23E9FE854 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               2D29A227B6A83F5A542054A8A8043BAA /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               8F408C586919D67ACCB4002B798BF1CE /* Debug */,
-                               7AA36B6CE3B0C3B48B651A2702CCFC98 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               2DEB3984BC37C7B27AE0091EC7509142 /* Build configuration list for PBXNativeTarget "Toast-Swift-Toast-Swift" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               34DA1E3BEA25E012EF708AE69C0C9193 /* Debug */,
-                               37AF8DF61716FB1975DE10B4998E2A87 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               2FC9855C948A66726D61C1BF2072066A /* Build configuration list for PBXNativeTarget "IQKeyboardNotification-IQKeyboardNotification" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               6458EACFEBDCB49A35654564C62A5CDB /* Debug */,
-                               BFE9B004B8D63FFCD9138A8CD9D03F13 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               3208C0F97FCB948C4F12E81E25FFEAF9 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               D0C03895DE80B8549E8C1D167D22E44D /* Debug */,
-                               2C4EBC8097D4D07427A18EC0F79738BE /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               8DE5143C03248BB6CD542DE3963D6F3A /* Debug */,
-                               9E406C6AAF85E580207CD97B0044DEAB /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               49D80946082E3E53F4077E15D8887408 /* Build configuration list for PBXNativeTarget "Pods-DeepChordsSdk" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               DDBEDC2B6C48735DEA3B7E0F66D166CA /* Debug */,
-                               8E2D63C2146204D6E9066CFE984F976A /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               6545B5D9E1142254EECDDEFC1408EA74 /* Build configuration list for PBXNativeTarget "IQKeyboardToolbar" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               60B198379BE0F80DDD5483A405A8AC5F /* Debug */,
-                               1D0FBA28D44BDD4502A8E31DAEABF97D /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               698D46877F77FCD24D7D79E95A4A06D5 /* Build configuration list for PBXNativeTarget "SocketRocket" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               60BF7D5EEEA720FA876075D448A3EEFF /* Debug */,
-                               E0AD5D7D6A14E0A5CE237F7AA2103EDA /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               7468FF21977574A694627CBF4D7DEC53 /* Build configuration list for PBXNativeTarget "IQKeyboardToolbar-IQKeyboardToolbar" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               D0D91380BCB9BC9A0529D56C8ED5FFE9 /* Debug */,
-                               ED5F5D7028C0D13C5D338346ADB64D2D /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               7B6A2B3DDE303A370FD2A5C8DB9C6E2D /* Build configuration list for PBXNativeTarget "IQKeyboardNotification" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               9E6F8A334BBF6110E0F8360AA5245522 /* Debug */,
-                               4E28A2258944850B8D0D598586B5E92B /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               80CE967CAA1D35721519F892BAF7A19B /* Build configuration list for PBXNativeTarget "SnapKit" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               9D0D7572FEDA4CC9E75E7387846AFE57 /* Debug */,
-                               BAD20131EC29650C6737E66854A3A9FD /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               95C096ADDB6F7FCAFFA3FBB358C75EF3 /* Build configuration list for PBXNativeTarget "Pods-Example" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               1F029A7E58A02CC7BF83B726ECB24B27 /* Debug */,
-                               7D3C700E017BEA5E61F542AD4EBE06C7 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               9C146D0EDFB76FE1156D655A897B6E94 /* Build configuration list for PBXNativeTarget "Toast-Swift" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               E06F70F13B606F0979741BCAFE1F1003 /* Debug */,
-                               7E48D17D0469F73801BBDAF1F20755F2 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               9E4E9D837E21217746DEB582B898D487 /* Build configuration list for PBXNativeTarget "IQKeyboardToolbarManager-IQKeyboardToolbarManager" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               D138F4694413B3332A4486830C10613A /* Debug */,
-                               F08D20936BD3635F1144C8ABE3CED471 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               AC758F51A954F3478B41C0B2B845766B /* Build configuration list for PBXNativeTarget "IQKeyboardReturnManager" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               E5E79CB0A013D41033C3D1F195F2D511 /* Debug */,
-                               EFB4FCFDA1169E42C1B49870156BCDDD /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               B2130418C2FAD0A1E2FD872758AD609B /* Build configuration list for PBXNativeTarget "IQKeyboardCore" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               A0F0EEB28C54A3D861769B31AB6A09BC /* Debug */,
-                               FC91939289B6972DE0D1E8C4EDF5A399 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               BA50FBEF420279D7BDB90421B1103569 /* Build configuration list for PBXNativeTarget "IQTextInputViewNotification-IQTextInputViewNotification" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               BA84D2E7DDC5F76ACF1327798B6F924C /* Debug */,
-                               298BF47A1ADB1CEC5A9281F125EF0788 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               D2E3CA4A5A5255636741A362E4F6BCF7 /* Build configuration list for PBXNativeTarget "IQTextView-IQTextView" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               47C2D0929EA82A67E33FEB42776A6CAC /* Debug */,
-                               397EF464FF32EAD44C05D7CE58A2C382 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               D452E33AB7D1DEFA04A6E2B89E1B70BD /* Build configuration list for PBXNativeTarget "IQKeyboardCore-IQKeyboardCore" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               B5986331465FE771133F16D76C24C707 /* Debug */,
-                               74ED47C1AB733A447D6619EAD98BAD82 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               D7FB8C3DDF4703D4590435540A2233A9 /* Build configuration list for PBXNativeTarget "IQKeyboardToolbarManager" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               64801BD417925AB9BA656A8FA9DC5CB6 /* Debug */,
-                               3016B50127E54871902147B82FABA968 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               D8BBE9E3900D941FF67F5A73A1AECA11 /* Build configuration list for PBXNativeTarget "IQTextView" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               CC57776530A62F3C6BCEE299CDB87503 /* Debug */,
-                               544532B6E87F836C1A3288A60D36F726 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               FD573F16CD31603388EC2DE46509F450 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift-IQKeyboardManagerSwift" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               EA45E75E18A3088D3BECAB8A13C8E1FA /* Debug */,
-                               1B2F38B82BEBA44EF2EE45BF7A44037A /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/LICENSE b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/LICENSE
deleted file mode 100644 (file)
index a18ccfb..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/README.md b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/README.md
deleted file mode 100644 (file)
index e1be307..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-<img src="https://snapkit.github.io/SnapKit/images/banner.jpg" alt="" />
-
-SnapKit is a DSL to make Auto Layout easy on both iOS and OS X.
-
-[![Build Status](https://travis-ci.org/SnapKit/SnapKit.svg)](https://travis-ci.org/SnapKit/SnapKit)
-[![Platform](https://img.shields.io/cocoapods/p/SnapKit.svg?style=flat)](https://github.com/SnapKit/SnapKit)
-[![Cocoapods Compatible](https://img.shields.io/cocoapods/v/SnapKit.svg)](https://cocoapods.org/pods/SnapKit)
-[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
-
-#### ⚠️ **To use with Swift 4.x please ensure you are using >= 4.0.0** ⚠️
-#### ⚠️ **To use with Swift 5.x please ensure you are using >= 5.0.0** ⚠️
-
-## Contents
-
-- [Requirements](#requirements)
-- [Migration Guides](#migration-guides)
-- [Communication](#communication)
-- [Installation](#installation)
-- [Usage](#usage)
-- [Credits](#credits)
-- [License](#license)
-
-## Requirements
-
-- iOS 12.0+ / Mac OS X 10.13+ / tvOS 10.0+
-- Xcode 10.0+
-- Swift 4.0+
-
-## Migration Guides
-
-- [SnapKit 3.0 Migration Guide](Documentation/SnapKit%203.0%20Migration%20Guide.md)
-
-## Communication
-
-- If you **need help**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/snapkit). (Tag 'snapkit')
-- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/snapkit).
-- If you **found a bug**, open an issue.
-- If you **have a feature request**, open an issue.
-- If you **want to contribute**, submit a pull request.
-
-
-## Installation
-
-### CocoaPods
-
-[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command:
-
-```bash
-$ gem install cocoapods
-```
-
-> CocoaPods 1.1.0+ is required to build SnapKit 4.0.0+.
-
-To integrate SnapKit into your Xcode project using CocoaPods, specify it in your `Podfile`:
-
-```ruby
-source 'https://github.com/CocoaPods/Specs.git'
-platform :ios, '10.0'
-use_frameworks!
-
-target '<Your Target Name>' do
-    pod 'SnapKit', '~> 5.7.0'
-end
-```
-
-Then, run the following command:
-
-```bash
-$ pod install
-```
-
-### Carthage
-
-[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
-
-You can install Carthage with [Homebrew](http://brew.sh/) using the following command:
-
-```bash
-$ brew update
-$ brew install carthage
-```
-
-To integrate SnapKit into your Xcode project using Carthage, specify it in your `Cartfile`:
-
-```ogdl
-github "SnapKit/SnapKit" ~> 5.0.0
-```
-
-Run `carthage update` to build the framework and drag the built `SnapKit.framework` into your Xcode project.
-
-### Swift Package Manager
-
-[Swift Package Manager](https://swift.org/package-manager/) is a tool for managing the distribution of Swift code. It’s integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies.
-
-> Xcode 11+ is required to build SnapKit using Swift Package Manager.
-
-To integrate SnapKit into your Xcode project using Swift Package Manager, add it to the dependencies value of your `Package.swift`:
-
-```swift
-dependencies: [
-    .package(url: "https://github.com/SnapKit/SnapKit.git", .upToNextMajor(from: "5.0.1"))
-]
-```
-
-### Manually
-
-If you prefer not to use either of the aforementioned dependency managers, you can integrate SnapKit into your project manually.
-
----
-
-## Usage
-
-### Quick Start
-
-```swift
-import SnapKit
-
-class MyViewController: UIViewController {
-
-    lazy var box = UIView()
-
-    override func viewDidLoad() {
-        super.viewDidLoad()
-
-        self.view.addSubview(box)
-        box.backgroundColor = .green
-        box.snp.makeConstraints { (make) -> Void in
-           make.width.height.equalTo(50)
-           make.center.equalTo(self.view)
-        }
-    }
-
-}
-```
-
-### Playground
-You can try SnapKit in Playground.
-
-**Note:**
-
-> To try SnapKit in playground, open `SnapKit.xcworkspace` and build SnapKit.framework for any simulator first.
-
-### Resources
-
-- [Documentation](https://snapkit.github.io/SnapKit/docs/)
-- [F.A.Q.](https://snapkit.github.io/SnapKit/faq/)
-
-## Credits
-
-- Robert Payne ([@robertjpayne](https://twitter.com/robertjpayne))
-- Many other contributors
-
-## License
-
-SnapKit is released under the MIT license. See LICENSE for details.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/Constraint.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/Constraint.swift
deleted file mode 100644 (file)
index b890152..0000000
+++ /dev/null
@@ -1,341 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-public final class Constraint {
-
-    internal let sourceLocation: (String, UInt)
-    internal let label: String?
-
-    private let from: ConstraintItem
-    private let to: ConstraintItem
-    private let relation: ConstraintRelation
-    private let multiplier: ConstraintMultiplierTarget
-    private var constant: ConstraintConstantTarget {
-        didSet {
-            self.updateConstantAndPriorityIfNeeded()
-        }
-    }
-    private var priority: ConstraintPriorityTarget {
-        didSet {
-          self.updateConstantAndPriorityIfNeeded()
-        }
-    }
-    public var layoutConstraints: [LayoutConstraint]
-    
-    public var isActive: Bool {
-        set {
-            if newValue {
-                activate()
-            }
-            else {
-                deactivate()
-            }
-        }
-        
-        get {
-            for layoutConstraint in self.layoutConstraints {
-                if layoutConstraint.isActive {
-                    return true
-                }
-            }
-            return false
-        }
-    }
-    
-    // MARK: Initialization
-
-    internal init(from: ConstraintItem,
-                  to: ConstraintItem,
-                  relation: ConstraintRelation,
-                  sourceLocation: (String, UInt),
-                  label: String?,
-                  multiplier: ConstraintMultiplierTarget,
-                  constant: ConstraintConstantTarget,
-                  priority: ConstraintPriorityTarget) {
-        self.from = from
-        self.to = to
-        self.relation = relation
-        self.sourceLocation = sourceLocation
-        self.label = label
-        self.multiplier = multiplier
-        self.constant = constant
-        self.priority = priority
-        self.layoutConstraints = []
-
-        // get attributes
-        let layoutFromAttributes = self.from.attributes.layoutAttributes
-        let layoutToAttributes = self.to.attributes.layoutAttributes
-
-        // get layout from
-        let layoutFrom = self.from.layoutConstraintItem!
-
-        // get relation
-        let layoutRelation = self.relation.layoutRelation
-
-        for layoutFromAttribute in layoutFromAttributes {
-            // get layout to attribute
-            let layoutToAttribute: LayoutAttribute
-            #if canImport(UIKit)
-                if layoutToAttributes.count > 0 {
-                    if self.from.attributes == .edges && self.to.attributes == .margins {
-                        switch layoutFromAttribute {
-                        case .left:
-                            layoutToAttribute = .leftMargin
-                        case .right:
-                            layoutToAttribute = .rightMargin
-                        case .top:
-                            layoutToAttribute = .topMargin
-                        case .bottom:
-                            layoutToAttribute = .bottomMargin
-                        default:
-                            fatalError()
-                        }
-                    } else if self.from.attributes == .margins && self.to.attributes == .edges {
-                        switch layoutFromAttribute {
-                        case .leftMargin:
-                            layoutToAttribute = .left
-                        case .rightMargin:
-                            layoutToAttribute = .right
-                        case .topMargin:
-                            layoutToAttribute = .top
-                        case .bottomMargin:
-                            layoutToAttribute = .bottom
-                        default:
-                            fatalError()
-                        }
-                    } else if self.from.attributes == .directionalEdges && self.to.attributes == .directionalMargins {
-                      switch layoutFromAttribute {
-                      case .leading:
-                        layoutToAttribute = .leadingMargin
-                      case .trailing:
-                        layoutToAttribute = .trailingMargin
-                      case .top:
-                        layoutToAttribute = .topMargin
-                      case .bottom:
-                        layoutToAttribute = .bottomMargin
-                      default:
-                        fatalError()
-                      }
-                    } else if self.from.attributes == .directionalMargins && self.to.attributes == .directionalEdges {
-                      switch layoutFromAttribute {
-                      case .leadingMargin:
-                        layoutToAttribute = .leading
-                      case .trailingMargin:
-                        layoutToAttribute = .trailing
-                      case .topMargin:
-                        layoutToAttribute = .top
-                      case .bottomMargin:
-                        layoutToAttribute = .bottom
-                      default:
-                        fatalError()
-                      }
-                    } else if self.from.attributes == self.to.attributes {
-                        layoutToAttribute = layoutFromAttribute
-                    } else {
-                        layoutToAttribute = layoutToAttributes[0]
-                    }
-                } else {
-                    if self.to.target == nil && (layoutFromAttribute == .centerX || layoutFromAttribute == .centerY) {
-                        layoutToAttribute = layoutFromAttribute == .centerX ? .left : .top
-                    } else {
-                        layoutToAttribute = layoutFromAttribute
-                    }
-                }
-            #else
-                if self.from.attributes == self.to.attributes {
-                    layoutToAttribute = layoutFromAttribute
-                } else if layoutToAttributes.count > 0 {
-                    layoutToAttribute = layoutToAttributes[0]
-                } else {
-                    layoutToAttribute = layoutFromAttribute
-                }
-            #endif
-
-            // get layout constant
-            let layoutConstant: CGFloat = self.constant.constraintConstantTargetValueFor(layoutAttribute: layoutToAttribute)
-
-            // get layout to
-            var layoutTo: AnyObject? = self.to.target
-
-            // use superview if possible
-            if layoutTo == nil && layoutToAttribute != .width && layoutToAttribute != .height {
-                layoutTo = layoutFrom.superview
-            }
-
-            // create layout constraint
-            let layoutConstraint = LayoutConstraint(
-                item: layoutFrom,
-                attribute: layoutFromAttribute,
-                relatedBy: layoutRelation,
-                toItem: layoutTo,
-                attribute: layoutToAttribute,
-                multiplier: self.multiplier.constraintMultiplierTargetValue,
-                constant: layoutConstant
-            )
-
-            // set label
-            layoutConstraint.label = self.label
-
-            // set priority
-            layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue)
-
-            // set constraint
-            layoutConstraint.constraint = self
-
-            // append
-            self.layoutConstraints.append(layoutConstraint)
-        }
-    }
-
-    // MARK: Public
-
-    @available(*, deprecated, renamed:"activate()")
-    public func install() {
-        self.activate()
-    }
-
-    @available(*, deprecated, renamed:"deactivate()")
-    public func uninstall() {
-        self.deactivate()
-    }
-
-    public func activate() {
-        self.activateIfNeeded()
-    }
-
-    public func deactivate() {
-        self.deactivateIfNeeded()
-    }
-
-    @discardableResult
-    public func update(offset: ConstraintOffsetTarget) -> Constraint {
-        self.constant = offset.constraintOffsetTargetValue
-        return self
-    }
-
-    @discardableResult
-    public func update(inset: ConstraintInsetTarget) -> Constraint {
-        self.constant = inset.constraintInsetTargetValue
-        return self
-    }
-
-    #if canImport(UIKit)
-    @discardableResult
-    @available(iOS 11.0, tvOS 11.0, *)
-    public func update(inset: ConstraintDirectionalInsetTarget) -> Constraint {
-      self.constant = inset.constraintDirectionalInsetTargetValue
-      return self
-    }
-    #endif
-
-    @discardableResult
-    public func update(priority: ConstraintPriorityTarget) -> Constraint {
-        self.priority = priority.constraintPriorityTargetValue
-        return self
-    }
-
-    @discardableResult
-    public func update(priority: ConstraintPriority) -> Constraint {
-        self.priority = priority.value
-        return self
-    }
-
-    @available(*, deprecated, renamed:"update(offset:)")
-    public func updateOffset(amount: ConstraintOffsetTarget) -> Void { self.update(offset: amount) }
-
-    @available(*, deprecated, renamed:"update(inset:)")
-    public func updateInsets(amount: ConstraintInsetTarget) -> Void { self.update(inset: amount) }
-
-    @available(*, deprecated, renamed:"update(priority:)")
-    public func updatePriority(amount: ConstraintPriorityTarget) -> Void { self.update(priority: amount) }
-
-    @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.")
-    public func updatePriorityRequired() -> Void {}
-
-    @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.")
-    public func updatePriorityHigh() -> Void { fatalError("Must be implemented by Concrete subclass.") }
-
-    @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.")
-    public func updatePriorityMedium() -> Void { fatalError("Must be implemented by Concrete subclass.") }
-
-    @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.")
-    public func updatePriorityLow() -> Void { fatalError("Must be implemented by Concrete subclass.") }
-
-    // MARK: Internal
-
-    internal func updateConstantAndPriorityIfNeeded() {
-        for layoutConstraint in self.layoutConstraints {
-            let attribute = (layoutConstraint.secondAttribute == .notAnAttribute) ? layoutConstraint.firstAttribute : layoutConstraint.secondAttribute
-            layoutConstraint.constant = self.constant.constraintConstantTargetValueFor(layoutAttribute: attribute)
-
-            let requiredPriority = ConstraintPriority.required.value
-            if (layoutConstraint.priority.rawValue < requiredPriority), (self.priority.constraintPriorityTargetValue != requiredPriority) {
-                layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue)
-            }
-        }
-    }
-
-    internal func activateIfNeeded(updatingExisting: Bool = false) {
-        guard let item = self.from.layoutConstraintItem else {
-            print("WARNING: SnapKit failed to get from item from constraint. Activate will be a no-op.")
-            return
-        }
-        let layoutConstraints = self.layoutConstraints
-
-        if updatingExisting {
-            var existingLayoutConstraints: [LayoutConstraint] = []
-            for constraint in item.constraints {
-                existingLayoutConstraints += constraint.layoutConstraints
-            }
-
-            for layoutConstraint in layoutConstraints {
-                let existingLayoutConstraint = existingLayoutConstraints.first { $0 == layoutConstraint }
-                guard let updateLayoutConstraint = existingLayoutConstraint else {
-                    fatalError("Updated constraint could not find existing matching constraint to update: \(layoutConstraint)")
-                }
-
-                let updateLayoutAttribute = (updateLayoutConstraint.secondAttribute == .notAnAttribute) ? updateLayoutConstraint.firstAttribute : updateLayoutConstraint.secondAttribute
-                updateLayoutConstraint.constant = self.constant.constraintConstantTargetValueFor(layoutAttribute: updateLayoutAttribute)
-            }
-        } else {
-            NSLayoutConstraint.activate(layoutConstraints)
-            item.add(constraints: [self])
-        }
-    }
-
-    internal func deactivateIfNeeded() {
-        guard let item = self.from.layoutConstraintItem else {
-            print("WARNING: SnapKit failed to get from item from constraint. Deactivate will be a no-op.")
-            return
-        }
-        let layoutConstraints = self.layoutConstraints
-        NSLayoutConstraint.deactivate(layoutConstraints)
-        item.remove(constraints: [self])
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintAttributes.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintAttributes.swift
deleted file mode 100644 (file)
index c1a79c2..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-internal struct ConstraintAttributes : OptionSet, ExpressibleByIntegerLiteral {
-    
-    typealias IntegerLiteralType = UInt
-    
-    internal init(rawValue: UInt) {
-        self.rawValue = rawValue
-    }
-    internal init(_ rawValue: UInt) {
-        self.init(rawValue: rawValue)
-    }
-    internal init(nilLiteral: ()) {
-        self.rawValue = 0
-    }
-    internal init(integerLiteral rawValue: IntegerLiteralType) {
-        self.init(rawValue: rawValue)
-    }
-    
-    internal private(set) var rawValue: UInt
-    internal static var allZeros: ConstraintAttributes { return 0 }
-    internal static func convertFromNilLiteral() -> ConstraintAttributes { return 0 }
-    internal var boolValue: Bool { return self.rawValue != 0 }
-    
-    internal func toRaw() -> UInt { return self.rawValue }
-    internal static func fromRaw(_ raw: UInt) -> ConstraintAttributes? { return self.init(raw) }
-    internal static func fromMask(_ raw: UInt) -> ConstraintAttributes { return self.init(raw) }
-    
-    // normal
-    
-    internal static let none: ConstraintAttributes = 0
-    internal static let left: ConstraintAttributes = ConstraintAttributes(UInt(1) << 0)
-    internal static let top: ConstraintAttributes = ConstraintAttributes(UInt(1) << 1)
-    internal static let right: ConstraintAttributes = ConstraintAttributes(UInt(1) << 2)
-    internal static let bottom: ConstraintAttributes = ConstraintAttributes(UInt(1) << 3)
-    internal static let leading: ConstraintAttributes = ConstraintAttributes(UInt(1) << 4)
-    internal static let trailing: ConstraintAttributes = ConstraintAttributes(UInt(1) << 5)
-    internal static let width: ConstraintAttributes = ConstraintAttributes(UInt(1) << 6)
-    internal static let height: ConstraintAttributes = ConstraintAttributes(UInt(1) << 7)
-    internal static let centerX: ConstraintAttributes = ConstraintAttributes(UInt(1) << 8)
-    internal static let centerY: ConstraintAttributes = ConstraintAttributes(UInt(1) << 9)
-    internal static let lastBaseline: ConstraintAttributes = ConstraintAttributes(UInt(1) << 10)
-    
-    @available(iOS 8.0, OSX 10.11, *)
-    internal static let firstBaseline: ConstraintAttributes = ConstraintAttributes(UInt(1) << 11)
-
-    @available(iOS 8.0, *)
-    internal static let leftMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 12)
-
-    @available(iOS 8.0, *)
-    internal static let rightMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 13)
-
-    @available(iOS 8.0, *)
-    internal static let topMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 14)
-
-    @available(iOS 8.0, *)
-    internal static let bottomMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 15)
-
-    @available(iOS 8.0, *)
-    internal static let leadingMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 16)
-
-    @available(iOS 8.0, *)
-    internal static let trailingMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 17)
-
-    @available(iOS 8.0, *)
-    internal static let centerXWithinMargins: ConstraintAttributes = ConstraintAttributes(UInt(1) << 18)
-
-    @available(iOS 8.0, *)
-    internal static let centerYWithinMargins: ConstraintAttributes = ConstraintAttributes(UInt(1) << 19)
-    
-    // aggregates
-    
-    internal static let edges: ConstraintAttributes = [.horizontalEdges, .verticalEdges]
-    internal static let horizontalEdges: ConstraintAttributes = [.left, .right]
-    internal static let verticalEdges: ConstraintAttributes = [.top, .bottom]
-    internal static let directionalEdges: ConstraintAttributes = [.directionalHorizontalEdges, .directionalVerticalEdges]
-    internal static let directionalHorizontalEdges: ConstraintAttributes = [.leading, .trailing]
-    internal static let directionalVerticalEdges: ConstraintAttributes = [.top, .bottom]
-    internal static let size: ConstraintAttributes = [.width, .height]
-    internal static let center: ConstraintAttributes = [.centerX, .centerY]
-
-    @available(iOS 8.0, *)
-    internal static let margins: ConstraintAttributes = [.leftMargin, .topMargin, .rightMargin, .bottomMargin]
-
-    @available(iOS 8.0, *)
-    internal static let directionalMargins: ConstraintAttributes = [.leadingMargin, .topMargin, .trailingMargin, .bottomMargin]
-
-    @available(iOS 8.0, *)
-    internal static let centerWithinMargins: ConstraintAttributes = [.centerXWithinMargins, .centerYWithinMargins]
-    
-    internal var layoutAttributes:[LayoutAttribute] {
-        var attrs = [LayoutAttribute]()
-        if (self.contains(ConstraintAttributes.left)) {
-            attrs.append(.left)
-        }
-        if (self.contains(ConstraintAttributes.top)) {
-            attrs.append(.top)
-        }
-        if (self.contains(ConstraintAttributes.right)) {
-            attrs.append(.right)
-        }
-        if (self.contains(ConstraintAttributes.bottom)) {
-            attrs.append(.bottom)
-        }
-        if (self.contains(ConstraintAttributes.leading)) {
-            attrs.append(.leading)
-        }
-        if (self.contains(ConstraintAttributes.trailing)) {
-            attrs.append(.trailing)
-        }
-        if (self.contains(ConstraintAttributes.width)) {
-            attrs.append(.width)
-        }
-        if (self.contains(ConstraintAttributes.height)) {
-            attrs.append(.height)
-        }
-        if (self.contains(ConstraintAttributes.centerX)) {
-            attrs.append(.centerX)
-        }
-        if (self.contains(ConstraintAttributes.centerY)) {
-            attrs.append(.centerY)
-        }
-        if (self.contains(ConstraintAttributes.lastBaseline)) {
-            attrs.append(.lastBaseline)
-        }
-        
-        #if canImport(UIKit)
-            if (self.contains(ConstraintAttributes.firstBaseline)) {
-                attrs.append(.firstBaseline)
-            }
-            if (self.contains(ConstraintAttributes.leftMargin)) {
-                attrs.append(.leftMargin)
-            }
-            if (self.contains(ConstraintAttributes.rightMargin)) {
-                attrs.append(.rightMargin)
-            }
-            if (self.contains(ConstraintAttributes.topMargin)) {
-                attrs.append(.topMargin)
-            }
-            if (self.contains(ConstraintAttributes.bottomMargin)) {
-                attrs.append(.bottomMargin)
-            }
-            if (self.contains(ConstraintAttributes.leadingMargin)) {
-                attrs.append(.leadingMargin)
-            }
-            if (self.contains(ConstraintAttributes.trailingMargin)) {
-                attrs.append(.trailingMargin)
-            }
-            if (self.contains(ConstraintAttributes.centerXWithinMargins)) {
-                attrs.append(.centerXWithinMargins)
-            }
-            if (self.contains(ConstraintAttributes.centerYWithinMargins)) {
-                attrs.append(.centerYWithinMargins)
-            }
-        #endif
-        
-        return attrs
-    }
-}
-
-internal func + (left: ConstraintAttributes, right: ConstraintAttributes) -> ConstraintAttributes {
-    return left.union(right)
-}
-
-internal func +=(left: inout ConstraintAttributes, right: ConstraintAttributes) {
-    left.formUnion(right)
-}
-
-internal func -=(left: inout ConstraintAttributes, right: ConstraintAttributes) {
-    left.subtract(right)
-}
-
-internal func ==(left: ConstraintAttributes, right: ConstraintAttributes) -> Bool {
-    return left.rawValue == right.rawValue
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintConfig.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintConfig.swift
deleted file mode 100644 (file)
index 9bd0f23..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-    public typealias ConstraintInterfaceLayoutDirection = UIUserInterfaceLayoutDirection
-#else
-    import AppKit
-    public typealias ConstraintInterfaceLayoutDirection = NSUserInterfaceLayoutDirection
-#endif
-
-
-public struct ConstraintConfig {
-    
-    public static var interfaceLayoutDirection: ConstraintInterfaceLayoutDirection = .leftToRight
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintConstantTarget.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintConstantTarget.swift
deleted file mode 100644 (file)
index e16f503..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public protocol ConstraintConstantTarget {
-}
-
-extension CGPoint: ConstraintConstantTarget {
-}
-
-extension CGSize: ConstraintConstantTarget {    
-}
-
-extension ConstraintInsets: ConstraintConstantTarget {
-}
-
-#if canImport(UIKit)
-@available(iOS 11.0, tvOS 11.0, *)
-extension ConstraintDirectionalInsets: ConstraintConstantTarget {
-}
-#endif
-
-extension ConstraintConstantTarget {
-    
-    internal func constraintConstantTargetValueFor(layoutAttribute: LayoutAttribute) -> CGFloat {
-        if let value = self as? CGFloat {
-            return value
-        }
-        
-        if let value = self as? Float {
-            return CGFloat(value)
-        }
-        
-        if let value = self as? Double {
-            return CGFloat(value)
-        }
-        
-        if let value = self as? Int {
-            return CGFloat(value)
-        }
-        
-        if let value = self as? UInt {
-            return CGFloat(value)
-        }
-        
-        if let value = self as? CGSize {
-            if layoutAttribute == .width {
-                return value.width
-            } else if layoutAttribute == .height {
-                return value.height
-            } else {
-                return 0.0
-            }
-        }
-        
-        if let value = self as? CGPoint {
-            #if canImport(UIKit)
-                switch layoutAttribute {
-                case .left, .right, .leading, .trailing, .centerX, .leftMargin, .rightMargin, .leadingMargin, .trailingMargin, .centerXWithinMargins:
-                    return value.x
-                case .top, .bottom, .centerY, .topMargin, .bottomMargin, .centerYWithinMargins, .lastBaseline, .firstBaseline:
-                    return value.y
-                case .width, .height, .notAnAttribute:
-                    return 0.0
-                #if swift(>=5.0)
-                @unknown default:
-                    return 0.0
-                #endif
-            }
-            #else
-                switch layoutAttribute {
-                case .left, .right, .leading, .trailing, .centerX:
-                    return value.x
-                case .top, .bottom, .centerY, .lastBaseline, .firstBaseline:
-                    return value.y
-                case .width, .height, .notAnAttribute:
-                    return 0.0
-                #if swift(>=5.0)
-                @unknown default:
-                    return 0.0
-                #endif
-            }
-            #endif
-        }
-        
-        if let value = self as? ConstraintInsets {
-            #if canImport(UIKit)
-                switch layoutAttribute {
-                case .left, .leftMargin:
-                    return value.left
-                case .top, .topMargin, .firstBaseline:
-                    return value.top
-                case .right, .rightMargin:
-                    return -value.right
-                case .bottom, .bottomMargin, .lastBaseline:
-                    return -value.bottom
-                case .leading, .leadingMargin:
-                    return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.left : value.right
-                case .trailing, .trailingMargin:
-                    return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.right : -value.left
-                case .centerX, .centerXWithinMargins:
-                    return (value.left - value.right) / 2
-                case .centerY, .centerYWithinMargins:
-                    return (value.top - value.bottom) / 2
-                case .width:
-                    return -(value.left + value.right)
-                case .height:
-                    return -(value.top + value.bottom)
-                case .notAnAttribute:
-                    return 0.0
-                #if swift(>=5.0)
-                @unknown default:
-                    return 0.0
-                #endif
-            }
-            #else
-                switch layoutAttribute {
-                case .left:
-                    return value.left
-                case .top, .firstBaseline:
-                    return value.top
-                case .right:
-                    return -value.right
-                case .bottom, .lastBaseline:
-                    return -value.bottom
-                case .leading:
-                    return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.left : value.right
-                case .trailing:
-                    return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.right : -value.left
-                case .centerX:
-                    return (value.left - value.right) / 2
-                case .centerY:
-                    return (value.top - value.bottom) / 2
-                case .width:
-                    return -(value.left + value.right)
-                case .height:
-                    return -(value.top + value.bottom)
-                case .notAnAttribute:
-                    return 0.0
-                #if swift(>=5.0)
-                @unknown default:
-                    return 0.0
-                #endif
-            }
-            #endif
-        }
-        
-        #if canImport(UIKit)
-            if #available(iOS 11.0, tvOS 11.0, *), let value = self as? ConstraintDirectionalInsets {
-                switch layoutAttribute {
-                case .left, .leftMargin:
-                  return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.leading : value.trailing
-                case .top, .topMargin, .firstBaseline:
-                    return value.top
-                case .right, .rightMargin:
-                  return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.trailing : -value.leading
-                case .bottom, .bottomMargin, .lastBaseline:
-                    return -value.bottom
-                case .leading, .leadingMargin:
-                    return value.leading
-                case .trailing, .trailingMargin:
-                    return -value.trailing
-                case .centerX, .centerXWithinMargins:
-                    return (value.leading - value.trailing) / 2
-                case .centerY, .centerYWithinMargins:
-                    return (value.top - value.bottom) / 2
-                case .width:
-                    return -(value.leading + value.trailing)
-                case .height:
-                    return -(value.top + value.bottom)
-                case .notAnAttribute:
-                    return 0.0
-                #if swift(>=5.0)
-                @unknown default:
-                    return 0.0
-                #else
-                default:
-                    return 0.0
-                #endif
-                }
-            }
-        #endif
-
-        return 0.0
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintDSL.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintDSL.swift
deleted file mode 100644 (file)
index 5683b7f..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public protocol ConstraintDSL {
-    
-    var target: AnyObject? { get }
-    
-    func setLabel(_ value: String?)
-    func label() -> String?
-    
-}
-extension ConstraintDSL {
-    
-    public func setLabel(_ value: String?) {
-        objc_setAssociatedObject(self.target as Any, &labelKey, value, .OBJC_ASSOCIATION_COPY_NONATOMIC)
-    }
-    public func label() -> String? {
-        return objc_getAssociatedObject(self.target as Any, &labelKey) as? String
-    }
-    
-}
-private var labelKey: UInt8 = 0
-
-
-public protocol ConstraintBasicAttributesDSL : ConstraintDSL {
-}
-extension ConstraintBasicAttributesDSL {
-    
-    // MARK: Basics
-    
-    public var left: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.left)
-    }
-    
-    public var top: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top)
-    }
-    
-    public var right: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.right)
-    }
-    
-    public var bottom: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom)
-    }
-    
-    public var leading: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leading)
-    }
-    
-    public var trailing: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.trailing)
-    }
-    
-    public var width: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.width)
-    }
-    
-    public var height: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height)
-    }
-    
-    public var centerX: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerX)
-    }
-    
-    public var centerY: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerY)
-    }
-    
-    public var edges: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.edges)
-    }
-    
-    public var directionalEdges: ConstraintItem {
-      return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalEdges)
-    }
-
-    public var horizontalEdges: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.horizontalEdges)
-    }
-
-    public var verticalEdges: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.verticalEdges)
-    }
-
-    public var directionalHorizontalEdges: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalHorizontalEdges)
-    }
-
-    public var directionalVerticalEdges: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalVerticalEdges)
-    }
-
-    public var size: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.size)
-    }
-    
-    public var center: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.center)
-    }
-    
-}
-
-public protocol ConstraintAttributesDSL : ConstraintBasicAttributesDSL {
-}
-extension ConstraintAttributesDSL {
-    
-    // MARK: Baselines
-    @available(*, deprecated, renamed:"lastBaseline")
-    public var baseline: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.lastBaseline)
-    }
-    
-    @available(iOS 8.0, OSX 10.11, *)
-    public var lastBaseline: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.lastBaseline)
-    }
-    
-    @available(iOS 8.0, OSX 10.11, *)
-    public var firstBaseline: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.firstBaseline)
-    }
-    
-    // MARK: Margins
-    
-    @available(iOS 8.0, *)
-    public var leftMargin: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leftMargin)
-    }
-    
-    @available(iOS 8.0, *)
-    public var topMargin: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.topMargin)
-    }
-    
-    @available(iOS 8.0, *)
-    public var rightMargin: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.rightMargin)
-    }
-    
-    @available(iOS 8.0, *)
-    public var bottomMargin: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottomMargin)
-    }
-    
-    @available(iOS 8.0, *)
-    public var leadingMargin: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leadingMargin)
-    }
-    
-    @available(iOS 8.0, *)
-    public var trailingMargin: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.trailingMargin)
-    }
-    
-    @available(iOS 8.0, *)
-    public var centerXWithinMargins: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerXWithinMargins)
-    }
-    
-    @available(iOS 8.0, *)
-    public var centerYWithinMargins: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerYWithinMargins)
-    }
-    
-    @available(iOS 8.0, *)
-    public var margins: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.margins)
-    }
-    
-    @available(iOS 8.0, *)
-    public var directionalMargins: ConstraintItem {
-      return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalMargins)
-    }
-
-    @available(iOS 8.0, *)
-    public var centerWithinMargins: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerWithinMargins)
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintDescription.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintDescription.swift
deleted file mode 100644 (file)
index b9d476c..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public class ConstraintDescription {
-    
-    internal let item: LayoutConstraintItem
-    internal var attributes: ConstraintAttributes
-    internal var relation: ConstraintRelation? = nil
-    internal var sourceLocation: (String, UInt)? = nil
-    internal var label: String? = nil
-    internal var related: ConstraintItem? = nil
-    internal var multiplier: ConstraintMultiplierTarget = 1.0
-    internal var constant: ConstraintConstantTarget = 0.0
-    internal var priority: ConstraintPriorityTarget = 1000.0
-    internal lazy var constraint: Constraint? = {
-        guard let relation = self.relation,
-              let related = self.related,
-              let sourceLocation = self.sourceLocation else {
-            return nil
-        }
-        let from = ConstraintItem(target: self.item, attributes: self.attributes)
-        
-        return Constraint(
-            from: from,
-            to: related,
-            relation: relation,
-            sourceLocation: sourceLocation,
-            label: self.label,
-            multiplier: self.multiplier,
-            constant: self.constant,
-            priority: self.priority
-        )
-    }()
-    
-    // MARK: Initialization
-    
-    internal init(item: LayoutConstraintItem, attributes: ConstraintAttributes) {
-        self.item = item
-        self.attributes = attributes
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift
deleted file mode 100644 (file)
index 4c3c418..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-import UIKit
-#else
-import AppKit
-#endif
-
-#if canImport(UIKit)
-public protocol ConstraintDirectionalInsetTarget: ConstraintConstantTarget {
-}
-
-@available(iOS 11.0, tvOS 11.0, *)
-extension ConstraintDirectionalInsets: ConstraintDirectionalInsetTarget {
-}
-
-extension ConstraintDirectionalInsetTarget {
-
-  @available(iOS 11.0, tvOS 11.0, *)
-  internal var constraintDirectionalInsetTargetValue: ConstraintDirectionalInsets {
-    if let amount = self as? ConstraintDirectionalInsets {
-      return amount
-    } else {
-      return ConstraintDirectionalInsets(top: 0, leading: 0, bottom: 0, trailing: 0)
-    }
-  }
-}
-#endif
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift
deleted file mode 100644 (file)
index 056b5c8..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-#if canImport(UIKit)
-    @available(iOS 11.0, tvOS 11.0, *)
-    public typealias ConstraintDirectionalInsets = NSDirectionalEdgeInsets
-#endif
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintInsetTarget.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintInsetTarget.swift
deleted file mode 100644 (file)
index 43c0220..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public protocol ConstraintInsetTarget: ConstraintConstantTarget {
-}
-
-extension Int: ConstraintInsetTarget {
-}
-
-extension UInt: ConstraintInsetTarget {
-}
-
-extension Float: ConstraintInsetTarget {
-}
-
-extension Double: ConstraintInsetTarget {
-}
-
-extension CGFloat: ConstraintInsetTarget {
-}
-
-extension ConstraintInsets: ConstraintInsetTarget {
-}
-
-extension ConstraintInsetTarget {
-
-    internal var constraintInsetTargetValue: ConstraintInsets {
-        if let amount = self as? ConstraintInsets {
-            return amount
-        } else if let amount = self as? Float {
-            return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount))
-        } else if let amount = self as? Double {
-            return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount))
-        } else if let amount = self as? CGFloat {
-            return ConstraintInsets(top: amount, left: amount, bottom: amount, right: amount)
-        } else if let amount = self as? Int {
-            return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount))
-        } else if let amount = self as? UInt {
-            return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount))
-        } else {
-            return ConstraintInsets(top: 0, left: 0, bottom: 0, right: 0)
-        }
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintInsets.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintInsets.swift
deleted file mode 100644 (file)
index 64d781d..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-#if canImport(UIKit)
-    public typealias ConstraintInsets = UIEdgeInsets
-#else
-    public typealias ConstraintInsets = NSEdgeInsets
-#endif
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintItem.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintItem.swift
deleted file mode 100644 (file)
index 2f92221..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public final class ConstraintItem {
-    
-    internal weak var target: AnyObject?
-    internal let attributes: ConstraintAttributes
-    
-    internal init(target: AnyObject?, attributes: ConstraintAttributes) {
-        self.target = target
-        self.attributes = attributes
-    }
-    
-    internal var layoutConstraintItem: LayoutConstraintItem? {
-        return self.target as? LayoutConstraintItem
-    }
-    
-}
-
-public func ==(lhs: ConstraintItem, rhs: ConstraintItem) -> Bool {
-    // pointer equality
-    guard lhs !== rhs else {
-        return true
-    }
-    
-    // must both have valid targets and identical attributes
-    guard let target1 = lhs.target,
-          let target2 = rhs.target,
-          target1 === target2 && lhs.attributes == rhs.attributes else {
-            return false
-    }
-    
-    return true
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift
deleted file mode 100644 (file)
index e9fd9b3..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#endif
-    
-    
-@available(iOS 9.0, OSX 10.11, *)
-public extension ConstraintLayoutGuide {
-    
-    var snp: ConstraintLayoutGuideDSL {
-        return ConstraintLayoutGuideDSL(guide: self)
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift
deleted file mode 100644 (file)
index fd89556..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-#if canImport(UIKit)
-    @available(iOS 9.0, *)
-    public typealias ConstraintLayoutGuide = UILayoutGuide
-#else
-    @available(OSX 10.11, *)
-    public typealias ConstraintLayoutGuide = NSLayoutGuide
-#endif
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift
deleted file mode 100644 (file)
index 7e78261..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-@available(iOS 9.0, OSX 10.11, *)
-public struct ConstraintLayoutGuideDSL: ConstraintAttributesDSL {
-    
-    @discardableResult
-    public func prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] {
-        return ConstraintMaker.prepareConstraints(item: self.guide, closure: closure)
-    }
-    
-    public func makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
-        ConstraintMaker.makeConstraints(item: self.guide, closure: closure)
-    }
-    
-    public func remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
-        ConstraintMaker.remakeConstraints(item: self.guide, closure: closure)
-    }
-    
-    public func updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
-        ConstraintMaker.updateConstraints(item: self.guide, closure: closure)
-    }
-    
-    public func removeConstraints() {
-        ConstraintMaker.removeConstraints(item: self.guide)
-    }
-    
-    public var target: AnyObject? {
-        return self.guide
-    }
-    
-    internal let guide: ConstraintLayoutGuide
-    
-    internal init(guide: ConstraintLayoutGuide) {
-        self.guide = guide
-        
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift
deleted file mode 100644 (file)
index 085f5cd..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-#if canImport(UIKit)
-    @available(iOS 8.0, *)
-    public typealias ConstraintLayoutSupport = UILayoutSupport
-#else
-    public class ConstraintLayoutSupport {}
-#endif
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift
deleted file mode 100644 (file)
index 71e1158..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-@available(iOS 8.0, *)
-public struct ConstraintLayoutSupportDSL: ConstraintDSL {
-    
-    public var target: AnyObject? {
-        return self.support
-    }
-    
-    internal let support: ConstraintLayoutSupport
-    
-    internal init(support: ConstraintLayoutSupport) {
-        self.support = support
-        
-    }
-    
-    public var top: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top)
-    }
-    
-    public var bottom: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom)
-    }
-    
-    public var height: ConstraintItem {
-        return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMaker.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMaker.swift
deleted file mode 100644 (file)
index 7c352f6..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-public class ConstraintMaker {
-    
-    public var left: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.left)
-    }
-    
-    public var top: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.top)
-    }
-    
-    public var bottom: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.bottom)
-    }
-    
-    public var right: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.right)
-    }
-    
-    public var leading: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.leading)
-    }
-    
-    public var trailing: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.trailing)
-    }
-    
-    public var width: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.width)
-    }
-    
-    public var height: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.height)
-    }
-    
-    public var centerX: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.centerX)
-    }
-    
-    public var centerY: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.centerY)
-    }
-    
-    @available(*, deprecated, renamed:"lastBaseline")
-    public var baseline: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.lastBaseline)
-    }
-    
-    public var lastBaseline: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.lastBaseline)
-    }
-    
-    @available(iOS 8.0, OSX 10.11, *)
-    public var firstBaseline: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.firstBaseline)
-    }
-    
-    @available(iOS 8.0, *)
-    public var leftMargin: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.leftMargin)
-    }
-    
-    @available(iOS 8.0, *)
-    public var rightMargin: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.rightMargin)
-    }
-    
-    @available(iOS 8.0, *)
-    public var topMargin: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.topMargin)
-    }
-    
-    @available(iOS 8.0, *)
-    public var bottomMargin: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.bottomMargin)
-    }
-    
-    @available(iOS 8.0, *)
-    public var leadingMargin: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.leadingMargin)
-    }
-    
-    @available(iOS 8.0, *)
-    public var trailingMargin: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.trailingMargin)
-    }
-    
-    @available(iOS 8.0, *)
-    public var centerXWithinMargins: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.centerXWithinMargins)
-    }
-    
-    @available(iOS 8.0, *)
-    public var centerYWithinMargins: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.centerYWithinMargins)
-    }
-    
-    public var edges: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.edges)
-    }
-    public var horizontalEdges: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.horizontalEdges)
-    }
-    public var verticalEdges: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.verticalEdges)
-    }
-    public var directionalEdges: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.directionalEdges)
-    }
-    public var directionalHorizontalEdges: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.directionalHorizontalEdges)
-    }
-    public var directionalVerticalEdges: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.directionalVerticalEdges)
-    }
-    public var size: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.size)
-    }
-    public var center: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.center)
-    }
-    
-    @available(iOS 8.0, *)
-    public var margins: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.margins)
-    }
-    
-    @available(iOS 8.0, *)
-    public var directionalMargins: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.directionalMargins)
-    }
-
-    @available(iOS 8.0, *)
-    public var centerWithinMargins: ConstraintMakerExtendable {
-        return self.makeExtendableWithAttributes(.centerWithinMargins)
-    }
-    
-    public let item: LayoutConstraintItem
-    private var descriptions = [ConstraintDescription]()
-    
-    internal init(item: LayoutConstraintItem) {
-        self.item = item
-        self.item.prepare()
-    }
-    
-    internal func makeExtendableWithAttributes(_ attributes: ConstraintAttributes) -> ConstraintMakerExtendable {
-        let description = ConstraintDescription(item: self.item, attributes: attributes)
-        self.descriptions.append(description)
-        return ConstraintMakerExtendable(description)
-    }
-    
-    internal static func prepareConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] {
-        let maker = ConstraintMaker(item: item)
-        closure(maker)
-        var constraints: [Constraint] = []
-        for description in maker.descriptions {
-            guard let constraint = description.constraint else {
-                continue
-            }
-            constraints.append(constraint)
-        }
-        return constraints
-    }
-    
-    internal static func makeConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) {
-        let constraints = prepareConstraints(item: item, closure: closure)
-        for constraint in constraints {
-            constraint.activateIfNeeded(updatingExisting: false)
-        }
-    }
-    
-    internal static func remakeConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) {
-        self.removeConstraints(item: item)
-        self.makeConstraints(item: item, closure: closure)
-    }
-    
-    internal static func updateConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) {
-        guard item.constraints.count > 0 else {
-            self.makeConstraints(item: item, closure: closure)
-            return
-        }
-        
-        let constraints = prepareConstraints(item: item, closure: closure)
-        for constraint in constraints {
-            constraint.activateIfNeeded(updatingExisting: true)
-        }
-    }
-    
-    internal static func removeConstraints(item: LayoutConstraintItem) {
-        let constraints = item.constraints
-        for constraint in constraints {
-            constraint.deactivateIfNeeded()
-        }
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerEditable.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerEditable.swift
deleted file mode 100644 (file)
index 0e08e38..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public class ConstraintMakerEditable: ConstraintMakerPrioritizable {
-
-    @discardableResult
-    public func multipliedBy(_ amount: ConstraintMultiplierTarget) -> ConstraintMakerEditable {
-        self.description.multiplier = amount
-        return self
-    }
-    
-    @discardableResult
-    public func dividedBy(_ amount: ConstraintMultiplierTarget) -> ConstraintMakerEditable {
-        return self.multipliedBy(1.0 / amount.constraintMultiplierTargetValue)
-    }
-    
-    @discardableResult
-    public func offset(_ amount: ConstraintOffsetTarget) -> ConstraintMakerEditable {
-        self.description.constant = amount.constraintOffsetTargetValue
-        return self
-    }
-    
-    @discardableResult
-    public func inset(_ amount: ConstraintInsetTarget) -> ConstraintMakerEditable {
-        self.description.constant = amount.constraintInsetTargetValue
-        return self
-    }
-    
-    #if canImport(UIKit)
-    @discardableResult
-    @available(iOS 11.0, tvOS 11.0, *)
-    public func inset(_ amount: ConstraintDirectionalInsetTarget) -> ConstraintMakerEditable {
-        self.description.constant = amount.constraintDirectionalInsetTargetValue
-        return self
-    }
-    #endif
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift
deleted file mode 100644 (file)
index b30688e..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public class ConstraintMakerExtendable: ConstraintMakerRelatable {
-    
-    public var left: ConstraintMakerExtendable {
-        self.description.attributes += .left
-        return self
-    }
-    
-    public var top: ConstraintMakerExtendable {
-        self.description.attributes += .top
-        return self
-    }
-    
-    public var bottom: ConstraintMakerExtendable {
-        self.description.attributes += .bottom
-        return self
-    }
-    
-    public var right: ConstraintMakerExtendable {
-        self.description.attributes += .right
-        return self
-    }
-    
-    public var leading: ConstraintMakerExtendable {
-        self.description.attributes += .leading
-        return self
-    }
-    
-    public var trailing: ConstraintMakerExtendable {
-        self.description.attributes += .trailing
-        return self
-    }
-    
-    public var width: ConstraintMakerExtendable {
-        self.description.attributes += .width
-        return self
-    }
-    
-    public var height: ConstraintMakerExtendable {
-        self.description.attributes += .height
-        return self
-    }
-    
-    public var centerX: ConstraintMakerExtendable {
-        self.description.attributes += .centerX
-        return self
-    }
-    
-    public var centerY: ConstraintMakerExtendable {
-        self.description.attributes += .centerY
-        return self
-    }
-    
-    @available(*, deprecated, renamed:"lastBaseline")
-    public var baseline: ConstraintMakerExtendable {
-        self.description.attributes += .lastBaseline
-        return self
-    }
-    
-    public var lastBaseline: ConstraintMakerExtendable {
-        self.description.attributes += .lastBaseline
-        return self
-    }
-    
-    @available(iOS 8.0, OSX 10.11, *)
-    public var firstBaseline: ConstraintMakerExtendable {
-        self.description.attributes += .firstBaseline
-        return self
-    }
-    
-    @available(iOS 8.0, *)
-    public var leftMargin: ConstraintMakerExtendable {
-        self.description.attributes += .leftMargin
-        return self
-    }
-    
-    @available(iOS 8.0, *)
-    public var rightMargin: ConstraintMakerExtendable {
-        self.description.attributes += .rightMargin
-        return self
-    }
-    
-    @available(iOS 8.0, *)
-    public var topMargin: ConstraintMakerExtendable {
-        self.description.attributes += .topMargin
-        return self
-    }
-    
-    @available(iOS 8.0, *)
-    public var bottomMargin: ConstraintMakerExtendable {
-        self.description.attributes += .bottomMargin
-        return self
-    }
-    
-    @available(iOS 8.0, *)
-    public var leadingMargin: ConstraintMakerExtendable {
-        self.description.attributes += .leadingMargin
-        return self
-    }
-    
-    @available(iOS 8.0, *)
-    public var trailingMargin: ConstraintMakerExtendable {
-        self.description.attributes += .trailingMargin
-        return self
-    }
-    
-    @available(iOS 8.0, *)
-    public var centerXWithinMargins: ConstraintMakerExtendable {
-        self.description.attributes += .centerXWithinMargins
-        return self
-    }
-    
-    @available(iOS 8.0, *)
-    public var centerYWithinMargins: ConstraintMakerExtendable {
-        self.description.attributes += .centerYWithinMargins
-        return self
-    }
-    
-    public var edges: ConstraintMakerExtendable {
-        self.description.attributes += .edges
-        return self
-    }
-    public var horizontalEdges: ConstraintMakerExtendable {
-        self.description.attributes += .horizontalEdges
-        return self
-    }
-    public var verticalEdges: ConstraintMakerExtendable {
-        self.description.attributes += .verticalEdges
-        return self
-    }
-    public var directionalEdges: ConstraintMakerExtendable {
-        self.description.attributes += .directionalEdges
-        return self
-    }
-    public var directionalHorizontalEdges: ConstraintMakerExtendable {
-        self.description.attributes += .directionalHorizontalEdges
-        return self
-    }
-    public var directionalVerticalEdges: ConstraintMakerExtendable {
-        self.description.attributes += .directionalVerticalEdges
-        return self
-    }
-    public var size: ConstraintMakerExtendable {
-        self.description.attributes += .size
-        return self
-    }
-    
-    @available(iOS 8.0, *)
-    public var margins: ConstraintMakerExtendable {
-        self.description.attributes += .margins
-        return self
-    }
-    
-    @available(iOS 8.0, *)
-    public var directionalMargins: ConstraintMakerExtendable {
-      self.description.attributes += .directionalMargins
-      return self
-    }
-
-    @available(iOS 8.0, *)
-    public var centerWithinMargins: ConstraintMakerExtendable {
-        self.description.attributes += .centerWithinMargins
-        return self
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift
deleted file mode 100644 (file)
index 8342476..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public class ConstraintMakerFinalizable {
-    
-    internal let description: ConstraintDescription
-    
-    internal init(_ description: ConstraintDescription) {
-        self.description = description
-    }
-    
-    @discardableResult
-    public func labeled(_ label: String) -> ConstraintMakerFinalizable {
-        self.description.label = label
-        return self
-    }
-    
-    public var constraint: Constraint {
-        return self.description.constraint!
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift
deleted file mode 100644 (file)
index 05451e6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-@available(*, deprecated, message:"Use ConstraintMakerPrioritizable instead.")
-public typealias ConstraintMakerPriortizable = ConstraintMakerPrioritizable
-
-public class ConstraintMakerPrioritizable: ConstraintMakerFinalizable {
-    
-    @discardableResult
-    public func priority(_ amount: ConstraintPriority) -> ConstraintMakerFinalizable {
-        self.description.priority = amount.value
-        return self
-    }
-    
-    @discardableResult
-    public func priority(_ amount: ConstraintPriorityTarget) -> ConstraintMakerFinalizable {
-        self.description.priority = amount
-        return self
-    }
-    
-    @available(*, deprecated, message:"Use priority(.required) instead.")
-    @discardableResult
-    public func priorityRequired() -> ConstraintMakerFinalizable {
-        return self.priority(.required)
-    }
-    
-    @available(*, deprecated, message:"Use priority(.high) instead.")
-    @discardableResult
-    public func priorityHigh() -> ConstraintMakerFinalizable {
-        return self.priority(.high)
-    }
-    
-    @available(*, deprecated, message:"Use priority(.medium) instead.")
-    @discardableResult
-    public func priorityMedium() -> ConstraintMakerFinalizable {
-        return self.priority(.medium)
-    }
-    
-    @available(*, deprecated, message:"Use priority(.low) instead.")
-    @discardableResult
-    public func priorityLow() -> ConstraintMakerFinalizable {
-        return self.priority(.low)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift
deleted file mode 100644 (file)
index bfde272..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-extension ConstraintMakerRelatable {
-  
-    @discardableResult
-    public func equalToSuperview<T: ConstraintRelatableTarget>(_ closure: (ConstraintView) -> T, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable {
-        guard let other = self.description.item.superview else {
-            fatalError("Expected superview but found nil when attempting make constraint `equalToSuperview`.")
-        }
-        return self.relatedTo(closure(other), relation: .equal, file: file, line: line)
-    }
-  
-    @discardableResult
-    public func lessThanOrEqualToSuperview<T: ConstraintRelatableTarget>(_ closure: (ConstraintView) -> T, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable {
-        guard let other = self.description.item.superview else {
-            fatalError("Expected superview but found nil when attempting make constraint `lessThanOrEqualToSuperview`.")
-        }
-        return self.relatedTo(closure(other), relation: .lessThanOrEqual, file: file, line: line)
-    }
-  
-    @discardableResult
-    public func greaterThanOrEqualToSuperview<T: ConstraintRelatableTarget>(_ closure: (ConstraintView) -> T, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable {
-        guard let other = self.description.item.superview else {
-            fatalError("Expected superview but found nil when attempting make constraint `greaterThanOrEqualToSuperview`.")
-        }
-        return self.relatedTo(closure(other), relation: .greaterThanOrEqual, file: file, line: line)
-    }
-  
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift
deleted file mode 100644 (file)
index 0a3d5ee..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public class ConstraintMakerRelatable {
-    
-    internal let description: ConstraintDescription
-    
-    internal init(_ description: ConstraintDescription) {
-        self.description = description
-    }
-    
-    internal func relatedTo(_ other: ConstraintRelatableTarget, relation: ConstraintRelation, file: String, line: UInt) -> ConstraintMakerEditable {
-        let related: ConstraintItem
-        let constant: ConstraintConstantTarget
-        
-        if let other = other as? ConstraintItem {
-            guard other.attributes == ConstraintAttributes.none ||
-                  other.attributes.layoutAttributes.count <= 1 ||
-                  other.attributes.layoutAttributes == self.description.attributes.layoutAttributes ||
-                  other.attributes == .edges && self.description.attributes == .margins ||
-                  other.attributes == .margins && self.description.attributes == .edges ||
-                  other.attributes == .directionalEdges && self.description.attributes == .directionalMargins ||
-                  other.attributes == .directionalMargins && self.description.attributes == .directionalEdges else {
-                fatalError("Cannot constraint to multiple non identical attributes. (\(file), \(line))");
-            }
-            
-            related = other
-            constant = 0.0
-        } else if let other = other as? ConstraintView {
-            related = ConstraintItem(target: other, attributes: ConstraintAttributes.none)
-            constant = 0.0
-        } else if let other = other as? ConstraintConstantTarget {
-            related = ConstraintItem(target: nil, attributes: ConstraintAttributes.none)
-            constant = other
-        } else if #available(iOS 9.0, OSX 10.11, *), let other = other as? ConstraintLayoutGuide {
-            related = ConstraintItem(target: other, attributes: ConstraintAttributes.none)
-            constant = 0.0
-        } else {
-            fatalError("Invalid constraint. (\(file), \(line))")
-        }
-        
-        let editable = ConstraintMakerEditable(self.description)
-        editable.description.sourceLocation = (file, line)
-        editable.description.relation = relation
-        editable.description.related = related
-        editable.description.constant = constant
-        return editable
-    }
-    
-    @discardableResult
-    public func equalTo(_ other: ConstraintRelatableTarget, _ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable {
-        return self.relatedTo(other, relation: .equal, file: file, line: line)
-    }
-    
-    @discardableResult
-    public func equalToSuperview(_ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable {
-        guard let other = self.description.item.superview else {
-            fatalError("Expected superview but found nil when attempting make constraint `equalToSuperview`.")
-        }
-        return self.relatedTo(other, relation: .equal, file: file, line: line)
-    }
-    
-    @discardableResult
-    public func lessThanOrEqualTo(_ other: ConstraintRelatableTarget, _ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable {
-        return self.relatedTo(other, relation: .lessThanOrEqual, file: file, line: line)
-    }
-    
-    @discardableResult
-    public func lessThanOrEqualToSuperview(_ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable {
-        guard let other = self.description.item.superview else {
-            fatalError("Expected superview but found nil when attempting make constraint `lessThanOrEqualToSuperview`.")
-        }
-        return self.relatedTo(other, relation: .lessThanOrEqual, file: file, line: line)
-    }
-    
-    @discardableResult
-    public func greaterThanOrEqualTo(_ other: ConstraintRelatableTarget, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable {
-        return self.relatedTo(other, relation: .greaterThanOrEqual, file: file, line: line)
-    }
-    
-    @discardableResult
-    public func greaterThanOrEqualToSuperview(_ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable {
-        guard let other = self.description.item.superview else {
-            fatalError("Expected superview but found nil when attempting make constraint `greaterThanOrEqualToSuperview`.")
-        }
-        return self.relatedTo(other, relation: .greaterThanOrEqual, file: file, line: line)
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift
deleted file mode 100644 (file)
index ac537ba..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public protocol ConstraintMultiplierTarget {
-    
-    var constraintMultiplierTargetValue: CGFloat { get }
-    
-}
-
-extension Int: ConstraintMultiplierTarget {
-    
-    public var constraintMultiplierTargetValue: CGFloat {
-        return CGFloat(self)
-    }
-    
-}
-
-extension UInt: ConstraintMultiplierTarget {
-    
-    public var constraintMultiplierTargetValue: CGFloat {
-        return CGFloat(self)
-    }
-    
-}
-
-extension Float: ConstraintMultiplierTarget {
-    
-    public var constraintMultiplierTargetValue: CGFloat {
-        return CGFloat(self)
-    }
-    
-}
-
-extension Double: ConstraintMultiplierTarget {
-    
-    public var constraintMultiplierTargetValue: CGFloat {
-        return CGFloat(self)
-    }
-    
-}
-
-extension CGFloat: ConstraintMultiplierTarget {
-    
-    public var constraintMultiplierTargetValue: CGFloat {
-        return self
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift
deleted file mode 100644 (file)
index 6ec1107..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public protocol ConstraintOffsetTarget: ConstraintConstantTarget {
-}
-
-extension Int: ConstraintOffsetTarget {
-}
-
-extension UInt: ConstraintOffsetTarget {
-}
-
-extension Float: ConstraintOffsetTarget {
-}
-
-extension Double: ConstraintOffsetTarget {
-}
-
-extension CGFloat: ConstraintOffsetTarget {
-}
-
-extension ConstraintOffsetTarget {
-    
-    internal var constraintOffsetTargetValue: CGFloat {
-        let offset: CGFloat
-        if let amount = self as? Float {
-            offset = CGFloat(amount)
-        } else if let amount = self as? Double {
-            offset = CGFloat(amount)
-        } else if let amount = self as? CGFloat {
-            offset = CGFloat(amount)
-        } else if let amount = self as? Int {
-            offset = CGFloat(amount)
-        } else if let amount = self as? UInt {
-            offset = CGFloat(amount)
-        } else {
-            offset = 0.0
-        }
-        return offset
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintPriority.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintPriority.swift
deleted file mode 100644 (file)
index bf90693..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-public struct ConstraintPriority : ExpressibleByFloatLiteral, Equatable, Strideable {
-    public typealias FloatLiteralType = Float
-    
-    public let value: Float
-    
-    public init(floatLiteral value: Float) {
-        self.value = value
-    }
-    
-    public init(_ value: Float) {
-        self.value = value
-    }
-    
-    public static var required: ConstraintPriority {
-        return 1000.0
-    }
-    
-    public static var high: ConstraintPriority {
-        return 750.0
-    }
-    
-    public static var medium: ConstraintPriority {
-        #if os(OSX)
-            return 501.0
-        #else
-            return 500.0
-        #endif
-        
-    }
-    
-    public static var low: ConstraintPriority {
-        return 250.0
-    }
-    
-    public static func ==(lhs: ConstraintPriority, rhs: ConstraintPriority) -> Bool {
-        return lhs.value == rhs.value
-    }
-
-    // MARK: Strideable
-
-    public func advanced(by n: FloatLiteralType) -> ConstraintPriority {
-        return ConstraintPriority(floatLiteral: value + n)
-    }
-
-    public func distance(to other: ConstraintPriority) -> FloatLiteralType {
-        return other.value - value
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift
deleted file mode 100644 (file)
index 1aa701e..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public protocol ConstraintPriorityTarget {
-    
-    var constraintPriorityTargetValue: Float { get }
-    
-}
-
-extension Int: ConstraintPriorityTarget {
-    
-    public var constraintPriorityTargetValue: Float {
-        return Float(self)
-    }
-    
-}
-
-extension UInt: ConstraintPriorityTarget {
-    
-    public var constraintPriorityTargetValue: Float {
-        return Float(self)
-    }
-    
-}
-
-extension Float: ConstraintPriorityTarget {
-    
-    public var constraintPriorityTargetValue: Float {
-        return self
-    }
-    
-}
-
-extension Double: ConstraintPriorityTarget {
-    
-    public var constraintPriorityTargetValue: Float {
-        return Float(self)
-    }
-    
-}
-
-extension CGFloat: ConstraintPriorityTarget {
-    
-    public var constraintPriorityTargetValue: Float {
-        return Float(self)
-    }
-    
-}
-
-#if canImport(UIKit)
-extension UILayoutPriority: ConstraintPriorityTarget {
-
-    public var constraintPriorityTargetValue: Float {
-        return self.rawValue
-    }
-
-}
-#endif
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift
deleted file mode 100644 (file)
index df04464..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public protocol ConstraintRelatableTarget {
-}
-
-extension Int: ConstraintRelatableTarget {
-}
-
-extension UInt: ConstraintRelatableTarget {
-}
-
-extension Float: ConstraintRelatableTarget {
-}
-
-extension Double: ConstraintRelatableTarget {
-}
-
-extension CGFloat: ConstraintRelatableTarget {
-}
-
-extension CGSize: ConstraintRelatableTarget {
-}
-
-extension CGPoint: ConstraintRelatableTarget {
-}
-
-extension ConstraintInsets: ConstraintRelatableTarget {
-}
-
-#if canImport(UIKit)
-@available(iOS 11.0, tvOS 11.0, *)
-extension ConstraintDirectionalInsets: ConstraintRelatableTarget {
-}
-#endif
-
-extension ConstraintItem: ConstraintRelatableTarget {
-}
-
-extension ConstraintView: ConstraintRelatableTarget {
-}
-
-@available(iOS 9.0, OSX 10.11, *)
-extension ConstraintLayoutGuide: ConstraintRelatableTarget {
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintRelation.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintRelation.swift
deleted file mode 100644 (file)
index 643d499..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-internal enum ConstraintRelation : Int {
-    case equal = 1
-    case lessThanOrEqual
-    case greaterThanOrEqual
-    
-    internal var layoutRelation: LayoutRelation {
-        get {
-            switch(self) {
-            case .equal:
-                return .equal
-            case .lessThanOrEqual:
-                return .lessThanOrEqual
-            case .greaterThanOrEqual:
-                return .greaterThanOrEqual
-            }
-        }
-    }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintView+Extensions.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintView+Extensions.swift
deleted file mode 100644 (file)
index 1225c04..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public extension ConstraintView {
-    
-    @available(*, deprecated, renamed:"snp.left")
-    var snp_left: ConstraintItem { return self.snp.left }
-    
-    @available(*, deprecated, renamed:"snp.top")
-    var snp_top: ConstraintItem { return self.snp.top }
-    
-    @available(*, deprecated, renamed:"snp.right")
-    var snp_right: ConstraintItem { return self.snp.right }
-    
-    @available(*, deprecated, renamed:"snp.bottom")
-    var snp_bottom: ConstraintItem { return self.snp.bottom }
-    
-    @available(*, deprecated, renamed:"snp.leading")
-    var snp_leading: ConstraintItem { return self.snp.leading }
-    
-    @available(*, deprecated, renamed:"snp.trailing")
-    var snp_trailing: ConstraintItem { return self.snp.trailing }
-    
-    @available(*, deprecated, renamed:"snp.width")
-    var snp_width: ConstraintItem { return self.snp.width }
-    
-    @available(*, deprecated, renamed:"snp.height")
-    var snp_height: ConstraintItem { return self.snp.height }
-    
-    @available(*, deprecated, renamed:"snp.centerX")
-    var snp_centerX: ConstraintItem { return self.snp.centerX }
-    
-    @available(*, deprecated, renamed:"snp.centerY")
-    var snp_centerY: ConstraintItem { return self.snp.centerY }
-    
-    @available(*, deprecated, renamed:"snp.baseline")
-    var snp_baseline: ConstraintItem { return self.snp.baseline }
-    
-    @available(*, deprecated, renamed:"snp.lastBaseline")
-    @available(iOS 8.0, OSX 10.11, *)
-    var snp_lastBaseline: ConstraintItem { return self.snp.lastBaseline }
-    
-    @available(iOS, deprecated, renamed:"snp.firstBaseline")
-    @available(iOS 8.0, OSX 10.11, *)
-    var snp_firstBaseline: ConstraintItem { return self.snp.firstBaseline }
-    
-    @available(iOS, deprecated, renamed:"snp.leftMargin")
-    @available(iOS 8.0, *)
-    var snp_leftMargin: ConstraintItem { return self.snp.leftMargin }
-    
-    @available(iOS, deprecated, renamed:"snp.topMargin")
-    @available(iOS 8.0, *)
-    var snp_topMargin: ConstraintItem { return self.snp.topMargin }
-    
-    @available(iOS, deprecated, renamed:"snp.rightMargin")
-    @available(iOS 8.0, *)
-    var snp_rightMargin: ConstraintItem { return self.snp.rightMargin }
-    
-    @available(iOS, deprecated, renamed:"snp.bottomMargin")
-    @available(iOS 8.0, *)
-    var snp_bottomMargin: ConstraintItem { return self.snp.bottomMargin }
-    
-    @available(iOS, deprecated, renamed:"snp.leadingMargin")
-    @available(iOS 8.0, *)
-    var snp_leadingMargin: ConstraintItem { return self.snp.leadingMargin }
-    
-    @available(iOS, deprecated, renamed:"snp.trailingMargin")
-    @available(iOS 8.0, *)
-    var snp_trailingMargin: ConstraintItem { return self.snp.trailingMargin }
-    
-    @available(iOS, deprecated, renamed:"snp.centerXWithinMargins")
-    @available(iOS 8.0, *)
-    var snp_centerXWithinMargins: ConstraintItem { return self.snp.centerXWithinMargins }
-    
-    @available(iOS, deprecated, renamed:"snp.centerYWithinMargins")
-    @available(iOS 8.0, *)
-    var snp_centerYWithinMargins: ConstraintItem { return self.snp.centerYWithinMargins }
-    
-    @available(*, deprecated, renamed:"snp.edges")
-    var snp_edges: ConstraintItem { return self.snp.edges }
-    
-    @available(*, deprecated, renamed:"snp.size")
-    var snp_size: ConstraintItem { return self.snp.size }
-    
-    @available(*, deprecated, renamed:"snp.center")
-    var snp_center: ConstraintItem { return self.snp.center }
-    
-    @available(iOS, deprecated, renamed:"snp.margins")
-    @available(iOS 8.0, *)
-    var snp_margins: ConstraintItem { return self.snp.margins }
-    
-    @available(iOS, deprecated, renamed:"snp.centerWithinMargins")
-    @available(iOS 8.0, *)
-    var snp_centerWithinMargins: ConstraintItem { return self.snp.centerWithinMargins }
-    
-    @available(*, deprecated, renamed:"snp.prepareConstraints(_:)")
-    func snp_prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] {
-        return self.snp.prepareConstraints(closure)
-    }
-    
-    @available(*, deprecated, renamed:"snp.makeConstraints(_:)")
-    func snp_makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
-        self.snp.makeConstraints(closure)
-    }
-    
-    @available(*, deprecated, renamed:"snp.remakeConstraints(_:)")
-    func snp_remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
-        self.snp.remakeConstraints(closure)
-    }
-    
-    @available(*, deprecated, renamed:"snp.updateConstraints(_:)")
-    func snp_updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
-        self.snp.updateConstraints(closure)
-    }
-    
-    @available(*, deprecated, renamed:"snp.removeConstraints()")
-    func snp_removeConstraints() {
-        self.snp.removeConstraints()
-    }
-    
-    var snp: ConstraintViewDSL {
-        return ConstraintViewDSL(view: self)
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintView.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintView.swift
deleted file mode 100644 (file)
index 1203300..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-#if canImport(UIKit)
-    public typealias ConstraintView = UIView
-#else
-    public typealias ConstraintView = NSView
-#endif
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintViewDSL.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/ConstraintViewDSL.swift
deleted file mode 100644 (file)
index 8567e54..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public struct ConstraintViewDSL: ConstraintAttributesDSL {
-    
-    @discardableResult
-    public func prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] {
-        return ConstraintMaker.prepareConstraints(item: self.view, closure: closure)
-    }
-    
-    public func makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
-        ConstraintMaker.makeConstraints(item: self.view, closure: closure)
-    }
-    
-    public func remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
-        ConstraintMaker.remakeConstraints(item: self.view, closure: closure)
-    }
-    
-    public func updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
-        ConstraintMaker.updateConstraints(item: self.view, closure: closure)
-    }
-    
-    public func removeConstraints() {
-        ConstraintMaker.removeConstraints(item: self.view)
-    }
-    
-    public var contentHuggingHorizontalPriority: Float {
-        get {
-            return self.view.contentHuggingPriority(for: .horizontal).rawValue
-        }
-        nonmutating set {
-            self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .horizontal)
-        }
-    }
-    
-    public var contentHuggingVerticalPriority: Float {
-        get {
-            return self.view.contentHuggingPriority(for: .vertical).rawValue
-        }
-        nonmutating set {
-            self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .vertical)
-        }
-    }
-    
-    public var contentCompressionResistanceHorizontalPriority: Float {
-        get {
-            return self.view.contentCompressionResistancePriority(for: .horizontal).rawValue
-        }
-        nonmutating set {
-            self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .horizontal)
-        }
-    }
-    
-    public var contentCompressionResistanceVerticalPriority: Float {
-        get {
-            return self.view.contentCompressionResistancePriority(for: .vertical).rawValue
-        }
-        nonmutating set {
-            self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .vertical)
-        }
-    }
-    
-    public var target: AnyObject? {
-        return self.view
-    }
-    
-    internal let view: ConstraintView
-    
-    internal init(view: ConstraintView) {
-        self.view = view
-        
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/Debugging.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/Debugging.swift
deleted file mode 100644 (file)
index f4120b2..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-public extension LayoutConstraint {
-    
-    override var description: String {
-        var description = "<"
-        
-        description += descriptionForObject(self)
-        
-        if let firstItem = conditionalOptional(from: self.firstItem) {
-            description += " \(descriptionForObject(firstItem))"
-        }
-        
-        if self.firstAttribute != .notAnAttribute {
-            description += ".\(descriptionForAttribute(self.firstAttribute))"
-        }
-        
-        description += " \(descriptionForRelation(self.relation))"
-        
-        if let secondItem = self.secondItem {
-            description += " \(descriptionForObject(secondItem))"
-        }
-        
-        if self.secondAttribute != .notAnAttribute {
-            description += ".\(descriptionForAttribute(self.secondAttribute))"
-        }
-        
-        if self.multiplier != 1.0 {
-            description += " * \(self.multiplier)"
-        }
-        
-        if self.secondAttribute == .notAnAttribute {
-            description += " \(self.constant)"
-        } else {
-            if self.constant > 0.0 {
-                description += " + \(self.constant)"
-            } else if self.constant < 0.0 {
-                description += " - \(abs(self.constant))"
-            }
-        }
-        
-        if self.priority.rawValue != 1000.0 {
-            description += " ^\(self.priority)"
-        }
-        
-        description += ">"
-        
-        return description
-    }
-    
-}
-
-private func descriptionForRelation(_ relation: LayoutRelation) -> String {
-    switch relation {
-    case .equal:                return "=="
-    case .greaterThanOrEqual:   return ">="
-    case .lessThanOrEqual:      return "<="
-    #if swift(>=5.0)
-    @unknown default:           return "unknown"
-    #endif
-    }
-}
-
-private func descriptionForAttribute(_ attribute: LayoutAttribute) -> String {
-    #if canImport(UIKit)
-        switch attribute {
-        case .notAnAttribute:       return "notAnAttribute"
-        case .top:                  return "top"
-        case .left:                 return "left"
-        case .bottom:               return "bottom"
-        case .right:                return "right"
-        case .leading:              return "leading"
-        case .trailing:             return "trailing"
-        case .width:                return "width"
-        case .height:               return "height"
-        case .centerX:              return "centerX"
-        case .centerY:              return "centerY"
-        case .lastBaseline:         return "lastBaseline"
-        case .firstBaseline:        return "firstBaseline"
-        case .topMargin:            return "topMargin"
-        case .leftMargin:           return "leftMargin"
-        case .bottomMargin:         return "bottomMargin"
-        case .rightMargin:          return "rightMargin"
-        case .leadingMargin:        return "leadingMargin"
-        case .trailingMargin:       return "trailingMargin"
-        case .centerXWithinMargins: return "centerXWithinMargins"
-        case .centerYWithinMargins: return "centerYWithinMargins"
-        #if swift(>=5.0)
-        @unknown default:           return "unknown"
-        #endif
-    }
-    #else
-        switch attribute {
-        case .notAnAttribute:       return "notAnAttribute"
-        case .top:                  return "top"
-        case .left:                 return "left"
-        case .bottom:               return "bottom"
-        case .right:                return "right"
-        case .leading:              return "leading"
-        case .trailing:             return "trailing"
-        case .width:                return "width"
-        case .height:               return "height"
-        case .centerX:              return "centerX"
-        case .centerY:              return "centerY"
-        case .lastBaseline:         return "lastBaseline"
-        case .firstBaseline:        return "firstBaseline"
-        #if swift(>=5.0)
-        @unknown default:           return "unknown"
-        #endif
-    }
-    #endif
-}
-
-private func conditionalOptional<T>(from object: Optional<T>) -> Optional<T> {
-    return object
-}
-
-private func conditionalOptional<T>(from object: T) -> Optional<T> {
-    return Optional.some(object)
-}
-
-private func descriptionForObject(_ object: AnyObject) -> String {
-    let pointerDescription = String(format: "%p", UInt(bitPattern: ObjectIdentifier(object)))
-    var desc = ""
-    
-    desc += type(of: object).description()
-    
-    if let object = object as? ConstraintView {
-        desc += ":\(object.snp.label() ?? pointerDescription)"
-    } else if let object = object as? LayoutConstraint {
-        desc += ":\(object.label ?? pointerDescription)"
-    } else {
-        desc += ":\(pointerDescription)"
-    }
-    
-    if let object = object as? LayoutConstraint, let file = object.constraint?.sourceLocation.0, let line = object.constraint?.sourceLocation.1 {
-        desc += "@\((file as NSString).lastPathComponent)#\(line)"
-    }
-    
-    desc += ""
-    return desc
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/LayoutConstraint.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/LayoutConstraint.swift
deleted file mode 100644 (file)
index 607616d..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public class LayoutConstraint : NSLayoutConstraint {
-    
-    public var label: String? {
-        get {
-            return self.identifier
-        }
-        set {
-            self.identifier = newValue
-        }
-    }
-    
-    internal weak var constraint: Constraint? = nil
-    
-}
-
-internal func ==(lhs: LayoutConstraint, rhs: LayoutConstraint) -> Bool {
-    // If firstItem or secondItem on either constraint has a dangling pointer
-    // this comparison can cause a crash. The solution for this is to ensure
-    // your layout code hold strong references to things like Views, LayoutGuides
-    // and LayoutAnchors as SnapKit will not keep strong references to any of these.
-    guard lhs.firstAttribute == rhs.firstAttribute &&
-          lhs.secondAttribute == rhs.secondAttribute &&
-          lhs.relation == rhs.relation &&
-          lhs.priority == rhs.priority &&
-          lhs.multiplier == rhs.multiplier &&
-          lhs.secondItem === rhs.secondItem &&
-          lhs.firstItem === rhs.firstItem else {
-        return false
-    }
-    return true
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/LayoutConstraintItem.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/LayoutConstraintItem.swift
deleted file mode 100644 (file)
index 4f41b5d..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#else
-    import AppKit
-#endif
-
-
-public protocol LayoutConstraintItem: AnyObject {
-}
-
-@available(iOS 9.0, OSX 10.11, *)
-extension ConstraintLayoutGuide : LayoutConstraintItem {
-}
-
-extension ConstraintView : LayoutConstraintItem {
-}
-
-
-extension LayoutConstraintItem {
-    
-    internal func prepare() {
-        if let view = self as? ConstraintView {
-            view.translatesAutoresizingMaskIntoConstraints = false
-        }
-    }
-    
-    internal var superview: ConstraintView? {
-        if let view = self as? ConstraintView {
-            return view.superview
-        }
-        
-        if #available(iOS 9.0, OSX 10.11, *), let guide = self as? ConstraintLayoutGuide {
-            return guide.owningView
-        }
-        
-        return nil
-    }
-    internal var constraints: [Constraint] {
-        return self.constraintsSet.allObjects as! [Constraint]
-    }
-    
-    internal func add(constraints: [Constraint]) {
-        let constraintsSet = self.constraintsSet
-        for constraint in constraints {
-            constraintsSet.add(constraint)
-        }
-    }
-    
-    internal func remove(constraints: [Constraint]) {
-        let constraintsSet = self.constraintsSet
-        for constraint in constraints {
-            constraintsSet.remove(constraint)
-        }
-    }
-    
-    private var constraintsSet: NSMutableSet {
-        let constraintsSet: NSMutableSet
-        
-        if let existing = objc_getAssociatedObject(self, &constraintsKey) as? NSMutableSet {
-            constraintsSet = existing
-        } else {
-            constraintsSet = NSMutableSet()
-            objc_setAssociatedObject(self, &constraintsKey, constraintsSet, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-        }
-        return constraintsSet
-        
-    }
-    
-}
-private var constraintsKey: UInt8 = 0
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/PrivacyInfo.xcprivacy b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/PrivacyInfo.xcprivacy
deleted file mode 100644 (file)
index e540750..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>NSPrivacyTracking</key>
-       <false/>
-       <key>NSPrivacyAccessedAPITypes</key>
-       <array/>
-       <key>NSPrivacyCollectedDataTypes</key>
-       <array/>
-       <key>NSPrivacyTrackingDomains</key>
-       <array/>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/Typealiases.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/Typealiases.swift
deleted file mode 100644 (file)
index c0e6982..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-import Foundation
-
-#if canImport(UIKit)
-    import UIKit
-#if swift(>=4.2)
-    typealias LayoutRelation = NSLayoutConstraint.Relation
-    typealias LayoutAttribute = NSLayoutConstraint.Attribute
-#else
-    typealias LayoutRelation = NSLayoutRelation
-    typealias LayoutAttribute = NSLayoutAttribute
-#endif
-    typealias LayoutPriority = UILayoutPriority
-#else
-    import AppKit
-    typealias LayoutRelation = NSLayoutConstraint.Relation
-    typealias LayoutAttribute = NSLayoutConstraint.Attribute
-    typealias LayoutPriority = NSLayoutConstraint.Priority
-#endif
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift
deleted file mode 100644 (file)
index 801cc3c..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  SnapKit
-//
-//  Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#if canImport(UIKit)
-    import UIKit
-#endif
-
-    
-@available(iOS 8.0, *)
-public extension ConstraintLayoutSupport {
-    
-    var snp: ConstraintLayoutSupportDSL {
-        return ConstraintLayoutSupportDSL(support: self)
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/LICENSE b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/LICENSE
deleted file mode 100644 (file)
index 032b206..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-BSD License
-
-For SocketRocket software
-
-Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
-
- * Neither the name Facebook nor the names of its contributors may be used to
-   endorse or promote products derived from this software without specific
-   prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/LICENSE-examples b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/LICENSE-examples
deleted file mode 100644 (file)
index 1de7813..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
-
-The examples provided by Facebook are for non-commercial testing and evaluation
-purposes only. Facebook reserves all rights not expressly granted.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/README.md b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/README.md
deleted file mode 100644 (file)
index 7806a7e..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-# SocketRocket
-
-![Platforms][platforms-svg]
-[![License][license-svg]][license-link]
-
-[![Podspec][podspec-svg]][podspec-link]
-[![Carthage Compatible][carthage-svg]](carthage-link)
-
-[![Build Status][build-status-svg]][build-status-link]
-
-A conforming WebSocket ([RFC 6455](https://tools.ietf.org/html/rfc6455>)) client library for iOS, macOS and tvOS.
-
-Test results for SocketRocket [here](http://facebook.github.io/SocketRocket/results/).
-You can compare to what modern browsers look like [here](http://autobahn.ws/testsuite/reports/clients/index.html).
-
-SocketRocket currently conforms to all core ~300 of [Autobahn](http://autobahn.ws/testsuite/>)'s fuzzing tests 
-(aside from two UTF-8 ones where it is merely *non-strict* tests 6.4.2 and 6.4.4).
-
-## Features/Design
-
-- TLS (wss) support, including self-signed certificates.
-- Seems to perform quite well.
-- Supports HTTP Proxies.
-- Supports IPv4/IPv6.
-- Supports SSL certificate pinning.
-- Sends `ping` and can process `pong` events.
-- Asynchronous and non-blocking. Most of the work is done on a background thread.
-- Supports iOS, macOS, tvOS.
-
-## Installing
-
-There are a few options. Choose one, or just figure it out:
-
-- **[CocoaPods](https://cocoapods.org)**
-
- Add the following line to your Podfile:
- ```ruby
- pod 'SocketRocket'
- ```
- Run `pod install`, and you are all set.
-  
-- **[Carthage](https://github.com/carthage/carthage)**
-
- Add the following line to your Cartfile:
- ```
- github "facebook/SocketRocket"
- ```
- Run `carthage update`, and you should now have the latest version of `SocketRocket` in your `Carthage` folder.
-
-- **Using SocketRocket as a sub-project**
-
-  You can also include `SocketRocket` as a subproject inside of your application if you'd prefer, although we do not recommend this, as it will increase your indexing time significantly. To do so, just drag and drop the `SocketRocket.xcodeproj` file into your workspace.
-
-## API
-
-### `SRWebSocket`
-
-The Web Socket.
-
-#### Note:
-
-`SRWebSocket` will retain itself between `-(void)open` and when it closes, errors, or fails.
-This is similar to how `NSURLConnection` behaves (unlike `NSURLConnection`, `SRWebSocket` won't retain the delegate).
-
-#### Interface
-
-```objective-c
-@interface SRWebSocket : NSObject
-
-// Make it with this
-- (instancetype)initWithURLRequest:(NSURLRequest *)request;
-
-// Set this before opening
-@property (nonatomic, weak) id <SRWebSocketDelegate> delegate;
-
-// Open with this
-- (void)open;
-
-// Close it with this
-- (void)close;
-
-// Send a Data
-- (void)sendData:(nullable NSData *)data error:(NSError **)error;
-
-// Send a UTF8 String
-- (void)sendString:(NSString *)string error:(NSError **)error;
-
-@end
-```
-
-### `SRWebSocketDelegate`
-
-You implement this
-
-```objective-c
-@protocol SRWebSocketDelegate <NSObject>
-
-@optional
-
-- (void)webSocketDidOpen:(SRWebSocket *)webSocket;
-
-- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessageWithString:(NSString *)string;
-- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessageWithData:(NSData *)data;
-
-- (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error;
-- (void)webSocket:(SRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(nullable NSString *)reason wasClean:(BOOL)wasClean;
-
-@end
-```
-
-## Testing
-
-Included are setup scripts for the python testing environment.
-It comes packaged with vitualenv so all the dependencies are installed in userland.
-
-To run the short test from the command line, run:
-```bash
-  make test
-```
-
-To run all the tests, run:
-```bash
-  make test_all
-```
-
-The short tests don't include the performance tests
-(the test harness is actually the bottleneck, not SocketRocket).
-
-The first time this is run, it may take a while to install the dependencies. It will be smooth sailing after that. 
-
-You can also run tests inside Xcode, which runs the same thing, but makes it easier to debug.
-
-- Choose the `SocketRocketTests` target
-- Make sure your running destination is either your Mac or any Simulator
-- Run the test action (`⌘+U`)
-
-### TestChat Demo Application
-
-SocketRocket includes a demo app, TestChat.
-It will "chat" with a listening websocket on port 9900.
-
-#### TestChat Server
-
-The sever takes a message and broadcasts it to all other connected clients.
-
-It requires some dependencies though to run. 
-We also want to reuse the virtualenv we made when we ran the tests. 
-If you haven't run the tests yet, go into the SocketRocket root directory and type:
-
-```bash
-make test
-```
-
-This will set up your [virtualenv](https://pypi.python.org/pypi/virtualenv).
-
-Now, in your terminal:
-
-```bash
-source .env/bin/activate
-pip install git+https://github.com/tornadoweb/tornado.git
-```
-
-In the same terminal session, start the chatroom server:
-
-```bash
-python TestChatServer/py/chatroom.py
-```
-
-There's also a Go implementation (with the latest weekly) where you can:
-
-```bash
-cd TestChatServer/go
-go run chatroom.go
-```
-
-#### Chatting
-
-Now, start TestChat.app (just run the target in the Xcode project).
-If you had it started already you can hit the refresh button to reconnect.
-It should say "Connected!" on top.
-
-To talk with the app, open up your browser to [http://localhost:9000](http://localhost:9000) and start chatting.
-
-
-## WebSocket Server Implementation Recommendations
-
-SocketRocket has been used with the following libraries:
-
-- [Tornado](https://github.com/tornadoweb/tornado)
-- Go's [WebSocket package](https://godoc.org/golang.org/x/net/websocket) or Gorilla's [version](http://www.gorillatoolkit.org/pkg/websocket).
-- [Autobahn](http://autobahn.ws/testsuite/) (using its fuzzing client).
-
-The Tornado one is dirt simple and works like a charm. 
-([IPython notebook](http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html) uses it too).
-It's much easier to configure handlers and routes than in Autobahn/twisted.
-
-## Contributing
-
-We’re glad you’re interested in SocketRocket, and we’d love to see where you take it. 
-Please read our [contributing guidelines](https://github.com/facebook/SocketRocket/blob/master/CONTRIBUTING.md) prior to submitting a Pull Request.
-
- [build-status-svg]: https://img.shields.io/travis/facebook/SocketRocket/master.svg
- [build-status-link]: https://travis-ci.org/facebook/SocketRocket/branches
-
- [license-svg]: https://img.shields.io/badge/license-BSD-lightgrey.svg
- [license-link]: https://github.com/facebook/SocketRocket/blob/master/LICENSE
-
- [podspec-svg]: https://img.shields.io/cocoapods/v/SocketRocket.svg
- [podspec-link]: https://cocoapods.org/pods/SocketRocket
- 
- [carthage-svg]: https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat
- [carthage-link]: https://github.com/carthage/carthage
-
- [platforms-svg]: http://img.shields.io/cocoapods/p/SocketRocket.svg?style=flat
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Delegate/SRDelegateController.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Delegate/SRDelegateController.h
deleted file mode 100644 (file)
index 43634a1..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-#import <SocketRocket/SRWebSocket.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-#if OBJC_BOOL_IS_BOOL
-
-struct SRDelegateAvailableMethods {
-    BOOL didReceiveMessage : 1;
-    BOOL didReceiveMessageWithString : 1;
-    BOOL didReceiveMessageWithData : 1;
-    BOOL didOpen : 1;
-    BOOL didFailWithError : 1;
-    BOOL didCloseWithCode : 1;
-    BOOL didReceivePing : 1;
-    BOOL didReceivePong : 1;
-    BOOL shouldConvertTextFrameToString : 1;
-};
-
-#else
-
-struct SRDelegateAvailableMethods {
-    BOOL didReceiveMessage;
-    BOOL didReceiveMessageWithString;
-    BOOL didReceiveMessageWithData;
-    BOOL didOpen;
-    BOOL didFailWithError;
-    BOOL didCloseWithCode;
-    BOOL didReceivePing;
-    BOOL didReceivePong;
-    BOOL shouldConvertTextFrameToString;
-};
-
-#endif
-
-typedef struct SRDelegateAvailableMethods SRDelegateAvailableMethods;
-
-typedef void(^SRDelegateBlock)(id<SRWebSocketDelegate> _Nullable delegate, SRDelegateAvailableMethods availableMethods);
-
-@interface SRDelegateController : NSObject
-
-@property (nonatomic, weak) id<SRWebSocketDelegate> delegate;
-@property (atomic, readonly) SRDelegateAvailableMethods availableDelegateMethods;
-
-@property (nullable, nonatomic, strong) dispatch_queue_t dispatchQueue;
-@property (nullable, nonatomic, strong) NSOperationQueue *operationQueue;
-
-///--------------------------------------
-#pragma mark - Perform
-///--------------------------------------
-
-- (void)performDelegateBlock:(SRDelegateBlock)block;
-- (void)performDelegateQueueBlock:(dispatch_block_t)block;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Delegate/SRDelegateController.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Delegate/SRDelegateController.m
deleted file mode 100644 (file)
index f20c9d5..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRDelegateController.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface SRDelegateController ()
-
-@property (nonatomic, strong, readonly) dispatch_queue_t accessQueue;
-
-@property (atomic, assign, readwrite) SRDelegateAvailableMethods availableDelegateMethods;
-
-@end
-
-@implementation SRDelegateController
-
-@synthesize delegate = _delegate;
-@synthesize dispatchQueue = _dispatchQueue;
-@synthesize operationQueue = _operationQueue;
-
-///--------------------------------------
-#pragma mark - Init
-///--------------------------------------
-
-- (instancetype)init
-{
-    self = [super init];
-    if (!self) return self;
-
-    _accessQueue = dispatch_queue_create("com.facebook.socketrocket.delegate.access", DISPATCH_QUEUE_CONCURRENT);
-    _dispatchQueue = dispatch_get_main_queue();
-
-    return self;
-}
-
-///--------------------------------------
-#pragma mark - Accessors
-///--------------------------------------
-
-- (void)setDelegate:(id<SRWebSocketDelegate> _Nullable)delegate
-{
-    dispatch_barrier_async(self.accessQueue, ^{
-        self->_delegate = delegate;
-
-        self.availableDelegateMethods = (SRDelegateAvailableMethods){
-            .didReceiveMessage = [delegate respondsToSelector:@selector(webSocket:didReceiveMessage:)],
-            .didReceiveMessageWithString = [delegate respondsToSelector:@selector(webSocket:didReceiveMessageWithString:)],
-            .didReceiveMessageWithData = [delegate respondsToSelector:@selector(webSocket:didReceiveMessageWithData:)],
-            .didOpen = [delegate respondsToSelector:@selector(webSocketDidOpen:)],
-            .didFailWithError = [delegate respondsToSelector:@selector(webSocket:didFailWithError:)],
-            .didCloseWithCode = [delegate respondsToSelector:@selector(webSocket:didCloseWithCode:reason:wasClean:)],
-            .didReceivePing = [delegate respondsToSelector:@selector(webSocket:didReceivePingWithData:)],
-            .didReceivePong = [delegate respondsToSelector:@selector(webSocket:didReceivePong:)],
-            .shouldConvertTextFrameToString = [delegate respondsToSelector:@selector(webSocketShouldConvertTextFrameToString:)]
-        };
-    });
-}
-
-- (id<SRWebSocketDelegate> _Nullable)delegate
-{
-    __block id<SRWebSocketDelegate> delegate = nil;
-    dispatch_sync(self.accessQueue, ^{
-        delegate = self->_delegate;
-    });
-    return delegate;
-}
-
-- (void)setDispatchQueue:(dispatch_queue_t _Nullable)queue
-{
-    dispatch_barrier_async(self.accessQueue, ^{
-        self->_dispatchQueue = queue ?: dispatch_get_main_queue();
-        self->_operationQueue = nil;
-    });
-}
-
-- (dispatch_queue_t _Nullable)dispatchQueue
-{
-    __block dispatch_queue_t queue = nil;
-    dispatch_sync(self.accessQueue, ^{
-        queue = self->_dispatchQueue;
-    });
-    return queue;
-}
-
-- (void)setOperationQueue:(NSOperationQueue *_Nullable)queue
-{
-    dispatch_barrier_async(self.accessQueue, ^{
-        self->_dispatchQueue = queue ? nil : dispatch_get_main_queue();
-        self->_operationQueue = queue;
-    });
-}
-
-- (NSOperationQueue *_Nullable)operationQueue
-{
-    __block NSOperationQueue *queue = nil;
-    dispatch_sync(self.accessQueue, ^{
-        queue = self->_operationQueue;
-    });
-    return queue;
-}
-
-///--------------------------------------
-#pragma mark - Perform
-///--------------------------------------
-
-- (void)performDelegateBlock:(SRDelegateBlock)block
-{
-    __block __strong id<SRWebSocketDelegate> delegate = nil;
-    __block SRDelegateAvailableMethods availableMethods;
-    dispatch_sync(self.accessQueue, ^{
-        delegate = self->_delegate; // Not `OK` to go through `self`, since queue sync.
-        availableMethods = self.availableDelegateMethods; // `OK` to call through `self`, since no queue sync.
-    });
-    [self performDelegateQueueBlock:^{
-        block(delegate, availableMethods);
-    }];
-}
-
-- (void)performDelegateQueueBlock:(dispatch_block_t)block
-{
-    dispatch_queue_t dispatchQueue = self.dispatchQueue;
-    if (dispatchQueue) {
-        dispatch_async(dispatchQueue, block);
-    } else {
-        [self.operationQueue addOperationWithBlock:block];
-    }
-}
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/IOConsumer/SRIOConsumer.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/IOConsumer/SRIOConsumer.h
deleted file mode 100644 (file)
index 6b02a3b..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// Copyright 2012 Square Inc.
-// Portions Copyright (c) 2016-present, Facebook, Inc.
-//
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-@class SRWebSocket; // TODO: (nlutsenko) Remove dependency on SRWebSocket here.
-
-// Returns number of bytes consumed. Returning 0 means you didn't match.
-// Sends bytes to callback handler;
-typedef size_t (^stream_scanner)(NSData *collected_data);
-typedef void (^data_callback)(SRWebSocket *webSocket,  NSData *data);
-
-@interface SRIOConsumer : NSObject {
-    stream_scanner _scanner;
-    data_callback _handler;
-    size_t _bytesNeeded;
-    BOOL _readToCurrentFrame;
-    BOOL _unmaskBytes;
-}
-@property (nonatomic, copy, readonly) stream_scanner consumer;
-@property (nonatomic, copy, readonly) data_callback handler;
-@property (nonatomic, assign) size_t bytesNeeded;
-@property (nonatomic, assign, readonly) BOOL readToCurrentFrame;
-@property (nonatomic, assign, readonly) BOOL unmaskBytes;
-
-- (void)resetWithScanner:(stream_scanner)scanner
-                 handler:(data_callback)handler
-             bytesNeeded:(size_t)bytesNeeded
-      readToCurrentFrame:(BOOL)readToCurrentFrame
-             unmaskBytes:(BOOL)unmaskBytes;
-
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/IOConsumer/SRIOConsumer.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/IOConsumer/SRIOConsumer.m
deleted file mode 100644 (file)
index 8b17e3e..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// Copyright 2012 Square Inc.
-// Portions Copyright (c) 2016-present, Facebook, Inc.
-//
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRIOConsumer.h"
-
-@implementation SRIOConsumer
-
-@synthesize bytesNeeded = _bytesNeeded;
-@synthesize consumer = _scanner;
-@synthesize handler = _handler;
-@synthesize readToCurrentFrame = _readToCurrentFrame;
-@synthesize unmaskBytes = _unmaskBytes;
-
-- (void)resetWithScanner:(stream_scanner)scanner
-                 handler:(data_callback)handler
-             bytesNeeded:(size_t)bytesNeeded
-      readToCurrentFrame:(BOOL)readToCurrentFrame
-             unmaskBytes:(BOOL)unmaskBytes
-{
-    _scanner = [scanner copy];
-    _handler = [handler copy];
-    _bytesNeeded = bytesNeeded;
-    _readToCurrentFrame = readToCurrentFrame;
-    _unmaskBytes = unmaskBytes;
-    assert(_scanner || _bytesNeeded);
-}
-
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/IOConsumer/SRIOConsumerPool.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/IOConsumer/SRIOConsumerPool.h
deleted file mode 100644 (file)
index 1e7ad32..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-//
-// Copyright 2012 Square Inc.
-// Portions Copyright (c) 2016-present, Facebook, Inc.
-//
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-#import "SRIOConsumer.h" // TODO: (nlutsenko) Convert to @class and constants file for block types
-
-// This class is not thread-safe, and is expected to always be run on the same queue.
-@interface SRIOConsumerPool : NSObject
-
-- (instancetype)initWithBufferCapacity:(NSUInteger)poolSize;
-
-- (SRIOConsumer *)consumerWithScanner:(stream_scanner)scanner
-                              handler:(data_callback)handler
-                          bytesNeeded:(size_t)bytesNeeded
-                   readToCurrentFrame:(BOOL)readToCurrentFrame
-                          unmaskBytes:(BOOL)unmaskBytes;
-- (void)returnConsumer:(SRIOConsumer *)consumer;
-
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/IOConsumer/SRIOConsumerPool.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/IOConsumer/SRIOConsumerPool.m
deleted file mode 100644 (file)
index 33a4af9..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-// Copyright 2012 Square Inc.
-// Portions Copyright (c) 2016-present, Facebook, Inc.
-//
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRIOConsumerPool.h"
-
-@implementation SRIOConsumerPool {
-    NSUInteger _poolSize;
-    NSMutableArray<SRIOConsumer *> *_bufferedConsumers;
-}
-
-- (instancetype)initWithBufferCapacity:(NSUInteger)poolSize
-{
-    self = [super init];
-    if (self) {
-        _poolSize = poolSize;
-        _bufferedConsumers = [NSMutableArray arrayWithCapacity:poolSize];
-    }
-    return self;
-}
-
-- (instancetype)init
-{
-    return [self initWithBufferCapacity:8];
-}
-
-- (SRIOConsumer *)consumerWithScanner:(stream_scanner)scanner
-                              handler:(data_callback)handler
-                          bytesNeeded:(size_t)bytesNeeded
-                   readToCurrentFrame:(BOOL)readToCurrentFrame
-                          unmaskBytes:(BOOL)unmaskBytes
-{
-    SRIOConsumer *consumer = nil;
-    if (_bufferedConsumers.count) {
-        consumer = [_bufferedConsumers lastObject];
-        [_bufferedConsumers removeLastObject];
-    } else {
-        consumer = [[SRIOConsumer alloc] init];
-    }
-
-    [consumer resetWithScanner:scanner
-                       handler:handler
-                   bytesNeeded:bytesNeeded
-            readToCurrentFrame:readToCurrentFrame
-                   unmaskBytes:unmaskBytes];
-
-    return consumer;
-}
-
-- (void)returnConsumer:(SRIOConsumer *)consumer
-{
-    if (_bufferedConsumers.count < _poolSize) {
-        [_bufferedConsumers addObject:consumer];
-    }
-}
-
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/NSRunLoop+SRWebSocketPrivate.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/NSRunLoop+SRWebSocketPrivate.h
deleted file mode 100644 (file)
index 098f7a8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <SocketRocket/NSRunLoop+SRWebSocket.h>
-
-// Empty function that force links the object file for the category.
-extern void import_NSRunLoop_SRWebSocket(void);
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/NSURLRequest+SRWebSocketPrivate.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/NSURLRequest+SRWebSocketPrivate.h
deleted file mode 100644 (file)
index b09dde4..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <SocketRocket/NSURLRequest+SRWebSocket.h>
-
-// Empty function that force links the object file for the category.
-extern void import_NSURLRequest_SRWebSocket(void);
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Proxy/SRProxyConnect.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Proxy/SRProxyConnect.h
deleted file mode 100644 (file)
index e947c48..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-typedef void(^SRProxyConnectCompletion)(NSError *_Nullable error,
-                                        NSInputStream *_Nullable readStream,
-                                        NSOutputStream *_Nullable writeStream);
-
-@interface SRProxyConnect : NSObject
-
-- (instancetype)initWithURL:(NSURL *)url;
-
-- (void)openNetworkStreamWithCompletion:(SRProxyConnectCompletion)completion;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Proxy/SRProxyConnect.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Proxy/SRProxyConnect.m
deleted file mode 100644 (file)
index cce5844..0000000
+++ /dev/null
@@ -1,481 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRProxyConnect.h"
-
-#import "NSRunLoop+SRWebSocket.h"
-#import "SRConstants.h"
-#import "SRError.h"
-#import "SRLog.h"
-#import "SRURLUtilities.h"
-
-@interface SRProxyConnect() <NSStreamDelegate>
-
-@property (nonatomic, strong) NSURL *url;
-@property (nonatomic, strong) NSInputStream *inputStream;
-@property (nonatomic, strong) NSOutputStream *outputStream;
-
-@end
-
-@implementation SRProxyConnect
-{
-    SRProxyConnectCompletion _completion;
-
-    NSString *_httpProxyHost;
-    uint32_t _httpProxyPort;
-
-    CFHTTPMessageRef _receivedHTTPHeaders;
-
-    NSString *_socksProxyHost;
-    uint32_t _socksProxyPort;
-    NSString *_socksProxyUsername;
-    NSString *_socksProxyPassword;
-
-    BOOL _connectionRequiresSSL;
-
-    NSMutableArray<NSData *> *_inputQueue;
-    dispatch_queue_t _writeQueue;
-}
-
-///--------------------------------------
-#pragma mark - Init
-///--------------------------------------
-
--(instancetype)initWithURL:(NSURL *)url
-{
-    self = [super init];
-    if (!self) return self;
-
-    _url = url;
-    _connectionRequiresSSL = SRURLRequiresSSL(url);
-
-    _writeQueue = dispatch_queue_create("com.facebook.socketrocket.proxyconnect.write", DISPATCH_QUEUE_SERIAL);
-    _inputQueue = [NSMutableArray arrayWithCapacity:2];
-
-    return self;
-}
-
-- (void)dealloc
-{
-    // If we get deallocated before the socket open finishes - we need to cleanup everything.
-
-    [self.inputStream removeFromRunLoop:[NSRunLoop SR_networkRunLoop] forMode:NSDefaultRunLoopMode];
-    self.inputStream.delegate = nil;
-    [self.inputStream close];
-    self.inputStream = nil;
-
-    self.outputStream.delegate = nil;
-    [self.outputStream close];
-    self.outputStream = nil;
-}
-
-///--------------------------------------
-#pragma mark - Open
-///--------------------------------------
-
-- (void)openNetworkStreamWithCompletion:(SRProxyConnectCompletion)completion
-{
-    _completion = completion;
-    [self _configureProxy];
-}
-
-///--------------------------------------
-#pragma mark - Flow
-///--------------------------------------
-
-- (void)_didConnect
-{
-    SRDebugLog(@"_didConnect, return streams");
-    if (_connectionRequiresSSL) {
-        if (_httpProxyHost) {
-            // Must set the real peer name before turning on SSL
-            SRDebugLog(@"proxy set peer name to real host %@", self.url.host);
-            [self.outputStream setProperty:self.url.host forKey:@"_kCFStreamPropertySocketPeerName"];
-        }
-    }
-    if (_receivedHTTPHeaders) {
-        CFRelease(_receivedHTTPHeaders);
-        _receivedHTTPHeaders = NULL;
-    }
-
-    NSInputStream *inputStream = self.inputStream;
-    NSOutputStream *outputStream = self.outputStream;
-
-    self.inputStream = nil;
-    self.outputStream = nil;
-
-    [inputStream removeFromRunLoop:[NSRunLoop SR_networkRunLoop] forMode:NSDefaultRunLoopMode];
-    inputStream.delegate = nil;
-    outputStream.delegate = nil;
-
-    _completion(nil, inputStream, outputStream);
-}
-
-- (void)_failWithError:(NSError *)error
-{
-    SRDebugLog(@"_failWithError, return error");
-    if (!error) {
-        error = SRHTTPErrorWithCodeDescription(500, 2132,@"Proxy Error");
-    }
-
-    if (_receivedHTTPHeaders) {
-        CFRelease(_receivedHTTPHeaders);
-        _receivedHTTPHeaders = NULL;
-    }
-
-    self.inputStream.delegate = nil;
-    self.outputStream.delegate = nil;
-
-    [self.inputStream removeFromRunLoop:[NSRunLoop SR_networkRunLoop]
-                                forMode:NSDefaultRunLoopMode];
-    [self.inputStream close];
-    [self.outputStream close];
-    self.inputStream = nil;
-    self.outputStream = nil;
-    _completion(error, nil, nil);
-}
-
-// get proxy setting from device setting
-- (void)_configureProxy
-{
-    SRDebugLog(@"configureProxy");
-    NSDictionary *proxySettings = CFBridgingRelease(CFNetworkCopySystemProxySettings());
-
-    // CFNetworkCopyProxiesForURL doesn't understand ws:// or wss://
-    NSURL *httpURL;
-    if (_connectionRequiresSSL) {
-        httpURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://%@", _url.host]];
-    } else {
-        httpURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@", _url.host]];
-    }
-
-    NSArray *proxies = CFBridgingRelease(CFNetworkCopyProxiesForURL((__bridge CFURLRef)httpURL, (__bridge CFDictionaryRef)proxySettings));
-    if (proxies.count == 0) {
-        SRDebugLog(@"configureProxy no proxies");
-        [self _openConnection];
-        return;                 // no proxy
-    }
-    NSDictionary *settings = [proxies objectAtIndex:0];
-    NSString *proxyType = settings[(NSString *)kCFProxyTypeKey];
-    if ([proxyType isEqualToString:(NSString *)kCFProxyTypeAutoConfigurationURL]) {
-        NSURL *pacURL = settings[(NSString *)kCFProxyAutoConfigurationURLKey];
-        if (pacURL) {
-            [self _fetchPAC:pacURL withProxySettings:proxySettings];
-            return;
-        }
-    }
-    if ([proxyType isEqualToString:(__bridge NSString *)kCFProxyTypeAutoConfigurationJavaScript]) {
-        NSString *script = settings[(__bridge NSString *)kCFProxyAutoConfigurationJavaScriptKey];
-        if (script) {
-            [self _runPACScript:script withProxySettings:proxySettings];
-            return;
-        }
-    }
-    [self _readProxySettingWithType:proxyType settings:settings];
-
-    [self _openConnection];
-}
-
-- (void)_readProxySettingWithType:(NSString *)proxyType settings:(NSDictionary *)settings
-{
-    if ([proxyType isEqualToString:(NSString *)kCFProxyTypeHTTP] ||
-        [proxyType isEqualToString:(NSString *)kCFProxyTypeHTTPS]) {
-        _httpProxyHost = settings[(NSString *)kCFProxyHostNameKey];
-        NSNumber *portValue = settings[(NSString *)kCFProxyPortNumberKey];
-        if (portValue) {
-            _httpProxyPort = [portValue intValue];
-        }
-    }
-    if ([proxyType isEqualToString:(NSString *)kCFProxyTypeSOCKS]) {
-        _socksProxyHost = settings[(NSString *)kCFProxyHostNameKey];
-        NSNumber *portValue = settings[(NSString *)kCFProxyPortNumberKey];
-        if (portValue)
-            _socksProxyPort = [portValue intValue];
-        _socksProxyUsername = settings[(NSString *)kCFProxyUsernameKey];
-        _socksProxyPassword = settings[(NSString *)kCFProxyPasswordKey];
-    }
-    if (_httpProxyHost) {
-        SRDebugLog(@"Using http proxy %@:%u", _httpProxyHost, _httpProxyPort);
-    } else if (_socksProxyHost) {
-        SRDebugLog(@"Using socks proxy %@:%u", _socksProxyHost, _socksProxyPort);
-    } else {
-        SRDebugLog(@"configureProxy no proxies");
-    }
-}
-
-- (void)_fetchPAC:(NSURL *)PACurl withProxySettings:(NSDictionary *)proxySettings
-{
-    SRDebugLog(@"SRWebSocket fetchPAC:%@", PACurl);
-
-    if ([PACurl isFileURL]) {
-        NSError *error = nil;
-        NSString *script = [NSString stringWithContentsOfURL:PACurl
-                                                usedEncoding:NULL
-                                                       error:&error];
-
-        if (error) {
-            [self _openConnection];
-        } else {
-            [self _runPACScript:script withProxySettings:proxySettings];
-        }
-        return;
-    }
-
-    NSString *scheme = [PACurl.scheme lowercaseString];
-    if (![scheme isEqualToString:@"http"] && ![scheme isEqualToString:@"https"]) {
-        // Don't know how to read data from this URL, we'll have to give up
-        // We'll simply assume no proxies, and start the request as normal
-        [self _openConnection];
-        return;
-    }
-    __weak typeof(self) wself = self;
-    NSURLRequest *request = [NSURLRequest requestWithURL:PACurl];
-    NSURLSession *session = [NSURLSession sharedSession];
-    [[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
-        __strong typeof(wself) sself = wself;
-        if (!error) {
-            NSString *script = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
-            [sself _runPACScript:script withProxySettings:proxySettings];
-        } else {
-            [sself _openConnection];
-        }
-    }] resume];
-}
-
-- (void)_runPACScript:(NSString *)script withProxySettings:(NSDictionary *)proxySettings
-{
-    if (!script) {
-        [self _openConnection];
-        return;
-    }
-    SRDebugLog(@"runPACScript");
-    // From: http://developer.apple.com/samplecode/CFProxySupportTool/listing1.html
-    // Work around <rdar://problem/5530166>.  This dummy call to
-    // CFNetworkCopyProxiesForURL initialise some state within CFNetwork
-    // that is required by CFNetworkCopyProxiesForAutoConfigurationScript.
-    CFBridgingRelease(CFNetworkCopyProxiesForURL((__bridge CFURLRef)_url, (__bridge CFDictionaryRef)proxySettings));
-
-    // Obtain the list of proxies by running the autoconfiguration script
-    CFErrorRef err = NULL;
-
-    // CFNetworkCopyProxiesForAutoConfigurationScript doesn't understand ws:// or wss://
-    NSURL *httpURL;
-    if (_connectionRequiresSSL)
-        httpURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://%@", _url.host]];
-    else
-        httpURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@", _url.host]];
-
-    NSArray *proxies = CFBridgingRelease(CFNetworkCopyProxiesForAutoConfigurationScript((__bridge CFStringRef)script,(__bridge CFURLRef)httpURL, &err));
-    if (!err && [proxies count] > 0) {
-        NSDictionary *settings = [proxies objectAtIndex:0];
-        NSString *proxyType = settings[(NSString *)kCFProxyTypeKey];
-        [self _readProxySettingWithType:proxyType settings:settings];
-    }
-    [self _openConnection];
-}
-
-- (void)_openConnection
-{
-    [self _initializeStreams];
-
-    [self.inputStream scheduleInRunLoop:[NSRunLoop SR_networkRunLoop]
-                                forMode:NSDefaultRunLoopMode];
-    //[self.outputStream scheduleInRunLoop:[NSRunLoop SR_networkRunLoop]
-    //                           forMode:NSDefaultRunLoopMode];
-    [self.outputStream open];
-    [self.inputStream open];
-}
-
-- (void)_initializeStreams
-{
-    assert(_url.port.unsignedIntValue <= UINT32_MAX);
-    uint32_t port = _url.port.unsignedIntValue;
-    if (port == 0) {
-        port = (_connectionRequiresSSL ? 443 : 80);
-    }
-    NSString *host = _url.host;
-
-    if (_httpProxyHost) {
-        host = _httpProxyHost;
-        port = (_httpProxyPort ?: 80);
-    }
-
-    CFReadStreamRef readStream = NULL;
-    CFWriteStreamRef writeStream = NULL;
-
-    SRDebugLog(@"ProxyConnect connect stream to %@:%u", host, port);
-    CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)host, port, &readStream, &writeStream);
-
-    self.outputStream = CFBridgingRelease(writeStream);
-    self.inputStream = CFBridgingRelease(readStream);
-
-    if (_socksProxyHost) {
-        SRDebugLog(@"ProxyConnect set sock property stream to %@:%u user %@ password %@", _socksProxyHost, _socksProxyPort, _socksProxyUsername, _socksProxyPassword);
-        NSMutableDictionary *settings = [NSMutableDictionary dictionaryWithCapacity:4];
-        settings[NSStreamSOCKSProxyHostKey] = _socksProxyHost;
-        if (_socksProxyPort) {
-            settings[NSStreamSOCKSProxyPortKey] = @(_socksProxyPort);
-        }
-        if (_socksProxyUsername) {
-            settings[NSStreamSOCKSProxyUserKey] = _socksProxyUsername;
-        }
-        if (_socksProxyPassword) {
-            settings[NSStreamSOCKSProxyPasswordKey] = _socksProxyPassword;
-        }
-        [self.inputStream setProperty:settings forKey:NSStreamSOCKSProxyConfigurationKey];
-        [self.outputStream setProperty:settings forKey:NSStreamSOCKSProxyConfigurationKey];
-    }
-    self.inputStream.delegate = self;
-    self.outputStream.delegate = self;
-}
-
-- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode
-{
-    SRDebugLog(@"stream handleEvent %u", eventCode);
-    switch (eventCode) {
-        case NSStreamEventOpenCompleted: {
-            if (aStream == self.inputStream) {
-                if (_httpProxyHost) {
-                    [self _proxyDidConnect];
-                } else {
-                    [self _didConnect];
-                }
-            }
-        }  break;
-        case NSStreamEventErrorOccurred: {
-            [self _failWithError:aStream.streamError];
-        } break;
-        case NSStreamEventEndEncountered: {
-            [self _failWithError:aStream.streamError];
-        } break;
-        case NSStreamEventHasBytesAvailable: {
-            if (aStream == _inputStream) {
-                [self _processInputStream];
-            }
-        } break;
-        case NSStreamEventHasSpaceAvailable:
-        case NSStreamEventNone:
-            SRDebugLog(@"(default)  %@", aStream);
-            break;
-    }
-}
-
-- (void)_proxyDidConnect
-{
-    SRDebugLog(@"Proxy Connected");
-    uint32_t port = _url.port.unsignedIntValue;
-    if (port == 0) {
-        port = (_connectionRequiresSSL ? 443 : 80);
-    }
-    // Send HTTP CONNECT Request
-    NSString *connectRequestStr = [NSString stringWithFormat:@"CONNECT %@:%u HTTP/1.1\r\nHost: %@\r\nConnection: keep-alive\r\nProxy-Connection: keep-alive\r\n\r\n", _url.host, port, _url.host];
-
-    NSData *message = [connectRequestStr dataUsingEncoding:NSUTF8StringEncoding];
-    SRDebugLog(@"Proxy sending %@", connectRequestStr);
-
-    [self _writeData:message];
-}
-
-///handles the incoming bytes and sending them to the proper processing method
-- (void)_processInputStream
-{
-    NSMutableData *buf = [NSMutableData dataWithCapacity:SRDefaultBufferSize()];
-    uint8_t *buffer = buf.mutableBytes;
-    NSInteger length = [_inputStream read:buffer maxLength:SRDefaultBufferSize()];
-
-    if (length <= 0) {
-        return;
-    }
-
-    BOOL process = (_inputQueue.count == 0);
-    [_inputQueue addObject:[NSData dataWithBytes:buffer length:length]];
-
-    if (process) {
-        [self _dequeueInput];
-    }
-}
-
-// dequeue the incoming input so it is processed in order
-
-- (void)_dequeueInput
-{
-    while (_inputQueue.count > 0) {
-        NSData *data = _inputQueue.firstObject;
-        [_inputQueue removeObjectAtIndex:0];
-
-        // No need to process any data further, we got the full header data.
-        if ([self _proxyProcessHTTPResponseWithData:data]) {
-            break;
-        }
-    }
-}
-//handle checking the proxy  connection status
-- (BOOL)_proxyProcessHTTPResponseWithData:(NSData *)data
-{
-    if (_receivedHTTPHeaders == NULL) {
-        _receivedHTTPHeaders = CFHTTPMessageCreateEmpty(NULL, NO);
-    }
-
-    CFHTTPMessageAppendBytes(_receivedHTTPHeaders, (const UInt8 *)data.bytes, data.length);
-    if (CFHTTPMessageIsHeaderComplete(_receivedHTTPHeaders)) {
-        SRDebugLog(@"Finished reading headers %@", CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(_receivedHTTPHeaders)));
-        [self _proxyHTTPHeadersDidFinish];
-        return YES;
-    }
-
-    return NO;
-}
-
-- (void)_proxyHTTPHeadersDidFinish
-{
-    NSInteger responseCode = CFHTTPMessageGetResponseStatusCode(_receivedHTTPHeaders);
-
-    if (responseCode >= 299) {
-        SRDebugLog(@"Connect to Proxy Request failed with response code %d", responseCode);
-        NSError *error = SRHTTPErrorWithCodeDescription(responseCode, 2132,
-                                                        [NSString stringWithFormat:@"Received bad response code from proxy server: %d.",
-                                                         (int)responseCode]);
-        [self _failWithError:error];
-        return;
-    }
-    SRDebugLog(@"proxy connect return %d, call socket connect", responseCode);
-    [self _didConnect];
-}
-
-static NSTimeInterval const SRProxyConnectWriteTimeout = 5.0;
-
-- (void)_writeData:(NSData *)data
-{
-    const uint8_t * bytes = data.bytes;
-    __block NSInteger timeout = (NSInteger)(SRProxyConnectWriteTimeout * 1000000); // wait timeout before giving up
-    __weak typeof(self) wself = self;
-    dispatch_async(_writeQueue, ^{
-        __strong typeof(wself) sself = self;
-        if (!sself) {
-            return;
-        }
-        NSOutputStream *outStream = sself.outputStream;
-        if (!outStream) {
-            return;
-        }
-        while (![outStream hasSpaceAvailable]) {
-            usleep(100); //wait until the socket is ready
-            timeout -= 100;
-            if (timeout < 0) {
-                NSError *error = SRHTTPErrorWithCodeDescription(408, 2132, @"Proxy timeout");
-                [sself _failWithError:error];
-            } else if (outStream.streamError != nil) {
-                [sself _failWithError:outStream.streamError];
-            }
-        }
-        [outStream write:bytes maxLength:data.length];
-    });
-}
-
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/RunLoop/SRRunLoopThread.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/RunLoop/SRRunLoopThread.h
deleted file mode 100644 (file)
index 380cfa0..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-//
-// Copyright 2012 Square Inc.
-// Portions Copyright (c) 2016-present, Facebook, Inc.
-//
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface SRRunLoopThread : NSThread
-
-@property (nonatomic, strong, readonly) NSRunLoop *runLoop;
-
-+ (instancetype)sharedThread;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/RunLoop/SRRunLoopThread.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/RunLoop/SRRunLoopThread.m
deleted file mode 100644 (file)
index c692ae6..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-//
-// Copyright 2012 Square Inc.
-// Portions Copyright (c) 2016-present, Facebook, Inc.
-//
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRRunLoopThread.h"
-
-@interface SRRunLoopThread ()
-{
-    dispatch_group_t _waitGroup;
-}
-
-@property (nonatomic, strong, readwrite) NSRunLoop *runLoop;
-
-@end
-
-@implementation SRRunLoopThread
-
-+ (instancetype)sharedThread
-{
-    static SRRunLoopThread *thread;
-    static dispatch_once_t onceToken;
-    dispatch_once(&onceToken, ^{
-        thread = [[SRRunLoopThread alloc] init];
-        thread.name = @"com.facebook.SocketRocket.NetworkThread";
-        thread.qualityOfService = NSQualityOfServiceUserInitiated;
-        [thread start];
-    });
-    return thread;
-}
-
-- (instancetype)init
-{
-    self = [super init];
-    if (self) {
-        _waitGroup = dispatch_group_create();
-        dispatch_group_enter(_waitGroup);
-    }
-    return self;
-}
-
-- (void)main
-{
-    @autoreleasepool {
-        _runLoop = [NSRunLoop currentRunLoop];
-        dispatch_group_leave(_waitGroup);
-
-        // Add an empty run loop source to prevent runloop from spinning.
-        CFRunLoopSourceContext sourceCtx = {
-            .version = 0,
-            .info = NULL,
-            .retain = NULL,
-            .release = NULL,
-            .copyDescription = NULL,
-            .equal = NULL,
-            .hash = NULL,
-            .schedule = NULL,
-            .cancel = NULL,
-            .perform = NULL
-        };
-        CFRunLoopSourceRef source = CFRunLoopSourceCreate(NULL, 0, &sourceCtx);
-        CFRunLoopAddSource(CFRunLoopGetCurrent(), source, kCFRunLoopDefaultMode);
-        CFRelease(source);
-
-        while ([_runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]) {
-
-        }
-        assert(NO);
-    }
-}
-
-- (NSRunLoop *)runLoop
-{
-    dispatch_group_wait(_waitGroup, DISPATCH_TIME_FOREVER);
-    return _runLoop;
-}
-
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/SRConstants.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/SRConstants.h
deleted file mode 100644 (file)
index 38dd009..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-typedef NS_ENUM(uint8_t, SROpCode)
-{
-    SROpCodeTextFrame = 0x1,
-    SROpCodeBinaryFrame = 0x2,
-    // 3-7 reserved.
-    SROpCodeConnectionClose = 0x8,
-    SROpCodePing = 0x9,
-    SROpCodePong = 0xA,
-    // B-F reserved.
-};
-
-/**
- Default buffer size that is used for reading/writing to streams.
- */
-extern size_t SRDefaultBufferSize(void);
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/SRConstants.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/SRConstants.m
deleted file mode 100644 (file)
index 1dbd774..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRConstants.h"
-
-size_t SRDefaultBufferSize(void) {
-    static size_t size;
-    static dispatch_once_t onceToken;
-    dispatch_once(&onceToken, ^{
-        size = getpagesize();
-    });
-    return size;
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Security/SRPinningSecurityPolicy.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Security/SRPinningSecurityPolicy.h
deleted file mode 100644 (file)
index 0d498b2..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-#import <SocketRocket/SRSecurityPolicy.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- * NOTE: While publicly, SocketRocket does not support configuring the security policy with pinned certificates,
- * it is still possible to manually construct a security policy of this class. If you do this, note that you may
- * be open to MitM attacks, and we will not support any issues you may have. Dive at your own risk.
- */
-@interface SRPinningSecurityPolicy : SRSecurityPolicy
-
-- (instancetype)initWithCertificates:(NSArray *)pinnedCertificates;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Security/SRPinningSecurityPolicy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Security/SRPinningSecurityPolicy.m
deleted file mode 100644 (file)
index c12dffa..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRPinningSecurityPolicy.h"
-
-#import <Foundation/Foundation.h>
-
-#import "SRLog.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface SRPinningSecurityPolicy ()
-
-@property (nonatomic, copy, readonly) NSArray *pinnedCertificates;
-
-@end
-
-@implementation SRPinningSecurityPolicy
-
-- (instancetype)initWithCertificates:(NSArray *)pinnedCertificates
-{
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated"
-    // Do not validate certificate chain since we're pinning to specific certificates.
-    self = [super initWithCertificateChainValidationEnabled:NO];
-#pragma clang diagnostic pop
-
-    if (!self) { return self; }
-
-    if (pinnedCertificates.count == 0) {
-        @throw [NSException exceptionWithName:@"Creating security policy failed."
-                                       reason:@"Must specify at least one certificate when creating a pinning policy."
-                                     userInfo:nil];
-    }
-    _pinnedCertificates = [pinnedCertificates copy];
-
-    return self;
-}
-
-- (BOOL)evaluateServerTrust:(SecTrustRef)serverTrust forDomain:(NSString *)domain
-{
-    SRDebugLog(@"Pinned cert count: %d", self.pinnedCertificates.count);
-    NSUInteger requiredCertCount = self.pinnedCertificates.count;
-
-    NSUInteger validatedCertCount = 0;
-    CFIndex serverCertCount = SecTrustGetCertificateCount(serverTrust);
-    for (CFIndex i = 0; i < serverCertCount; i++) {
-        SecCertificateRef cert = SecTrustGetCertificateAtIndex(serverTrust, i);
-        NSData *data = CFBridgingRelease(SecCertificateCopyData(cert));
-        for (id ref in self.pinnedCertificates) {
-            SecCertificateRef trustedCert = (__bridge SecCertificateRef)ref;
-            // TODO: (nlutsenko) Add caching, so we don't copy the data for every pinned cert all the time.
-            NSData *trustedCertData = CFBridgingRelease(SecCertificateCopyData(trustedCert));
-            if ([trustedCertData isEqualToData:data]) {
-                validatedCertCount++;
-                break;
-            }
-        }
-    }
-    return (requiredCertCount == validatedCertCount);
-}
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRError.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRError.h
deleted file mode 100644 (file)
index 7e13a82..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-extern NSError *SRErrorWithDomainCodeDescription(NSString *domain, NSInteger code, NSString *description);
-extern NSError *SRErrorWithCodeDescription(NSInteger code, NSString *description);
-extern NSError *SRErrorWithCodeDescriptionUnderlyingError(NSInteger code, NSString *description, NSError *underlyingError);
-
-extern NSError *SRHTTPErrorWithCodeDescription(NSInteger httpCode, NSInteger errorCode, NSString *description);
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRError.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRError.m
deleted file mode 100644 (file)
index eeabe03..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRError.h"
-
-#import "SRWebSocket.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-NSError *SRErrorWithDomainCodeDescription(NSString *domain, NSInteger code, NSString *description)
-{
-    return [NSError errorWithDomain:domain code:code userInfo:@{ NSLocalizedDescriptionKey: description }];
-}
-
-NSError *SRErrorWithCodeDescription(NSInteger code, NSString *description)
-{
-    return SRErrorWithDomainCodeDescription(SRWebSocketErrorDomain, code, description);
-}
-
-NSError *SRErrorWithCodeDescriptionUnderlyingError(NSInteger code, NSString *description, NSError *underlyingError)
-{
-    return [NSError errorWithDomain:SRWebSocketErrorDomain
-                               code:code
-                           userInfo:@{ NSLocalizedDescriptionKey: description,
-                                       NSUnderlyingErrorKey: underlyingError }];
-}
-
-NSError *SRHTTPErrorWithCodeDescription(NSInteger httpCode, NSInteger errorCode, NSString *description)
-{
-    return [NSError errorWithDomain:SRWebSocketErrorDomain
-                               code:errorCode
-                           userInfo:@{ NSLocalizedDescriptionKey: description,
-                                       SRHTTPResponseErrorKey: @(httpCode) }];
-}
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRHTTPConnectMessage.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRHTTPConnectMessage.h
deleted file mode 100644 (file)
index b67f3d5..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-#import <CFNetwork/CFNetwork.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-extern CFHTTPMessageRef SRHTTPConnectMessageCreate(NSURLRequest *request,
-                                                   NSString *securityKey,
-                                                   uint8_t webSocketProtocolVersion,
-                                                   NSArray<NSHTTPCookie *> *_Nullable cookies,
-                                                   NSArray<NSString *> *_Nullable requestedProtocols);
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRHTTPConnectMessage.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRHTTPConnectMessage.m
deleted file mode 100644 (file)
index b2f9760..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRHTTPConnectMessage.h"
-
-#import "SRURLUtilities.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-static NSString *_SRHTTPConnectMessageHost(NSURL *url)
-{
-    NSString *host = url.host;
-    if (url.port) {
-        host = [host stringByAppendingFormat:@":%@", url.port];
-    }
-    return host;
-}
-
-CFHTTPMessageRef SRHTTPConnectMessageCreate(NSURLRequest *request,
-                                            NSString *securityKey,
-                                            uint8_t webSocketProtocolVersion,
-                                            NSArray<NSHTTPCookie *> *_Nullable cookies,
-                                            NSArray<NSString *> *_Nullable requestedProtocols)
-{
-    NSURL *url = request.URL;
-
-    CFHTTPMessageRef message = CFHTTPMessageCreateRequest(NULL, (__bridge CFStringRef)request.HTTPMethod, (__bridge CFURLRef)url, kCFHTTPVersion1_1);
-
-    // Set host first so it defaults
-    CFHTTPMessageSetHeaderFieldValue(message, CFSTR("Host"), (__bridge CFStringRef)_SRHTTPConnectMessageHost(url));
-
-    // Apply cookies if any have been provided
-    if (cookies) {
-        NSDictionary<NSString *, NSString *> *messageCookies = [NSHTTPCookie requestHeaderFieldsWithCookies:(NSArray<NSHTTPCookie*> *_Nonnull)cookies];
-        [messageCookies enumerateKeysAndObjectsUsingBlock:^(NSString * _Nonnull key, NSString * _Nonnull obj, BOOL * _Nonnull stop) {
-            if (key.length && obj.length) {
-                CFHTTPMessageSetHeaderFieldValue(message, (__bridge CFStringRef)key, (__bridge CFStringRef)obj);
-            }
-        }];
-    }
-
-    // set header for http basic auth
-    NSString *basicAuthorizationString = SRBasicAuthorizationHeaderFromURL(url);
-    if (basicAuthorizationString) {
-        CFHTTPMessageSetHeaderFieldValue(message, CFSTR("Authorization"), (__bridge CFStringRef)basicAuthorizationString);
-    }
-
-    CFHTTPMessageSetHeaderFieldValue(message, CFSTR("Upgrade"), CFSTR("websocket"));
-    CFHTTPMessageSetHeaderFieldValue(message, CFSTR("Connection"), CFSTR("Upgrade"));
-    CFHTTPMessageSetHeaderFieldValue(message, CFSTR("Sec-WebSocket-Key"), (__bridge CFStringRef)securityKey);
-    CFHTTPMessageSetHeaderFieldValue(message, CFSTR("Sec-WebSocket-Version"), (__bridge CFStringRef)@(webSocketProtocolVersion).stringValue);
-
-    CFHTTPMessageSetHeaderFieldValue(message, CFSTR("Origin"), (__bridge CFStringRef)SRURLOrigin(url));
-
-    if (requestedProtocols.count) {
-        CFHTTPMessageSetHeaderFieldValue(message, CFSTR("Sec-WebSocket-Protocol"),
-                                         (__bridge CFStringRef)[requestedProtocols componentsJoinedByString:@", "]);
-    }
-
-    [request.allHTTPHeaderFields enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
-        CFHTTPMessageSetHeaderFieldValue(message, (__bridge CFStringRef)key, (__bridge CFStringRef)obj);
-    }];
-
-    return message;
-}
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRHash.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRHash.h
deleted file mode 100644 (file)
index 3db14de..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-extern NSData *SRSHA1HashFromString(NSString *string);
-extern NSData *SRSHA1HashFromBytes(const char *bytes, size_t length);
-
-extern NSString *SRBase64EncodedStringFromData(NSData *data);
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRHash.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRHash.m
deleted file mode 100644 (file)
index a150ecc..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRHash.h"
-
-#import <CommonCrypto/CommonDigest.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-NSData *SRSHA1HashFromString(NSString *string)
-{
-    const char *utf8String = string.UTF8String;
-    if (!utf8String) {
-        return [NSData data];
-    }
-    size_t length = [string lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
-    return SRSHA1HashFromBytes(utf8String, length);
-}
-
-NSData *SRSHA1HashFromBytes(const char *bytes, size_t length)
-{
-    uint8_t outputLength = CC_SHA1_DIGEST_LENGTH;
-    unsigned char output[outputLength];
-    CC_SHA1(bytes, (CC_LONG)length, output);
-
-    return [NSData dataWithBytes:output length:outputLength];
-}
-
-NSString *SRBase64EncodedStringFromData(NSData *data)
-{
-    if ([data respondsToSelector:@selector(base64EncodedStringWithOptions:)]) {
-        return [data base64EncodedStringWithOptions:0];
-    }
-
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-    return [data base64Encoding];
-#pragma clang diagnostic pop
-}
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRLog.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRLog.h
deleted file mode 100644 (file)
index 99689ef..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-// Uncomment this line to enable debug logging
-//#define SR_DEBUG_LOG_ENABLED
-
-extern void SRErrorLog(NSString *format, ...);
-extern void SRDebugLog(NSString *format, ...);
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRLog.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRLog.m
deleted file mode 100644 (file)
index 4596017..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRLog.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-extern void SRErrorLog(NSString *format, ...)
-{
-    __block va_list arg_list;
-    va_start (arg_list, format);
-
-    NSString *formattedString = [[NSString alloc] initWithFormat:format arguments:arg_list];
-
-    va_end(arg_list);
-
-    NSLog(@"[SocketRocket] %@", formattedString);
-}
-
-extern void SRDebugLog(NSString *format, ...)
-{
-#ifdef SR_DEBUG_LOG_ENABLED
-    SRErrorLog(tag, format);
-#endif
-}
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRMutex.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRMutex.h
deleted file mode 100644 (file)
index 8226ce6..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-typedef __attribute__((capability("mutex"))) pthread_mutex_t *SRMutex;
-
-extern SRMutex SRMutexInitRecursive(void);
-extern void SRMutexDestroy(SRMutex mutex);
-
-extern void SRMutexLock(SRMutex mutex) __attribute__((acquire_capability(mutex)));
-extern void SRMutexUnlock(SRMutex mutex) __attribute__((release_capability(mutex)));
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRMutex.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRMutex.m
deleted file mode 100644 (file)
index 03b5939..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRMutex.h"
-
-#import <pthread/pthread.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-SRMutex SRMutexInitRecursive(void)
-{
-    pthread_mutex_t *mutex = malloc(sizeof(pthread_mutex_t));
-    pthread_mutexattr_t attributes;
-
-    pthread_mutexattr_init(&attributes);
-    pthread_mutexattr_settype(&attributes, PTHREAD_MUTEX_RECURSIVE);
-    pthread_mutex_init(mutex, &attributes);
-    pthread_mutexattr_destroy(&attributes);
-
-    return mutex;
-}
-
-void SRMutexDestroy(SRMutex mutex)
-{
-    pthread_mutex_destroy(mutex);
-    free(mutex);
-}
-
-__attribute__((no_thread_safety_analysis))
-void SRMutexLock(SRMutex mutex)
-{
-    pthread_mutex_lock(mutex);
-}
-
-__attribute__((no_thread_safety_analysis))
-void SRMutexUnlock(SRMutex mutex)
-{
-    pthread_mutex_unlock(mutex);
-}
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRRandom.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRRandom.h
deleted file mode 100644 (file)
index 9b116cf..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-extern NSData *SRRandomData(NSUInteger length);
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRRandom.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRRandom.m
deleted file mode 100644 (file)
index acfbfe9..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRRandom.h"
-
-#import <Security/SecRandom.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-NSData *SRRandomData(NSUInteger length)
-{
-    NSMutableData *_Nullable data = [NSMutableData dataWithLength:length];
-    if (data == nil) {
-        [NSException raise:NSInternalInconsistencyException format:@"Failed to allocate random data"];
-    }
-    int result = SecRandomCopyBytes(kSecRandomDefault, data.length, ((NSMutableData *_Nonnull)data).mutableBytes);
-    if (result != errSecSuccess) {
-        [NSException raise:NSInternalInconsistencyException format:@"Failed to generate random bytes with OSStatus: %d", result];
-    }
-    return (NSMutableData *_Nonnull)data;
-}
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRSIMDHelpers.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRSIMDHelpers.h
deleted file mode 100644 (file)
index 8291cc7..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-/**
- Unmask bytes using XOR via SIMD.
-
- @param bytes    The bytes to unmask.
- @param length   The number of bytes to unmask.
- @param maskKey The mask to XOR with MUST be of length sizeof(uint32_t).
- */
-void SRMaskBytesSIMD(uint8_t *bytes, size_t length, uint8_t *maskKey);
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRSIMDHelpers.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRSIMDHelpers.m
deleted file mode 100644 (file)
index 97e6fc1..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRSIMDHelpers.h"
-
-typedef uint8_t uint8x32_t __attribute__((vector_size(32)));
-
-static void SRMaskBytesManual(uint8_t *bytes, size_t length, uint8_t *maskKey) {
-    for (size_t i = 0; i < length; i++) {
-        bytes[i] = bytes[i] ^ maskKey[i % sizeof(uint32_t)];
-    }
-}
-
-/**
- Right-shift the elements of a vector, circularly.
-
- @param vector The vector to circular shift.
- @param by     The number of elements to shift by.
-
- @return A shifted vector.
- */
-static uint8x32_t SRShiftVector(uint8x32_t vector, size_t by) {
-    uint8x32_t vectorCopy = vector;
-    by = by % _Alignof(uint8x32_t);
-
-    uint8_t *vectorPointer = (uint8_t *)&vector;
-    uint8_t *vectorCopyPointer = (uint8_t *)&vectorCopy;
-
-    memmove(vectorPointer + by, vectorPointer, sizeof(vector) - by);
-    memcpy(vectorPointer, vectorCopyPointer + (sizeof(vector) - by), by);
-
-    return vector;
-}
-
-void SRMaskBytesSIMD(uint8_t *bytes, size_t length, uint8_t *maskKey) {
-    size_t alignmentBytes = _Alignof(uint8x32_t) - ((uintptr_t)bytes % _Alignof(uint8x32_t));
-    if (alignmentBytes == _Alignof(uint8x32_t)) {
-        alignmentBytes = 0;
-    }
-
-    // If the number of bytes that can be processed after aligning is
-    // less than the number of bytes we can put into a vector,
-    // then there's no work to do with SIMD, just call the manual version.
-    if (alignmentBytes > length || (length - alignmentBytes) < sizeof(uint8x32_t)) {
-        SRMaskBytesManual(bytes, length, maskKey);
-        return;
-    }
-
-    size_t vectorLength = (length - alignmentBytes) / sizeof(uint8x32_t);
-    size_t manualStartOffset = alignmentBytes + (vectorLength * sizeof(uint8x32_t));
-    size_t manualLength = length - manualStartOffset;
-
-    uint8x32_t *vector = (uint8x32_t *)(bytes + alignmentBytes);
-    uint8x32_t maskVector;
-
-    memset_pattern4(&maskVector, maskKey, sizeof(uint8x32_t));
-    maskVector = SRShiftVector(maskVector, alignmentBytes);
-
-    SRMaskBytesManual(bytes, alignmentBytes, maskKey);
-
-    for (size_t vectorIndex = 0; vectorIndex < vectorLength; vectorIndex++) {
-        vector[vectorIndex] = vector[vectorIndex] ^ maskVector;
-    }
-
-    // Use the shifted mask for the final manual part.
-    SRMaskBytesManual(bytes + manualStartOffset, manualLength, (uint8_t *) &maskVector);
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRURLUtilities.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRURLUtilities.h
deleted file mode 100644 (file)
index a9ec782..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-// The origin isn't really applicable for a native application.
-// So instead, just map ws -> http and wss -> https.
-extern NSString *SRURLOrigin(NSURL *url);
-
-extern BOOL SRURLRequiresSSL(NSURL *_Nullable url);
-
-// Extracts `user` and `password` from url (if available) into `Basic base64(user:password)`.
-extern NSString *_Nullable SRBasicAuthorizationHeaderFromURL(NSURL *url);
-
-// Returns a valid value for `NSStreamNetworkServiceType` or `nil`.
-extern NSString *_Nullable SRStreamNetworkServiceTypeFromURLRequest(NSURLRequest *request);
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRURLUtilities.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/Internal/Utilities/SRURLUtilities.m
deleted file mode 100644 (file)
index cb1eef6..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRURLUtilities.h"
-
-#import "SRHash.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-NSString *SRURLOrigin(NSURL *url)
-{
-    NSMutableString *origin = [NSMutableString string];
-
-    NSString *scheme = url.scheme.lowercaseString;
-    if ([scheme isEqualToString:@"wss"]) {
-        scheme = @"https";
-    } else if ([scheme isEqualToString:@"ws"]) {
-        scheme = @"http";
-    }
-    [origin appendFormat:@"%@://%@", scheme, url.host];
-
-    NSNumber *port = url.port;
-    BOOL portIsDefault = (!port ||
-                          ([scheme isEqualToString:@"http"] && port.integerValue == 80) ||
-                          ([scheme isEqualToString:@"https"] && port.integerValue == 443));
-    if (!portIsDefault) {
-        [origin appendFormat:@":%@", port.stringValue];
-    }
-    return origin;
-}
-
-extern BOOL SRURLRequiresSSL(NSURL *_Nullable url)
-{
-    NSString *scheme = url.scheme.lowercaseString;
-    return ([scheme isEqualToString:@"wss"] || [scheme isEqualToString:@"https"]);
-}
-
-extern NSString *_Nullable SRBasicAuthorizationHeaderFromURL(NSURL *url)
-{
-    if (!url.user || !url.password) {
-        return nil;
-    }
-
-    NSData *data = [[NSString stringWithFormat:@"%@:%@", url.user, url.password] dataUsingEncoding:NSUTF8StringEncoding];
-    return [NSString stringWithFormat:@"Basic %@", SRBase64EncodedStringFromData(data)];
-}
-
-extern NSString *_Nullable SRStreamNetworkServiceTypeFromURLRequest(NSURLRequest *request)
-{
-    NSString *networkServiceType = nil;
-    switch (request.networkServiceType) {
-        case NSURLNetworkServiceTypeDefault:
-        case NSURLNetworkServiceTypeResponsiveData:
-        case NSURLNetworkServiceTypeAVStreaming:
-        case NSURLNetworkServiceTypeResponsiveAV:
-            break;
-        case NSURLNetworkServiceTypeVoIP:
-            networkServiceType = NSStreamNetworkServiceTypeVoIP;
-            break;
-        case NSURLNetworkServiceTypeVideo:
-            networkServiceType = NSStreamNetworkServiceTypeVideo;
-            break;
-        case NSURLNetworkServiceTypeBackground:
-            networkServiceType = NSStreamNetworkServiceTypeBackground;
-            break;
-        case NSURLNetworkServiceTypeVoice:
-            networkServiceType = NSStreamNetworkServiceTypeVoice;
-            break;
-#if (__MAC_OS_X_VERSION_MAX_ALLOWED >= 101200 || __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 || __TV_OS_VERSION_MAX_ALLOWED >= 100000 || __WATCH_OS_VERSION_MAX_ALLOWED >= 30000)
-        case NSURLNetworkServiceTypeCallSignaling: {
-            if (@available(iOS 10.0, tvOS 10.0, macOS 10.12, *)) {
-                networkServiceType = NSStreamNetworkServiceTypeCallSignaling;
-            }
-        } break;
-#endif
-    }
-    return networkServiceType;
-}
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/NSRunLoop+SRWebSocket.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/NSRunLoop+SRWebSocket.h
deleted file mode 100644 (file)
index 8f419e3..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-// Copyright 2012 Square Inc.
-// Portions Copyright (c) 2016-present, Facebook, Inc.
-//
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface NSRunLoop (SRWebSocket)
-
-/**
- Default run loop that will be used to schedule all instances of `SRWebSocket`.
-
- @return An instance of `NSRunLoop`.
- */
-+ (NSRunLoop *)SR_networkRunLoop;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/NSRunLoop+SRWebSocket.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/NSRunLoop+SRWebSocket.m
deleted file mode 100644 (file)
index 30eb608..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-// Copyright 2012 Square Inc.
-// Portions Copyright (c) 2016-present, Facebook, Inc.
-//
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "NSRunLoop+SRWebSocket.h"
-#import "NSRunLoop+SRWebSocketPrivate.h"
-
-#import "SRRunLoopThread.h"
-
-// Required for object file to always be linked.
-void import_NSRunLoop_SRWebSocket(void) { }
-
-@implementation NSRunLoop (SRWebSocket)
-
-+ (NSRunLoop *)SR_networkRunLoop
-{
-    return [SRRunLoopThread sharedThread].runLoop;
-}
-
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/NSURLRequest+SRWebSocket.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/NSURLRequest+SRWebSocket.h
deleted file mode 100644 (file)
index 4ccffd5..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// Copyright 2012 Square Inc.
-// Portions Copyright (c) 2016-present, Facebook, Inc.
-//
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface NSURLRequest (SRWebSocket)
-
-/**
- An array of pinned `SecCertificateRef` SSL certificates that `SRWebSocket` will use for validation.
- */
-@property (nullable, nonatomic, copy, readonly) NSArray *SR_SSLPinnedCertificates
-    DEPRECATED_MSG_ATTRIBUTE("Using pinned certificates is neither secure nor supported in SocketRocket, "
-                             "and leads to security issues. Please use a proper, trust chain validated certificate.");
-
-@end
-
-@interface NSMutableURLRequest (SRWebSocket)
-
-/**
- An array of pinned `SecCertificateRef` SSL certificates that `SRWebSocket` will use for validation.
- */
-@property (nullable, nonatomic, copy) NSArray *SR_SSLPinnedCertificates
-    DEPRECATED_MSG_ATTRIBUTE("Using pinned certificates is neither secure nor supported in SocketRocket, "
-                             "and leads to security issues. Please use a proper, trust chain validated certificate.");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/NSURLRequest+SRWebSocket.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/NSURLRequest+SRWebSocket.m
deleted file mode 100644 (file)
index 8efb090..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// Copyright 2012 Square Inc.
-// Portions Copyright (c) 2016-present, Facebook, Inc.
-//
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "NSURLRequest+SRWebSocket.h"
-#import "NSURLRequest+SRWebSocketPrivate.h"
-
-// Required for object file to always be linked.
-void import_NSURLRequest_SRWebSocket(void) { }
-
-NS_ASSUME_NONNULL_BEGIN
-
-static NSString *const SRSSLPinnnedCertificatesKey = @"SocketRocket_SSLPinnedCertificates";
-
-@implementation NSURLRequest (SRWebSocket)
-
-- (nullable NSArray *)SR_SSLPinnedCertificates
-{
-    return nil;
-}
-
-@end
-
-@implementation NSMutableURLRequest (SRWebSocket)
-
-- (void)setSR_SSLPinnedCertificates:(nullable NSArray *)SR_SSLPinnedCertificates
-{
-    [NSException raise:NSInvalidArgumentException
-                format:@"Using pinned certificates is neither secure nor supported in SocketRocket, "
-                        "and leads to security issues. Please use a proper, trust chain validated certificate."];
-}
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SRSecurityPolicy.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SRSecurityPolicy.h
deleted file mode 100644 (file)
index 3fbd809..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-#import <Security/Security.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface SRSecurityPolicy : NSObject
-
-/**
- A default `SRSecurityPolicy` implementation specifies socket security and
- validates the certificate chain.
-
- Use a subclass of `SRSecurityPolicy` for more fine grained customization.
- */
-+ (instancetype)defaultPolicy;
-
-/**
- Specifies socket security and provider certificate pinning, disregarding certificate
- chain validation.
-
- @param pinnedCertificates Array of `SecCertificateRef` SSL certificates to use for validation.
- */
-+ (instancetype)pinnningPolicyWithCertificates:(NSArray *)pinnedCertificates
-    DEPRECATED_MSG_ATTRIBUTE("Using pinned certificates is neither secure nor supported in SocketRocket, "
-                             "and leads to security issues. Please use a proper, trust chain validated certificate.");
-
-/**
- Specifies socket security and optional certificate chain validation.
-
- @param enabled Whether or not to validate the SSL certificate chain. If you
- are considering using this method because your certificate was not issued by a
- recognized certificate authority, consider using `pinningPolicyWithCertificates` instead.
- */
-- (instancetype)initWithCertificateChainValidationEnabled:(BOOL)enabled
-    DEPRECATED_MSG_ATTRIBUTE("Disabling certificate chain validation is unsafe. "
-                             "Please use a proper Certificate Authority to issue your TLS certificates.")
-    NS_DESIGNATED_INITIALIZER;
-
-/**
- Updates all the security options for input and output streams, for example you
- can set your socket security level here.
-
- @param stream Stream to update the options in.
- */
-- (void)updateSecurityOptionsInStream:(NSStream *)stream;
-
-/**
- Whether or not the specified server trust should be accepted, based on the security policy.
-
- This method should be used when responding to an authentication challenge from
- a server. In the default implemenation, no further validation is done here, but
- you're free to override it in a subclass. See `SRPinningSecurityPolicy.h` for
- an example.
-
- @param serverTrust The X.509 certificate trust of the server.
- @param domain The domain of serverTrust.
-
- @return Whether or not to trust the server.
- */
-- (BOOL)evaluateServerTrust:(SecTrustRef)serverTrust forDomain:(NSString *)domain;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SRSecurityPolicy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SRSecurityPolicy.m
deleted file mode 100644 (file)
index 3759d26..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-// Copyright (c) 2016-present, Facebook, Inc.
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRSecurityPolicy.h"
-#import "SRPinningSecurityPolicy.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface SRSecurityPolicy ()
-
-@property (nonatomic, assign, readonly) BOOL certificateChainValidationEnabled;
-
-@end
-
-@implementation SRSecurityPolicy
-
-+ (instancetype)defaultPolicy
-{
-    return [self new];
-}
-
-+ (instancetype)pinnningPolicyWithCertificates:(NSArray *)pinnedCertificates
-{
-    [NSException raise:NSInvalidArgumentException
-                format:@"Using pinned certificates is neither secure nor supported in SocketRocket, "
-                        "and leads to security issues. Please use a proper, trust chain validated certificate."];
-
-    return nil;
-}
-
-- (instancetype)initWithCertificateChainValidationEnabled:(BOOL)enabled
-{
-    self = [super init];
-    if (!self) { return self; }
-
-    _certificateChainValidationEnabled = enabled;
-
-    return self;
-}
-
-- (instancetype)init
-{
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated"
-
-    return [self initWithCertificateChainValidationEnabled:YES];
-
-#pragma clang diagnostic pop
-}
-
-- (void)updateSecurityOptionsInStream:(NSStream *)stream
-{
-    // Enforce TLS 1.2
-    [stream setProperty:(__bridge id)CFSTR("kCFStreamSocketSecurityLevelTLSv1_2") forKey:(__bridge id)kCFStreamPropertySocketSecurityLevel];
-
-    // Validate certificate chain for this stream if enabled.
-    NSDictionary<NSString *, id> *sslOptions = @{ (__bridge NSString *)kCFStreamSSLValidatesCertificateChain : @(self.certificateChainValidationEnabled) };
-    [stream setProperty:sslOptions forKey:(__bridge NSString *)kCFStreamPropertySSLSettings];
-}
-
-- (BOOL)evaluateServerTrust:(SecTrustRef)serverTrust forDomain:(NSString *)domain
-{
-    // No further evaluation happens in the default policy.
-    return YES;
-}
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SRWebSocket.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SRWebSocket.h
deleted file mode 100644 (file)
index a3806f1..0000000
+++ /dev/null
@@ -1,417 +0,0 @@
-//
-// Copyright 2012 Square Inc.
-// Portions Copyright (c) 2016-present, Facebook, Inc.
-//
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-typedef NS_ENUM(NSInteger, SRReadyState) {
-    SR_CONNECTING   = 0,
-    SR_OPEN         = 1,
-    SR_CLOSING      = 2,
-    SR_CLOSED       = 3,
-};
-
-typedef NS_ENUM(NSInteger, SRStatusCode) {
-    // 0-999: Reserved and not used.
-    SRStatusCodeNormal = 1000,
-    SRStatusCodeGoingAway = 1001,
-    SRStatusCodeProtocolError = 1002,
-    SRStatusCodeUnhandledType = 1003,
-    // 1004 reserved.
-    SRStatusNoStatusReceived = 1005,
-    SRStatusCodeAbnormal = 1006,
-    SRStatusCodeInvalidUTF8 = 1007,
-    SRStatusCodePolicyViolated = 1008,
-    SRStatusCodeMessageTooBig = 1009,
-    SRStatusCodeMissingExtension = 1010,
-    SRStatusCodeInternalError = 1011,
-    SRStatusCodeServiceRestart = 1012,
-    SRStatusCodeTryAgainLater = 1013,
-    // 1014: Reserved for future use by the WebSocket standard.
-    SRStatusCodeTLSHandshake = 1015,
-    // 1016-1999: Reserved for future use by the WebSocket standard.
-    // 2000-2999: Reserved for use by WebSocket extensions.
-    // 3000-3999: Available for use by libraries and frameworks. May not be used by applications. Available for registration at the IANA via first-come, first-serve.
-    // 4000-4999: Available for use by applications.
-};
-
-@class SRWebSocket;
-@class SRSecurityPolicy;
-
-/**
- Error domain used for errors reported by SRWebSocket.
- */
-extern NSString *const SRWebSocketErrorDomain;
-
-/**
- Key used for HTTP status code if bad response was received from the server.
- */
-extern NSString *const SRHTTPResponseErrorKey;
-
-@protocol SRWebSocketDelegate;
-
-///--------------------------------------
-#pragma mark - SRWebSocket
-///--------------------------------------
-
-/**
- A `SRWebSocket` object lets you connect, send and receive data to a remote Web Socket.
- */
-@interface SRWebSocket : NSObject <NSStreamDelegate>
-
-/**
- The delegate of the web socket.
-
- The web socket delegate is notified on all state changes that happen to the web socket.
- */
-@property (nonatomic, weak) id <SRWebSocketDelegate> delegate;
-
-/**
- A dispatch queue for scheduling the delegate calls. The queue doesn't need be a serial queue.
-
- If `nil` and `delegateOperationQueue` is `nil`, the socket uses main queue for performing all delegate method calls.
- */
-@property (nullable, nonatomic, strong) dispatch_queue_t delegateDispatchQueue;
-
-/**
- An operation queue for scheduling the delegate calls.
-
- If `nil` and `delegateOperationQueue` is `nil`, the socket uses main queue for performing all delegate method calls.
- */
-@property (nullable, nonatomic, strong) NSOperationQueue *delegateOperationQueue;
-
-/**
- Current ready state of the socket. Default: `SR_CONNECTING`.
-
- This property is Key-Value Observable and fully thread-safe.
- */
-@property (atomic, assign, readonly) SRReadyState readyState;
-
-/**
- An instance of `NSURL` that this socket connects to.
- */
-@property (nullable, nonatomic, strong, readonly) NSURL *url;
-
-/**
- All HTTP headers that were received by socket or `nil` if none were received so far.
- */
-@property (nullable, nonatomic, assign, readonly) CFHTTPMessageRef receivedHTTPHeaders;
-
-/**
- Array of `NSHTTPCookie` cookies to apply to the connection.
- */
-@property (nullable, nonatomic, copy) NSArray<NSHTTPCookie *> *requestCookies;
-
-/**
- The negotiated web socket protocol or `nil` if handshake did not yet complete.
- */
-@property (nullable, nonatomic, copy, readonly) NSString *protocol;
-
-/**
- A boolean value indicating whether this socket will allow connection without SSL trust chain evaluation.
- For DEBUG builds this flag is ignored, and SSL connections are allowed regardless of the certificate trust configuration
- */
-@property (nonatomic, assign, readonly) BOOL allowsUntrustedSSLCertificates;
-
-///--------------------------------------
-#pragma mark - Constructors
-///--------------------------------------
-
-/**
- Initializes a web socket with a given `NSURLRequest`.
-
- @param request Request to initialize with.
- */
-- (instancetype)initWithURLRequest:(NSURLRequest *)request;
-
-/**
- Initializes a web socket with a given `NSURLRequest`, specifying a transport security policy (e.g. SSL configuration).
-
- @param request        Request to initialize with.
- @param securityPolicy Policy object describing transport security behavior.
- */
-- (instancetype)initWithURLRequest:(NSURLRequest *)request securityPolicy:(SRSecurityPolicy *)securityPolicy;
-
-/**
- Initializes a web socket with a given `NSURLRequest` and list of sub-protocols.
-
- @param request   Request to initialize with.
- @param protocols An array of strings that turn into `Sec-WebSocket-Protocol`. Default: `nil`.
- */
-- (instancetype)initWithURLRequest:(NSURLRequest *)request protocols:(nullable NSArray<NSString *> *)protocols;
-
-/**
- Initializes a web socket with a given `NSURLRequest`, list of sub-protocols and whether untrusted SSL certificates are allowed.
-
- @param request                        Request to initialize with.
- @param protocols                      An array of strings that turn into `Sec-WebSocket-Protocol`. Default: `nil`.
- @param allowsUntrustedSSLCertificates Boolean value indicating whether untrusted SSL certificates are allowed. Default: `false`.
- */
-- (instancetype)initWithURLRequest:(NSURLRequest *)request protocols:(nullable NSArray<NSString *> *)protocols allowsUntrustedSSLCertificates:(BOOL)allowsUntrustedSSLCertificates
-    DEPRECATED_MSG_ATTRIBUTE("Disabling certificate chain validation is unsafe. "
-                             "Please use a proper Certificate Authority to issue your TLS certificates.");
-
-/**
- Initializes a web socket with a given `NSURLRequest`, list of sub-protocols and whether untrusted SSL certificates are allowed.
-
- @param request        Request to initialize with.
- @param protocols      An array of strings that turn into `Sec-WebSocket-Protocol`. Default: `nil`.
- @param securityPolicy Policy object describing transport security behavior.
- */
-- (instancetype)initWithURLRequest:(NSURLRequest *)request protocols:(nullable NSArray<NSString *> *)protocols securityPolicy:(SRSecurityPolicy *)securityPolicy NS_DESIGNATED_INITIALIZER;
-
-/**
- Initializes a web socket with a given `NSURL`.
-
- @param url URL to initialize with.
- */
-- (instancetype)initWithURL:(NSURL *)url;
-
-/**
- Initializes a web socket with a given `NSURL` and list of sub-protocols.
-
- @param url       URL to initialize with.
- @param protocols An array of strings that turn into `Sec-WebSocket-Protocol`. Default: `nil`.
- */
-- (instancetype)initWithURL:(NSURL *)url protocols:(nullable NSArray<NSString *> *)protocols;
-
-/**
- Initializes a web socket with a given `NSURL`, specifying a transport security policy (e.g. SSL configuration).
-
- @param url            URL to initialize with.
- @param securityPolicy Policy object describing transport security behavior.
- */
-- (instancetype)initWithURL:(NSURL *)url securityPolicy:(SRSecurityPolicy *)securityPolicy;
-
-/**
- Initializes a web socket with a given `NSURL`, list of sub-protocols and whether untrusted SSL certificates are allowed.
-
- @param url                            URL to initialize with.
- @param protocols                      An array of strings that turn into `Sec-WebSocket-Protocol`. Default: `nil`.
- @param allowsUntrustedSSLCertificates Boolean value indicating whether untrusted SSL certificates are allowed. Default: `false`.
- */
-- (instancetype)initWithURL:(NSURL *)url protocols:(nullable NSArray<NSString *> *)protocols allowsUntrustedSSLCertificates:(BOOL)allowsUntrustedSSLCertificates
-    DEPRECATED_MSG_ATTRIBUTE("Disabling certificate chain validation is unsafe. "
-                             "Please use a proper Certificate Authority to issue your TLS certificates.");
-
-/**
- Unavailable initializer. Please use any other initializer.
- */
-- (instancetype)init NS_UNAVAILABLE;
-
-/**
- Unavailable constructor. Please use any other initializer.
- */
-+ (instancetype)new NS_UNAVAILABLE;
-
-///--------------------------------------
-#pragma mark - Schedule
-///--------------------------------------
-
-/**
- Schedules a received on a given run loop in a given mode.
- By default, a web socket will schedule itself on `+[NSRunLoop SR_networkRunLoop]` using `NSDefaultRunLoopMode`.
-
- @param runLoop The run loop on which to schedule the receiver.
- @param mode     The mode for the run loop.
- */
-- (void)scheduleInRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode NS_SWIFT_NAME(schedule(in:forMode:));
-
-/**
- Removes the receiver from a given run loop running in a given mode.
-
- @param runLoop The run loop on which the receiver was scheduled.
- @param mode    The mode for the run loop.
- */
-- (void)unscheduleFromRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode NS_SWIFT_NAME(unschedule(from:forMode:));
-
-///--------------------------------------
-#pragma mark - Open / Close
-///--------------------------------------
-
-/**
- Opens web socket, which will trigger connection, authentication and start receiving/sending events.
- An instance of `SRWebSocket` is intended for one-time-use only. This method should be called once and only once.
- */
-- (void)open;
-
-/**
- Closes a web socket using `SRStatusCodeNormal` code and no reason.
- */
-- (void)close;
-
-/**
- Closes a web socket using a given code and reason.
-
- @param code   Code to close the socket with.
- @param reason Reason to send to the server or `nil`.
- */
-- (void)closeWithCode:(NSInteger)code reason:(nullable NSString *)reason;
-
-///--------------------------------------
-#pragma mark Send
-///--------------------------------------
-
-/**
- Send a UTF-8 string or binary data to the server.
-
- @param message UTF-8 String or Data to send.
-
- @deprecated Please use `sendString:` or `sendData` instead.
- */
-- (void)send:(nullable id)message __attribute__((deprecated("Please use `sendString:error:` or `sendData:error:` instead.")));
-
-/**
- Send a UTF-8 String to the server.
-
- @param string String to send.
- @param error  On input, a pointer to variable for an `NSError` object.
- If an error occurs, this pointer is set to an `NSError` object containing information about the error.
- You may specify `nil` to ignore the error information.
-
- @return `YES` if the string was scheduled to send, otherwise - `NO`.
- */
-- (BOOL)sendString:(NSString *)string error:(NSError **)error NS_SWIFT_NAME(send(string:));
-
-/**
- Send binary data to the server.
-
- @param data  Data to send.
- @param error On input, a pointer to variable for an `NSError` object.
- If an error occurs, this pointer is set to an `NSError` object containing information about the error.
- You may specify `nil` to ignore the error information.
-
- @return `YES` if the string was scheduled to send, otherwise - `NO`.
- */
-- (BOOL)sendData:(nullable NSData *)data error:(NSError **)error NS_SWIFT_NAME(send(data:));
-
-/**
- Send binary data to the server, without making a defensive copy of it first.
-
- @param data  Data to send.
- @param error On input, a pointer to variable for an `NSError` object.
- If an error occurs, this pointer is set to an `NSError` object containing information about the error.
- You may specify `nil` to ignore the error information.
-
- @return `YES` if the string was scheduled to send, otherwise - `NO`.
- */
-- (BOOL)sendDataNoCopy:(nullable NSData *)data error:(NSError **)error NS_SWIFT_NAME(send(dataNoCopy:));
-
-/**
- Send Ping message to the server with optional data.
-
- @param data  Instance of `NSData` or `nil`.
- @param error On input, a pointer to variable for an `NSError` object.
- If an error occurs, this pointer is set to an `NSError` object containing information about the error.
- You may specify `nil` to ignore the error information.
-
- @return `YES` if the string was scheduled to send, otherwise - `NO`.
- */
-- (BOOL)sendPing:(nullable NSData *)data error:(NSError **)error NS_SWIFT_NAME(sendPing(_:));
-
-@end
-
-///--------------------------------------
-#pragma mark - SRWebSocketDelegate
-///--------------------------------------
-
-/**
- The `SRWebSocketDelegate` protocol describes the methods that `SRWebSocket` objects
- call on their delegates to handle status and messsage events.
- */
-@protocol SRWebSocketDelegate <NSObject>
-
-@optional
-
-#pragma mark Receive Messages
-
-/**
- Called when any message was received from a web socket.
- This method is suboptimal and might be deprecated in a future release.
-
- @param webSocket An instance of `SRWebSocket` that received a message.
- @param message   Received message. Either a `String` or `NSData`.
- */
-- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessage:(id)message;
-
-/**
- Called when a frame was received from a web socket.
-
- @param webSocket An instance of `SRWebSocket` that received a message.
- @param string    Received text in a form of UTF-8 `String`.
- */
-- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessageWithString:(NSString *)string;
-
-/**
- Called when a frame was received from a web socket.
-
- @param webSocket An instance of `SRWebSocket` that received a message.
- @param data      Received data in a form of `NSData`.
- */
-- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessageWithData:(NSData *)data;
-
-#pragma mark Status & Connection
-
-/**
- Called when a given web socket was open and authenticated.
-
- @param webSocket An instance of `SRWebSocket` that was open.
- */
-- (void)webSocketDidOpen:(SRWebSocket *)webSocket;
-
-/**
- Called when a given web socket encountered an error.
-
- @param webSocket An instance of `SRWebSocket` that failed with an error.
- @param error     An instance of `NSError`.
- */
-- (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error;
-
-/**
- Called when a given web socket was closed.
-
- @param webSocket An instance of `SRWebSocket` that was closed.
- @param code      Code reported by the server.
- @param reason    Reason in a form of a String that was reported by the server or `nil`.
- @param wasClean  Boolean value indicating whether a socket was closed in a clean state.
- */
-- (void)webSocket:(SRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(nullable NSString *)reason wasClean:(BOOL)wasClean;
-
-/**
- Called on receive of a ping message from the server.
-
- @param webSocket An instance of `SRWebSocket` that received a ping frame.
- @param data      Payload that was received or `nil` if there was no payload.
- */
-- (void)webSocket:(SRWebSocket *)webSocket didReceivePingWithData:(nullable NSData *)data;
-
-/**
- Called when a pong data was received in response to ping.
-
- @param webSocket An instance of `SRWebSocket` that received a pong frame.
- @param pongData  Payload that was received or `nil` if there was no payload.
- */
-- (void)webSocket:(SRWebSocket *)webSocket didReceivePong:(nullable NSData *)pongData;
-
-/**
- Sent before reporting a text frame to be able to configure if it shuold be convert to a UTF-8 String or passed as `NSData`.
- If the method is not implemented - it will always convert text frames to String.
-
- @param webSocket An instance of `SRWebSocket` that received a text frame.
-
- @return `YES` if text frame should be converted to UTF-8 String, otherwise - `NO`. Default: `YES`.
- */
-- (BOOL)webSocketShouldConvertTextFrameToString:(SRWebSocket *)webSocket NS_SWIFT_NAME(webSocketShouldConvertTextFrameToString(_:));
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SRWebSocket.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SRWebSocket.m
deleted file mode 100644 (file)
index 83bf212..0000000
+++ /dev/null
@@ -1,1655 +0,0 @@
-//
-// Copyright 2012 Square Inc.
-// Portions Copyright (c) 2016-present, Facebook, Inc.
-//
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import "SRWebSocket.h"
-
-#if __has_include(<unicode/utf8.h>)
-#define HAS_ICU
-#endif
-
-#ifdef HAS_ICU
-#import <unicode/utf8.h>
-#endif
-
-#import <os/lock.h>
-
-#import "SRDelegateController.h"
-#import "SRIOConsumer.h"
-#import "SRIOConsumerPool.h"
-#import "SRHash.h"
-#import "SRURLUtilities.h"
-#import "SRError.h"
-#import "NSURLRequest+SRWebSocket.h"
-#import "NSRunLoop+SRWebSocket.h"
-#import "SRProxyConnect.h"
-#import "SRSecurityPolicy.h"
-#import "SRHTTPConnectMessage.h"
-#import "SRRandom.h"
-#import "SRLog.h"
-#import "SRMutex.h"
-#import "SRSIMDHelpers.h"
-#import "NSURLRequest+SRWebSocketPrivate.h"
-#import "NSRunLoop+SRWebSocketPrivate.h"
-#import "SRConstants.h"
-
-#if !__has_feature(objc_arc)
-#error SocketRocket must be compiled with ARC enabled
-#endif
-
-__attribute__((used)) static void importCategories(void)
-{
-    import_NSURLRequest_SRWebSocket();
-    import_NSRunLoop_SRWebSocket();
-}
-
-typedef struct {
-    BOOL fin;
-    //  BOOL rsv1;
-    //  BOOL rsv2;
-    //  BOOL rsv3;
-    uint8_t opcode;
-    BOOL masked;
-    uint64_t payload_length;
-} frame_header;
-
-static NSString *const SRWebSocketAppendToSecKeyString = @"258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
-
-static inline int32_t validate_dispatch_data_partial_string(NSData *data);
-
-static uint8_t const SRWebSocketProtocolVersion = 13;
-
-NSString *const SRWebSocketErrorDomain = @"SRWebSocketErrorDomain";
-NSString *const SRHTTPResponseErrorKey = @"HTTPResponseStatusCode";
-
-@interface SRWebSocket ()  <NSStreamDelegate>
-
-@property (atomic, assign, readwrite) SRReadyState readyState;
-
-// Specifies whether SSL trust chain should NOT be evaluated.
-// By default this flag is set to NO, meaning only secure SSL connections are allowed.
-// For DEBUG builds this flag is ignored, and SSL connections are allowed regardless
-// of the certificate trust configuration
-@property (nonatomic, assign, readwrite) BOOL allowsUntrustedSSLCertificates;
-
-@property (nonatomic, strong, readonly) SRDelegateController *delegateController;
-
-@end
-
-@implementation SRWebSocket {
-    SRMutex _kvoLock;
-    os_unfair_lock _propertyLock;
-
-    dispatch_queue_t _workQueue;
-    NSMutableArray<SRIOConsumer *> *_consumers;
-
-    NSInputStream *_inputStream;
-    NSOutputStream *_outputStream;
-
-    dispatch_data_t _readBuffer;
-    NSUInteger _readBufferOffset;
-
-    dispatch_data_t _outputBuffer;
-    NSUInteger _outputBufferOffset;
-
-    uint8_t _currentFrameOpcode;
-    size_t _currentFrameCount;
-    size_t _readOpCount;
-    uint32_t _currentStringScanPosition;
-    NSMutableData *_currentFrameData;
-
-    NSString *_closeReason;
-
-    NSString *_secKey;
-
-    SRSecurityPolicy *_securityPolicy;
-    BOOL _requestRequiresSSL;
-    BOOL _streamSecurityValidated;
-
-    uint8_t _currentReadMaskKey[4];
-    size_t _currentReadMaskOffset;
-
-    BOOL _closeWhenFinishedWriting;
-    BOOL _failed;
-
-    NSURLRequest *_urlRequest;
-
-    BOOL _sentClose;
-    BOOL _didFail;
-    BOOL _cleanupScheduled;
-    int _closeCode;
-
-    BOOL _isPumping;
-
-    NSMutableSet<NSArray *> *_scheduledRunloops; // Set<[RunLoop, Mode]>. TODO: (nlutsenko) Fix clowntown
-
-    // We use this to retain ourselves.
-    __strong SRWebSocket *_selfRetain;
-
-    NSArray<NSString *> *_requestedProtocols;
-    SRIOConsumerPool *_consumerPool;
-
-    // proxy support
-    SRProxyConnect *_proxyConnect;
-}
-
-@synthesize readyState = _readyState;
-
-///--------------------------------------
-#pragma mark - Init
-///--------------------------------------
-
-- (instancetype)initWithURLRequest:(NSURLRequest *)request protocols:(NSArray<NSString *> *)protocols securityPolicy:(SRSecurityPolicy *)securityPolicy
-{
-    self = [super init];
-    if (!self) return self;
-
-    assert(request.URL);
-    _url = request.URL;
-    _urlRequest = request;
-    _requestedProtocols = [protocols copy];
-    _securityPolicy = securityPolicy;
-    _requestRequiresSSL = SRURLRequiresSSL(_url);
-
-    _readyState = SR_CONNECTING;
-
-    _propertyLock = OS_UNFAIR_LOCK_INIT;
-    _kvoLock = SRMutexInitRecursive();
-    _workQueue = dispatch_queue_create(NULL, DISPATCH_QUEUE_SERIAL);
-
-    // Going to set a specific on the queue so we can validate we're on the work queue
-    dispatch_queue_set_specific(_workQueue, (__bridge void *)self, (__bridge void *)(_workQueue), NULL);
-
-    _delegateController = [[SRDelegateController alloc] init];
-
-    _readBuffer = dispatch_data_empty;
-    _outputBuffer = dispatch_data_empty;
-
-    _currentFrameData = [[NSMutableData alloc] init];
-
-    _consumers = [[NSMutableArray alloc] init];
-
-    _consumerPool = [[SRIOConsumerPool alloc] init];
-
-    _scheduledRunloops = [[NSMutableSet alloc] init];
-
-    return self;
-}
-
-- (instancetype)initWithURLRequest:(NSURLRequest *)request protocols:(NSArray<NSString *> *)protocols allowsUntrustedSSLCertificates:(BOOL)allowsUntrustedSSLCertificates
-{
-    SRSecurityPolicy *securityPolicy;
-    NSArray *pinnedCertificates = request.SR_SSLPinnedCertificates;
-    if (pinnedCertificates) {
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated"
-        securityPolicy = [SRSecurityPolicy pinnningPolicyWithCertificates:pinnedCertificates];
-#pragma clang diagnostic pop
-    } else {
-        BOOL certificateChainValidationEnabled = !allowsUntrustedSSLCertificates;
-    securityPolicy = [[SRSecurityPolicy alloc] initWithCertificateChainValidationEnabled:certificateChainValidationEnabled];
-    }
-
-    return [self initWithURLRequest:request protocols:protocols securityPolicy:securityPolicy];
-}
-
-- (instancetype)initWithURLRequest:(NSURLRequest *)request securityPolicy:(SRSecurityPolicy *)securityPolicy
-{
-    return [self initWithURLRequest:request protocols:nil securityPolicy:securityPolicy];
-}
-
-- (instancetype)initWithURLRequest:(NSURLRequest *)request protocols:(NSArray<NSString *> *)protocols
-{
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated"
-    return [self initWithURLRequest:request protocols:protocols allowsUntrustedSSLCertificates:NO];
-#pragma clang diagnostic pop
-}
-
-- (instancetype)initWithURLRequest:(NSURLRequest *)request
-{
-    return [self initWithURLRequest:request protocols:nil];
-}
-
-- (instancetype)initWithURL:(NSURL *)url
-{
-    return [self initWithURL:url protocols:nil];
-}
-
-- (instancetype)initWithURL:(NSURL *)url protocols:(NSArray<NSString *> *)protocols
-{
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated"
-    return [self initWithURL:url protocols:protocols allowsUntrustedSSLCertificates:NO];
-#pragma clang diagnostic pop
-}
-
-- (instancetype)initWithURL:(NSURL *)url securityPolicy:(SRSecurityPolicy *)securityPolicy
-{
-    NSURLRequest *request = [NSURLRequest requestWithURL:url];
-    return [self initWithURLRequest:request protocols:nil securityPolicy:securityPolicy];
-}
-
-- (instancetype)initWithURL:(NSURL *)url protocols:(NSArray<NSString *> *)protocols allowsUntrustedSSLCertificates:(BOOL)allowsUntrustedSSLCertificates
-{
-    NSURLRequest *request = [NSURLRequest requestWithURL:url];
-    return [self initWithURLRequest:request protocols:protocols allowsUntrustedSSLCertificates:allowsUntrustedSSLCertificates];
-}
-
-- (void)assertOnWorkQueue
-{
-    assert(dispatch_get_specific((__bridge void *)self) == (__bridge void *)_workQueue);
-}
-
-///--------------------------------------
-#pragma mark - Dealloc
-///--------------------------------------
-
-- (void)dealloc
-{
-    _inputStream.delegate = nil;
-    _outputStream.delegate = nil;
-
-    [_inputStream close];
-    [_outputStream close];
-
-    if (_receivedHTTPHeaders) {
-        CFRelease(_receivedHTTPHeaders);
-        _receivedHTTPHeaders = NULL;
-    }
-
-    SRMutexDestroy(_kvoLock);
-}
-
-///--------------------------------------
-#pragma mark - Accessors
-///--------------------------------------
-
-#pragma mark readyState
-
-- (void)setReadyState:(SRReadyState)readyState
-{
-    @try {
-        SRMutexLock(_kvoLock);
-        if (_readyState != readyState) {
-            [self willChangeValueForKey:@"readyState"];
-            os_unfair_lock_lock(&_propertyLock);
-            _readyState = readyState;
-            os_unfair_lock_unlock(&_propertyLock);
-            [self didChangeValueForKey:@"readyState"];
-        }
-    }
-    @finally {
-        SRMutexUnlock(_kvoLock);
-    }
-}
-
-- (SRReadyState)readyState
-{
-    SRReadyState state = 0;
-    os_unfair_lock_lock(&_propertyLock);
-    state = _readyState;
-    os_unfair_lock_unlock(&_propertyLock);
-    return state;
-}
-
-+ (BOOL)automaticallyNotifiesObserversOfReadyState {
-    return NO;
-}
-
-///--------------------------------------
-#pragma mark - Open / Close
-///--------------------------------------
-
-- (void)open
-{
-    NSURL* const url = _url;
-    if (!url) {
-        NSError *error = SRErrorWithDomainCodeDescription(NSURLErrorDomain, NSURLErrorBadURL, @"Unable to open socket with emtpy URL.");
-        [self _failWithError:error];
-        return;
-    }
-    NSAssert(self.readyState == SR_CONNECTING, @"Cannot call -(void)open on SRWebSocket more than once.");
-
-    _selfRetain = self;
-
-    if (_urlRequest.timeoutInterval > 0) {
-        dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(_urlRequest.timeoutInterval * NSEC_PER_SEC));
-        __weak typeof(self) wself = self;
-        dispatch_after(popTime, dispatch_get_main_queue(), ^{
-            __strong SRWebSocket *sself = wself;
-            if (!sself) {
-                return;
-            }
-            if (sself.readyState == SR_CONNECTING) {
-                NSError *error = SRErrorWithDomainCodeDescription(NSURLErrorDomain, NSURLErrorTimedOut, @"Timed out connecting to server.");
-                [sself _failWithError:error];
-            }
-        });
-    }
-
-    _proxyConnect = [[SRProxyConnect alloc] initWithURL:url];
-
-    __weak typeof(self) wself = self;
-    [_proxyConnect openNetworkStreamWithCompletion:^(NSError *error, NSInputStream *readStream, NSOutputStream *writeStream) {
-        [wself _connectionDoneWithError:error readStream:readStream writeStream:writeStream];
-    }];
-}
-
-- (void)_connectionDoneWithError:(NSError *)error readStream:(NSInputStream *)readStream writeStream:(NSOutputStream *)writeStream
-{
-    if (error != nil) {
-        [self _failWithError:error];
-    } else {
-        _outputStream = writeStream;
-        _inputStream = readStream;
-
-        _inputStream.delegate = self;
-        _outputStream.delegate = self;
-        [self _updateSecureStreamOptions];
-
-        if (!_scheduledRunloops.count) {
-            [self scheduleInRunLoop:[NSRunLoop SR_networkRunLoop] forMode:NSDefaultRunLoopMode];
-        }
-
-        // If we don't require SSL validation - consider that we connected.
-        // Otherwise `didConnect` is called when SSL validation finishes.
-        if (!_requestRequiresSSL) {
-            dispatch_async(_workQueue, ^{
-                [self didConnect];
-            });
-        }
-    }
-    // Schedule to run on a work queue, to make sure we don't run this inline and deallocate `self` inside `SRProxyConnect`.
-    // TODO: (nlutsenko) Find a better structure for this, maybe Bolts Tasks?
-    dispatch_async(_workQueue, ^{
-        self->_proxyConnect = nil;
-    });
-}
-
-- (BOOL)_checkHandshake:(CFHTTPMessageRef)httpMessage
-{
-    NSString *acceptHeader = CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(httpMessage, CFSTR("Sec-WebSocket-Accept")));
-
-    if (acceptHeader == nil) {
-        return NO;
-    }
-
-    NSString *concattedString = [_secKey stringByAppendingString:SRWebSocketAppendToSecKeyString];
-    NSData *hashedString = SRSHA1HashFromString(concattedString);
-    NSString *expectedAccept = SRBase64EncodedStringFromData(hashedString);
-    return [acceptHeader isEqualToString:expectedAccept];
-}
-
-- (void)_HTTPHeadersDidFinish:(CFHTTPMessageRef)httpMessage
-{
-    NSInteger responseCode = CFHTTPMessageGetResponseStatusCode(httpMessage);
-    if (responseCode >= 400) {
-        SRDebugLog(@"Request failed with response code %d", responseCode);
-        NSError *error = SRHTTPErrorWithCodeDescription(responseCode, 2132,
-                                                        [NSString stringWithFormat:@"Received bad response code from server: %d.",
-                                                         (int)responseCode]);
-        [self _failWithError:error];
-        return;
-    }
-
-    if(![self _checkHandshake:httpMessage]) {
-        NSError *error = SRErrorWithCodeDescription(2133, @"Invalid Sec-WebSocket-Accept response.");
-        [self _failWithError:error];
-        return;
-    }
-
-    NSString *negotiatedProtocol = CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(httpMessage, CFSTR("Sec-WebSocket-Protocol")));
-    if (negotiatedProtocol) {
-        // Make sure we requested the protocol
-        if ([_requestedProtocols indexOfObject:negotiatedProtocol] == NSNotFound) {
-            NSError *error = SRErrorWithCodeDescription(2133, @"Server specified Sec-WebSocket-Protocol that wasn't requested.");
-            [self _failWithError:error];
-            return;
-        }
-
-        _protocol = negotiatedProtocol;
-    }
-
-    self.readyState = SR_OPEN;
-
-    if (!_didFail) {
-        [self _readFrameNew];
-    }
-
-    [self.delegateController performDelegateBlock:^(id<SRWebSocketDelegate>  _Nullable delegate, SRDelegateAvailableMethods availableMethods) {
-        if (availableMethods.didOpen) {
-            [delegate webSocketDidOpen:self];
-        }
-    }];
-}
-
-
-- (void)_readHTTPHeader
-{
-    if (_receivedHTTPHeaders == NULL) {
-        _receivedHTTPHeaders = CFHTTPMessageCreateEmpty(NULL, NO);
-    }
-
-    [self _readUntilHeaderCompleteWithCallback:^(SRWebSocket *socket,  NSData *data) {
-        if (!socket) {
-            return;
-        }
-        CFHTTPMessageRef receivedHTTPHeaders = socket->_receivedHTTPHeaders;
-
-        CFHTTPMessageAppendBytes(receivedHTTPHeaders, (const UInt8 *)data.bytes, data.length);
-
-        if (CFHTTPMessageIsHeaderComplete(receivedHTTPHeaders)) {
-            SRDebugLog(@"Finished reading headers %@", CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(receivedHTTPHeaders)));
-            [socket _HTTPHeadersDidFinish:receivedHTTPHeaders];
-        } else {
-            [socket _readHTTPHeader];
-        }
-    }];
-}
-
-- (void)didConnect
-{
-    SRDebugLog(@"Connected");
-
-    _secKey = SRBase64EncodedStringFromData(SRRandomData(16));
-    assert([_secKey length] == 24);
-
-    CFHTTPMessageRef message = SRHTTPConnectMessageCreate(_urlRequest,
-                                                          _secKey,
-                                                          SRWebSocketProtocolVersion,
-                                                          self.requestCookies,
-                                                          _requestedProtocols);
-
-    NSData *messageData = CFBridgingRelease(CFHTTPMessageCopySerializedMessage(message));
-
-    CFRelease(message);
-
-    [self _writeData:messageData];
-    [self _readHTTPHeader];
-}
-
-- (void)_updateSecureStreamOptions
-{
-    if (_requestRequiresSSL) {
-        SRDebugLog(@"Setting up security for streams.");
-        [_securityPolicy updateSecurityOptionsInStream:_inputStream];
-        [_securityPolicy updateSecurityOptionsInStream:_outputStream];
-    }
-
-    NSString *networkServiceType = SRStreamNetworkServiceTypeFromURLRequest(_urlRequest);
-    if (networkServiceType != nil) {
-        [_inputStream setProperty:networkServiceType forKey:NSStreamNetworkServiceType];
-        [_outputStream setProperty:networkServiceType forKey:NSStreamNetworkServiceType];
-    }
-}
-
-- (void)scheduleInRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode
-{
-    [_outputStream scheduleInRunLoop:aRunLoop forMode:mode];
-    [_inputStream scheduleInRunLoop:aRunLoop forMode:mode];
-
-    [_scheduledRunloops addObject:@[aRunLoop, mode]];
-}
-
-- (void)unscheduleFromRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode
-{
-    [_outputStream removeFromRunLoop:aRunLoop forMode:mode];
-    [_inputStream removeFromRunLoop:aRunLoop forMode:mode];
-
-    [_scheduledRunloops removeObject:@[aRunLoop, mode]];
-}
-
-- (void)close
-{
-    [self closeWithCode:SRStatusCodeNormal reason:nil];
-}
-
-- (void)closeWithCode:(NSInteger)code reason:(NSString *)reason
-{
-    assert(code);
-    __weak typeof(self) wself = self;
-    dispatch_async(_workQueue, ^{
-        __strong SRWebSocket *sself = wself;
-        if (!sself) {
-          return;
-        }
-        if (sself.readyState == SR_CLOSING || sself.readyState == SR_CLOSED) {
-            return;
-        }
-
-        BOOL wasConnecting = sself.readyState == SR_CONNECTING;
-
-        sself.readyState = SR_CLOSING;
-
-        SRDebugLog(@"Closing with code %d reason %@", code, reason);
-
-        if (wasConnecting) {
-            [sself closeConnection];
-            return;
-        }
-
-        size_t maxMsgSize = [reason maximumLengthOfBytesUsingEncoding:NSUTF8StringEncoding];
-        NSMutableData *mutablePayload = [[NSMutableData alloc] initWithLength:sizeof(uint16_t) + maxMsgSize];
-        NSData *payload = mutablePayload;
-
-        ((uint16_t *)mutablePayload.mutableBytes)[0] = CFSwapInt16BigToHost((uint16_t)code);
-
-        if (reason) {
-            NSRange remainingRange = {0};
-
-            NSUInteger usedLength = 0;
-
-            BOOL success = [reason getBytes:(char *)mutablePayload.mutableBytes + sizeof(uint16_t) maxLength:payload.length - sizeof(uint16_t) usedLength:&usedLength encoding:NSUTF8StringEncoding options:NSStringEncodingConversionExternalRepresentation range:NSMakeRange(0, reason.length) remainingRange:&remainingRange];
-#pragma unused (success)
-
-            assert(success);
-            assert(remainingRange.length == 0);
-
-            if (usedLength != maxMsgSize) {
-                payload = [payload subdataWithRange:NSMakeRange(0, usedLength + sizeof(uint16_t))];
-            }
-        }
-
-
-        [sself _sendFrameWithOpcode:SROpCodeConnectionClose data:payload];
-    });
-}
-
-- (void)_closeWithProtocolError:(NSString *)message
-{
-    // Need to shunt this on the _callbackQueue first to see if they received any messages
-    [self.delegateController performDelegateQueueBlock:^{
-        [self closeWithCode:SRStatusCodeProtocolError reason:message];
-        dispatch_async(self->_workQueue, ^{
-            [self closeConnection];
-        });
-    }];
-}
-
-- (void)_failWithError:(NSError *)error
-{
-    dispatch_async(_workQueue, ^{
-        if (self.readyState != SR_CLOSED) {
-            self->_failed = YES;
-            [self.delegateController performDelegateBlock:^(id<SRWebSocketDelegate>  _Nullable delegate, SRDelegateAvailableMethods availableMethods) {
-                if (availableMethods.didFailWithError) {
-                    [delegate webSocket:self didFailWithError:error];
-                }
-            }];
-
-            self.readyState = SR_CLOSED;
-
-            SRDebugLog(@"Failing with error %@", error.localizedDescription);
-
-            [self closeConnection];
-            [self _scheduleCleanup];
-        }
-    });
-}
-
-- (void)_writeData:(NSData *)data
-{
-    [self assertOnWorkQueue];
-
-    if (_closeWhenFinishedWriting) {
-        return;
-    }
-
-    __block NSData *strongData = data;
-    dispatch_data_t newData = dispatch_data_create(data.bytes, data.length, nil, ^{
-        strongData = nil;
-    });
-    (void)strongData;
-    _outputBuffer = dispatch_data_create_concat(_outputBuffer, newData);
-    [self _pumpWriting];
-}
-
-- (void)send:(nullable id)message
-{
-    if (!message) {
-        [self sendData:nil error:nil]; // Send Data, but it doesn't matter since we are going to send the same text frame with 0 length.
-    } else if ([message isKindOfClass:[NSString class]]) {
-        [self sendString:(NSString *_Nonnull)message error:nil];
-    } else if ([message isKindOfClass:[NSData class]]) {
-        [self sendData:message error:nil];
-    } else {
-        NSAssert(NO, @"Unrecognized message. Not able to send anything other than a String or NSData.");
-    }
-}
-
-- (BOOL)sendString:(NSString *)string error:(NSError **)error
-{
-    if (self.readyState != SR_OPEN) {
-        NSString *message = @"Invalid State: Cannot call `sendString:error:` until connection is open.";
-        if (error) {
-            *error = SRErrorWithCodeDescription(2134, message);
-        }
-        SRDebugLog(message);
-        return NO;
-    }
-
-    string = [string copy];
-    dispatch_async(_workQueue, ^{
-        [self _sendFrameWithOpcode:SROpCodeTextFrame data:[string dataUsingEncoding:NSUTF8StringEncoding]];
-    });
-    return YES;
-}
-
-- (BOOL)sendData:(nullable NSData *)data error:(NSError **)error
-{
-    data = [data copy];
-    return [self sendDataNoCopy:data error:error];
-}
-
-- (BOOL)sendDataNoCopy:(nullable NSData *)data error:(NSError **)error
-{
-    if (self.readyState != SR_OPEN) {
-        NSString *message = @"Invalid State: Cannot call `sendDataNoCopy:error:` until connection is open.";
-        if (error) {
-            *error = SRErrorWithCodeDescription(2134, message);
-        }
-        SRDebugLog(message);
-        return NO;
-    }
-
-    dispatch_async(_workQueue, ^{
-        if (data) {
-            [self _sendFrameWithOpcode:SROpCodeBinaryFrame data:data];
-        } else {
-            [self _sendFrameWithOpcode:SROpCodeTextFrame data:nil];
-        }
-    });
-    return YES;
-}
-
-- (BOOL)sendPing:(nullable NSData *)data error:(NSError **)error
-{
-    if (self.readyState != SR_OPEN) {
-        NSString *message = @"Invalid State: Cannot call `sendPing:error:` until connection is open.";
-        if (error) {
-            *error = SRErrorWithCodeDescription(2134, message);
-        }
-        SRDebugLog(message);
-        return NO;
-    }
-
-    data = [data copy] ?: [NSData data]; // It's okay for a ping to be empty
-    dispatch_async(_workQueue, ^{
-        [self _sendFrameWithOpcode:SROpCodePing data:data];
-    });
-    return YES;
-}
-
-- (void)_handlePingWithData:(nullable NSData *)data
-{
-    // Need to pingpong this off _callbackQueue first to make sure messages happen in order
-    [self.delegateController performDelegateBlock:^(id<SRWebSocketDelegate> _Nullable delegate, SRDelegateAvailableMethods availableMethods) {
-        if (availableMethods.didReceivePing) {
-            [delegate webSocket:self didReceivePingWithData:data];
-        }
-        dispatch_async(self->_workQueue, ^{
-            [self _sendFrameWithOpcode:SROpCodePong data:data];
-        });
-    }];
-}
-
-- (void)handlePong:(NSData *)pongData
-{
-    SRDebugLog(@"Received pong");
-    [self.delegateController performDelegateBlock:^(id<SRWebSocketDelegate>  _Nullable delegate, SRDelegateAvailableMethods availableMethods) {
-        if (availableMethods.didReceivePong) {
-            [delegate webSocket:self didReceivePong:pongData];
-        }
-    }];
-}
-
-
-static inline BOOL closeCodeIsValid(int closeCode) {
-    if (closeCode < 1000) {
-        return NO;
-    }
-
-    if (closeCode >= 1000 && closeCode <= 1011) {
-        if (closeCode == 1004 ||
-            closeCode == 1005 ||
-            closeCode == 1006) {
-            return NO;
-        }
-        return YES;
-    }
-
-    if (closeCode >= 3000 && closeCode <= 3999) {
-        return YES;
-    }
-
-    if (closeCode >= 4000 && closeCode <= 4999) {
-        return YES;
-    }
-
-    return NO;
-}
-
-//  Note from RFC:
-//
-//  If there is a body, the first two
-//  bytes of the body MUST be a 2-byte unsigned integer (in network byte
-//  order) representing a status code with value /code/ defined in
-//  Section 7.4.  Following the 2-byte integer the body MAY contain UTF-8
-//  encoded data with value /reason/, the interpretation of which is not
-//  defined by this specification.
-
-- (void)handleCloseWithData:(NSData *)data
-{
-    size_t dataSize = data.length;
-    __block uint16_t closeCode = 0;
-
-    SRDebugLog(@"Received close frame");
-
-    if (dataSize == 1) {
-        // TODO handle error
-        [self _closeWithProtocolError:@"Payload for close must be larger than 2 bytes"];
-        return;
-    } else if (dataSize >= 2) {
-        [data getBytes:&closeCode length:sizeof(closeCode)];
-        _closeCode = CFSwapInt16BigToHost(closeCode);
-        if (!closeCodeIsValid(_closeCode)) {
-            [self _closeWithProtocolError:[NSString stringWithFormat:@"Cannot have close code of %d", _closeCode]];
-            return;
-        }
-        if (dataSize > 2) {
-            _closeReason = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(2, dataSize - 2)] encoding:NSUTF8StringEncoding];
-            if (!_closeReason) {
-                [self _closeWithProtocolError:@"Close reason MUST be valid UTF-8"];
-                return;
-            }
-        }
-    } else {
-        _closeCode = SRStatusNoStatusReceived;
-    }
-
-    [self assertOnWorkQueue];
-
-    if (self.readyState == SR_OPEN) {
-        [self closeWithCode:1000 reason:nil];
-    }
-    dispatch_async(_workQueue, ^{
-        [self closeConnection];
-    });
-}
-
-- (void)closeConnection
-{
-    [self assertOnWorkQueue];
-    SRDebugLog(@"Trying to disconnect");
-    _closeWhenFinishedWriting = YES;
-    [self _pumpWriting];
-}
-
-- (void)_handleFrameWithData:(NSData *)frameData opCode:(SROpCode)opcode
-{
-    // Check that the current data is valid UTF8
-
-    BOOL isControlFrame = (opcode == SROpCodePing || opcode == SROpCodePong || opcode == SROpCodeConnectionClose);
-    if (isControlFrame) {
-        //frameData will be copied before passing to handlers
-        //otherwise there can be misbehaviours when value at the pointer is changed
-        frameData = [frameData copy];
-
-        dispatch_async(_workQueue, ^{
-            [self _readFrameContinue];
-        });
-    } else {
-        [self _readFrameNew];
-    }
-
-    switch (opcode) {
-        case SROpCodeTextFrame: {
-            NSString *string = [[NSString alloc] initWithData:frameData encoding:NSUTF8StringEncoding];
-            if (!string && frameData) {
-                [self closeWithCode:SRStatusCodeInvalidUTF8 reason:@"Text frames must be valid UTF-8."];
-                dispatch_async(_workQueue, ^{
-                    [self closeConnection];
-                });
-                return;
-            }
-            SRDebugLog(@"Received text message.");
-            [self.delegateController performDelegateBlock:^(id<SRWebSocketDelegate>  _Nullable delegate, SRDelegateAvailableMethods availableMethods) {
-                // Don't convert into string - iff `delegate` tells us not to. Otherwise - create UTF8 string and handle that.
-                if (availableMethods.shouldConvertTextFrameToString && ![delegate webSocketShouldConvertTextFrameToString:self]) {
-                    if (availableMethods.didReceiveMessage) {
-                        [delegate webSocket:self didReceiveMessage:frameData];
-                    }
-                    if (availableMethods.didReceiveMessageWithData) {
-                        [delegate webSocket:self didReceiveMessageWithData:frameData];
-                    }
-                } else {
-                    if (availableMethods.didReceiveMessage) {
-                        [delegate webSocket:self didReceiveMessage:string];
-                    }
-                    if (availableMethods.didReceiveMessageWithString) {
-                        [delegate webSocket:self didReceiveMessageWithString:string];
-                    }
-                }
-            }];
-            break;
-        }
-        case SROpCodeBinaryFrame: {
-            SRDebugLog(@"Received data message.");
-            [self.delegateController performDelegateBlock:^(id<SRWebSocketDelegate>  _Nullable delegate, SRDelegateAvailableMethods availableMethods) {
-                if (availableMethods.didReceiveMessage) {
-                    [delegate webSocket:self didReceiveMessage:frameData];
-                }
-                if (availableMethods.didReceiveMessageWithData) {
-                    [delegate webSocket:self didReceiveMessageWithData:frameData];
-                }
-            }];
-        }
-            break;
-        case SROpCodeConnectionClose:
-            [self handleCloseWithData:frameData];
-            break;
-        case SROpCodePing:
-            [self _handlePingWithData:frameData];
-            break;
-        case SROpCodePong:
-            [self handlePong:frameData];
-            break;
-        default:
-            [self _closeWithProtocolError:[NSString stringWithFormat:@"Unknown opcode %ld", (long)opcode]];
-            // TODO: Handle invalid opcode
-            break;
-    }
-}
-
-- (void)_handleFrameHeader:(frame_header)frame_header curData:(NSData *)curData
-{
-    assert(frame_header.opcode != 0);
-
-    if (self.readyState == SR_CLOSED) {
-        return;
-    }
-
-
-    BOOL isControlFrame = (frame_header.opcode == SROpCodePing || frame_header.opcode == SROpCodePong || frame_header.opcode == SROpCodeConnectionClose);
-
-    if (isControlFrame && !frame_header.fin) {
-        [self _closeWithProtocolError:@"Fragmented control frames not allowed"];
-        return;
-    }
-
-    if (isControlFrame && frame_header.payload_length >= 126) {
-        [self _closeWithProtocolError:@"Control frames cannot have payloads larger than 126 bytes"];
-        return;
-    }
-
-    if (!isControlFrame) {
-        _currentFrameOpcode = frame_header.opcode;
-        _currentFrameCount += 1;
-    }
-
-    if (frame_header.payload_length == 0) {
-        if (isControlFrame) {
-            [self _handleFrameWithData:curData opCode:frame_header.opcode];
-        } else {
-            if (frame_header.fin) {
-                [self _handleFrameWithData:_currentFrameData opCode:frame_header.opcode];
-            } else {
-                // TODO add assert that opcode is not a control;
-                [self _readFrameContinue];
-            }
-        }
-    } else {
-        assert(frame_header.payload_length <= SIZE_T_MAX);
-        [self _addConsumerWithDataLength:(size_t)frame_header.payload_length callback:^(SRWebSocket *sself, NSData *newData) {
-            if (isControlFrame) {
-                [sself _handleFrameWithData:newData opCode:frame_header.opcode];
-            } else {
-                if (frame_header.fin) {
-                    [sself _handleFrameWithData:sself->_currentFrameData opCode:frame_header.opcode];
-                } else {
-                    // TODO add assert that opcode is not a control;
-                    [sself _readFrameContinue];
-                }
-            }
-        } readToCurrentFrame:!isControlFrame unmaskBytes:frame_header.masked];
-    }
-}
-
-/* From RFC:
-
- 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-------+-+-------------+-------------------------------+
- |F|R|R|R| opcode|M| Payload len |    Extended payload length    |
- |I|S|S|S|  (4)  |A|     (7)     |             (16/64)           |
- |N|V|V|V|       |S|             |   (if payload len==126/127)   |
- | |1|2|3|       |K|             |                               |
- +-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - +
- |     Extended payload length continued, if payload len == 127  |
- + - - - - - - - - - - - - - - - +-------------------------------+
- |                               |Masking-key, if MASK set to 1  |
- +-------------------------------+-------------------------------+
- | Masking-key (continued)       |          Payload Data         |
- +-------------------------------- - - - - - - - - - - - - - - - +
- :                     Payload Data continued ...                :
- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
- |                     Payload Data continued ...                |
- +---------------------------------------------------------------+
- */
-
-static const uint8_t SRFinMask          = 0x80;
-static const uint8_t SROpCodeMask       = 0x0F;
-static const uint8_t SRRsvMask          = 0x70;
-static const uint8_t SRMaskMask         = 0x80;
-static const uint8_t SRPayloadLenMask   = 0x7F;
-
-
-- (void)_readFrameContinue
-{
-    assert((_currentFrameCount == 0 && _currentFrameOpcode == 0) || (_currentFrameCount > 0 && _currentFrameOpcode > 0));
-
-    [self _addConsumerWithDataLength:2 callback:^(SRWebSocket *sself, NSData *data) {
-        __block frame_header header = {0};
-
-        const uint8_t *headerBuffer = data.bytes;
-        assert(data.length >= 2);
-
-        if (headerBuffer[0] & SRRsvMask) {
-            [sself _closeWithProtocolError:@"Server used RSV bits"];
-            return;
-        }
-
-        uint8_t receivedOpcode = (SROpCodeMask & headerBuffer[0]);
-
-        BOOL isControlFrame = (receivedOpcode == SROpCodePing || receivedOpcode == SROpCodePong || receivedOpcode == SROpCodeConnectionClose);
-
-        if (!isControlFrame && receivedOpcode != 0 && sself->_currentFrameCount > 0) {
-            [sself _closeWithProtocolError:@"all data frames after the initial data frame must have opcode 0"];
-            return;
-        }
-
-        if (receivedOpcode == 0 && sself->_currentFrameCount == 0) {
-            [sself _closeWithProtocolError:@"cannot continue a message"];
-            return;
-        }
-
-        header.opcode = receivedOpcode == 0 ? sself->_currentFrameOpcode : receivedOpcode;
-
-        header.fin = !!(SRFinMask & headerBuffer[0]);
-
-
-        header.masked = !!(SRMaskMask & headerBuffer[1]);
-        header.payload_length = SRPayloadLenMask & headerBuffer[1];
-
-        headerBuffer = NULL;
-
-        if (header.masked) {
-            [sself _closeWithProtocolError:@"Client must receive unmasked data"];
-            return;
-        }
-
-        size_t extra_bytes_needed = header.masked ? sizeof(sself->_currentReadMaskKey) : 0;
-
-        if (header.payload_length == 126) {
-            extra_bytes_needed += sizeof(uint16_t);
-        } else if (header.payload_length == 127) {
-            extra_bytes_needed += sizeof(uint64_t);
-        }
-
-        if (extra_bytes_needed == 0) {
-            [sself _handleFrameHeader:header curData:sself->_currentFrameData];
-        } else {
-            [sself _addConsumerWithDataLength:extra_bytes_needed callback:^(SRWebSocket *eself, NSData *edata) {
-                size_t mapped_size = edata.length;
-#pragma unused (mapped_size)
-                const void *mapped_buffer = edata.bytes;
-                size_t offset = 0;
-
-                if (header.payload_length == 126) {
-                    assert(mapped_size >= sizeof(uint16_t));
-                    uint16_t payloadLength = 0;
-                    memcpy(&payloadLength, mapped_buffer, sizeof(uint16_t));
-                    payloadLength = CFSwapInt16BigToHost(payloadLength);
-
-                    header.payload_length = payloadLength;
-                    offset += sizeof(uint16_t);
-                } else if (header.payload_length == 127) {
-                    assert(mapped_size >= sizeof(uint64_t));
-                    uint64_t payloadLength = 0;
-                    memcpy(&payloadLength, mapped_buffer, sizeof(uint64_t));
-                    payloadLength = CFSwapInt64BigToHost(payloadLength);
-
-                    header.payload_length = payloadLength;
-                    offset += sizeof(uint64_t);
-                } else {
-                    assert(header.payload_length < 126 && header.payload_length >= 0);
-                }
-
-                if (header.masked) {
-                    assert(mapped_size >= sizeof(eself->_currentReadMaskOffset) + offset);
-                    memcpy(eself->_currentReadMaskKey, ((uint8_t *)mapped_buffer) + offset, sizeof(eself->_currentReadMaskKey));
-                }
-
-                [eself _handleFrameHeader:header curData:eself->_currentFrameData];
-            } readToCurrentFrame:NO unmaskBytes:NO];
-        }
-    } readToCurrentFrame:NO unmaskBytes:NO];
-}
-
-- (void)_readFrameNew
-{
-    dispatch_async(_workQueue, ^{
-        // Don't reset the length, since Apple doesn't guarantee that this will free the memory (and in tests on
-        // some platforms, it doesn't seem to, effectively causing a leak the size of the biggest frame so far).
-        self->_currentFrameData = [[NSMutableData alloc] init];
-
-        self->_currentFrameOpcode = 0;
-        self->_currentFrameCount = 0;
-        self->_readOpCount = 0;
-        self->_currentStringScanPosition = 0;
-
-        [self _readFrameContinue];
-    });
-}
-
-- (void)_pumpWriting
-{
-    [self assertOnWorkQueue];
-
-    NSUInteger dataLength = dispatch_data_get_size(_outputBuffer);
-    if (dataLength - _outputBufferOffset > 0 && _outputStream.hasSpaceAvailable) {
-        __block NSInteger bytesWritten = 0;
-        __block BOOL streamFailed = NO;
-
-        dispatch_data_t dataToSend = dispatch_data_create_subrange(_outputBuffer, _outputBufferOffset, dataLength - _outputBufferOffset);
-        dispatch_data_apply(dataToSend, ^bool(dispatch_data_t region, size_t offset, const void *buffer, size_t size) {
-            NSInteger sentLength = [_outputStream write:buffer maxLength:size];
-            if (sentLength == -1) {
-                streamFailed = YES;
-                return false;
-            }
-            bytesWritten += sentLength;
-            return (sentLength >= (NSInteger)size); // If we can't write all the data into the stream - bail-out early.
-        });
-        if (streamFailed) {
-            NSInteger code = 2145;
-            NSString *description = @"Error writing to stream.";
-            NSError *streamError = _outputStream.streamError;
-            NSError *error = streamError ? SRErrorWithCodeDescriptionUnderlyingError(code, description, streamError) : SRErrorWithCodeDescription(code, description);
-            [self _failWithError:error];
-            return;
-        }
-
-        _outputBufferOffset += bytesWritten;
-
-        if (_outputBufferOffset > SRDefaultBufferSize() && _outputBufferOffset > dataLength / 2) {
-            _outputBuffer = dispatch_data_create_subrange(_outputBuffer, _outputBufferOffset, dataLength - _outputBufferOffset);
-            _outputBufferOffset = 0;
-        }
-    }
-
-    if (_closeWhenFinishedWriting &&
-        (dispatch_data_get_size(_outputBuffer) - _outputBufferOffset) == 0 &&
-        (_inputStream.streamStatus != NSStreamStatusNotOpen &&
-         _inputStream.streamStatus != NSStreamStatusClosed) &&
-        !_sentClose) {
-        _sentClose = YES;
-
-        @synchronized(self) {
-            [_outputStream close];
-            [_inputStream close];
-
-
-            for (NSArray *runLoop in [_scheduledRunloops copy]) {
-                [self unscheduleFromRunLoop:[runLoop objectAtIndex:0] forMode:[runLoop objectAtIndex:1]];
-            }
-        }
-
-        if (!_failed) {
-            [self.delegateController performDelegateBlock:^(id<SRWebSocketDelegate>  _Nullable delegate, SRDelegateAvailableMethods availableMethods) {
-                if (availableMethods.didCloseWithCode) {
-                    [delegate webSocket:self didCloseWithCode:self->_closeCode reason:self->_closeReason wasClean:YES];
-                }
-            }];
-        }
-
-        [self _scheduleCleanup];
-    }
-}
-
-- (void)_addConsumerWithScanner:(stream_scanner)consumer callback:(data_callback)callback
-{
-    [self assertOnWorkQueue];
-    [self _addConsumerWithScanner:consumer callback:callback dataLength:0];
-}
-
-- (void)_addConsumerWithDataLength:(size_t)dataLength callback:(data_callback)callback readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes
-{
-    [self assertOnWorkQueue];
-    assert(dataLength);
-
-    [_consumers addObject:[_consumerPool consumerWithScanner:nil handler:callback bytesNeeded:dataLength readToCurrentFrame:readToCurrentFrame unmaskBytes:unmaskBytes]];
-    [self _pumpScanner];
-}
-
-- (void)_addConsumerWithScanner:(stream_scanner)consumer callback:(data_callback)callback dataLength:(size_t)dataLength
-{
-    [self assertOnWorkQueue];
-    [_consumers addObject:[_consumerPool consumerWithScanner:consumer handler:callback bytesNeeded:dataLength readToCurrentFrame:NO unmaskBytes:NO]];
-    [self _pumpScanner];
-}
-
-
-- (void)_scheduleCleanup
-{
-    @synchronized(self) {
-        if (_cleanupScheduled) {
-            return;
-        }
-
-        _cleanupScheduled = YES;
-
-        // Cleanup NSStream delegate's in the same RunLoop used by the streams themselves:
-        // This way we'll prevent race conditions between handleEvent and SRWebsocket's dealloc
-        NSTimer *timer = [NSTimer timerWithTimeInterval:(0.0f) target:self selector:@selector(_cleanupSelfReference:) userInfo:nil repeats:NO];
-        [[NSRunLoop SR_networkRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
-    }
-}
-
-- (void)_cleanupSelfReference:(NSTimer *)timer
-{
-    @synchronized(self) {
-        // Nuke NSStream delegate's
-        _inputStream.delegate = nil;
-        _outputStream.delegate = nil;
-
-        // Remove the streams, right now, from the networkRunLoop
-        [_inputStream close];
-        [_outputStream close];
-    }
-
-    // Cleanup selfRetain in the same GCD queue as usual
-    dispatch_async(_workQueue, ^{
-        self->_selfRetain = nil;
-    });
-}
-
-
-static const char CRLFCRLFBytes[] = {'\r', '\n', '\r', '\n'};
-
-- (void)_readUntilHeaderCompleteWithCallback:(data_callback)dataHandler
-{
-    [self _readUntilBytes:CRLFCRLFBytes length:sizeof(CRLFCRLFBytes) callback:dataHandler];
-}
-
-- (void)_readUntilBytes:(const void *)bytes length:(size_t)length callback:(data_callback)dataHandler
-{
-    // TODO optimize so this can continue from where we last searched
-    stream_scanner consumer = ^size_t(NSData *data) {
-        __block size_t found_size = 0;
-        __block size_t match_count = 0;
-
-        size_t size = data.length;
-        const unsigned char *buffer = data.bytes;
-        for (size_t i = 0; i < size; i++ ) {
-            if (((const unsigned char *)buffer)[i] == ((const unsigned char *)bytes)[match_count]) {
-                match_count += 1;
-                if (match_count == length) {
-                    found_size = i + 1;
-                    break;
-                }
-            } else {
-                match_count = 0;
-            }
-        }
-        return found_size;
-    };
-    [self _addConsumerWithScanner:consumer callback:dataHandler];
-}
-
-
-// Returns true if did work
-- (BOOL)_innerPumpScanner {
-
-    BOOL didWork = NO;
-
-    if (self.readyState >= SR_CLOSED) {
-        return didWork;
-    }
-
-    size_t readBufferSize = dispatch_data_get_size(_readBuffer);
-
-    if (!_consumers.count) {
-        return didWork;
-    }
-
-    size_t curSize = readBufferSize - _readBufferOffset;
-    if (!curSize) {
-        return didWork;
-    }
-
-    SRIOConsumer *consumer = [_consumers objectAtIndex:0];
-
-    size_t bytesNeeded = consumer.bytesNeeded;
-
-    size_t foundSize = 0;
-    if (consumer.consumer) {
-        NSData *subdata = (NSData *)dispatch_data_create_subrange(_readBuffer, _readBufferOffset, readBufferSize - _readBufferOffset);
-        foundSize = consumer.consumer(subdata);
-    } else {
-        assert(consumer.bytesNeeded);
-        if (curSize >= bytesNeeded) {
-            foundSize = bytesNeeded;
-        } else if (consumer.readToCurrentFrame) {
-            foundSize = curSize;
-        }
-    }
-
-    if (consumer.readToCurrentFrame || foundSize) {
-        dispatch_data_t slice = dispatch_data_create_subrange(_readBuffer, _readBufferOffset, foundSize);
-
-        _readBufferOffset += foundSize;
-
-        if (_readBufferOffset > SRDefaultBufferSize() && _readBufferOffset > readBufferSize / 2) {
-            _readBuffer = dispatch_data_create_subrange(_readBuffer, _readBufferOffset, readBufferSize - _readBufferOffset);
-            _readBufferOffset = 0;
-        }
-
-        if (consumer.unmaskBytes) {
-            __block NSMutableData *mutableSlice = [slice mutableCopy];
-
-            NSUInteger len = mutableSlice.length;
-            uint8_t *bytes = mutableSlice.mutableBytes;
-
-            for (NSUInteger i = 0; i < len; i++) {
-                bytes[i] = bytes[i] ^ _currentReadMaskKey[_currentReadMaskOffset % sizeof(_currentReadMaskKey)];
-                _currentReadMaskOffset += 1;
-            }
-
-            slice = dispatch_data_create(bytes, len, nil, ^{
-                mutableSlice = nil;
-            });
-        }
-
-        if (consumer.readToCurrentFrame) {
-            dispatch_data_apply(slice, ^bool(dispatch_data_t region, size_t offset, const void *buffer, size_t size) {
-                [_currentFrameData appendBytes:buffer length:size];
-                return true;
-            });
-
-            _readOpCount += 1;
-
-            if (_currentFrameOpcode == SROpCodeTextFrame) {
-                // Validate UTF8 stuff.
-                size_t currentDataSize = _currentFrameData.length;
-                if (_currentFrameOpcode == SROpCodeTextFrame && currentDataSize > 0) {
-                    // TODO: Optimize the crap out of this.  Don't really have to copy all the data each time
-
-                    size_t scanSize = currentDataSize - _currentStringScanPosition;
-
-                    NSData *scan_data = [_currentFrameData subdataWithRange:NSMakeRange(_currentStringScanPosition, scanSize)];
-                    int32_t valid_utf8_size = validate_dispatch_data_partial_string(scan_data);
-
-                    if (valid_utf8_size == -1) {
-                        [self closeWithCode:SRStatusCodeInvalidUTF8 reason:@"Text frames must be valid UTF-8"];
-                        dispatch_async(_workQueue, ^{
-                            [self closeConnection];
-                        });
-                        return didWork;
-                    } else {
-                        _currentStringScanPosition += valid_utf8_size;
-                    }
-                }
-
-            }
-
-            consumer.bytesNeeded -= foundSize;
-
-            if (consumer.bytesNeeded == 0) {
-                [_consumers removeObjectAtIndex:0];
-                consumer.handler(self, nil);
-                [_consumerPool returnConsumer:consumer];
-                didWork = YES;
-            }
-        } else if (foundSize) {
-            [_consumers removeObjectAtIndex:0];
-            consumer.handler(self, (NSData *)slice);
-            [_consumerPool returnConsumer:consumer];
-            didWork = YES;
-        }
-    }
-    return didWork;
-}
-
--(void)_pumpScanner
-{
-    [self assertOnWorkQueue];
-
-    if (!_isPumping) {
-        _isPumping = YES;
-    } else {
-        return;
-    }
-
-    while ([self _innerPumpScanner]) {
-
-    }
-
-    _isPumping = NO;
-}
-
-//#define NOMASK
-
-static const size_t SRFrameHeaderOverhead = 32;
-
-- (void)_sendFrameWithOpcode:(SROpCode)opCode data:(NSData *)data
-{
-    [self assertOnWorkQueue];
-
-    if (!data) {
-        return;
-    }
-
-    size_t payloadLength = data.length;
-
-    NSMutableData *frameData = [[NSMutableData alloc] initWithLength:payloadLength + SRFrameHeaderOverhead];
-    if (!frameData) {
-        [self closeWithCode:SRStatusCodeMessageTooBig reason:@"Message too big"];
-        return;
-    }
-    uint8_t *frameBuffer = (uint8_t *)frameData.mutableBytes;
-
-    // set fin
-    frameBuffer[0] = SRFinMask | opCode;
-
-    // set the mask and header
-    frameBuffer[1] |= SRMaskMask;
-
-    size_t frameBufferSize = 2;
-
-    if (payloadLength < 126) {
-        frameBuffer[1] |= payloadLength;
-    } else {
-        uint64_t declaredPayloadLength = 0;
-        size_t declaredPayloadLengthSize = 0;
-
-        if (payloadLength <= UINT16_MAX) {
-            frameBuffer[1] |= 126;
-
-            declaredPayloadLength = CFSwapInt16BigToHost((uint16_t)payloadLength);
-            declaredPayloadLengthSize = sizeof(uint16_t);
-        } else {
-            frameBuffer[1] |= 127;
-
-            declaredPayloadLength = CFSwapInt64BigToHost((uint64_t)payloadLength);
-            declaredPayloadLengthSize = sizeof(uint64_t);
-        }
-
-        memcpy((frameBuffer + frameBufferSize), &declaredPayloadLength, declaredPayloadLengthSize);
-        frameBufferSize += declaredPayloadLengthSize;
-    }
-
-    const uint8_t *unmaskedPayloadBuffer = (uint8_t *)data.bytes;
-    uint8_t *maskKey = frameBuffer + frameBufferSize;
-
-    size_t randomBytesSize = sizeof(uint32_t);
-    NSData *randomData = SRRandomData(randomBytesSize);
-    [randomData getBytes:maskKey range:NSMakeRange(0, randomBytesSize)];
-    frameBufferSize += randomBytesSize;
-
-    // Copy and unmask the buffer
-    uint8_t *frameBufferPayloadPointer = frameBuffer + frameBufferSize;
-
-    memcpy(frameBufferPayloadPointer, unmaskedPayloadBuffer, payloadLength);
-    SRMaskBytesSIMD(frameBufferPayloadPointer, payloadLength, maskKey);
-    frameBufferSize += payloadLength;
-
-    assert(frameBufferSize <= frameData.length);
-    frameData.length = frameBufferSize;
-
-    [self _writeData:frameData];
-}
-
-- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode
-{
-    __weak typeof(self) wself = self;
-
-    if (_requestRequiresSSL && !_streamSecurityValidated &&
-        (eventCode == NSStreamEventHasBytesAvailable || eventCode == NSStreamEventHasSpaceAvailable)) {
-        SecTrustRef trust = (__bridge SecTrustRef)[aStream propertyForKey:(__bridge id)kCFStreamPropertySSLPeerTrust];
-        if (trust) {
-            NSString *const host = _urlRequest.URL.host;
-            if (!host || host.length == 0) {
-                dispatch_async(_workQueue, ^{
-                    NSError *error = SRErrorWithDomainCodeDescription(NSURLErrorDomain,
-                                                                      NSURLErrorBadURL,
-                                                                      @"Unable to validate certificate for empty host.");
-                    [wself _failWithError:error];
-                });
-                return;
-            }
-            _streamSecurityValidated = [_securityPolicy evaluateServerTrust:trust forDomain:host];
-        }
-        if (!_streamSecurityValidated) {
-            dispatch_async(_workQueue, ^{
-                NSError *error = SRErrorWithDomainCodeDescription(NSURLErrorDomain,
-                                                                  NSURLErrorClientCertificateRejected,
-                                                                  @"Invalid server certificate.");
-                [wself _failWithError:error];
-            });
-            return;
-        }
-        dispatch_async(_workQueue, ^{
-            [self didConnect];
-        });
-    }
-    dispatch_async(_workQueue, ^{
-        [wself safeHandleEvent:eventCode stream:aStream];
-    });
-}
-
-- (void)safeHandleEvent:(NSStreamEvent)eventCode stream:(NSStream *)aStream
-{
-    switch (eventCode) {
-        case NSStreamEventOpenCompleted: {
-            SRDebugLog(@"NSStreamEventOpenCompleted %@", aStream);
-            if (self.readyState >= SR_CLOSING) {
-                return;
-            }
-            assert(_readBuffer);
-
-            if (!_requestRequiresSSL && self.readyState == SR_CONNECTING && aStream == _inputStream) {
-                [self didConnect];
-            }
-
-            [self _pumpWriting];
-            [self _pumpScanner];
-
-            break;
-        }
-
-        case NSStreamEventErrorOccurred: {
-            SRDebugLog(@"NSStreamEventErrorOccurred %@ %@", aStream, [[aStream streamError] copy]);
-            /// TODO specify error better!
-            [self _failWithError:aStream.streamError];
-            _readBufferOffset = 0;
-            _readBuffer = dispatch_data_empty;
-            break;
-
-        }
-
-        case NSStreamEventEndEncountered: {
-            [self _pumpScanner];
-            SRDebugLog(@"NSStreamEventEndEncountered %@", aStream);
-            if (aStream.streamError) {
-                [self _failWithError:aStream.streamError];
-            } else {
-                dispatch_async(_workQueue, ^{
-                    if (self.readyState != SR_CLOSED) {
-                        self.readyState = SR_CLOSED;
-                        [self _scheduleCleanup];
-                    }
-
-                    if (!self->_sentClose && !self->_failed) {
-                        self->_sentClose = YES;
-                        // If we get closed in this state it's probably not clean because we should be sending this when we send messages
-                        [self.delegateController performDelegateBlock:^(id<SRWebSocketDelegate>  _Nullable delegate, SRDelegateAvailableMethods availableMethods) {
-                            if (availableMethods.didCloseWithCode) {
-                                [delegate webSocket:self
-                                   didCloseWithCode:SRStatusCodeGoingAway
-                                             reason:@"Stream end encountered"
-                                           wasClean:NO];
-                            }
-                        }];
-                    }
-                });
-            }
-
-            break;
-        }
-
-        case NSStreamEventHasBytesAvailable: {
-            SRDebugLog(@"NSStreamEventHasBytesAvailable %@", aStream);
-            uint8_t buffer[SRDefaultBufferSize()];
-
-            while (_inputStream.hasBytesAvailable) {
-                NSInteger bytesRead = [_inputStream read:buffer maxLength:SRDefaultBufferSize()];
-                if (bytesRead > 0) {
-                    dispatch_data_t data = dispatch_data_create(buffer, bytesRead, nil, DISPATCH_DATA_DESTRUCTOR_DEFAULT);
-                    if (!data) {
-                        NSError *error = SRErrorWithCodeDescription(SRStatusCodeMessageTooBig,
-                                                                    @"Unable to allocate memory to read from socket.");
-                        [self _failWithError:error];
-                        return;
-                    }
-                    _readBuffer = dispatch_data_create_concat(_readBuffer, data);
-                } else if (bytesRead == -1) {
-                    [self _failWithError:_inputStream.streamError];
-                }
-            }
-            [self _pumpScanner];
-            break;
-        }
-
-        case NSStreamEventHasSpaceAvailable: {
-            SRDebugLog(@"NSStreamEventHasSpaceAvailable %@", aStream);
-            [self _pumpWriting];
-            break;
-        }
-
-        case NSStreamEventNone:
-            SRDebugLog(@"(default)  %@", aStream);
-            break;
-    }
-}
-
-///--------------------------------------
-#pragma mark - Delegate
-///--------------------------------------
-
-- (id<SRWebSocketDelegate> _Nullable)delegate
-{
-    return self.delegateController.delegate;
-}
-
-- (void)setDelegate:(id<SRWebSocketDelegate> _Nullable)delegate
-{
-    self.delegateController.delegate = delegate;
-}
-
-- (void)setDelegateDispatchQueue:(dispatch_queue_t _Nullable)queue
-{
-    self.delegateController.dispatchQueue = queue;
-}
-
-- (dispatch_queue_t _Nullable)delegateDispatchQueue
-{
-    return self.delegateController.dispatchQueue;
-}
-
-- (void)setDelegateOperationQueue:(NSOperationQueue *_Nullable)queue
-{
-    self.delegateController.operationQueue = queue;
-}
-
-- (NSOperationQueue *_Nullable)delegateOperationQueue
-{
-    return self.delegateController.operationQueue;
-}
-
-@end
-
-#ifdef HAS_ICU
-
-static inline int32_t validate_dispatch_data_partial_string(NSData *data) {
-    if ([data length] > INT32_MAX) {
-        // INT32_MAX is the limit so long as this Framework is using 32 bit ints everywhere.
-        return -1;
-    }
-
-    int32_t size = (int32_t)[data length];
-
-    const void * contents = [data bytes];
-    const uint8_t *str = (const uint8_t *)contents;
-
-    UChar32 codepoint = 1;
-    int32_t offset = 0;
-    int32_t lastOffset = 0;
-    while(offset < size && codepoint > 0)  {
-        lastOffset = offset;
-        U8_NEXT(str, offset, size, codepoint);
-    }
-
-    if (codepoint == -1) {
-        // Check to see if the last byte is valid or whether it was just continuing
-        if (!U8_IS_LEAD(str[lastOffset]) || U8_COUNT_TRAIL_BYTES(str[lastOffset]) + lastOffset < (int32_t)size) {
-
-            size = -1;
-        } else {
-            uint8_t leadByte = str[lastOffset];
-            U8_MASK_LEAD_BYTE(leadByte, U8_COUNT_TRAIL_BYTES(leadByte));
-
-            for (int i = lastOffset + 1; i < offset; i++) {
-                if (U8_IS_SINGLE(str[i]) || U8_IS_LEAD(str[i]) || !U8_IS_TRAIL(str[i])) {
-                    size = -1;
-                }
-            }
-
-            if (size != -1) {
-                size = lastOffset;
-            }
-        }
-    }
-
-    if (size != -1 && ![[NSString alloc] initWithBytesNoCopy:(char *)[data bytes] length:size encoding:NSUTF8StringEncoding freeWhenDone:NO]) {
-        size = -1;
-    }
-
-    return size;
-}
-
-#else
-
-// This is a hack, and probably not optimal
-static inline int32_t validate_dispatch_data_partial_string(NSData *data) {
-    static const int maxCodepointSize = 3;
-
-    for (int i = 0; i < maxCodepointSize; i++) {
-        NSString *str = [[NSString alloc] initWithBytesNoCopy:(char *)data.bytes length:data.length - i encoding:NSUTF8StringEncoding freeWhenDone:NO];
-        if (str) {
-            return (int32_t)data.length - i;
-        }
-    }
-
-    return -1;
-}
-
-#endif
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SocketRocket.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/SocketRocket/SocketRocket/SocketRocket.h
deleted file mode 100644 (file)
index c7ab062..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-// Copyright 2012 Square Inc.
-// Portions Copyright (c) 2016-present, Facebook, Inc.
-//
-// All rights reserved.
-//
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
-//
-
-#import <SocketRocket/NSRunLoop+SRWebSocket.h>
-#import <SocketRocket/NSURLRequest+SRWebSocket.h>
-#import <SocketRocket/SRSecurityPolicy.h>
-#import <SocketRocket/SRWebSocket.h>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore-Info.plist
deleted file mode 100644 (file)
index 0b89d70..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>FMWK</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.0.5</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>${CURRENT_PROJECT_VERSION}</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore-dummy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore-dummy.m
deleted file mode 100644 (file)
index aee0796..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#import <Foundation/Foundation.h>
-@interface PodsDummy_IQKeyboardCore : NSObject
-@end
-@implementation PodsDummy_IQKeyboardCore
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore-prefix.pch b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore-prefix.pch
deleted file mode 100644 (file)
index beb2a24..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore-umbrella.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore-umbrella.h
deleted file mode 100644 (file)
index 64dd2f1..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-
-FOUNDATION_EXPORT double IQKeyboardCoreVersionNumber;
-FOUNDATION_EXPORT const unsigned char IQKeyboardCoreVersionString[];
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore.debug.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore.debug.xcconfig
deleted file mode 100644 (file)
index 5c4d54b..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardCore
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore.modulemap
deleted file mode 100644 (file)
index cca043f..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module IQKeyboardCore {
-  umbrella header "IQKeyboardCore-umbrella.h"
-
-  export *
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore.release.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/IQKeyboardCore.release.xcconfig
deleted file mode 100644 (file)
index 5c4d54b..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardCore
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/ResourceBundle-IQKeyboardCore-IQKeyboardCore-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardCore/ResourceBundle-IQKeyboardCore-IQKeyboardCore-Info.plist
deleted file mode 100644 (file)
index 3efc7e9..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>BNDL</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.0.5</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>1</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-Info.plist
deleted file mode 100644 (file)
index 6ecc7d6..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>FMWK</string>
-  <key>CFBundleShortVersionString</key>
-  <string>8.0.1</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>${CURRENT_PROJECT_VERSION}</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-dummy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-dummy.m
deleted file mode 100644 (file)
index 7937f27..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#import <Foundation/Foundation.h>
-@interface PodsDummy_IQKeyboardManagerSwift : NSObject
-@end
-@implementation PodsDummy_IQKeyboardManagerSwift
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch
deleted file mode 100644 (file)
index beb2a24..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-umbrella.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-umbrella.h
deleted file mode 100644 (file)
index e95b398..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-
-FOUNDATION_EXPORT double IQKeyboardManagerSwiftVersionNumber;
-FOUNDATION_EXPORT const unsigned char IQKeyboardManagerSwiftVersionString[];
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.debug.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.debug.xcconfig
deleted file mode 100644 (file)
index 442dd02..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift
-ENABLE_USER_SCRIPT_SANDBOXING = NO
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardNotification" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardReturnManager" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbarManager" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextInputViewNotification" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextView"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "Combine" -framework "IQKeyboardNotification" -framework "IQKeyboardReturnManager" -framework "IQKeyboardToolbarManager" -framework "IQTextInputViewNotification" -framework "IQTextView" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardManagerSwift
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap
deleted file mode 100644 (file)
index 6d9b343..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module IQKeyboardManagerSwift {
-  umbrella header "IQKeyboardManagerSwift-umbrella.h"
-
-  export *
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.release.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.release.xcconfig
deleted file mode 100644 (file)
index 442dd02..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift
-ENABLE_USER_SCRIPT_SANDBOXING = NO
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardNotification" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardReturnManager" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbarManager" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextInputViewNotification" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextView"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "Combine" -framework "IQKeyboardNotification" -framework "IQKeyboardReturnManager" -framework "IQKeyboardToolbarManager" -framework "IQTextInputViewNotification" -framework "IQTextView" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardManagerSwift
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardManagerSwift/ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist
deleted file mode 100644 (file)
index cae5234..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>BNDL</string>
-  <key>CFBundleShortVersionString</key>
-  <string>8.0.1</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>1</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification-Info.plist
deleted file mode 100644 (file)
index fa6742c..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>FMWK</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.0.3</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>${CURRENT_PROJECT_VERSION}</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification-dummy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification-dummy.m
deleted file mode 100644 (file)
index 8a83ede..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#import <Foundation/Foundation.h>
-@interface PodsDummy_IQKeyboardNotification : NSObject
-@end
-@implementation PodsDummy_IQKeyboardNotification
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification-prefix.pch b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification-prefix.pch
deleted file mode 100644 (file)
index beb2a24..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification-umbrella.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification-umbrella.h
deleted file mode 100644 (file)
index 16fb1ef..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-
-FOUNDATION_EXPORT double IQKeyboardNotificationVersionNumber;
-FOUNDATION_EXPORT const unsigned char IQKeyboardNotificationVersionString[];
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification.debug.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification.debug.xcconfig
deleted file mode 100644 (file)
index 0c7d299..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardNotification
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "Combine" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardNotification
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification.modulemap
deleted file mode 100644 (file)
index dc8f8c4..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module IQKeyboardNotification {
-  umbrella header "IQKeyboardNotification-umbrella.h"
-
-  export *
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification.release.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/IQKeyboardNotification.release.xcconfig
deleted file mode 100644 (file)
index 0c7d299..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardNotification
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "Combine" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardNotification
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/ResourceBundle-IQKeyboardNotification-IQKeyboardNotification-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardNotification/ResourceBundle-IQKeyboardNotification-IQKeyboardNotification-Info.plist
deleted file mode 100644 (file)
index 66c8b45..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>BNDL</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.0.3</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>1</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-Info.plist
deleted file mode 100644 (file)
index b49db6d..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>FMWK</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.0.4</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>${CURRENT_PROJECT_VERSION}</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-dummy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-dummy.m
deleted file mode 100644 (file)
index c4b85c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#import <Foundation/Foundation.h>
-@interface PodsDummy_IQKeyboardReturnManager : NSObject
-@end
-@implementation PodsDummy_IQKeyboardReturnManager
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-prefix.pch b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-prefix.pch
deleted file mode 100644 (file)
index beb2a24..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-umbrella.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager-umbrella.h
deleted file mode 100644 (file)
index 5b8c1c9..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-
-FOUNDATION_EXPORT double IQKeyboardReturnManagerVersionNumber;
-FOUNDATION_EXPORT const unsigned char IQKeyboardReturnManagerVersionString[];
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager.debug.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager.debug.xcconfig
deleted file mode 100644 (file)
index 7301b82..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardReturnManager
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "IQKeyboardCore" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardReturnManager
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager.modulemap
deleted file mode 100644 (file)
index 5c7882e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module IQKeyboardReturnManager {
-  umbrella header "IQKeyboardReturnManager-umbrella.h"
-
-  export *
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager.release.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/IQKeyboardReturnManager.release.xcconfig
deleted file mode 100644 (file)
index 7301b82..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardReturnManager
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "IQKeyboardCore" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardReturnManager
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/ResourceBundle-IQKeyboardReturnManager-IQKeyboardReturnManager-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardReturnManager/ResourceBundle-IQKeyboardReturnManager-IQKeyboardReturnManager-Info.plist
deleted file mode 100644 (file)
index 82617c3..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>BNDL</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.0.4</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>1</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-Info.plist
deleted file mode 100644 (file)
index de6ebe8..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>FMWK</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.1.1</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>${CURRENT_PROJECT_VERSION}</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-dummy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-dummy.m
deleted file mode 100644 (file)
index 509d066..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#import <Foundation/Foundation.h>
-@interface PodsDummy_IQKeyboardToolbar : NSObject
-@end
-@implementation PodsDummy_IQKeyboardToolbar
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-prefix.pch b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-prefix.pch
deleted file mode 100644 (file)
index beb2a24..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-umbrella.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar-umbrella.h
deleted file mode 100644 (file)
index 9697a17..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-
-FOUNDATION_EXPORT double IQKeyboardToolbarVersionNumber;
-FOUNDATION_EXPORT const unsigned char IQKeyboardToolbarVersionString[];
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar.debug.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar.debug.xcconfig
deleted file mode 100644 (file)
index ec1a749..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "IQKeyboardCore" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardToolbar
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar.modulemap
deleted file mode 100644 (file)
index 01b12d5..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module IQKeyboardToolbar {
-  umbrella header "IQKeyboardToolbar-umbrella.h"
-
-  export *
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar.release.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/IQKeyboardToolbar.release.xcconfig
deleted file mode 100644 (file)
index ec1a749..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "IQKeyboardCore" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardToolbar
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/ResourceBundle-IQKeyboardToolbar-IQKeyboardToolbar-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbar/ResourceBundle-IQKeyboardToolbar-IQKeyboardToolbar-Info.plist
deleted file mode 100644 (file)
index b72e7f2..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>BNDL</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.1.1</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>1</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-Info.plist
deleted file mode 100644 (file)
index 263f9c0..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>FMWK</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.1.3</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>${CURRENT_PROJECT_VERSION}</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-dummy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-dummy.m
deleted file mode 100644 (file)
index 16aad41..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#import <Foundation/Foundation.h>
-@interface PodsDummy_IQKeyboardToolbarManager : NSObject
-@end
-@implementation PodsDummy_IQKeyboardToolbarManager
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-prefix.pch b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-prefix.pch
deleted file mode 100644 (file)
index beb2a24..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-umbrella.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager-umbrella.h
deleted file mode 100644 (file)
index afc8d95..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-
-FOUNDATION_EXPORT double IQKeyboardToolbarManagerVersionNumber;
-FOUNDATION_EXPORT const unsigned char IQKeyboardToolbarManagerVersionString[];
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager.debug.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager.debug.xcconfig
deleted file mode 100644 (file)
index 4bbb2c8..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbarManager
-ENABLE_USER_SCRIPT_SANDBOXING = NO
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextInputViewNotification"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "Combine" -framework "IQKeyboardToolbar" -framework "IQTextInputViewNotification" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardToolbarManager
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager.modulemap
deleted file mode 100644 (file)
index 3c41440..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module IQKeyboardToolbarManager {
-  umbrella header "IQKeyboardToolbarManager-umbrella.h"
-
-  export *
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager.release.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/IQKeyboardToolbarManager.release.xcconfig
deleted file mode 100644 (file)
index 4bbb2c8..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbarManager
-ENABLE_USER_SCRIPT_SANDBOXING = NO
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextInputViewNotification"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "Combine" -framework "IQKeyboardToolbar" -framework "IQTextInputViewNotification" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardToolbarManager
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/ResourceBundle-IQKeyboardToolbarManager-IQKeyboardToolbarManager-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQKeyboardToolbarManager/ResourceBundle-IQKeyboardToolbarManager-IQKeyboardToolbarManager-Info.plist
deleted file mode 100644 (file)
index 3bb9fa3..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>BNDL</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.1.3</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>1</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-Info.plist
deleted file mode 100644 (file)
index 3fa062a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>FMWK</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.0.8</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>${CURRENT_PROJECT_VERSION}</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-dummy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-dummy.m
deleted file mode 100644 (file)
index 128bc16..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#import <Foundation/Foundation.h>
-@interface PodsDummy_IQTextInputViewNotification : NSObject
-@end
-@implementation PodsDummy_IQTextInputViewNotification
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-prefix.pch b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-prefix.pch
deleted file mode 100644 (file)
index beb2a24..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-umbrella.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification-umbrella.h
deleted file mode 100644 (file)
index 1752c3d..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-
-FOUNDATION_EXPORT double IQTextInputViewNotificationVersionNumber;
-FOUNDATION_EXPORT const unsigned char IQTextInputViewNotificationVersionString[];
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification.debug.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification.debug.xcconfig
deleted file mode 100644 (file)
index 903a091..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQTextInputViewNotification
-ENABLE_USER_SCRIPT_SANDBOXING = NO
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "Combine" -framework "IQKeyboardCore" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQTextInputViewNotification
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification.modulemap
deleted file mode 100644 (file)
index 12b0bca..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module IQTextInputViewNotification {
-  umbrella header "IQTextInputViewNotification-umbrella.h"
-
-  export *
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification.release.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/IQTextInputViewNotification.release.xcconfig
deleted file mode 100644 (file)
index 903a091..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQTextInputViewNotification
-ENABLE_USER_SCRIPT_SANDBOXING = NO
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "Combine" -framework "IQKeyboardCore" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQTextInputViewNotification
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/ResourceBundle-IQTextInputViewNotification-IQTextInputViewNotification-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextInputViewNotification/ResourceBundle-IQTextInputViewNotification-IQTextInputViewNotification-Info.plist
deleted file mode 100644 (file)
index 6350d86..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>BNDL</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.0.8</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>1</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView-Info.plist
deleted file mode 100644 (file)
index 0b89d70..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>FMWK</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.0.5</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>${CURRENT_PROJECT_VERSION}</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView-dummy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView-dummy.m
deleted file mode 100644 (file)
index 3ee207b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#import <Foundation/Foundation.h>
-@interface PodsDummy_IQTextView : NSObject
-@end
-@implementation PodsDummy_IQTextView
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView-prefix.pch b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView-prefix.pch
deleted file mode 100644 (file)
index beb2a24..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView-umbrella.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView-umbrella.h
deleted file mode 100644 (file)
index 6aa14c2..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-
-FOUNDATION_EXPORT double IQTextViewVersionNumber;
-FOUNDATION_EXPORT const unsigned char IQTextViewVersionString[];
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView.debug.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView.debug.xcconfig
deleted file mode 100644 (file)
index 765a884..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQTextView
-ENABLE_USER_SCRIPT_SANDBOXING = NO
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "IQKeyboardToolbar" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQTextView
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView.modulemap
deleted file mode 100644 (file)
index 1a2cd91..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module IQTextView {
-  umbrella header "IQTextView-umbrella.h"
-
-  export *
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView.release.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/IQTextView.release.xcconfig
deleted file mode 100644 (file)
index 765a884..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQTextView
-ENABLE_USER_SCRIPT_SANDBOXING = NO
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "IQKeyboardToolbar" -framework "UIKit"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQTextView
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/ResourceBundle-IQTextView-IQTextView-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/IQTextView/ResourceBundle-IQTextView-IQTextView-Info.plist
deleted file mode 100644 (file)
index 3efc7e9..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>BNDL</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.0.5</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>1</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-Info.plist
deleted file mode 100644 (file)
index 19cf209..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>FMWK</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.0.0</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>${CURRENT_PROJECT_VERSION}</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-acknowledgements.markdown b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-acknowledgements.markdown
deleted file mode 100644 (file)
index 3f648a5..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# Acknowledgements
-This application makes use of the following third party libraries:
-
-## SocketRocket
-
-BSD License
-
-For SocketRocket software
-
-Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
-
- * Neither the name Facebook nor the names of its contributors may be used to
-   endorse or promote products derived from this software without specific
-   prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-Generated by CocoaPods - https://cocoapods.org
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-acknowledgements.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-acknowledgements.plist
deleted file mode 100644 (file)
index 7a35f4a..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>PreferenceSpecifiers</key>
-       <array>
-               <dict>
-                       <key>FooterText</key>
-                       <string>This application makes use of the following third party libraries:</string>
-                       <key>Title</key>
-                       <string>Acknowledgements</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>BSD License
-
-For SocketRocket software
-
-Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
-
- * Neither the name Facebook nor the names of its contributors may be used to
-   endorse or promote products derived from this software without specific
-   prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</string>
-                       <key>License</key>
-                       <string>BSD</string>
-                       <key>Title</key>
-                       <string>SocketRocket</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>Generated by CocoaPods - https://cocoapods.org</string>
-                       <key>Title</key>
-                       <string></string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-       </array>
-       <key>StringsTable</key>
-       <string>Acknowledgements</string>
-       <key>Title</key>
-       <string>Acknowledgements</string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-dummy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-dummy.m
deleted file mode 100644 (file)
index 49baa2a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#import <Foundation/Foundation.h>
-@interface PodsDummy_Pods_DeepChordsSdk : NSObject
-@end
-@implementation PodsDummy_Pods_DeepChordsSdk
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-umbrella.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk-umbrella.h
deleted file mode 100644 (file)
index 32e1e90..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-
-FOUNDATION_EXPORT double Pods_DeepChordsSdkVersionNumber;
-FOUNDATION_EXPORT const unsigned char Pods_DeepChordsSdkVersionString[];
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.debug.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.debug.xcconfig
deleted file mode 100644 (file)
index 14872ce..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket/SocketRocket.framework/Headers"
-LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
-OTHER_LDFLAGS = $(inherited) -l"icucore" -framework "CFNetwork" -framework "Security" -framework "SocketRocket"
-OTHER_MODULE_VERIFIER_FLAGS = $(inherited) "-F${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket"
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_PODFILE_DIR_PATH = ${SRCROOT}/..
-PODS_ROOT = ${SRCROOT}/../Pods
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.modulemap
deleted file mode 100644 (file)
index b8f06b0..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module Pods_DeepChordsSdk {
-  umbrella header "Pods-DeepChordsSdk-umbrella.h"
-
-  export *
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.release.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-DeepChordsSdk/Pods-DeepChordsSdk.release.xcconfig
deleted file mode 100644 (file)
index 14872ce..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket/SocketRocket.framework/Headers"
-LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
-OTHER_LDFLAGS = $(inherited) -l"icucore" -framework "CFNetwork" -framework "Security" -framework "SocketRocket"
-OTHER_MODULE_VERIFIER_FLAGS = $(inherited) "-F${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket"
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_PODFILE_DIR_PATH = ${SRCROOT}/..
-PODS_ROOT = ${SRCROOT}/../Pods
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-Info.plist
deleted file mode 100644 (file)
index 19cf209..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>FMWK</string>
-  <key>CFBundleShortVersionString</key>
-  <string>1.0.0</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>${CURRENT_PROJECT_VERSION}</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown
deleted file mode 100644 (file)
index 7c475f8..0000000
+++ /dev/null
@@ -1,281 +0,0 @@
-# Acknowledgements
-This application makes use of the following third party libraries:
-
-## SocketRocket
-
-BSD License
-
-For SocketRocket software
-
-Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
-
- * Neither the name Facebook nor the names of its contributors may be used to
-   endorse or promote products derived from this software without specific
-   prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-## IQKeyboardCore
-
-MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-## IQKeyboardManagerSwift
-
-MIT License
-
-Copyright (c) 2013-2023 Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-## IQKeyboardNotification
-
-MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-## IQKeyboardReturnManager
-
-MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-## IQKeyboardToolbar
-
-MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-## IQKeyboardToolbarManager
-
-MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-## IQTextInputViewNotification
-
-Copyright (c) 2024 hackiftekhar <ideviftekhar@gmail.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
-
-## IQTextView
-
-MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-## SnapKit
-
-Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
-
-## Toast-Swift
-
-Copyright (c) 2015-2024 Charles Scalesse.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Generated by CocoaPods - https://cocoapods.org
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist
deleted file mode 100644 (file)
index f164213..0000000
+++ /dev/null
@@ -1,373 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>PreferenceSpecifiers</key>
-       <array>
-               <dict>
-                       <key>FooterText</key>
-                       <string>This application makes use of the following third party libraries:</string>
-                       <key>Title</key>
-                       <string>Acknowledgements</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>BSD License
-
-For SocketRocket software
-
-Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
-
- * Neither the name Facebook nor the names of its contributors may be used to
-   endorse or promote products derived from this software without specific
-   prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</string>
-                       <key>License</key>
-                       <string>BSD</string>
-                       <key>Title</key>
-                       <string>SocketRocket</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-</string>
-                       <key>License</key>
-                       <string>MIT</string>
-                       <key>Title</key>
-                       <string>IQKeyboardCore</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>MIT License
-
-Copyright (c) 2013-2023 Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-</string>
-                       <key>License</key>
-                       <string>MIT</string>
-                       <key>Title</key>
-                       <string>IQKeyboardManagerSwift</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-</string>
-                       <key>License</key>
-                       <string>MIT</string>
-                       <key>Title</key>
-                       <string>IQKeyboardNotification</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-</string>
-                       <key>License</key>
-                       <string>MIT</string>
-                       <key>Title</key>
-                       <string>IQKeyboardReturnManager</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-</string>
-                       <key>License</key>
-                       <string>MIT</string>
-                       <key>Title</key>
-                       <string>IQKeyboardToolbar</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-</string>
-                       <key>License</key>
-                       <string>MIT</string>
-                       <key>Title</key>
-                       <string>IQKeyboardToolbarManager</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>Copyright (c) 2024 hackiftekhar &lt;ideviftekhar@gmail.com&gt;
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-</string>
-                       <key>License</key>
-                       <string>MIT</string>
-                       <key>Title</key>
-                       <string>IQTextInputViewNotification</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>MIT License
-
-Copyright (c) 2024 Mohd Iftekhar Qurashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-</string>
-                       <key>License</key>
-                       <string>MIT</string>
-                       <key>Title</key>
-                       <string>IQTextView</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-</string>
-                       <key>License</key>
-                       <string>MIT</string>
-                       <key>Title</key>
-                       <string>SnapKit</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>Copyright (c) 2015-2024 Charles Scalesse.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-</string>
-                       <key>License</key>
-                       <string>MIT</string>
-                       <key>Title</key>
-                       <string>Toast-Swift</string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-               <dict>
-                       <key>FooterText</key>
-                       <string>Generated by CocoaPods - https://cocoapods.org</string>
-                       <key>Title</key>
-                       <string></string>
-                       <key>Type</key>
-                       <string>PSGroupSpecifier</string>
-               </dict>
-       </array>
-       <key>StringsTable</key>
-       <string>Acknowledgements</string>
-       <key>Title</key>
-       <string>Acknowledgements</string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m
deleted file mode 100644 (file)
index 6ee3f90..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#import <Foundation/Foundation.h>
-@interface PodsDummy_Pods_Example : NSObject
-@end
-@implementation PodsDummy_Pods_Example
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-input-files.xcfilelist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-input-files.xcfilelist
deleted file mode 100644 (file)
index c7c1447..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh
-${BUILT_PRODUCTS_DIR}/SocketRocket/SocketRocket.framework
-${BUILT_PRODUCTS_DIR}/IQKeyboardCore/IQKeyboardCore.framework
-${BUILT_PRODUCTS_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework
-${BUILT_PRODUCTS_DIR}/IQKeyboardNotification/IQKeyboardNotification.framework
-${BUILT_PRODUCTS_DIR}/IQKeyboardReturnManager/IQKeyboardReturnManager.framework
-${BUILT_PRODUCTS_DIR}/IQKeyboardToolbar/IQKeyboardToolbar.framework
-${BUILT_PRODUCTS_DIR}/IQKeyboardToolbarManager/IQKeyboardToolbarManager.framework
-${BUILT_PRODUCTS_DIR}/IQTextInputViewNotification/IQTextInputViewNotification.framework
-${BUILT_PRODUCTS_DIR}/IQTextView/IQTextView.framework
-${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
-${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework
\ No newline at end of file
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-output-files.xcfilelist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-output-files.xcfilelist
deleted file mode 100644 (file)
index 0f3e419..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SocketRocket.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardCore.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManagerSwift.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardNotification.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardReturnManager.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardToolbar.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardToolbarManager.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQTextInputViewNotification.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQTextView.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Toast_Swift.framework
\ No newline at end of file
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-input-files.xcfilelist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-input-files.xcfilelist
deleted file mode 100644 (file)
index c7c1447..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh
-${BUILT_PRODUCTS_DIR}/SocketRocket/SocketRocket.framework
-${BUILT_PRODUCTS_DIR}/IQKeyboardCore/IQKeyboardCore.framework
-${BUILT_PRODUCTS_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework
-${BUILT_PRODUCTS_DIR}/IQKeyboardNotification/IQKeyboardNotification.framework
-${BUILT_PRODUCTS_DIR}/IQKeyboardReturnManager/IQKeyboardReturnManager.framework
-${BUILT_PRODUCTS_DIR}/IQKeyboardToolbar/IQKeyboardToolbar.framework
-${BUILT_PRODUCTS_DIR}/IQKeyboardToolbarManager/IQKeyboardToolbarManager.framework
-${BUILT_PRODUCTS_DIR}/IQTextInputViewNotification/IQTextInputViewNotification.framework
-${BUILT_PRODUCTS_DIR}/IQTextView/IQTextView.framework
-${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
-${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework
\ No newline at end of file
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-output-files.xcfilelist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-output-files.xcfilelist
deleted file mode 100644 (file)
index 0f3e419..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SocketRocket.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardCore.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManagerSwift.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardNotification.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardReturnManager.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardToolbar.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardToolbarManager.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQTextInputViewNotification.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQTextView.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework
-${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Toast_Swift.framework
\ No newline at end of file
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh
deleted file mode 100755 (executable)
index d9fc13b..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-#!/bin/sh
-set -e
-set -u
-set -o pipefail
-
-function on_error {
-  echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
-}
-trap 'on_error $LINENO' ERR
-
-if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
-  # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
-  # frameworks to, so exit 0 (signalling the script phase was successful).
-  exit 0
-fi
-
-echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
-mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
-
-COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
-SWIFT_STDLIB_PATH="${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
-BCSYMBOLMAP_DIR="BCSymbolMaps"
-
-
-# This protects against multiple targets copying the same framework dependency at the same time. The solution
-# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
-RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
-
-# Copies and strips a vendored framework
-install_framework()
-{
-  if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
-    local source="${BUILT_PRODUCTS_DIR}/$1"
-  elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
-    local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
-  elif [ -r "$1" ]; then
-    local source="$1"
-  fi
-
-  local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
-
-  if [ -L "${source}" ]; then
-    echo "Symlinked..."
-    source="$(readlink -f "${source}")"
-  fi
-
-  if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then
-    # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied
-    find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do
-      echo "Installing $f"
-      install_bcsymbolmap "$f" "$destination"
-      rm "$f"
-    done
-    rmdir "${source}/${BCSYMBOLMAP_DIR}"
-  fi
-
-  # Use filter instead of exclude so missing patterns don't throw errors.
-  echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
-  rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
-
-  local basename
-  basename="$(basename -s .framework "$1")"
-  binary="${destination}/${basename}.framework/${basename}"
-
-  if ! [ -r "$binary" ]; then
-    binary="${destination}/${basename}"
-  elif [ -L "${binary}" ]; then
-    echo "Destination binary is symlinked..."
-    dirname="$(dirname "${binary}")"
-    binary="${dirname}/$(readlink "${binary}")"
-  fi
-
-  # Strip invalid architectures so "fat" simulator / device frameworks work on device
-  if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
-    strip_invalid_archs "$binary"
-  fi
-
-  # Resign the code if required by the build settings to avoid unstable apps
-  code_sign_if_enabled "${destination}/$(basename "$1")"
-
-  # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
-  if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
-    local swift_runtime_libs
-    swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
-    for lib in $swift_runtime_libs; do
-      echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
-      rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
-      code_sign_if_enabled "${destination}/${lib}"
-    done
-  fi
-}
-# Copies and strips a vendored dSYM
-install_dsym() {
-  local source="$1"
-  warn_missing_arch=${2:-true}
-  if [ -r "$source" ]; then
-    # Copy the dSYM into the targets temp dir.
-    echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
-    rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
-
-    local basename
-    basename="$(basename -s .dSYM "$source")"
-    binary_name="$(ls "$source/Contents/Resources/DWARF")"
-    binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
-
-    # Strip invalid architectures from the dSYM.
-    if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
-      strip_invalid_archs "$binary" "$warn_missing_arch"
-    fi
-    if [[ $STRIP_BINARY_RETVAL == 0 ]]; then
-      # Move the stripped file into its final destination.
-      echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
-      rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
-    else
-      # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
-      mkdir -p "${DWARF_DSYM_FOLDER_PATH}"
-      touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
-    fi
-  fi
-}
-
-# Used as a return value for each invocation of `strip_invalid_archs` function.
-STRIP_BINARY_RETVAL=0
-
-# Strip invalid architectures
-strip_invalid_archs() {
-  binary="$1"
-  warn_missing_arch=${2:-true}
-  # Get architectures for current target binary
-  binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
-  # Intersect them with the architectures we are building for
-  intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
-  # If there are no archs supported by this binary then warn the user
-  if [[ -z "$intersected_archs" ]]; then
-    if [[ "$warn_missing_arch" == "true" ]]; then
-      echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
-    fi
-    STRIP_BINARY_RETVAL=1
-    return
-  fi
-  stripped=""
-  for arch in $binary_archs; do
-    if ! [[ "${ARCHS}" == *"$arch"* ]]; then
-      # Strip non-valid architectures in-place
-      lipo -remove "$arch" -output "$binary" "$binary"
-      stripped="$stripped $arch"
-    fi
-  done
-  if [[ "$stripped" ]]; then
-    echo "Stripped $binary of architectures:$stripped"
-  fi
-  STRIP_BINARY_RETVAL=0
-}
-
-# Copies the bcsymbolmap files of a vendored framework
-install_bcsymbolmap() {
-    local bcsymbolmap_path="$1"
-    local destination="${BUILT_PRODUCTS_DIR}"
-    echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
-    rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
-}
-
-# Signs a framework with the provided identity
-code_sign_if_enabled() {
-  if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
-    # Use the current code_sign_identity
-    echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
-    local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
-
-    if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
-      code_sign_cmd="$code_sign_cmd &"
-    fi
-    echo "$code_sign_cmd"
-    eval "$code_sign_cmd"
-  fi
-}
-
-if [[ "$CONFIGURATION" == "Debug" ]]; then
-  install_framework "${BUILT_PRODUCTS_DIR}/SocketRocket/SocketRocket.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardCore/IQKeyboardCore.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardNotification/IQKeyboardNotification.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardReturnManager/IQKeyboardReturnManager.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardToolbar/IQKeyboardToolbar.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardToolbarManager/IQKeyboardToolbarManager.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQTextInputViewNotification/IQTextInputViewNotification.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQTextView/IQTextView.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework"
-fi
-if [[ "$CONFIGURATION" == "Release" ]]; then
-  install_framework "${BUILT_PRODUCTS_DIR}/SocketRocket/SocketRocket.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardCore/IQKeyboardCore.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardNotification/IQKeyboardNotification.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardReturnManager/IQKeyboardReturnManager.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardToolbar/IQKeyboardToolbar.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardToolbarManager/IQKeyboardToolbarManager.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQTextInputViewNotification/IQTextInputViewNotification.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/IQTextView/IQTextView.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework"
-  install_framework "${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework"
-fi
-if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
-  wait
-fi
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-umbrella.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example-umbrella.h
deleted file mode 100644 (file)
index ecf498e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-
-FOUNDATION_EXPORT double Pods_ExampleVersionNumber;
-FOUNDATION_EXPORT const unsigned char Pods_ExampleVersionString[];
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig
deleted file mode 100644 (file)
index d623907..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-ENABLE_USER_SCRIPT_SANDBOXING = NO
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardNotification" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardReturnManager" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbarManager" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextInputViewNotification" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextView" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket" "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore/IQKeyboardCore.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardNotification/IQKeyboardNotification.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardReturnManager/IQKeyboardReturnManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar/IQKeyboardToolbar.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbarManager/IQKeyboardToolbarManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextInputViewNotification/IQTextInputViewNotification.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextView/IQTextView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket/SocketRocket.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift/Toast_Swift.framework/Headers"
-LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -l"icucore" -l"swiftCoreGraphics" -framework "CFNetwork" -framework "Combine" -framework "IQKeyboardCore" -framework "IQKeyboardManagerSwift" -framework "IQKeyboardNotification" -framework "IQKeyboardReturnManager" -framework "IQKeyboardToolbar" -framework "IQKeyboardToolbarManager" -framework "IQTextInputViewNotification" -framework "IQTextView" -framework "QuartzCore" -framework "Security" -framework "SnapKit" -framework "SocketRocket" -framework "Toast_Swift" -framework "UIKit"
-OTHER_MODULE_VERIFIER_FLAGS = $(inherited) "-F${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardNotification" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardReturnManager" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbarManager" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQTextInputViewNotification" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQTextView" "-F${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "-F${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_PODFILE_DIR_PATH = ${SRCROOT}/..
-PODS_ROOT = ${SRCROOT}/../Pods
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example.modulemap
deleted file mode 100644 (file)
index 4b5189f..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module Pods_Example {
-  umbrella header "Pods-Example-umbrella.h"
-
-  export *
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig
deleted file mode 100644 (file)
index d623907..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-ENABLE_USER_SCRIPT_SANDBOXING = NO
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardNotification" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardReturnManager" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbarManager" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextInputViewNotification" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextView" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket" "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift"
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore/IQKeyboardCore.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardNotification/IQKeyboardNotification.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardReturnManager/IQKeyboardReturnManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar/IQKeyboardToolbar.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbarManager/IQKeyboardToolbarManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextInputViewNotification/IQTextInputViewNotification.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQTextView/IQTextView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket/SocketRocket.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift/Toast_Swift.framework/Headers"
-LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -l"icucore" -l"swiftCoreGraphics" -framework "CFNetwork" -framework "Combine" -framework "IQKeyboardCore" -framework "IQKeyboardManagerSwift" -framework "IQKeyboardNotification" -framework "IQKeyboardReturnManager" -framework "IQKeyboardToolbar" -framework "IQKeyboardToolbarManager" -framework "IQTextInputViewNotification" -framework "IQTextView" -framework "QuartzCore" -framework "Security" -framework "SnapKit" -framework "SocketRocket" -framework "Toast_Swift" -framework "UIKit"
-OTHER_MODULE_VERIFIER_FLAGS = $(inherited) "-F${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardCore" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardNotification" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardReturnManager" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbar" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardToolbarManager" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQTextInputViewNotification" "-F${PODS_CONFIGURATION_BUILD_DIR}/IQTextView" "-F${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "-F${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_PODFILE_DIR_PATH = ${SRCROOT}/..
-PODS_ROOT = ${SRCROOT}/../Pods
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist
deleted file mode 100644 (file)
index d6be571..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>BNDL</string>
-  <key>CFBundleShortVersionString</key>
-  <string>5.7.1</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>1</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit-Info.plist
deleted file mode 100644 (file)
index af3ef2c..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>FMWK</string>
-  <key>CFBundleShortVersionString</key>
-  <string>5.7.1</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>${CURRENT_PROJECT_VERSION}</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit-dummy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit-dummy.m
deleted file mode 100644 (file)
index b44e8e5..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#import <Foundation/Foundation.h>
-@interface PodsDummy_SnapKit : NSObject
-@end
-@implementation PodsDummy_SnapKit
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch
deleted file mode 100644 (file)
index beb2a24..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h
deleted file mode 100644 (file)
index 1b1be64..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-
-FOUNDATION_EXPORT double SnapKitVersionNumber;
-FOUNDATION_EXPORT const unsigned char SnapKitVersionString[];
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig
deleted file mode 100644 (file)
index 3e6e223..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit.modulemap
deleted file mode 100644 (file)
index 4b3e47b..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module SnapKit {
-  umbrella header "SnapKit-umbrella.h"
-
-  export *
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig
deleted file mode 100644 (file)
index 3e6e223..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket-Info.plist
deleted file mode 100644 (file)
index b23720f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>FMWK</string>
-  <key>CFBundleShortVersionString</key>
-  <string>0.7.1</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>${CURRENT_PROJECT_VERSION}</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket-dummy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket-dummy.m
deleted file mode 100644 (file)
index 1e9d2c9..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#import <Foundation/Foundation.h>
-@interface PodsDummy_SocketRocket : NSObject
-@end
-@implementation PodsDummy_SocketRocket
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket-prefix.pch b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket-prefix.pch
deleted file mode 100644 (file)
index beb2a24..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket-umbrella.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket-umbrella.h
deleted file mode 100644 (file)
index dd9d9ef..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-#import "NSRunLoop+SRWebSocket.h"
-#import "NSURLRequest+SRWebSocket.h"
-#import "SocketRocket.h"
-#import "SRSecurityPolicy.h"
-#import "SRWebSocket.h"
-
-FOUNDATION_EXPORT double SocketRocketVersionNumber;
-FOUNDATION_EXPORT const unsigned char SocketRocketVersionString[];
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket.debug.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket.debug.xcconfig
deleted file mode 100644 (file)
index 62cdd4a..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-BUILD_LIBRARY_FOR_DISTRIBUTION = YES
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-OTHER_LDFLAGS = $(inherited) -l"icucore" -framework "CFNetwork" -framework "Security"
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/SocketRocket
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket.modulemap
deleted file mode 100644 (file)
index 52acc5d..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module SocketRocket {
-  umbrella header "SocketRocket-umbrella.h"
-
-  export *
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket.release.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/SocketRocket/SocketRocket.release.xcconfig
deleted file mode 100644 (file)
index 62cdd4a..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-BUILD_LIBRARY_FOR_DISTRIBUTION = YES
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-OTHER_LDFLAGS = $(inherited) -l"icucore" -framework "CFNetwork" -framework "Security"
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/SocketRocket
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/ResourceBundle-Toast-Swift-Toast-Swift-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/ResourceBundle-Toast-Swift-Toast-Swift-Info.plist
deleted file mode 100644 (file)
index 5b2072c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>BNDL</string>
-  <key>CFBundleShortVersionString</key>
-  <string>5.1.1</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>1</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-Info.plist b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-Info.plist
deleted file mode 100644 (file)
index 021370d..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-  <key>CFBundleDevelopmentRegion</key>
-  <string>${PODS_DEVELOPMENT_LANGUAGE}</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>FMWK</string>
-  <key>CFBundleShortVersionString</key>
-  <string>5.1.1</string>
-  <key>CFBundleSignature</key>
-  <string>????</string>
-  <key>CFBundleVersion</key>
-  <string>${CURRENT_PROJECT_VERSION}</string>
-  <key>NSPrincipalClass</key>
-  <string></string>
-</dict>
-</plist>
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-dummy.m b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-dummy.m
deleted file mode 100644 (file)
index 2962aa4..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#import <Foundation/Foundation.h>
-@interface PodsDummy_Toast_Swift : NSObject
-@end
-@implementation PodsDummy_Toast_Swift
-@end
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-prefix.pch b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-prefix.pch
deleted file mode 100644 (file)
index beb2a24..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-umbrella.h b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-umbrella.h
deleted file mode 100644 (file)
index 8abdfa0..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-
-FOUNDATION_EXPORT double Toast_SwiftVersionNumber;
-FOUNDATION_EXPORT const unsigned char Toast_SwiftVersionString[];
-
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.debug.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.debug.xcconfig
deleted file mode 100644 (file)
index 8c4b186..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "QuartzCore"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/Toast-Swift
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.modulemap b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.modulemap
deleted file mode 100644 (file)
index af3db9f..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module Toast_Swift {
-  umbrella header "Toast-Swift-umbrella.h"
-
-  export *
-  module * { export * }
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.release.xcconfig b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.release.xcconfig
deleted file mode 100644 (file)
index 8c4b186..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
-CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
-OTHER_LDFLAGS = $(inherited) -framework "QuartzCore"
-OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
-PODS_BUILD_DIR = ${BUILD_DIR}
-PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
-PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
-PODS_ROOT = ${SRCROOT}
-PODS_TARGET_SRCROOT = ${PODS_ROOT}/Toast-Swift
-PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
-PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
-SKIP_INSTALL = YES
-USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Toast-Swift/LICENSE b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Toast-Swift/LICENSE
deleted file mode 100644 (file)
index 6b3b982..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright (c) 2015-2024 Charles Scalesse.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Toast-Swift/README.md b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Toast-Swift/README.md
deleted file mode 100644 (file)
index e7ae831..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-Toast-Swift
-=============
-
-[![CocoaPods Version](https://img.shields.io/cocoapods/v/Toast-Swift.svg)](http://cocoadocs.org/docsets/Toast-Swift)
-[![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
-
-Toast-Swift is a Swift extension that adds toast notifications to the `UIView` object class. It is intended to be simple, lightweight, and easy to use. Most toast notifications can be triggered with a single line of code.
-
-**Toast-Swift is a native Swift port of [Toast for iOS](https://github.com/scalessec/Toast "Toast for iOS").**
-
-Screenshots
----------
-![Toast-Swift Screenshots](toast_swift_screenshot.jpg)
-
-
-Basic Examples
----------
-```swift
-// basic usage
-self.view.makeToast("This is a piece of toast")
-
-// toast with a specific duration and position
-self.view.makeToast("This is a piece of toast", duration: 3.0, position: .top)
-
-// toast presented with multiple options and with a completion closure
-self.view.makeToast("This is a piece of toast", duration: 2.0, point: CGPoint(x: 110.0, y: 110.0), title: "Toast Title", image: UIImage(named: "toast.png")) { didTap in
-    if didTap {
-        print("completion from tap")
-    } else {
-        print("completion without tap")
-    }
-}
-
-// display toast with an activity spinner
-self.view.makeToastActivity(.center)
-
-// display any view as toast
-self.view.showToast(myView)
-
-// immediately hides all toast views in self.view
-self.view.hideAllToasts()
-```
-
-But wait, there's more!
----------
-```swift
-// create a new style
-var style = ToastStyle()
-
-// this is just one of many style options
-style.messageColor = .blue
-
-// present the toast with the new style
-self.view.makeToast("This is a piece of toast", duration: 3.0, position: .bottom, style: style)
-
-// or perhaps you want to use this style for all toasts going forward?
-// just set the shared style and there's no need to provide the style again
-ToastManager.shared.style = style
-self.view.makeToast("This is a piece of toast") // now uses the shared style
-
-// toggle "tap to dismiss" functionality
-ToastManager.shared.isTapToDismissEnabled = true
-
-// toggle queueing behavior
-ToastManager.shared.isQueueEnabled = true
-```
-
-See the demo project for more examples.
-
-
-Setup Instructions
-------------------
-
-[CocoaPods](http://cocoapods.org)
-------------------
-
-To integrate Toast-Swift into your Xcode project using CocoaPods, specify it in your `Podfile`:
-
-```ruby
-pod 'Toast-Swift', '~> 5.1.0'
-```
-
-and in your code add `import Toast_Swift`.
-
-[Carthage](https://github.com/Carthage/Carthage)
-------------------
-
-To integrate Toast-Swift into your Xcode project using Carthage, specify it in your `Cartfile`:
-
-```ogdl
-github "scalessec/Toast-Swift" ~> 5.1.0
-```
-
-Run `carthage update` to build the framework and drag the built `ToastSwiftFramework.framework` into your Xcode project.
-
-and in your code add `import ToastSwiftFramework`.
-
-[Swift Package Manager](https://swift.org/package-manager/)
-------------------
-
-When using Xcode 11 or later, you can install `Toast` by going to your Project settings > `Swift Packages` and add the repository by providing the GitHub URL. Alternatively, you can go to `File` > `Swift Packages` > `Add Package Dependencies...`
-
-Manually
-------------------
-
-1. Add `Toast.swift` to your project.
-2. Grab yourself a cold 🍺.
-
-Compatibility
-------------------
-* Version `5.x.x` requires Swift 5 and Xcode 10.2 or later.
-* Version `4.x.x` requires Swift 4.2 and Xcode 10.
-* Version `3.x.x` requires Swift 4 and Xcode 9.
-* Version `2.x.x` requires Swift 3 and Xcode 8.
-* Version `1.4.x` requires Swift 2.2 and Xcode 7.3. 
-* Version `1.0.0` can be used with Swift 2.1 and earlier versions of Xcode.
-
-Privacy
------------
-Toast-Swift does not collect any data. A [privacy manifest](Toast/Resources/PrivacyInfo.xcprivacy) is provided with the library. See [Apple's documentation](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files) for related details.
- 
-MIT License
------------
-    Copyright (c) 2015-2024 Charles Scalesse.
-
-    Permission is hereby granted, free of charge, to any person obtaining a
-    copy of this software and associated documentation files (the
-    "Software"), to deal in the Software without restriction, including
-    without limitation the rights to use, copy, modify, merge, publish,
-    distribute, sublicense, and/or sell copies of the Software, and to
-    permit persons to whom the Software is furnished to do so, subject to
-    the following conditions:
-
-    The above copyright notice and this permission notice shall be included
-    in all copies or substantial portions of the Software.
-
-    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-    SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Toast-Swift/Toast/Resources/PrivacyInfo.xcprivacy b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Toast-Swift/Toast/Resources/PrivacyInfo.xcprivacy
deleted file mode 100644 (file)
index 3421b16..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>NSPrivacyTracking</key>
-       <false/>
-       <key>NSPrivacyCollectedDataTypes</key>
-       <array/>
-       <key>NSPrivacyTrackingDomains</key>
-       <array/>
-       <key>NSPrivacyAccessedAPITypes</key>
-       <array/>
-</dict>
-</plist>
\ No newline at end of file
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Toast-Swift/Toast/Toast.swift b/document/DeepChordsSdk_iOS/DeepChordsSdk/Pods/Toast-Swift/Toast/Toast.swift
deleted file mode 100644 (file)
index 5b4dd05..0000000
+++ /dev/null
@@ -1,797 +0,0 @@
-//
-//  Toast.swift
-//  Toast-Swift
-//
-//  Copyright (c) 2015-2024 Charles Scalesse.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a
-//  copy of this software and associated documentation files (the
-//  "Software"), to deal in the Software without restriction, including
-//  without limitation the rights to use, copy, modify, merge, publish,
-//  distribute, sublicense, and/or sell copies of the Software, and to
-//  permit persons to whom the Software is furnished to do so, subject to
-//  the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included
-//  in all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-//  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-//  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-//  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-//  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-//  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-//  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-import UIKit
-import ObjectiveC
-
-/**
- Toast is a Swift extension that adds toast notifications to the `UIView` object class.
- It is intended to be simple, lightweight, and easy to use. Most toast notifications 
- can be triggered with a single line of code.
- 
- The `makeToast` methods create a new view and then display it as toast.
- 
- The `showToast` methods display any view as toast.
- 
- */
-public extension UIView {
-    
-    /**
-     Keys used for associated objects.
-     */
-    private struct ToastKeys {
-        static var timer = malloc(1)
-        static var duration = malloc(1)
-        static var point = malloc(1)
-        static var completion = malloc(1)
-        static var activeToasts = malloc(1)
-        static var activityView = malloc(1)
-        static var queue = malloc(1)
-    }
-    
-    /**
-     Swift closures can't be directly associated with objects via the
-     Objective-C runtime, so the (ugly) solution is to wrap them in a
-     class that can be used with associated objects.
-     */
-    private class ToastCompletionWrapper {
-        let completion: ((Bool) -> Void)?
-        
-        init(_ completion: ((Bool) -> Void)?) {
-            self.completion = completion
-        }
-    }
-    
-    private enum ToastError: Error {
-        case missingParameters
-    }
-    
-    private var activeToasts: NSMutableArray {
-        get {
-            if let activeToasts = objc_getAssociatedObject(self, &ToastKeys.activeToasts) as? NSMutableArray {
-                return activeToasts
-            } else {
-                let activeToasts = NSMutableArray()
-                objc_setAssociatedObject(self, &ToastKeys.activeToasts, activeToasts, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-                return activeToasts
-            }
-        }
-    }
-    
-    private var queue: NSMutableArray {
-        get {
-            if let queue = objc_getAssociatedObject(self, &ToastKeys.queue) as? NSMutableArray {
-                return queue
-            } else {
-                let queue = NSMutableArray()
-                objc_setAssociatedObject(self, &ToastKeys.queue, queue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-                return queue
-            }
-        }
-    }
-    
-    // MARK: - Make Toast Methods
-    
-    /**
-     Creates and presents a new toast view.
-     
-     @param message The message to be displayed
-     @param duration The toast duration
-     @param position The toast's position
-     @param title The title
-     @param image The image
-     @param style The style. The shared style will be used when nil
-     @param completion The completion closure, executed after the toast view disappears.
-            didTap will be `true` if the toast view was dismissed from a tap.
-     */
-    func makeToast(_ message: String?, duration: TimeInterval = ToastManager.shared.duration, position: ToastPosition = ToastManager.shared.position, title: String? = nil, image: UIImage? = nil, style: ToastStyle = ToastManager.shared.style, completion: ((_ didTap: Bool) -> Void)? = nil) {
-        do {
-            let toast = try toastViewForMessage(message, title: title, image: image, style: style)
-            showToast(toast, duration: duration, position: position, completion: completion)
-        } catch ToastError.missingParameters {
-            print("Error: message, title, and image are all nil")
-        } catch {}
-    }
-    
-    /**
-     Creates a new toast view and presents it at a given center point.
-     
-     @param message The message to be displayed
-     @param duration The toast duration
-     @param point The toast's center point
-     @param title The title
-     @param image The image
-     @param style The style. The shared style will be used when nil
-     @param completion The completion closure, executed after the toast view disappears.
-            didTap will be `true` if the toast view was dismissed from a tap.
-     */
-    func makeToast(_ message: String?, duration: TimeInterval = ToastManager.shared.duration, point: CGPoint, title: String?, image: UIImage?, style: ToastStyle = ToastManager.shared.style, completion: ((_ didTap: Bool) -> Void)?) {
-        do {
-            let toast = try toastViewForMessage(message, title: title, image: image, style: style)
-            showToast(toast, duration: duration, point: point, completion: completion)
-        } catch ToastError.missingParameters {
-            print("Error: message, title, and image cannot all be nil")
-        } catch {}
-    }
-    
-    // MARK: - Show Toast Methods
-    
-    /**
-     Displays any view as toast at a provided position and duration. The completion closure
-     executes when the toast view completes. `didTap` will be `true` if the toast view was
-     dismissed from a tap.
-     
-     @param toast The view to be displayed as toast
-     @param duration The notification duration
-     @param position The toast's position
-     @param completion The completion block, executed after the toast view disappears.
-     didTap will be `true` if the toast view was dismissed from a tap.
-     */
-    func showToast(_ toast: UIView, duration: TimeInterval = ToastManager.shared.duration, position: ToastPosition = ToastManager.shared.position, completion: ((_ didTap: Bool) -> Void)? = nil) {
-        let point = position.centerPoint(forToast: toast, inSuperview: self)
-        showToast(toast, duration: duration, point: point, completion: completion)
-    }
-    
-    /**
-     Displays any view as toast at a provided center point and duration. The completion closure
-     executes when the toast view completes. `didTap` will be `true` if the toast view was
-     dismissed from a tap.
-     
-     @param toast The view to be displayed as toast
-     @param duration The notification duration
-     @param point The toast's center point
-     @param completion The completion block, executed after the toast view disappears.
-     didTap will be `true` if the toast view was dismissed from a tap.
-     */
-    func showToast(_ toast: UIView, duration: TimeInterval = ToastManager.shared.duration, point: CGPoint, completion: ((_ didTap: Bool) -> Void)? = nil) {
-        objc_setAssociatedObject(toast, &ToastKeys.completion, ToastCompletionWrapper(completion), .OBJC_ASSOCIATION_RETAIN_NONATOMIC);
-        
-        if ToastManager.shared.isQueueEnabled, activeToasts.count > 0 {
-            objc_setAssociatedObject(toast, &ToastKeys.duration, NSNumber(value: duration), .OBJC_ASSOCIATION_RETAIN_NONATOMIC);
-            objc_setAssociatedObject(toast, &ToastKeys.point, NSValue(cgPoint: point), .OBJC_ASSOCIATION_RETAIN_NONATOMIC);
-            
-            queue.add(toast)
-        } else {
-            showToast(toast, duration: duration, point: point)
-        }
-    }
-    
-    // MARK: - Hide Toast Methods
-    
-    /**
-     Hides the active toast. If there are multiple toasts active in a view, this method
-     hides the oldest toast (the first of the toasts to have been presented).
-     
-     @see `hideAllToasts()` to remove all active toasts from a view.
-     
-     @warning This method has no effect on activity toasts. Use `hideToastActivity` to
-     hide activity toasts.
-     
-    */
-    func hideToast() {
-        guard let activeToast = activeToasts.firstObject as? UIView else { return }
-        hideToast(activeToast)
-    }
-    
-    /**
-     Hides an active toast.
-     
-     @param toast The active toast view to dismiss. Any toast that is currently being displayed
-     on the screen is considered active.
-     
-     @warning this does not clear a toast view that is currently waiting in the queue.
-     */
-    func hideToast(_ toast: UIView) {
-        guard activeToasts.contains(toast) else { return }
-        hideToast(toast, fromTap: false)
-    }
-    
-    /**
-     Hides all toast views.
-     
-     @param includeActivity If `true`, toast activity will also be hidden. Default is `false`.
-     @param clearQueue If `true`, removes all toast views from the queue. Default is `true`.
-    */
-    func hideAllToasts(includeActivity: Bool = false, clearQueue: Bool = true) {
-        if clearQueue {
-            clearToastQueue()
-        }
-        
-        activeToasts.compactMap { $0 as? UIView }
-                    .forEach { hideToast($0) }
-        
-        if includeActivity {
-            hideToastActivity()
-        }
-    }
-    
-    /**
-     Removes all toast views from the queue. This has no effect on toast views that are
-     active. Use `hideAllToasts(clearQueue:)` to hide the active toasts views and clear
-     the queue.
-     */
-    func clearToastQueue() {
-        queue.removeAllObjects()
-    }
-    
-    // MARK: - Activity Methods
-    
-    /**
-     Creates and displays a new toast activity indicator view at a specified position.
-    
-     @warning Only one toast activity indicator view can be presented per superview. Subsequent
-     calls to `makeToastActivity(position:)` will be ignored until `hideToastActivity()` is called.
-    
-     @warning `makeToastActivity(position:)` works independently of the `showToast` methods. Toast
-     activity views can be presented and dismissed while toast views are being displayed.
-     `makeToastActivity(position:)` has no effect on the queueing behavior of the `showToast` methods.
-    
-     @param position The toast's position
-     */
-    func makeToastActivity(_ position: ToastPosition) {
-        // sanity
-        guard objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView == nil else { return }
-        
-        let toast = createToastActivityView()
-        let point = position.centerPoint(forToast: toast, inSuperview: self)
-        makeToastActivity(toast, point: point)
-    }
-    
-    /**
-     Creates and displays a new toast activity indicator view at a specified position.
-     
-     @warning Only one toast activity indicator view can be presented per superview. Subsequent
-     calls to `makeToastActivity(position:)` will be ignored until `hideToastActivity()` is called.
-     
-     @warning `makeToastActivity(position:)` works independently of the `showToast` methods. Toast
-     activity views can be presented and dismissed while toast views are being displayed.
-     `makeToastActivity(position:)` has no effect on the queueing behavior of the `showToast` methods.
-     
-     @param point The toast's center point
-     */
-    func makeToastActivity(_ point: CGPoint) {
-        // sanity
-        guard objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView == nil else { return }
-        
-        let toast = createToastActivityView()
-        makeToastActivity(toast, point: point)
-    }
-    
-    /**
-     Dismisses the active toast activity indicator view.
-     */
-    func hideToastActivity() {
-        if let toast = objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView {
-            UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: [.curveEaseIn, .beginFromCurrentState], animations: {
-                toast.alpha = 0.0
-            }) { _ in
-                toast.removeFromSuperview()
-                objc_setAssociatedObject(self, &ToastKeys.activityView, nil, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-            }
-        }
-    }
-    
-    // MARK: - Helper Methods
-    
-    /**
-     Returns `true` if a toast view or toast activity view is actively being displayed.
-     */
-    func isShowingToast() -> Bool {
-        return activeToasts.count > 0 || objc_getAssociatedObject(self, &ToastKeys.activityView) != nil
-    }
-    
-    // MARK: - Private Activity Methods
-    
-    private func makeToastActivity(_ toast: UIView, point: CGPoint) {
-        toast.alpha = 0.0
-        toast.center = point
-        
-        objc_setAssociatedObject(self, &ToastKeys.activityView, toast, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-        
-        self.addSubview(toast)
-        
-        UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: .curveEaseOut, animations: {
-            toast.alpha = 1.0
-        })
-    }
-    
-    private func createToastActivityView() -> UIView {
-        let style = ToastManager.shared.style
-        
-        let activityView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: style.activitySize.width, height: style.activitySize.height))
-        activityView.backgroundColor = style.activityBackgroundColor
-        activityView.autoresizingMask = [.flexibleLeftMargin, .flexibleRightMargin, .flexibleTopMargin, .flexibleBottomMargin]
-        activityView.layer.cornerRadius = style.cornerRadius
-        
-        if style.displayShadow {
-            activityView.layer.shadowColor = style.shadowColor.cgColor
-            activityView.layer.shadowOpacity = style.shadowOpacity
-            activityView.layer.shadowRadius = style.shadowRadius
-            activityView.layer.shadowOffset = style.shadowOffset
-        }
-        
-        let activityIndicatorView = UIActivityIndicatorView(style: .whiteLarge)
-        activityIndicatorView.center = CGPoint(x: activityView.bounds.size.width / 2.0, y: activityView.bounds.size.height / 2.0)
-        activityView.addSubview(activityIndicatorView)
-        activityIndicatorView.color = style.activityIndicatorColor
-        activityIndicatorView.startAnimating()
-        
-        return activityView
-    }
-    
-    // MARK: - Private Show/Hide Methods
-    
-    private func showToast(_ toast: UIView, duration: TimeInterval, point: CGPoint) {
-        toast.center = point
-        toast.alpha = 0.0
-        
-        if ToastManager.shared.isTapToDismissEnabled {
-            let recognizer = UITapGestureRecognizer(target: self, action: #selector(UIView.handleToastTapped(_:)))
-            toast.addGestureRecognizer(recognizer)
-            toast.isUserInteractionEnabled = true
-            toast.isExclusiveTouch = true
-        }
-        
-        activeToasts.add(toast)
-        self.addSubview(toast)
-
-        let timer = Timer(timeInterval: duration, target: self, selector: #selector(UIView.toastTimerDidFinish(_:)), userInfo: toast, repeats: false)
-        objc_setAssociatedObject(toast, &ToastKeys.timer, timer, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-
-        UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: [.curveEaseOut, .allowUserInteraction], animations: {
-            toast.alpha = 1.0
-        }) { _ in
-            guard let timer = objc_getAssociatedObject(toast, &ToastKeys.timer) as? Timer else { return }
-            RunLoop.main.add(timer, forMode: .common)
-        }
-        
-        UIAccessibility.post(notification: .screenChanged, argument: toast)
-    }
-    
-    private func hideToast(_ toast: UIView, fromTap: Bool) {
-        if let timer = objc_getAssociatedObject(toast, &ToastKeys.timer) as? Timer {
-            timer.invalidate()
-        }
-        
-        UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: [.curveEaseIn, .beginFromCurrentState], animations: {
-            toast.alpha = 0.0
-        }) { _ in
-            toast.removeFromSuperview()
-            self.activeToasts.remove(toast)
-            
-            if let wrapper = objc_getAssociatedObject(toast, &ToastKeys.completion) as? ToastCompletionWrapper, let completion = wrapper.completion {
-                completion(fromTap)
-            }
-            
-            if let nextToast = self.queue.firstObject as? UIView, let duration = objc_getAssociatedObject(nextToast, &ToastKeys.duration) as? NSNumber, let point = objc_getAssociatedObject(nextToast, &ToastKeys.point) as? NSValue {
-                self.queue.removeObject(at: 0)
-                self.showToast(nextToast, duration: duration.doubleValue, point: point.cgPointValue)
-            }
-        }
-    }
-    
-    // MARK: - Events
-    
-    @objc
-    private func handleToastTapped(_ recognizer: UITapGestureRecognizer) {
-        guard let toast = recognizer.view else { return }
-        hideToast(toast, fromTap: true)
-    }
-    
-    @objc
-    private func toastTimerDidFinish(_ timer: Timer) {
-        guard let toast = timer.userInfo as? UIView else { return }
-        hideToast(toast)
-    }
-    
-    // MARK: - Toast Construction
-    
-    /**
-     Creates a new toast view with any combination of message, title, and image.
-     The look and feel is configured via the style. Unlike the `makeToast` methods,
-     this method does not present the toast view automatically. One of the `showToast`
-     methods must be used to present the resulting view.
-    
-     @warning if message, title, and image are all nil, this method will throw
-     `ToastError.missingParameters`
-    
-     @param message The message to be displayed
-     @param title The title
-     @param image The image
-     @param style The style. The shared style will be used when nil
-     @throws `ToastError.missingParameters` when message, title, and image are all nil
-     @return The newly created toast view
-    */
-    func toastViewForMessage(_ message: String?, title: String?, image: UIImage?, style: ToastStyle) throws -> UIView {
-        // sanity
-        guard message != nil || title != nil || image != nil else {
-            throw ToastError.missingParameters
-        }
-        
-        var messageLabel: UILabel?
-        var titleLabel: UILabel?
-        var imageView: UIImageView?
-        
-        let wrapperView = UIView()
-        wrapperView.backgroundColor = style.backgroundColor
-        wrapperView.autoresizingMask = [.flexibleLeftMargin, .flexibleRightMargin, .flexibleTopMargin, .flexibleBottomMargin]
-        wrapperView.layer.cornerRadius = style.cornerRadius
-        
-        if style.displayShadow {
-            wrapperView.layer.shadowColor = style.shadowColor.cgColor
-            wrapperView.layer.shadowOpacity = style.shadowOpacity
-            wrapperView.layer.shadowRadius = style.shadowRadius
-            wrapperView.layer.shadowOffset = style.shadowOffset
-        }
-        
-        if let image = image {
-            imageView = UIImageView(image: image)
-            imageView?.contentMode = .scaleAspectFit
-            imageView?.frame = CGRect(x: style.horizontalPadding, y: style.verticalPadding, width: style.imageSize.width, height: style.imageSize.height)
-        }
-        
-        var imageRect = CGRect.zero
-        
-        if let imageView = imageView {
-            imageRect.origin.x = style.horizontalPadding
-            imageRect.origin.y = style.verticalPadding
-            imageRect.size.width = imageView.bounds.size.width
-            imageRect.size.height = imageView.bounds.size.height
-        }
-
-        if let title = title {
-            titleLabel = UILabel()
-            titleLabel?.numberOfLines = style.titleNumberOfLines
-            titleLabel?.font = style.titleFont
-            titleLabel?.textAlignment = style.titleAlignment
-            titleLabel?.lineBreakMode = .byTruncatingTail
-            titleLabel?.textColor = style.titleColor
-            titleLabel?.backgroundColor = UIColor.clear
-            titleLabel?.text = title;
-            
-            let maxTitleSize = CGSize(width: (self.bounds.size.width * style.maxWidthPercentage) - imageRect.size.width, height: self.bounds.size.height * style.maxHeightPercentage)
-            let titleSize = titleLabel?.sizeThatFits(maxTitleSize)
-            if let titleSize = titleSize {
-                titleLabel?.frame = CGRect(x: 0.0, y: 0.0, width: titleSize.width, height: titleSize.height)
-            }
-        }
-        
-        if let message = message {
-            messageLabel = UILabel()
-            messageLabel?.text = message
-            messageLabel?.numberOfLines = style.messageNumberOfLines
-            messageLabel?.font = style.messageFont
-            messageLabel?.textAlignment = style.messageAlignment
-            messageLabel?.lineBreakMode = .byTruncatingTail;
-            messageLabel?.textColor = style.messageColor
-            messageLabel?.backgroundColor = UIColor.clear
-            
-            let maxMessageSize = CGSize(width: (self.bounds.size.width * style.maxWidthPercentage) - imageRect.size.width, height: self.bounds.size.height * style.maxHeightPercentage)
-            let messageSize = messageLabel?.sizeThatFits(maxMessageSize)
-            if let messageSize = messageSize {
-                let actualWidth = min(messageSize.width, maxMessageSize.width)
-                let actualHeight = min(messageSize.height, maxMessageSize.height)
-                messageLabel?.frame = CGRect(x: 0.0, y: 0.0, width: actualWidth, height: actualHeight)
-            }
-        }
-  
-        var titleRect = CGRect.zero
-        
-        if let titleLabel = titleLabel {
-            titleRect.origin.x = imageRect.origin.x + imageRect.size.width + style.horizontalPadding
-            titleRect.origin.y = style.verticalPadding
-            titleRect.size.width = titleLabel.bounds.size.width
-            titleRect.size.height = titleLabel.bounds.size.height
-        }
-        
-        var messageRect = CGRect.zero
-        
-        if let messageLabel = messageLabel {
-            messageRect.origin.x = imageRect.origin.x + imageRect.size.width + style.horizontalPadding
-            messageRect.origin.y = titleRect.origin.y + titleRect.size.height + style.verticalPadding
-            messageRect.size.width = messageLabel.bounds.size.width
-            messageRect.size.height = messageLabel.bounds.size.height
-        }
-        
-        let longerWidth = max(titleRect.size.width, messageRect.size.width)
-        let longerX = max(titleRect.origin.x, messageRect.origin.x)
-        let wrapperWidth = max((imageRect.size.width + (style.horizontalPadding * 2.0)), (longerX + longerWidth + style.horizontalPadding))
-        
-        let textMaxY = messageRect.size.height <= 0.0 && titleRect.size.height > 0.0 ? titleRect.maxY : messageRect.maxY
-        let wrapperHeight = max((textMaxY + style.verticalPadding), (imageRect.size.height + (style.verticalPadding * 2.0)))
-        
-        wrapperView.frame = CGRect(x: 0.0, y: 0.0, width: wrapperWidth, height: wrapperHeight)
-        
-        if let titleLabel = titleLabel {
-            titleRect.size.width = longerWidth
-            titleLabel.frame = titleRect
-            wrapperView.addSubview(titleLabel)
-        }
-        
-        if let messageLabel = messageLabel {
-            messageRect.size.width = longerWidth
-            messageLabel.frame = messageRect
-            wrapperView.addSubview(messageLabel)
-        }
-        
-        if let imageView = imageView {
-            wrapperView.addSubview(imageView)
-        }
-        
-        return wrapperView
-    }
-    
-}
-
-// MARK: - Toast Style
-
-/**
- `ToastStyle` instances define the look and feel for toast views created via the
- `makeToast` methods as well for toast views created directly with
- `toastViewForMessage(message:title:image:style:)`.
-
- @warning `ToastStyle` offers relatively simple styling options for the default
- toast view. If you require a toast view with more complex UI, it probably makes more
- sense to create your own custom UIView subclass and present it with the `showToast`
- methods.
-*/
-public struct ToastStyle {
-
-    public init() {}
-    
-    /**
-     The background color. Default is `.black` at 80% opacity.
-    */
-    public var backgroundColor: UIColor = UIColor.black.withAlphaComponent(0.8)
-    
-    /**
-     The title color. Default is `UIColor.whiteColor()`.
-    */
-    public var titleColor: UIColor = .white
-    
-    /**
-     The message color. Default is `.white`.
-    */
-    public var messageColor: UIColor = .white
-    
-    /**
-     A percentage value from 0.0 to 1.0, representing the maximum width of the toast
-     view relative to it's superview. Default is 0.8 (80% of the superview's width).
-    */
-    public var maxWidthPercentage: CGFloat = 0.8 {
-        didSet {
-            maxWidthPercentage = max(min(maxWidthPercentage, 1.0), 0.0)
-        }
-    }
-    
-    /**
-     A percentage value from 0.0 to 1.0, representing the maximum height of the toast
-     view relative to it's superview. Default is 0.8 (80% of the superview's height).
-    */
-    public var maxHeightPercentage: CGFloat = 0.8 {
-        didSet {
-            maxHeightPercentage = max(min(maxHeightPercentage, 1.0), 0.0)
-        }
-    }
-    
-    /**
-     The spacing from the horizontal edge of the toast view to the content. When an image
-     is present, this is also used as the padding between the image and the text.
-     Default is 10.0.
-     
-    */
-    public var horizontalPadding: CGFloat = 10.0
-    
-    /**
-     The spacing from the vertical edge of the toast view to the content. When a title
-     is present, this is also used as the padding between the title and the message.
-     Default is 10.0. On iOS11+, this value is added added to the `safeAreaInset.top`
-     and `safeAreaInsets.bottom`.
-    */
-    public var verticalPadding: CGFloat = 10.0
-    
-    /**
-     The corner radius. Default is 10.0.
-    */
-    public var cornerRadius: CGFloat = 10.0;
-    
-    /**
-     The title font. Default is `.boldSystemFont(16.0)`.
-    */
-    public var titleFont: UIFont = .boldSystemFont(ofSize: 16.0)
-    
-    /**
-     The message font. Default is `.systemFont(ofSize: 16.0)`.
-    */
-    public var messageFont: UIFont = .systemFont(ofSize: 16.0)
-    
-    /**
-     The title text alignment. Default is `NSTextAlignment.Left`.
-    */
-    public var titleAlignment: NSTextAlignment = .left
-    
-    /**
-     The message text alignment. Default is `NSTextAlignment.Left`.
-    */
-    public var messageAlignment: NSTextAlignment = .left
-    
-    /**
-     The maximum number of lines for the title. The default is 0 (no limit).
-    */
-    public var titleNumberOfLines = 0
-    
-    /**
-     The maximum number of lines for the message. The default is 0 (no limit).
-    */
-    public var messageNumberOfLines = 0
-    
-    /**
-     Enable or disable a shadow on the toast view. Default is `false`.
-    */
-    public var displayShadow = false
-    
-    /**
-     The shadow color. Default is `.black`.
-     */
-    public var shadowColor: UIColor = .black
-    
-    /**
-     A value from 0.0 to 1.0, representing the opacity of the shadow.
-     Default is 0.8 (80% opacity).
-    */
-    public var shadowOpacity: Float = 0.8 {
-        didSet {
-            shadowOpacity = max(min(shadowOpacity, 1.0), 0.0)
-        }
-    }
-
-    /**
-     The shadow radius. Default is 6.0.
-    */
-    public var shadowRadius: CGFloat = 6.0
-    
-    /**
-     The shadow offset. The default is 4 x 4.
-    */
-    public var shadowOffset = CGSize(width: 4.0, height: 4.0)
-    
-    /**
-     The image size. The default is 80 x 80.
-    */
-    public var imageSize = CGSize(width: 80.0, height: 80.0)
-    
-    /**
-     The size of the toast activity view when `makeToastActivity(position:)` is called.
-     Default is 100 x 100.
-    */
-    public var activitySize = CGSize(width: 100.0, height: 100.0)
-    
-    /**
-     The fade in/out animation duration. Default is 0.2.
-     */
-    public var fadeDuration: TimeInterval = 0.2
-    
-    /**
-     Activity indicator color. Default is `.white`.
-     */
-    public var activityIndicatorColor: UIColor = .white
-    
-    /**
-     Activity background color. Default is `.black` at 80% opacity.
-     */
-    public var activityBackgroundColor: UIColor = UIColor.black.withAlphaComponent(0.8)
-    
-}
-
-// MARK: - Toast Manager
-
-/**
- `ToastManager` provides general configuration options for all toast
- notifications. Backed by a singleton instance.
-*/
-public class ToastManager {
-    
-    /**
-     The `ToastManager` singleton instance.
-     
-     */
-    public static let shared = ToastManager()
-    
-    /**
-     The shared style. Used whenever toastViewForMessage(message:title:image:style:) is called
-     with with a nil style.
-     
-     */
-    public var style = ToastStyle()
-    
-    /**
-     Enables or disables tap to dismiss on toast views. Default is `true`.
-     
-     */
-    public var isTapToDismissEnabled = true
-    
-    /**
-     Enables or disables queueing behavior for toast views. When `true`,
-     toast views will appear one after the other. When `false`, multiple toast
-     views will appear at the same time (potentially overlapping depending
-     on their positions). This has no effect on the toast activity view,
-     which operates independently of normal toast views. Default is `false`.
-     
-     */
-    public var isQueueEnabled = false
-    
-    /**
-     The default duration. Used for the `makeToast` and
-     `showToast` methods that don't require an explicit duration.
-     Default is 3.0.
-     
-     */
-    public var duration: TimeInterval = 3.0
-    
-    /**
-     Sets the default position. Used for the `makeToast` and
-     `showToast` methods that don't require an explicit position.
-     Default is `ToastPosition.Bottom`.
-     
-     */
-    public var position: ToastPosition = .bottom
-    
-}
-
-// MARK: - ToastPosition
-
-public enum ToastPosition {
-    case top
-    case center
-    case bottom
-    
-    fileprivate func centerPoint(forToast toast: UIView, inSuperview superview: UIView) -> CGPoint {
-        let topPadding: CGFloat = ToastManager.shared.style.verticalPadding + superview.csSafeAreaInsets.top
-        let bottomPadding: CGFloat = ToastManager.shared.style.verticalPadding + superview.csSafeAreaInsets.bottom
-        
-        switch self {
-        case .top:
-            return CGPoint(x: superview.bounds.size.width / 2.0, y: (toast.frame.size.height / 2.0) + topPadding)
-        case .center:
-            return CGPoint(x: superview.bounds.size.width / 2.0, y: superview.bounds.size.height / 2.0)
-        case .bottom:
-            return CGPoint(x: superview.bounds.size.width / 2.0, y: (superview.bounds.size.height - (toast.frame.size.height / 2.0)) - bottomPadding)
-        }
-    }
-}
-
-// MARK: - Private UIView Extensions
-
-private extension UIView {
-    
-    var csSafeAreaInsets: UIEdgeInsets {
-        if #available(iOS 11.0, *) {
-            return self.safeAreaInsets
-        } else {
-            return .zero
-        }
-    }
-    
-}
diff --git a/document/DeepChordsSdk_iOS/DeepChordsSdk/podfile b/document/DeepChordsSdk_iOS/DeepChordsSdk/podfile
deleted file mode 100644 (file)
index 2b7a0d4..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# source 'https://kkgithub.com/CocoaPods/Specs.git'
-source "https://gitee.com/mirrors/CocoaPods-Specs.git"
-platform :ios, '13.0'
-use_frameworks!
-
-target 'DeepChordsSdk' do
-  use_frameworks!
-  pod 'SocketRocket'
-end
-
-workspace 'DeepChordsSdk'
-project 'Example/Example.xcodeproj'
-target 'Example' do
-    pod 'SnapKit', '~> 5.7.0'
-    pod 'IQKeyboardManagerSwift'
-    pod 'Toast-Swift'
-    pod 'SocketRocket'
-end
diff --git a/document/DeepChordsSdk_iOS/document/豆包APP自定义协议.txt b/document/DeepChordsSdk_iOS/document/豆包APP自定义协议.txt
deleted file mode 100644 (file)
index c0f0508..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-\r
-UUID/AE30     AE03/WRITE_WITHOUT_RESPONSE   AE04/NOTIFY \r
-\r
-\r
-\r
-BYTE0 :0xBA\r
-BYTE1 :CMD\r
-BYTE2 :DATA\r
-BYTE3:DATA_LEN\r
-BYTE4:CRC\r
-\r
-CRC:\r
-static u8 chargestore_crc8(u8 *ptr, u8 len)\r
-{\r
-    u8 i, crc;\r
-    crc = 0;\r
-    while (len--) {\r
-        crc ^= *ptr++;\r
-        for (i = 0; i < 8; i++) {\r
-            if (crc & 0x01) {\r
-                crc = (crc >> 1) ^ 0x8c;\r
-            } else {\r
-                crc >>= 1;\r
-            }\r
-        }\r
-    }\r
-    return crc;\r
-}\r
-\r
-\r
-CMD:\r
-0x01 代表设置多点连接  DATA:0x00表示关闭多点连接 0x01表示打开多点连接\r
- (例:APP下发 0xBA 0x01 0x01 0x01 CRC  耳机开启空间音频的功能回复 0xBA 0x01 0x01 0x01 CRC)\r
-0x02 代表获取多点连接  DATA:0x00表示关闭多点连接 0x01表示打开多点连接\r
-(例:APP下发 0xBA 0x02 0x00 0x00 CRC  耳机多点连接功能开启的话回复 0xBA 0x02 0x01 0x01 CRC)\r
-0x03 代表设置空间音频  DATA:0x00表示关闭空间音频 0x01表示打开空间音频\r
- (例:APP下发 0xBA 0x03 0x01 0x01 CRC  耳机开启空间音频的功能回复 0xBA 0x03 0x01 0x01 CRC)\r
-0x04 代表获取空间音频  DATA:0x00表示关闭空间音频 0x01表示打开空间音频\r
- (例:APP下发 0xBA 0x04 0x00 0x00 CRC  耳机空间音频功能开启的话回复 0xBA 0x04 0x01 0x01 CRC)\r
-\r
-0x05 代表获取设备ID  DATA:0x00 注:TWS有连接记录返回左右耳 TWS未连接过只返回单耳另一个信息都为0XFF\r
- (例:APP下发 0xBA 0x05 0x00 0x00 CRC  耳机回复设备ID: 0xBA 0x05           \r
-0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF(左耳16字节) 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF(右耳16字节)0x20 CRC)\r
-\r
-0x06 开MIC(OPUS传输)  DATA:0x01(预留定义豆包AI)\r
- (例:APP下发 0xBA 0x06 0x01 0x01 CRC  耳机回复设备0xBA 0x06       0x01 0x01 CRC)\r
-\r
-\r
-0x07 关MIC(OPUS传输)  DATA:0x01(预留定义豆包AI)\r
- (例:APP下发 0xBA 0x07 0x01 0x01 CRC  耳机回复设备0xBA 0x07       0x01 0x01 CRC)\r
-0x08  获取设备名称(UTF-8)\r
-       例:APP下发 0xBA 0x08 0x00 0x00 CRC  耳机回复:假设蓝牙名EARPHONE 0xBA 0x08 0x​​45(E) 0x41(A) 0x52(R) 0x50(P) 0x48(H) 0x4F(O) 0x4E(N) 0x45(E)  0x08(数据长度) CRC \r
-\r
-0x09  获取电量(左耳/右耳)\r
-例:APP下发 0xBA 0x09 0x00 0x00 CRC  耳机回复: 0xBA 0x09 0x00(左耳) 0x64(100电量) 0x01(右耳) 0x64(100电量) 0x04(数据长度) CRC\r
-\r
-0x0A  获取软件版本,硬件版本\r
-例:APP下发 0xBA 0x0A 0x00(软件版本) 0x01 CRC  耳机回复:假设软件版本(1.0.1) 0xBA 0x0A 0x49(1) 0x46(.) 0x48(0) 0x46(.) 0x49(1) 0x05(数据长度) CRC\r
-例:APP下发 0xBA 0x0A 0x01(硬件版本) 0x01 CRC  耳机回复:假设硬件版本(1.0.0) 0xBA 0x0A 0x49(1) 0x46(.) 0x48(0) 0x46(.) 0x48(0) 0x05(数据长度) CRC\r
-0x0B  查找耳机(耳机声音播放/停止)\r
-例:APP下发 0xBA 0x0A 0x00(关闭查找音) 0x01 CRC  耳机回复:0xBA 0x0A 0x00(关闭查找音) 0x01 CRC\r
-例:APP下发 0xBA 0x0A 0x01(打开查找音) 0x01 CRC  耳机回复:0xBA 0x0A 0x01(打开查找音) 0x01 CRC \r
-0x0C 设置EQ\r
-\r
-\r
-用户在APP设置耳机按键自定义功能\r
-BYTE0 :0x05\r
-BYTE1:DATA1\r
-BYTE2:DATA2\r
-BYTE3:DATA3\r
-BYTE1 :CMD\r
-BYTE4:CRC\r
-\r
-CRC:\r
-static u8 chargestore_crc8(u8 *ptr, u8 len)\r
-{\r
-    u8 i, crc;\r
-    crc = 0;\r
-    while (len--) {\r
-        crc ^= *ptr++;\r
-        for (i = 0; i < 8; i++) {\r
-            if (crc & 0x01) {\r
-                crc = (crc >> 1) ^ 0x8c;\r
-            } else {\r
-                crc >>= 1;\r
-            }\r
-        }\r
-    }\r
-    return crc;\r
-}\r
-\r
-\r
-DATA1:\r
-   Lift = 0x00\r
-   Right = 0x01\r
-\r
-DATA2:\r
-   butten0 = 0x00\r
-   butten1 = 0x01\r
-   butten2 = 0x02\r
-   butten3 = 0x03\r
-   butten4 = 0x04\r
-   \r
-\r
-DATA3:\r
-按键操作类型定义:\r
-    KEY_ACTION_SINGLE_CLICK = 0x01  // 单击\r
-    KEY_ACTION_LONG_PRESS = 0x02    // 长按\r
-    KEY_ACTION_DOUBLE_CLICK = 0x03  // 双击  \r
-    KEY_ACTION_TRIPLE_CLICK = 0x04  // 三击\r
-\r
-CMD:\r
-按键功能类型定义:\r
-    KEY_TYPE_NONE = 0x00       // 无功能\r
-    KEY_TYPE_PREV = 0x03       // 上一曲\r
-    KEY_TYPE_NEXT = 0x04       // 下一曲  \r
-    TYPE_PP = 0x05         // 播放/暂停\r
-    TYPE_ANSWER_CALL = 0x06 // 接听电话\r
-    KEY_TYPE_HANG_UP = 0x07    // 挂断电话\r
-    KEY_TYPE_CALL_BACK = 0x08  // 回拨\r
-    KEY_TYPE_INC_VOICE = 0x09  // 音量增加\r
-    KEY_TYPE_DESC_VOICE = 0x0A // 音量减少\r
-    KEY_TYPE_TAKE_PHOTO = 0x0B // 拍照\r
-    KEY_TYPE_SIRI = 0x0C       // 语音助手\r
-    KEY_TYPE_ANC_VOICE = 0xFF  // ANC/通透\r
-\r
-(例:设置左耳的按键1为单击是播放功能\r
-           APP下发 0x05 0x00 0x01 0x01 0x05 CRC        耳机设置成功后回复0x05 0x00 0x01 0x01 0x05 CRC)\r
-\r
-\r
-\r
-按键按下后上报通知给到APP\r
-Button Notifications \r
-Notification ID: 0x7B \r
-Payload: \r
-Byte 0: JieLi button ID \r
-0: Earbuds power left or headset button #0 \r
-1: Earbuds power right or headset button #1 \r
-2:headset button #2\r
-3:headset button #3 \r
-4:headset button #4 \r
-5:headset button #5 \r
-Byte 1: JieLi gesture ID \r
-0: Click \r
-1: Hold Up \r
-2: Double click \r
-3: Triple click \r
-Byte 2: JieLi command ID \r
-0: No action \r
-3: Previous \r
-4: Next \r
-5: Play/pause \r
-6: Take call \r
-7: End call \r
-9: Volume up \r
-10: Volume down\r
-11: Remote up \r
-12: Assistant toggle \r
-0xFF: ANC toggle\r
-\r
-\r
-\r
-\r
-\r
-\r
diff --git a/document/EZAudio-master/.gitignore b/document/EZAudio-master/.gitignore
deleted file mode 100644 (file)
index a511f88..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-.DS_Store
-build/
-*.pbxuser
-!default.pbxuser
-*.mode1v3
-!default.mode1v3
-*.mode2v3
-!default.mode2v3
-*.perspectivev3
-!default.perspectivev3
-xcuserdata
-*.xccheckout
-*.moved-aside
-DerivedData
-*.hmap
-*.ipa
-*.xcuserstate
diff --git a/document/EZAudio-master/EZAudio.podspec b/document/EZAudio-master/EZAudio.podspec
deleted file mode 100644 (file)
index de67f9f..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-Pod::Spec.new do |s|
-    s.name         = "EZAudio"
-    s.version      = "1.1.5"
-    s.summary      = "A simple, intuitive audio framework for iOS and OSX useful for anyone doing audio processing and/or audio-based visualizations."
-    s.homepage     = "https://github.com/syedhali/EZAudio"
-    s.screenshots  = "https://s3-us-west-1.amazonaws.com/ezaudio-media/EZAudioSummary.png"
-    s.license      = { :type => 'MIT', :file => 'LICENSE' }
-    s.author       = { "Syed Haris Ali" => "syedhali07@gmail.com" }
-    s.ios.deployment_target = '8.0'
-    s.osx.deployment_target = '10.8'
-    s.source       = { :git => "https://github.com/syedhali/EZAudio.git", :tag => s.version }
-    s.exclude_files = [ 'EZAudio/TPCircularBuffer.{h,c}', 'EZAudio/EZAudioiOS.h', 'EZAudio/EZAudioOSX.h' ]
-    s.ios.frameworks = 'AudioToolbox','AVFoundation','GLKit', 'Accelerate'
-    s.osx.frameworks = 'AudioToolbox','AudioUnit','CoreAudio','QuartzCore','OpenGL','GLKit', 'Accelerate'
-    s.requires_arc = true;
-    s.default_subspec = 'Full'
-    s.subspec 'Core' do |core|
-        core.source_files  = 'EZAudio/*.{h,m,c}'
-    end
-
-    s.subspec 'Full' do |full|
-        full.dependency 'TPCircularBuffer', '1.1'
-        full.dependency 'EZAudio/Core'
-    end
-end
diff --git a/document/EZAudio-master/EZAudio.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudio.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index 832db06..0000000
+++ /dev/null
@@ -1,587 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               469F4D1E1B749FEC00666A46 /* EZAudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4CFE1B749FEC00666A46 /* EZAudio.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D1F1B749FEC00666A46 /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4CFF1B749FEC00666A46 /* EZAudio.m */; };
-               469F4D201B749FEC00666A46 /* EZAudioDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D001B749FEC00666A46 /* EZAudioDevice.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D211B749FEC00666A46 /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D011B749FEC00666A46 /* EZAudioDevice.m */; };
-               469F4D221B749FEC00666A46 /* EZAudioDisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D021B749FEC00666A46 /* EZAudioDisplayLink.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D231B749FEC00666A46 /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D031B749FEC00666A46 /* EZAudioDisplayLink.m */; };
-               469F4D241B749FEC00666A46 /* EZAudioFFT.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D041B749FEC00666A46 /* EZAudioFFT.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D251B749FEC00666A46 /* EZAudioFFT.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D051B749FEC00666A46 /* EZAudioFFT.m */; };
-               469F4D261B749FEC00666A46 /* EZAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D061B749FEC00666A46 /* EZAudioFile.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D271B749FEC00666A46 /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D071B749FEC00666A46 /* EZAudioFile.m */; };
-               469F4D281B749FEC00666A46 /* EZAudioFloatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D081B749FEC00666A46 /* EZAudioFloatConverter.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D291B749FEC00666A46 /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D091B749FEC00666A46 /* EZAudioFloatConverter.m */; };
-               469F4D2A1B749FEC00666A46 /* EZAudioFloatData.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D0A1B749FEC00666A46 /* EZAudioFloatData.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D2B1B749FEC00666A46 /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D0B1B749FEC00666A46 /* EZAudioFloatData.m */; };
-               469F4D2C1B749FEC00666A46 /* EZAudioPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D0C1B749FEC00666A46 /* EZAudioPlayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D2D1B749FEC00666A46 /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D0D1B749FEC00666A46 /* EZAudioPlayer.m */; };
-               469F4D2E1B749FEC00666A46 /* EZAudioPlot.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D0E1B749FEC00666A46 /* EZAudioPlot.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D2F1B749FEC00666A46 /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D0F1B749FEC00666A46 /* EZAudioPlot.m */; };
-               469F4D301B749FEC00666A46 /* EZAudioPlotGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D101B749FEC00666A46 /* EZAudioPlotGL.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D311B749FEC00666A46 /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D111B749FEC00666A46 /* EZAudioPlotGL.m */; };
-               469F4D321B749FEC00666A46 /* EZAudioUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D121B749FEC00666A46 /* EZAudioUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D331B749FEC00666A46 /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D131B749FEC00666A46 /* EZAudioUtilities.m */; };
-               469F4D341B749FEC00666A46 /* EZMicrophone.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D141B749FEC00666A46 /* EZMicrophone.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D351B749FEC00666A46 /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D151B749FEC00666A46 /* EZMicrophone.m */; };
-               469F4D361B749FEC00666A46 /* EZOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D161B749FEC00666A46 /* EZOutput.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D371B749FEC00666A46 /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D171B749FEC00666A46 /* EZOutput.m */; };
-               469F4D381B749FEC00666A46 /* EZPlot.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D181B749FEC00666A46 /* EZPlot.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D391B749FEC00666A46 /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D191B749FEC00666A46 /* EZPlot.m */; };
-               469F4D3A1B749FEC00666A46 /* EZRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D1A1B749FEC00666A46 /* EZRecorder.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               469F4D3B1B749FEC00666A46 /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D1B1B749FEC00666A46 /* EZRecorder.m */; };
-               469F4D3C1B749FEC00666A46 /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D1C1B749FEC00666A46 /* TPCircularBuffer.c */; };
-               469F4D3D1B749FEC00666A46 /* TPCircularBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D1D1B749FEC00666A46 /* TPCircularBuffer.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BB31BBBDD6D00A8A048 /* EZAudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4CFE1B749FEC00666A46 /* EZAudio.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BB41BBBDD6D00A8A048 /* EZAudioDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D001B749FEC00666A46 /* EZAudioDevice.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BB51BBBDD6D00A8A048 /* EZAudioDisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D021B749FEC00666A46 /* EZAudioDisplayLink.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BB61BBBDD6D00A8A048 /* EZAudioFFT.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D041B749FEC00666A46 /* EZAudioFFT.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BB71BBBDD6D00A8A048 /* EZAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D061B749FEC00666A46 /* EZAudioFile.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BB81BBBDD6D00A8A048 /* EZAudioFloatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D081B749FEC00666A46 /* EZAudioFloatConverter.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BB91BBBDD6D00A8A048 /* EZAudioFloatData.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D0A1B749FEC00666A46 /* EZAudioFloatData.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BBA1BBBDD6D00A8A048 /* EZAudioPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D0C1B749FEC00666A46 /* EZAudioPlayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BBB1BBBDD6D00A8A048 /* EZAudioPlot.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D0E1B749FEC00666A46 /* EZAudioPlot.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BBC1BBBDD6D00A8A048 /* EZAudioPlotGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D101B749FEC00666A46 /* EZAudioPlotGL.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BBD1BBBDD6D00A8A048 /* EZAudioUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D121B749FEC00666A46 /* EZAudioUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BBE1BBBDD6D00A8A048 /* EZMicrophone.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D141B749FEC00666A46 /* EZMicrophone.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BBF1BBBDD6D00A8A048 /* EZOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D161B749FEC00666A46 /* EZOutput.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BC01BBBDD6D00A8A048 /* EZPlot.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D181B749FEC00666A46 /* EZPlot.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BC11BBBDD6D00A8A048 /* EZRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D1A1B749FEC00666A46 /* EZRecorder.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BC21BBBDD6E00A8A048 /* TPCircularBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 469F4D1D1B749FEC00666A46 /* TPCircularBuffer.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BC31BBBDD7E00A8A048 /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4CFF1B749FEC00666A46 /* EZAudio.m */; };
-               8A5A4BC41BBBDD7E00A8A048 /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D011B749FEC00666A46 /* EZAudioDevice.m */; };
-               8A5A4BC51BBBDD7E00A8A048 /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D031B749FEC00666A46 /* EZAudioDisplayLink.m */; };
-               8A5A4BC61BBBDD7E00A8A048 /* EZAudioFFT.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D051B749FEC00666A46 /* EZAudioFFT.m */; };
-               8A5A4BC71BBBDD7E00A8A048 /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D071B749FEC00666A46 /* EZAudioFile.m */; };
-               8A5A4BC81BBBDD7E00A8A048 /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D091B749FEC00666A46 /* EZAudioFloatConverter.m */; };
-               8A5A4BC91BBBDD7E00A8A048 /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D0B1B749FEC00666A46 /* EZAudioFloatData.m */; };
-               8A5A4BCA1BBBDD7E00A8A048 /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D0D1B749FEC00666A46 /* EZAudioPlayer.m */; };
-               8A5A4BCB1BBBDD7E00A8A048 /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D0F1B749FEC00666A46 /* EZAudioPlot.m */; };
-               8A5A4BCC1BBBDD7E00A8A048 /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D111B749FEC00666A46 /* EZAudioPlotGL.m */; };
-               8A5A4BCD1BBBDD7E00A8A048 /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D131B749FEC00666A46 /* EZAudioUtilities.m */; };
-               8A5A4BCE1BBBDD7E00A8A048 /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D151B749FEC00666A46 /* EZMicrophone.m */; };
-               8A5A4BCF1BBBDD7E00A8A048 /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D171B749FEC00666A46 /* EZOutput.m */; };
-               8A5A4BD01BBBDD7E00A8A048 /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D191B749FEC00666A46 /* EZPlot.m */; };
-               8A5A4BD11BBBDD7E00A8A048 /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D1B1B749FEC00666A46 /* EZRecorder.m */; };
-               8A5A4BD21BBBDE2800A8A048 /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 469F4D1C1B749FEC00666A46 /* TPCircularBuffer.c */; };
-               8A5A4BF31BBBFFA000A8A048 /* EZAudioOSX.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A5A4BF11BBBFF5600A8A048 /* EZAudioOSX.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               8A5A4BF41BBC025600A8A048 /* EZAudioiOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A5A4BEF1BBBFF0A00A8A048 /* EZAudioiOS.h */; settings = {ATTRIBUTES = (Public, ); }; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
-               469F4CF31B749F7800666A46 /* EZAudioiOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = EZAudioiOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               469F4CF81B749F7800666A46 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               469F4CFE1B749FEC00666A46 /* EZAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudio.h; sourceTree = "<group>"; };
-               469F4CFF1B749FEC00666A46 /* EZAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudio.m; sourceTree = "<group>"; };
-               469F4D001B749FEC00666A46 /* EZAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDevice.h; sourceTree = "<group>"; };
-               469F4D011B749FEC00666A46 /* EZAudioDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDevice.m; sourceTree = "<group>"; };
-               469F4D021B749FEC00666A46 /* EZAudioDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDisplayLink.h; sourceTree = "<group>"; };
-               469F4D031B749FEC00666A46 /* EZAudioDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDisplayLink.m; sourceTree = "<group>"; };
-               469F4D041B749FEC00666A46 /* EZAudioFFT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFFT.h; sourceTree = "<group>"; };
-               469F4D051B749FEC00666A46 /* EZAudioFFT.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFFT.m; sourceTree = "<group>"; };
-               469F4D061B749FEC00666A46 /* EZAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFile.h; sourceTree = "<group>"; };
-               469F4D071B749FEC00666A46 /* EZAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFile.m; sourceTree = "<group>"; };
-               469F4D081B749FEC00666A46 /* EZAudioFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatConverter.h; sourceTree = "<group>"; };
-               469F4D091B749FEC00666A46 /* EZAudioFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatConverter.m; sourceTree = "<group>"; };
-               469F4D0A1B749FEC00666A46 /* EZAudioFloatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatData.h; sourceTree = "<group>"; };
-               469F4D0B1B749FEC00666A46 /* EZAudioFloatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatData.m; sourceTree = "<group>"; };
-               469F4D0C1B749FEC00666A46 /* EZAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlayer.h; sourceTree = "<group>"; };
-               469F4D0D1B749FEC00666A46 /* EZAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayer.m; sourceTree = "<group>"; };
-               469F4D0E1B749FEC00666A46 /* EZAudioPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlot.h; sourceTree = "<group>"; };
-               469F4D0F1B749FEC00666A46 /* EZAudioPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlot.m; sourceTree = "<group>"; };
-               469F4D101B749FEC00666A46 /* EZAudioPlotGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGL.h; sourceTree = "<group>"; };
-               469F4D111B749FEC00666A46 /* EZAudioPlotGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGL.m; sourceTree = "<group>"; };
-               469F4D121B749FEC00666A46 /* EZAudioUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioUtilities.h; sourceTree = "<group>"; };
-               469F4D131B749FEC00666A46 /* EZAudioUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioUtilities.m; sourceTree = "<group>"; };
-               469F4D141B749FEC00666A46 /* EZMicrophone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZMicrophone.h; sourceTree = "<group>"; };
-               469F4D151B749FEC00666A46 /* EZMicrophone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZMicrophone.m; sourceTree = "<group>"; };
-               469F4D161B749FEC00666A46 /* EZOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZOutput.h; sourceTree = "<group>"; };
-               469F4D171B749FEC00666A46 /* EZOutput.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZOutput.m; sourceTree = "<group>"; };
-               469F4D181B749FEC00666A46 /* EZPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZPlot.h; sourceTree = "<group>"; };
-               469F4D191B749FEC00666A46 /* EZPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZPlot.m; sourceTree = "<group>"; };
-               469F4D1A1B749FEC00666A46 /* EZRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRecorder.h; sourceTree = "<group>"; };
-               469F4D1B1B749FEC00666A46 /* EZRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRecorder.m; sourceTree = "<group>"; };
-               469F4D1C1B749FEC00666A46 /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = TPCircularBuffer.c; sourceTree = "<group>"; };
-               469F4D1D1B749FEC00666A46 /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPCircularBuffer.h; sourceTree = "<group>"; };
-               8A5A4B9C1BBBDCB200A8A048 /* EZAudioOSX.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = EZAudioOSX.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-               8A5A4BEF1BBBFF0A00A8A048 /* EZAudioiOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioiOS.h; sourceTree = "<group>"; };
-               8A5A4BF11BBBFF5600A8A048 /* EZAudioOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioOSX.h; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               469F4CEF1B749F7800666A46 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               8A5A4B981BBBDCB200A8A048 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               469F4CE91B749F7800666A46 = {
-                       isa = PBXGroup;
-                       children = (
-                               469F4CF51B749F7800666A46 /* EZAudio */,
-                               469F4CF41B749F7800666A46 /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               469F4CF41B749F7800666A46 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               469F4CF31B749F7800666A46 /* EZAudioiOS.framework */,
-                               8A5A4B9C1BBBDCB200A8A048 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               469F4CF51B749F7800666A46 /* EZAudio */ = {
-                       isa = PBXGroup;
-                       children = (
-                               469F4CFE1B749FEC00666A46 /* EZAudio.h */,
-                               469F4CFF1B749FEC00666A46 /* EZAudio.m */,
-                               469F4D001B749FEC00666A46 /* EZAudioDevice.h */,
-                               469F4D011B749FEC00666A46 /* EZAudioDevice.m */,
-                               469F4D021B749FEC00666A46 /* EZAudioDisplayLink.h */,
-                               469F4D031B749FEC00666A46 /* EZAudioDisplayLink.m */,
-                               469F4D041B749FEC00666A46 /* EZAudioFFT.h */,
-                               469F4D051B749FEC00666A46 /* EZAudioFFT.m */,
-                               469F4D061B749FEC00666A46 /* EZAudioFile.h */,
-                               469F4D071B749FEC00666A46 /* EZAudioFile.m */,
-                               469F4D081B749FEC00666A46 /* EZAudioFloatConverter.h */,
-                               469F4D091B749FEC00666A46 /* EZAudioFloatConverter.m */,
-                               469F4D0A1B749FEC00666A46 /* EZAudioFloatData.h */,
-                               469F4D0B1B749FEC00666A46 /* EZAudioFloatData.m */,
-                               469F4D0C1B749FEC00666A46 /* EZAudioPlayer.h */,
-                               469F4D0D1B749FEC00666A46 /* EZAudioPlayer.m */,
-                               469F4D0E1B749FEC00666A46 /* EZAudioPlot.h */,
-                               469F4D0F1B749FEC00666A46 /* EZAudioPlot.m */,
-                               469F4D101B749FEC00666A46 /* EZAudioPlotGL.h */,
-                               469F4D111B749FEC00666A46 /* EZAudioPlotGL.m */,
-                               469F4D121B749FEC00666A46 /* EZAudioUtilities.h */,
-                               469F4D131B749FEC00666A46 /* EZAudioUtilities.m */,
-                               469F4D141B749FEC00666A46 /* EZMicrophone.h */,
-                               469F4D151B749FEC00666A46 /* EZMicrophone.m */,
-                               469F4D161B749FEC00666A46 /* EZOutput.h */,
-                               469F4D171B749FEC00666A46 /* EZOutput.m */,
-                               469F4D181B749FEC00666A46 /* EZPlot.h */,
-                               469F4D191B749FEC00666A46 /* EZPlot.m */,
-                               469F4D1A1B749FEC00666A46 /* EZRecorder.h */,
-                               469F4D1B1B749FEC00666A46 /* EZRecorder.m */,
-                               469F4D1C1B749FEC00666A46 /* TPCircularBuffer.c */,
-                               469F4D1D1B749FEC00666A46 /* TPCircularBuffer.h */,
-                               8A5A4BEF1BBBFF0A00A8A048 /* EZAudioiOS.h */,
-                               8A5A4BF11BBBFF5600A8A048 /* EZAudioOSX.h */,
-                               469F4D3E1B749FF000666A46 /* Supporting Files */,
-                       );
-                       path = EZAudio;
-                       sourceTree = "<group>";
-               };
-               469F4D3E1B749FF000666A46 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               469F4CF81B749F7800666A46 /* Info.plist */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
-               469F4CF01B749F7800666A46 /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               8A5A4BF41BBC025600A8A048 /* EZAudioiOS.h in Headers */,
-                               469F4D301B749FEC00666A46 /* EZAudioPlotGL.h in Headers */,
-                               469F4D2A1B749FEC00666A46 /* EZAudioFloatData.h in Headers */,
-                               469F4D221B749FEC00666A46 /* EZAudioDisplayLink.h in Headers */,
-                               469F4D201B749FEC00666A46 /* EZAudioDevice.h in Headers */,
-                               469F4D2E1B749FEC00666A46 /* EZAudioPlot.h in Headers */,
-                               469F4D2C1B749FEC00666A46 /* EZAudioPlayer.h in Headers */,
-                               469F4D381B749FEC00666A46 /* EZPlot.h in Headers */,
-                               469F4D261B749FEC00666A46 /* EZAudioFile.h in Headers */,
-                               469F4D341B749FEC00666A46 /* EZMicrophone.h in Headers */,
-                               469F4D361B749FEC00666A46 /* EZOutput.h in Headers */,
-                               469F4D1E1B749FEC00666A46 /* EZAudio.h in Headers */,
-                               469F4D3D1B749FEC00666A46 /* TPCircularBuffer.h in Headers */,
-                               469F4D3A1B749FEC00666A46 /* EZRecorder.h in Headers */,
-                               469F4D321B749FEC00666A46 /* EZAudioUtilities.h in Headers */,
-                               469F4D281B749FEC00666A46 /* EZAudioFloatConverter.h in Headers */,
-                               469F4D241B749FEC00666A46 /* EZAudioFFT.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               8A5A4B991BBBDCB200A8A048 /* Headers */ = {
-                       isa = PBXHeadersBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               8A5A4BF31BBBFFA000A8A048 /* EZAudioOSX.h in Headers */,
-                               8A5A4BB31BBBDD6D00A8A048 /* EZAudio.h in Headers */,
-                               8A5A4BB41BBBDD6D00A8A048 /* EZAudioDevice.h in Headers */,
-                               8A5A4BB51BBBDD6D00A8A048 /* EZAudioDisplayLink.h in Headers */,
-                               8A5A4BB61BBBDD6D00A8A048 /* EZAudioFFT.h in Headers */,
-                               8A5A4BB71BBBDD6D00A8A048 /* EZAudioFile.h in Headers */,
-                               8A5A4BB81BBBDD6D00A8A048 /* EZAudioFloatConverter.h in Headers */,
-                               8A5A4BB91BBBDD6D00A8A048 /* EZAudioFloatData.h in Headers */,
-                               8A5A4BBA1BBBDD6D00A8A048 /* EZAudioPlayer.h in Headers */,
-                               8A5A4BBB1BBBDD6D00A8A048 /* EZAudioPlot.h in Headers */,
-                               8A5A4BBC1BBBDD6D00A8A048 /* EZAudioPlotGL.h in Headers */,
-                               8A5A4BBD1BBBDD6D00A8A048 /* EZAudioUtilities.h in Headers */,
-                               8A5A4BBE1BBBDD6D00A8A048 /* EZMicrophone.h in Headers */,
-                               8A5A4BBF1BBBDD6D00A8A048 /* EZOutput.h in Headers */,
-                               8A5A4BC01BBBDD6D00A8A048 /* EZPlot.h in Headers */,
-                               8A5A4BC11BBBDD6D00A8A048 /* EZRecorder.h in Headers */,
-                               8A5A4BC21BBBDD6E00A8A048 /* TPCircularBuffer.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
-               469F4CF21B749F7800666A46 /* EZAudioiOS */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 469F4CFB1B749F7800666A46 /* Build configuration list for PBXNativeTarget "EZAudioiOS" */;
-                       buildPhases = (
-                               469F4CEE1B749F7800666A46 /* Sources */,
-                               469F4CEF1B749F7800666A46 /* Frameworks */,
-                               469F4CF01B749F7800666A46 /* Headers */,
-                               469F4CF11B749F7800666A46 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = EZAudioiOS;
-                       productName = EZAudio;
-                       productReference = 469F4CF31B749F7800666A46 /* EZAudioiOS.framework */;
-                       productType = "com.apple.product-type.framework";
-               };
-               8A5A4B9B1BBBDCB200A8A048 /* EZAudioOSX */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 8A5A4BAD1BBBDCB200A8A048 /* Build configuration list for PBXNativeTarget "EZAudioOSX" */;
-                       buildPhases = (
-                               8A5A4B971BBBDCB200A8A048 /* Sources */,
-                               8A5A4B981BBBDCB200A8A048 /* Frameworks */,
-                               8A5A4B991BBBDCB200A8A048 /* Headers */,
-                               8A5A4B9A1BBBDCB200A8A048 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = EZAudioOSX;
-                       productName = EZAudioOSX;
-                       productReference = 8A5A4B9C1BBBDCB200A8A048 /* EZAudioOSX.framework */;
-                       productType = "com.apple.product-type.framework";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               469F4CEA1B749F7800666A46 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0700;
-                               ORGANIZATIONNAME = "Andrew Breckenridge";
-                               TargetAttributes = {
-                                       469F4CF21B749F7800666A46 = {
-                                               CreatedOnToolsVersion = 7.0;
-                                       };
-                                       8A5A4B9B1BBBDCB200A8A048 = {
-                                               CreatedOnToolsVersion = 7.0;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 469F4CED1B749F7800666A46 /* Build configuration list for PBXProject "EZAudio" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               en,
-                       );
-                       mainGroup = 469F4CE91B749F7800666A46;
-                       productRefGroup = 469F4CF41B749F7800666A46 /* Products */;
-                       projectDirPath = "";
-                       projectRoot = "";
-                       targets = (
-                               469F4CF21B749F7800666A46 /* EZAudioiOS */,
-                               8A5A4B9B1BBBDCB200A8A048 /* EZAudioOSX */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
-               469F4CF11B749F7800666A46 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               8A5A4B9A1BBBDCB200A8A048 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               469F4CEE1B749F7800666A46 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               469F4D2F1B749FEC00666A46 /* EZAudioPlot.m in Sources */,
-                               469F4D2D1B749FEC00666A46 /* EZAudioPlayer.m in Sources */,
-                               469F4D251B749FEC00666A46 /* EZAudioFFT.m in Sources */,
-                               469F4D391B749FEC00666A46 /* EZPlot.m in Sources */,
-                               469F4D291B749FEC00666A46 /* EZAudioFloatConverter.m in Sources */,
-                               469F4D1F1B749FEC00666A46 /* EZAudio.m in Sources */,
-                               469F4D3C1B749FEC00666A46 /* TPCircularBuffer.c in Sources */,
-                               469F4D3B1B749FEC00666A46 /* EZRecorder.m in Sources */,
-                               469F4D311B749FEC00666A46 /* EZAudioPlotGL.m in Sources */,
-                               469F4D331B749FEC00666A46 /* EZAudioUtilities.m in Sources */,
-                               469F4D2B1B749FEC00666A46 /* EZAudioFloatData.m in Sources */,
-                               469F4D351B749FEC00666A46 /* EZMicrophone.m in Sources */,
-                               469F4D271B749FEC00666A46 /* EZAudioFile.m in Sources */,
-                               469F4D231B749FEC00666A46 /* EZAudioDisplayLink.m in Sources */,
-                               469F4D371B749FEC00666A46 /* EZOutput.m in Sources */,
-                               469F4D211B749FEC00666A46 /* EZAudioDevice.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               8A5A4B971BBBDCB200A8A048 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               8A5A4BD21BBBDE2800A8A048 /* TPCircularBuffer.c in Sources */,
-                               8A5A4BC31BBBDD7E00A8A048 /* EZAudio.m in Sources */,
-                               8A5A4BC41BBBDD7E00A8A048 /* EZAudioDevice.m in Sources */,
-                               8A5A4BC51BBBDD7E00A8A048 /* EZAudioDisplayLink.m in Sources */,
-                               8A5A4BC61BBBDD7E00A8A048 /* EZAudioFFT.m in Sources */,
-                               8A5A4BC71BBBDD7E00A8A048 /* EZAudioFile.m in Sources */,
-                               8A5A4BC81BBBDD7E00A8A048 /* EZAudioFloatConverter.m in Sources */,
-                               8A5A4BC91BBBDD7E00A8A048 /* EZAudioFloatData.m in Sources */,
-                               8A5A4BCA1BBBDD7E00A8A048 /* EZAudioPlayer.m in Sources */,
-                               8A5A4BCB1BBBDD7E00A8A048 /* EZAudioPlot.m in Sources */,
-                               8A5A4BCC1BBBDD7E00A8A048 /* EZAudioPlotGL.m in Sources */,
-                               8A5A4BCD1BBBDD7E00A8A048 /* EZAudioUtilities.m in Sources */,
-                               8A5A4BCE1BBBDD7E00A8A048 /* EZMicrophone.m in Sources */,
-                               8A5A4BCF1BBBDD7E00A8A048 /* EZOutput.m in Sources */,
-                               8A5A4BD01BBBDD7E00A8A048 /* EZPlot.m in Sources */,
-                               8A5A4BD11BBBDD7E00A8A048 /* EZRecorder.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
-               469F4CF91B749F7800666A46 /* 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;
-                               CURRENT_PROJECT_VERSION = 1;
-                               DEBUG_INFORMATION_FORMAT = dwarf;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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.0;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Debug;
-               };
-               469F4CFA1B749F7800666A46 /* 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;
-                               CURRENT_PROJECT_VERSION = 1;
-                               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.0;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                               VERSIONING_SYSTEM = "apple-generic";
-                               VERSION_INFO_PREFIX = "";
-                       };
-                       name = Release;
-               };
-               469F4CFC1B749F7800666A46 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               INFOPLIST_FILE = EZAudio/Info.plist;
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = ezaudio.EZAudioiOS;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                               SKIP_INSTALL = YES;
-                       };
-                       name = Debug;
-               };
-               469F4CFD1B749F7800666A46 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               INFOPLIST_FILE = EZAudio/Info.plist;
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = ezaudio.EZAudioiOS;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                               SKIP_INSTALL = YES;
-                       };
-                       name = Release;
-               };
-               8A5A4BAE1BBBDCB200A8A048 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               COMBINE_HIDPI_IMAGES = YES;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               FRAMEWORK_VERSION = A;
-                               INFOPLIST_FILE = "$(SRCROOT)/EZAudio/Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               PRODUCT_BUNDLE_IDENTIFIER = ezaudio.EZAudioOSX;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                               SDKROOT = macosx;
-                               SKIP_INSTALL = YES;
-                       };
-                       name = Debug;
-               };
-               8A5A4BAF1BBBDCB200A8A048 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               COMBINE_HIDPI_IMAGES = YES;
-                               DEFINES_MODULE = YES;
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               DYLIB_INSTALL_NAME_BASE = "@rpath";
-                               FRAMEWORK_VERSION = A;
-                               INFOPLIST_FILE = "$(SRCROOT)/EZAudio/Info.plist";
-                               INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               PRODUCT_BUNDLE_IDENTIFIER = ezaudio.EZAudioOSX;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                               SDKROOT = macosx;
-                               SKIP_INSTALL = YES;
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               469F4CED1B749F7800666A46 /* Build configuration list for PBXProject "EZAudio" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               469F4CF91B749F7800666A46 /* Debug */,
-                               469F4CFA1B749F7800666A46 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               469F4CFB1B749F7800666A46 /* Build configuration list for PBXNativeTarget "EZAudioiOS" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               469F4CFC1B749F7800666A46 /* Debug */,
-                               469F4CFD1B749F7800666A46 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               8A5A4BAD1BBBDCB200A8A048 /* Build configuration list for PBXNativeTarget "EZAudioOSX" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               8A5A4BAE1BBBDCB200A8A048 /* Debug */,
-                               8A5A4BAF1BBBDCB200A8A048 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 469F4CEA1B749F7800666A46 /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudio.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/document/EZAudio-master/EZAudio.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index 62d1e84..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:EZAudio.xcodeproj">
-   </FileRef>
-</Workspace>
diff --git a/document/EZAudio-master/EZAudio.xcodeproj/xcshareddata/xcschemes/EZAudioOSX.xcscheme b/document/EZAudio-master/EZAudio.xcodeproj/xcshareddata/xcschemes/EZAudioOSX.xcscheme
deleted file mode 100644 (file)
index cad04b3..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "0700"
-   version = "1.3">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "8A5A4B9B1BBBDCB200A8A048"
-               BuildableName = "EZAudioOSX.framework"
-               BlueprintName = "EZAudioOSX"
-               ReferencedContainer = "container:EZAudio.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES">
-      <Testables>
-         <TestableReference
-            skipped = "NO">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "8A5A4BA41BBBDCB200A8A048"
-               BuildableName = "EZAudioOSXTests.xctest"
-               BlueprintName = "EZAudioOSXTests"
-               ReferencedContainer = "container:EZAudio.xcodeproj">
-            </BuildableReference>
-         </TestableReference>
-      </Testables>
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "8A5A4B9B1BBBDCB200A8A048"
-            BuildableName = "EZAudioOSX.framework"
-            BlueprintName = "EZAudioOSX"
-            ReferencedContainer = "container:EZAudio.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <AdditionalOptions>
-      </AdditionalOptions>
-   </TestAction>
-   <LaunchAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      debugServiceExtension = "internal"
-      allowLocationSimulation = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "8A5A4B9B1BBBDCB200A8A048"
-            BuildableName = "EZAudioOSX.framework"
-            BlueprintName = "EZAudioOSX"
-            ReferencedContainer = "container:EZAudio.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <AdditionalOptions>
-      </AdditionalOptions>
-   </LaunchAction>
-   <ProfileAction
-      buildConfiguration = "Release"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      debugDocumentVersioning = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "8A5A4B9B1BBBDCB200A8A048"
-            BuildableName = "EZAudioOSX.framework"
-            BlueprintName = "EZAudioOSX"
-            ReferencedContainer = "container:EZAudio.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>
diff --git a/document/EZAudio-master/EZAudio.xcodeproj/xcshareddata/xcschemes/EZAudioiOS.xcscheme b/document/EZAudio-master/EZAudio.xcodeproj/xcshareddata/xcschemes/EZAudioiOS.xcscheme
deleted file mode 100644 (file)
index eb44cc9..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "0700"
-   version = "1.3">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "469F4CF21B749F7800666A46"
-               BuildableName = "EZAudioiOS.framework"
-               BlueprintName = "EZAudioiOS"
-               ReferencedContainer = "container:EZAudio.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES">
-      <Testables>
-      </Testables>
-      <AdditionalOptions>
-      </AdditionalOptions>
-   </TestAction>
-   <LaunchAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      debugServiceExtension = "internal"
-      allowLocationSimulation = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "469F4CF21B749F7800666A46"
-            BuildableName = "EZAudioiOS.framework"
-            BlueprintName = "EZAudioiOS"
-            ReferencedContainer = "container:EZAudio.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <AdditionalOptions>
-      </AdditionalOptions>
-   </LaunchAction>
-   <ProfileAction
-      buildConfiguration = "Release"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      debugDocumentVersioning = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "469F4CF21B749F7800666A46"
-            BuildableName = "EZAudioiOS.framework"
-            BlueprintName = "EZAudioiOS"
-            ReferencedContainer = "container:EZAudio.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>
diff --git a/document/EZAudio-master/EZAudio/EZAudio.h b/document/EZAudio-master/EZAudio/EZAudio.h
deleted file mode 100644 (file)
index d552983..0000000
+++ /dev/null
@@ -1,528 +0,0 @@
-//
-//  EZAudio.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 11/21/13.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-
-//! Project version number for teat.
-FOUNDATION_EXPORT double EZAudioVersionNumber;
-
-//! Project version string for teat.
-FOUNDATION_EXPORT const unsigned char EZAudioVersionString[];
-
-//------------------------------------------------------------------------------
-#pragma mark - Core Components
-//------------------------------------------------------------------------------
-
-#import "EZAudioDevice.h"
-#import "EZAudioFile.h"
-#import "EZMicrophone.h"
-#import "EZOutput.h"
-#import "EZRecorder.h"
-#import "EZAudioPlayer.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - Interface Components
-//------------------------------------------------------------------------------
-
-#import "EZPlot.h"
-#import "EZAudioDisplayLink.h"
-#import "EZAudioPlot.h"
-#import "EZAudioPlotGL.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - Utility Components
-//------------------------------------------------------------------------------
-
-#import "EZAudioFFT.h"
-#import "EZAudioFloatConverter.h"
-#import "EZAudioFloatData.h"
-#import "EZAudioUtilities.h"
-
-//------------------------------------------------------------------------------
-
-/**
- EZAudio is a simple, intuitive framework for iOS and OSX. The goal of EZAudio was to provide a modular, cross-platform framework to simplify performing everyday audio operations like getting microphone input, creating audio waveforms, recording/playing audio files, etc. The visualization tools like the EZAudioPlot and EZAudioPlotGL were created to plug right into the framework's various components and provide highly optimized drawing routines that work in harmony with audio callback loops. All components retain the same namespace whether you're on an iOS device or a Mac computer so an EZAudioPlot understands it will subclass an UIView on an iOS device or an NSView on a Mac.
- 
- Class methods for EZAudio are provided as utility methods used throughout the other modules within the framework. For instance, these methods help make sense of error codes (checkResult:operation:), map values betwen coordinate systems (MAP:leftMin:leftMax:rightMin:rightMax:), calculate root mean squared values for buffers (RMS:length:), etc.
- 
- @warning As of 1.0 these methods have been moved over to `EZAudioUtilities` to allow using specific modules without requiring the whole library.
- */
-@interface EZAudio : NSObject
-
-//------------------------------------------------------------------------------
-#pragma mark - Debugging
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Debugging EZAudio
-///-----------------------------------------------------------
-
-/**
- Globally sets whether or not the program should exit if a `checkResult:operation:` operation fails. Currently the behavior on EZAudio is to quit if a `checkResult:operation:` fails, but this is not desirable in any production environment. Internally there are a lot of `checkResult:operation:` operations used on all the core classes. This should only ever be set to NO in production environments since a `checkResult:operation:` failing means something breaking has likely happened.
- @param shouldExitOnCheckResultFail A BOOL indicating whether or not the running program should exist due to a `checkResult:operation:` fail.
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- */
-+ (void)setShouldExitOnCheckResultFail:(BOOL)shouldExitOnCheckResultFail __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Provides a flag indicating whether or not the program will exit if a `checkResult:operation:` fails.
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return A BOOL indicating whether or not the program will exit if a `checkResult:operation:` fails.
- */
-+ (BOOL)shouldExitOnCheckResultFail __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-#pragma mark - AudioBufferList Utility
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name AudioBufferList Utility
-///-----------------------------------------------------------
-
-/**
- Allocates an AudioBufferList structure. Make sure to call freeBufferList when done using AudioBufferList or it will leak.
- @param frames The number of frames that will be stored within each audio buffer
- @param channels The number of channels (e.g. 2 for stereo, 1 for mono, etc.)
- @param interleaved Whether the samples will be interleaved (if not it will be assumed to be non-interleaved and each channel will have an AudioBuffer allocated)
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return An AudioBufferList struct that has been allocated in memory
- */
-+ (AudioBufferList *)audioBufferListWithNumberOfFrames:(UInt32)frames
-                                      numberOfChannels:(UInt32)channels
-                                           interleaved:(BOOL)interleaved __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Allocates an array of float arrays given the number of frames needed to store in each float array.
- @param frames   A UInt32 representing the number of frames to store in each float buffer
- @param channels A UInt32 representing the number of channels (i.e. the number of float arrays to allocate)
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return An array of float arrays, each the length of the number of frames specified
- */
-+ (float **)floatBuffersWithNumberOfFrames:(UInt32)frames
-                          numberOfChannels:(UInt32)channels __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Deallocates an AudioBufferList structure from memory.
- @param bufferList A pointer to the buffer list you would like to free
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- */
-+ (void)freeBufferList:(AudioBufferList *)bufferList __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Deallocates an array of float buffers
- @param buffers  An array of float arrays
- @param channels A UInt32 representing the number of channels (i.e. the number of float arrays to deallocate)
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- */
-+ (void)freeFloatBuffers:(float **)buffers numberOfChannels:(UInt32)channels __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-#pragma mark - AudioStreamBasicDescription Utilties
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Creating An AudioStreamBasicDescription
-///-----------------------------------------------------------
-
-/**
- Creates a signed-integer, interleaved AudioStreamBasicDescription for the number of channels specified for an AIFF format.
- @param channels   The desired number of channels
- @param sampleRate A float representing the sample rate.
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)AIFFFormatWithNumberOfChannels:(UInt32)channels
-                                                   sampleRate:(float)sampleRate __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an AudioStreamBasicDescription for the iLBC narrow band speech codec.
- @param sampleRate A float representing the sample rate.
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)iLBCFormatWithSampleRate:(float)sampleRate __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a float-based, non-interleaved AudioStreamBasicDescription for the number of channels specified.
- @param channels   A UInt32 representing the number of channels.
- @param sampleRate A float representing the sample rate.
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return A float-based AudioStreamBasicDescription with the number of channels specified.
- */
-+ (AudioStreamBasicDescription)floatFormatWithNumberOfChannels:(UInt32)channels
-                                                    sampleRate:(float)sampleRate __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an AudioStreamBasicDescription for an M4A AAC format.
- @param channels   The desired number of channels
- @param sampleRate A float representing the sample rate.
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)M4AFormatWithNumberOfChannels:(UInt32)channels
-                                                  sampleRate:(float)sampleRate __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a single-channel, float-based AudioStreamBasicDescription.
- @param sampleRate A float representing the sample rate.
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)monoFloatFormatWithSampleRate:(float)sampleRate __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a single-channel, float-based AudioStreamBasicDescription (as of 0.0.6 this is the same as `monoFloatFormatWithSampleRate:`).
- @param sampleRate A float representing the sample rate.
- @return A new AudioStreamBasicDescription with the specified format.
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- */
-+ (AudioStreamBasicDescription)monoCanonicalFormatWithSampleRate:(float)sampleRate __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a two-channel, non-interleaved, float-based AudioStreamBasicDescription (as of 0.0.6 this is the same as `stereoFloatNonInterleavedFormatWithSampleRate:`).
- @param sampleRate A float representing the sample rate.
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)stereoCanonicalNonInterleavedFormatWithSampleRate:(float)sampleRate __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a two-channel, interleaved, float-based AudioStreamBasicDescription.
- @param sampleRate A float representing the sample rate.
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)stereoFloatInterleavedFormatWithSampleRate:(float)sampleRate __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a two-channel, non-interleaved, float-based AudioStreamBasicDescription.
- @param sampleRate A float representing the sample rate.
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)stereoFloatNonInterleavedFormatWithSampleRate:(float)sampleRate __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-// @name AudioStreamBasicDescription Helper Functions
-//------------------------------------------------------------------------------
-
-/**
- Checks an AudioStreamBasicDescription to see if it is a float-based format (as opposed to a signed integer based format).
- @param asbd A valid AudioStreamBasicDescription
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return A BOOL indicating whether or not the AudioStreamBasicDescription is a float format.
- */
-+ (BOOL)isFloatFormat:(AudioStreamBasicDescription)asbd __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Checks an AudioStreamBasicDescription to check for an interleaved flag (samples are
- stored in one buffer one after another instead of two (or n channels) parallel buffers
- @param asbd A valid AudioStreamBasicDescription
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return A BOOL indicating whether or not the AudioStreamBasicDescription is interleaved
- */
-+ (BOOL)isInterleaved:(AudioStreamBasicDescription)asbd __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Checks an AudioStreamBasicDescription to see if it is a linear PCM format (uncompressed,
- 1 frame per packet)
- @param asbd A valid AudioStreamBasicDescription
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return A BOOL indicating whether or not the AudioStreamBasicDescription is linear PCM.
- */
-+ (BOOL)isLinearPCM:(AudioStreamBasicDescription)asbd __attribute__((deprecated));
-
-///-----------------------------------------------------------
-/// @name AudioStreamBasicDescription Utilities
-///-----------------------------------------------------------
-
-/**
- Nicely logs out the contents of an AudioStreamBasicDescription struct
- @param asbd The AudioStreamBasicDescription struct with content to print out
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- */
-+ (void)printASBD:(AudioStreamBasicDescription)asbd __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Converts seconds into a string formatted as MM:SS
- @param seconds An NSTimeInterval representing the number of seconds
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return An NSString instance formatted as MM:SS from the seconds provided.
- */
-+ (NSString *)displayTimeStringFromSeconds:(NSTimeInterval)seconds __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a string to use when logging out the contents of an AudioStreamBasicDescription
- @param asbd A valid AudioStreamBasicDescription struct.
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return An NSString representing the contents of the AudioStreamBasicDescription.
- */
-+ (NSString *)stringForAudioStreamBasicDescription:(AudioStreamBasicDescription)asbd __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Just a wrapper around the setCanonical function provided in the Core Audio Utility C++ class.
- @param asbd        The AudioStreamBasicDescription structure to modify
- @param nChannels   The number of expected channels on the description
- @param interleaved A flag indicating whether the stereo samples should be interleaved in the buffer
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- */
-+ (void)setCanonicalAudioStreamBasicDescription:(AudioStreamBasicDescription*)asbd
-                               numberOfChannels:(UInt32)nChannels
-                                    interleaved:(BOOL)interleaved __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-#pragma mark - Math Utilities
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Math Utilities
-///-----------------------------------------------------------
-
-/**
- Appends an array of values to a history buffer and performs an internal shift to add the values to the tail and removes the same number of values from the head.
- @param buffer              A float array of values to append to the tail of the history buffer
- @param bufferLength        The length of the float array being appended to the history buffer
- @param scrollHistory       The target history buffer in which to append the values
- @param scrollHistoryLength The length of the target history buffer
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- */
-+ (void)appendBufferAndShift:(float*)buffer
-              withBufferSize:(int)bufferLength
-             toScrollHistory:(float*)scrollHistory
-       withScrollHistorySize:(int)scrollHistoryLength __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Appends a value to a history buffer and performs an internal shift to add the value to the tail and remove the 0th value.
- @param value               The float value to append to the history array
- @param scrollHistory       The target history buffer in which to append the values
- @param scrollHistoryLength The length of the target history buffer
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- */
-+(void)    appendValue:(float)value
-       toScrollHistory:(float*)scrollHistory
- withScrollHistorySize:(int)scrollHistoryLength __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Maps a value from one coordinate system into another one. Takes in the current value to map, the minimum and maximum values of the first coordinate system, and the minimum and maximum values of the second coordinate system and calculates the mapped value in the second coordinate system's constraints.
- @param        value   The value expressed in the first coordinate system
- @param        leftMin         The minimum of the first coordinate system
- @param        leftMax         The maximum of the first coordinate system
- @param        rightMin        The minimum of the second coordindate system
- @param        rightMax        The maximum of the second coordinate system
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return       The mapped value in terms of the second coordinate system
- */
-+ (float)MAP:(float)value
-     leftMin:(float)leftMin
-     leftMax:(float)leftMax
-    rightMin:(float)rightMin
-    rightMax:(float)rightMax __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Calculates the root mean squared for a buffer.
- @param        buffer  A float buffer array of values whose root mean squared to calculate
- @param        bufferSize      The size of the float buffer
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return       The root mean squared of the buffer
- */
-+ (float)RMS:(float*)buffer length:(int)bufferSize __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Calculate the sign function sgn(x) =
- {  -1 , x < 0,
- {   0 , x = 0,
- {   1 , x > 0
- @param value The float value for which to use as x
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return The float sign value
- */
-+ (float)SGN:(float)value __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-#pragma mark - OSStatus Utility
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name OSStatus Utility
-///-----------------------------------------------------------
-
-/**
- Basic check result function useful for checking each step of the audio setup process
- @param result    The OSStatus representing the result of an operation
- @param operation A string (const char, not NSString) describing the operation taking place (will print if fails)
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- */
-+ (void)checkResult:(OSStatus)result operation:(const char *)operation __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Provides a string representation of the often cryptic Core Audio error codes
- @param code A UInt32 representing an error code
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- @return An NSString with a human readable version of the error code.
- */
-+ (NSString *)stringFromUInt32Code:(UInt32)code __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-#pragma mark - Plot Utility
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Plot Utility
-///-----------------------------------------------------------
-
-/**
- Given a buffer representing a window of float history data this append the RMS of a buffer of incoming float data...This will likely be deprecated in a future version of EZAudio for a circular buffer based approach.
- @param scrollHistory       An array of float arrays being used to hold the history values for each channel.
- @param scrollHistoryLength An int representing the length of the history window.
- @param index               An int pointer to the index of the current read index of the history buffer.
- @param buffer              A float array representing the incoming audio data.
- @param bufferSize          An int representing the length of the incoming audio data.
- @param isChanging          A BOOL pointer representing whether the resolution (length of the history window) is currently changing.
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- */
-+ (void)updateScrollHistory:(float **)scrollHistory
-                 withLength:(int)scrollHistoryLength
-                    atIndex:(int *)index
-                 withBuffer:(float *)buffer
-             withBufferSize:(int)bufferSize
-       isResolutionChanging:(BOOL *)isChanging __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-#pragma mark - TPCircularBuffer Utility
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name TPCircularBuffer Utility
-///-----------------------------------------------------------
-
-/**
- Appends the data from the audio buffer list to the circular buffer
- @param circularBuffer  Pointer to the instance of the TPCircularBuffer to add the audio data to
- @param audioBufferList Pointer to the instance of the AudioBufferList with the audio data
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- */
-+ (void)appendDataToCircularBuffer:(TPCircularBuffer*)circularBuffer
-               fromAudioBufferList:(AudioBufferList*)audioBufferList __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Initializes the circular buffer (just a wrapper around the C method)
- @param circularBuffer Pointer to an instance of the TPCircularBuffer
- @param size           The length of the TPCircularBuffer (usually 1024)
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- */
-+ (void)circularBuffer:(TPCircularBuffer*)circularBuffer
-              withSize:(int)size __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Frees a circular buffer
- @param circularBuffer Pointer to the circular buffer to clear
- @deprecated This method is deprecated starting in version 0.1.0.
- @note Please use same method in EZAudioUtilities class instead.
- */
-+ (void)freeCircularBuffer:(TPCircularBuffer*)circularBuffer __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZAudio.m b/document/EZAudio-master/EZAudio/EZAudio.m
deleted file mode 100644 (file)
index d334e6a..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-//
-//  EZAudio.m
-//  EZAudioCoreGraphicsWaveformExample
-//
-//  Created by Syed Haris Ali on 5/13/15.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-
-#import "EZAudio.h"
-
-@implementation EZAudio
-
-//------------------------------------------------------------------------------
-#pragma mark - Debugging
-//------------------------------------------------------------------------------
-
-+ (void)setShouldExitOnCheckResultFail:(BOOL)shouldExitOnCheckResultFail
-{
-    [EZAudioUtilities setShouldExitOnCheckResultFail:shouldExitOnCheckResultFail];
-}
-
-//------------------------------------------------------------------------------
-
-+ (BOOL)shouldExitOnCheckResultFail
-{
-    return [EZAudioUtilities shouldExitOnCheckResultFail];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - AudioBufferList Utility
-//------------------------------------------------------------------------------
-
-+ (AudioBufferList *)audioBufferListWithNumberOfFrames:(UInt32)frames
-                                      numberOfChannels:(UInt32)channels
-                                           interleaved:(BOOL)interleaved
-{
-    return [EZAudioUtilities audioBufferListWithNumberOfFrames:frames
-                                              numberOfChannels:channels
-                                                   interleaved:interleaved];
-}
-
-//------------------------------------------------------------------------------
-
-+ (float **)floatBuffersWithNumberOfFrames:(UInt32)frames
-                          numberOfChannels:(UInt32)channels
-{
-    return [EZAudioUtilities floatBuffersWithNumberOfFrames:frames
-                                           numberOfChannels:channels];
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)freeBufferList:(AudioBufferList *)bufferList
-{
-    [EZAudioUtilities freeBufferList:bufferList];
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)freeFloatBuffers:(float **)buffers numberOfChannels:(UInt32)channels
-{
-    [EZAudioUtilities freeFloatBuffers:buffers numberOfChannels:channels];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - AudioStreamBasicDescription Utility
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)AIFFFormatWithNumberOfChannels:(UInt32)channels
-                                                   sampleRate:(float)sampleRate
-{
-    return [EZAudioUtilities AIFFFormatWithNumberOfChannels:channels
-                                                 sampleRate:sampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)iLBCFormatWithSampleRate:(float)sampleRate
-{
-    return [EZAudioUtilities iLBCFormatWithSampleRate:sampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)floatFormatWithNumberOfChannels:(UInt32)channels
-                                                    sampleRate:(float)sampleRate
-{
-    return [EZAudioUtilities floatFormatWithNumberOfChannels:channels
-                                                  sampleRate:sampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)M4AFormatWithNumberOfChannels:(UInt32)channels
-                                                  sampleRate:(float)sampleRate
-{
-    return [EZAudioUtilities M4AFormatWithNumberOfChannels:channels
-                                                sampleRate:sampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)monoFloatFormatWithSampleRate:(float)sampleRate
-{
-    return [EZAudioUtilities monoFloatFormatWithSampleRate:sampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)monoCanonicalFormatWithSampleRate:(float)sampleRate
-{
-    return [EZAudioUtilities monoCanonicalFormatWithSampleRate:sampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)stereoCanonicalNonInterleavedFormatWithSampleRate:(float)sampleRate
-{
-    return [EZAudioUtilities stereoCanonicalNonInterleavedFormatWithSampleRate:sampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)stereoFloatInterleavedFormatWithSampleRate:(float)sampleRate
-{
-    return [EZAudioUtilities stereoFloatInterleavedFormatWithSampleRate:sampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)stereoFloatNonInterleavedFormatWithSampleRate:(float)sampleRate
-{
-    return [EZAudioUtilities stereoFloatNonInterleavedFormatWithSampleRate:sampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (BOOL)isFloatFormat:(AudioStreamBasicDescription)asbd
-{
-    return [EZAudioUtilities isFloatFormat:asbd];
-}
-
-//------------------------------------------------------------------------------
-
-+ (BOOL)isInterleaved:(AudioStreamBasicDescription)asbd
-{
-    return [EZAudioUtilities isInterleaved:asbd];
-}
-
-//------------------------------------------------------------------------------
-
-+ (BOOL)isLinearPCM:(AudioStreamBasicDescription)asbd
-{
-    return [EZAudioUtilities isLinearPCM:asbd];
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)printASBD:(AudioStreamBasicDescription)asbd
-{
-    [EZAudioUtilities printASBD:asbd];
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSString *)displayTimeStringFromSeconds:(NSTimeInterval)seconds
-{
-    return [EZAudioUtilities displayTimeStringFromSeconds:seconds];
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSString *)stringForAudioStreamBasicDescription:(AudioStreamBasicDescription)asbd
-{
-    return [EZAudioUtilities stringForAudioStreamBasicDescription:asbd];
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)setCanonicalAudioStreamBasicDescription:(AudioStreamBasicDescription*)asbd
-                               numberOfChannels:(UInt32)nChannels
-                                    interleaved:(BOOL)interleaved
-{
-    [EZAudioUtilities setCanonicalAudioStreamBasicDescription:asbd
-                                             numberOfChannels:nChannels
-                                                  interleaved:interleaved];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Math Utilities
-//------------------------------------------------------------------------------
-
-+ (void)appendBufferAndShift:(float*)buffer
-              withBufferSize:(int)bufferLength
-             toScrollHistory:(float*)scrollHistory
-       withScrollHistorySize:(int)scrollHistoryLength
-{
-    [EZAudioUtilities appendBufferAndShift:buffer
-                            withBufferSize:bufferLength
-                           toScrollHistory:scrollHistory
-                     withScrollHistorySize:scrollHistoryLength];
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)   appendValue:(float)value
-       toScrollHistory:(float*)scrollHistory
- withScrollHistorySize:(int)scrollHistoryLength
-{
-    [EZAudioUtilities appendValue:value
-                  toScrollHistory:scrollHistory
-            withScrollHistorySize:scrollHistoryLength];
-}
-
-//------------------------------------------------------------------------------
-
-+ (float)MAP:(float)value
-     leftMin:(float)leftMin
-     leftMax:(float)leftMax
-    rightMin:(float)rightMin
-    rightMax:(float)rightMax
-{
-    return [EZAudioUtilities MAP:value
-                         leftMin:leftMin
-                         leftMax:leftMax
-                        rightMin:rightMin
-                        rightMax:rightMax];
-}
-
-//------------------------------------------------------------------------------
-
-+ (float)RMS:(float *)buffer length:(int)bufferSize
-{
-    return [EZAudioUtilities RMS:buffer length:bufferSize];
-}
-
-//------------------------------------------------------------------------------
-
-+ (float)SGN:(float)value
-{
-    return [EZAudioUtilities SGN:value];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - OSStatus Utility
-//------------------------------------------------------------------------------
-
-+ (void)checkResult:(OSStatus)result operation:(const char *)operation
-{
-    [EZAudioUtilities checkResult:result
-                        operation:operation];
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSString *)stringFromUInt32Code:(UInt32)code
-{
-    return [EZAudioUtilities stringFromUInt32Code:code];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Plot Utility
-//------------------------------------------------------------------------------
-
-+ (void)updateScrollHistory:(float **)scrollHistory
-                 withLength:(int)scrollHistoryLength
-                    atIndex:(int *)index
-                 withBuffer:(float *)buffer
-             withBufferSize:(int)bufferSize
-       isResolutionChanging:(BOOL *)isChanging
-{
-    [EZAudioUtilities updateScrollHistory:scrollHistory
-                               withLength:scrollHistoryLength
-                                  atIndex:index
-                               withBuffer:buffer
-                           withBufferSize:bufferSize
-                     isResolutionChanging:isChanging];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - TPCircularBuffer Utility
-//------------------------------------------------------------------------------
-
-+ (void)appendDataToCircularBuffer:(TPCircularBuffer *)circularBuffer
-               fromAudioBufferList:(AudioBufferList *)audioBufferList
-{
-    [EZAudioUtilities appendDataToCircularBuffer:circularBuffer
-                             fromAudioBufferList:audioBufferList];
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)circularBuffer:(TPCircularBuffer *)circularBuffer withSize:(int)size
-{
-    [EZAudioUtilities circularBuffer:circularBuffer withSize:size];
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)freeCircularBuffer:(TPCircularBuffer *)circularBuffer
-{
-    [EZAudioUtilities freeCircularBuffer:circularBuffer];
-}
-
-//------------------------------------------------------------------------------
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZAudioDevice.h b/document/EZAudio-master/EZAudio/EZAudioDevice.h
deleted file mode 100644 (file)
index 45d58be..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-//
-//  EZAudioDevice.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 6/25/15.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import <AudioToolbox/AudioToolbox.h>
-
-#if TARGET_OS_IPHONE
-#import <AVFoundation/AVFoundation.h>
-#elif TARGET_OS_MAC
-#endif
-
-/**
- The EZAudioDevice provides an interface for getting the available input and output hardware devices on iOS and OSX. On iOS the EZAudioDevice uses the available devices found from the AVAudioSession, while on OSX the EZAudioDevice wraps the AudioHardware API to find any devices that are connected including the built-in devices (for instance, Built-In Microphone, Display Audio). Since the AVAudioSession and AudioHardware APIs are quite different the EZAudioDevice has different properties available on each platform. The EZMicrophone now supports setting any specific EZAudioDevice from the `inputDevices` function.
- */
-@interface EZAudioDevice : NSObject
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Methods
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-// @name Getting The Devices
-//------------------------------------------------------------------------------
-
-/**
- Provides the current EZAudioDevice that is being used to pull input.
- @return An EZAudioDevice instance representing the currently selected input device.
- */
-+ (EZAudioDevice *)currentInputDevice;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the current EZAudioDevice that is being used to output audio.
- @return An EZAudioDevice instance representing the currently selected ouotput device.
- */
-+ (EZAudioDevice *)currentOutputDevice;
-
-//------------------------------------------------------------------------------
-
-/**
- Enumerates all the available input devices and returns the result in an NSArray of EZAudioDevice instances.
- @return An NSArray containing EZAudioDevice instances, one for each available input device.
- */
-+ (NSArray *)inputDevices;
-
-//------------------------------------------------------------------------------
-
-/**
- Enumerates all the available output devices and returns the result in an NSArray of EZAudioDevice instances.
- @return An NSArray of output EZAudioDevice instances.
- */
-+ (NSArray *)outputDevices;
-
-#if TARGET_OS_IPHONE
-
-//------------------------------------------------------------------------------
-
-/**
- Enumerates all the available input devices.
-    - iOS only
- @param block When enumerating this block executes repeatedly for each EZAudioDevice found. It contains two arguments - first, the EZAudioDevice found, then a pointer to a stop BOOL to allow breaking out of the enumeration)
- */
-+ (void)enumerateInputDevicesUsingBlock:(void(^)(EZAudioDevice *device,
-                                                 BOOL *stop))block;
-
-//------------------------------------------------------------------------------
-
-/**
- Enumerates all the available output devices.
- - iOS only
- @param block When enumerating this block executes repeatedly for each EZAudioDevice found. It contains two arguments - first, the EZAudioDevice found, then a pointer to a stop BOOL to allow breaking out of the enumeration)
- */
-+ (void)enumerateOutputDevicesUsingBlock:(void (^)(EZAudioDevice *device,
-                                                   BOOL *stop))block;
-
-#elif TARGET_OS_MAC
-
-/**
- Enumerates all the available devices and returns the result in an NSArray of EZAudioDevice instances.
-    - OSX only
- @return An NSArray of input and output EZAudioDevice instances.
- */
-+ (NSArray *)devices;
-
-//------------------------------------------------------------------------------
-
-/**
- Enumerates all the available devices. 
-    - OSX only
- @param block When enumerating this block executes repeatedly for each EZAudioDevice found. It contains two arguments - first, the EZAudioDevice found, then a pointer to a stop BOOL to allow breaking out of the enumeration)
- */
-+ (void)enumerateDevicesUsingBlock:(void(^)(EZAudioDevice *device,
-                                            BOOL *stop))block;
-
-#endif
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-/**
- An NSString representing a human-reable version of the device.
- */
-@property (nonatomic, copy, readonly) NSString *name;
-
-#if TARGET_OS_IPHONE
-
-/**
- An AVAudioSessionPortDescription describing an input or output hardware port.
-    - iOS only
- */
-@property (nonatomic, strong, readonly) AVAudioSessionPortDescription *port;
-
-//------------------------------------------------------------------------------
-
-/**
- An AVAudioSessionDataSourceDescription describing a specific data source for the `port` provided.
-    - iOS only
- */
-@property (nonatomic, strong, readonly) AVAudioSessionDataSourceDescription *dataSource;
-
-#elif TARGET_OS_MAC
-
-/**
- An AudioDeviceID representing the device in the AudioHardware API.
-    - OSX only
- */
-@property (nonatomic, assign, readonly) AudioDeviceID deviceID;
-
-//------------------------------------------------------------------------------
-
-/**
- An NSString representing the name of the manufacturer of the device.
-    - OSX only
- */
-@property (nonatomic, copy, readonly) NSString *manufacturer;
-
-//------------------------------------------------------------------------------
-
-/**
- An NSInteger representing the number of input channels available.
-    - OSX only
- */
-@property (nonatomic, assign, readonly) NSInteger inputChannelCount;
-
-//------------------------------------------------------------------------------
-
-/**
- An NSInteger representing the number of output channels available.
-    - OSX only
- */
-@property (nonatomic, assign, readonly) NSInteger outputChannelCount;
-
-//------------------------------------------------------------------------------
-
-/**
- An NSString representing the persistent identifier for the AudioDevice.
-    - OSX only
- */
-@property (nonatomic, copy, readonly) NSString *UID;
-
-#endif
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZAudioDevice.m b/document/EZAudio-master/EZAudio/EZAudioDevice.m
deleted file mode 100644 (file)
index 6eacc2f..0000000
+++ /dev/null
@@ -1,475 +0,0 @@
-//
-//  EZAudioDevice.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 6/25/15.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZAudioDevice.h"
-#import "EZAudioUtilities.h"
-
-@interface EZAudioDevice ()
-
-@property (nonatomic, copy, readwrite) NSString *name;
-
-#if TARGET_OS_IPHONE
-
-@property (nonatomic, strong, readwrite) AVAudioSessionPortDescription *port;
-@property (nonatomic, strong, readwrite) AVAudioSessionDataSourceDescription *dataSource;
-
-#elif TARGET_OS_MAC
-
-@property (nonatomic, assign, readwrite) AudioDeviceID deviceID;
-@property (nonatomic, copy, readwrite) NSString *manufacturer;
-@property (nonatomic, assign, readwrite) NSInteger inputChannelCount;
-@property (nonatomic, assign, readwrite) NSInteger outputChannelCount;
-@property (nonatomic, copy, readwrite) NSString *UID;
-
-#endif
-
-@end
-
-@implementation EZAudioDevice
-
-#if TARGET_OS_IPHONE
-
-//------------------------------------------------------------------------------
-
-+ (EZAudioDevice *)currentInputDevice
-{
-    AVAudioSession *session = [AVAudioSession sharedInstance];
-    AVAudioSessionPortDescription *port = [[[session currentRoute] inputs] firstObject];
-    AVAudioSessionDataSourceDescription *dataSource = [session inputDataSource];
-    EZAudioDevice *device = [[EZAudioDevice alloc] init];
-    device.port = port;
-    device.dataSource = dataSource;
-    return device;
-}
-
-//------------------------------------------------------------------------------
-
-+ (EZAudioDevice *)currentOutputDevice
-{
-    AVAudioSession *session = [AVAudioSession sharedInstance];
-    AVAudioSessionPortDescription *port = [[[session currentRoute] outputs] firstObject];
-    AVAudioSessionDataSourceDescription *dataSource = [session outputDataSource];
-    EZAudioDevice *device = [[EZAudioDevice alloc] init];
-    device.port = port;
-    device.dataSource = dataSource;
-    return device;
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSArray *)inputDevices
-{
-    __block NSMutableArray *devices = [NSMutableArray array];
-    [self enumerateInputDevicesUsingBlock:^(EZAudioDevice *device, BOOL *stop)
-    {
-        [devices addObject:device];
-    }];
-    return devices;
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSArray *)outputDevices
-{
-    __block NSMutableArray *devices = [NSMutableArray array];
-    [self enumerateOutputDevicesUsingBlock:^(EZAudioDevice *device, BOOL *stop)
-     {
-         [devices addObject:device];
-     }];
-    return devices;
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)enumerateInputDevicesUsingBlock:(void (^)(EZAudioDevice *, BOOL *))block
-{
-    if (!block)
-    {
-        return;
-    }
-    
-    NSArray *inputs = [[AVAudioSession sharedInstance] availableInputs];
-    if (inputs == nil)
-    {
-        NSLog(@"Audio session is not active! In order to enumerate the audio devices you must set the category and set active the audio session for your iOS app before calling this function.");
-        return;
-    }
-    
-    BOOL stop;
-    for (AVAudioSessionPortDescription *inputDevicePortDescription in inputs)
-    {
-        // add any additional sub-devices
-        NSArray *dataSources = [inputDevicePortDescription dataSources];
-        if (dataSources.count)
-        {
-            for (AVAudioSessionDataSourceDescription *inputDeviceDataSourceDescription in dataSources)
-            {
-                EZAudioDevice *device = [[EZAudioDevice alloc] init];
-                device.port = inputDevicePortDescription;
-                device.dataSource = inputDeviceDataSourceDescription;
-                block(device, &stop);
-            }
-        }
-        else
-        {
-            EZAudioDevice *device = [[EZAudioDevice alloc] init];
-            device.port = inputDevicePortDescription;
-            block(device, &stop);
-        }
-    }
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)enumerateOutputDevicesUsingBlock:(void (^)(EZAudioDevice *, BOOL *))block
-{
-    if (!block)
-    {
-        return;
-    }
-    
-    AVAudioSessionRouteDescription *currentRoute = [[AVAudioSession sharedInstance] currentRoute];
-    NSArray *portDescriptions = [currentRoute outputs];
-    
-    BOOL stop;
-    for (AVAudioSessionPortDescription *outputDevicePortDescription in portDescriptions)
-    {
-        // add any additional sub-devices
-        NSArray *dataSources = [outputDevicePortDescription dataSources];
-        if (dataSources.count)
-        {
-            for (AVAudioSessionDataSourceDescription *outputDeviceDataSourceDescription in dataSources)
-            {
-                EZAudioDevice *device = [[EZAudioDevice alloc] init];
-                device.port = outputDevicePortDescription;
-                device.dataSource = outputDeviceDataSourceDescription;
-                block(device, &stop);
-            }
-        }
-        else
-        {
-            EZAudioDevice *device = [[EZAudioDevice alloc] init];
-            device.port = outputDevicePortDescription;
-            block(device, &stop);
-        }
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (NSString *)name
-{
-    NSMutableString *name = [NSMutableString string];
-    if (self.port)
-    {
-        [name appendString:self.port.portName];
-    }
-    if (self.dataSource)
-    {
-        [name appendFormat:@": %@", self.dataSource.dataSourceName];
-    }
-    return name;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSString *)description
-{
-    return [NSString stringWithFormat:@"%@ { port: %@, data source: %@ }",
-            [super description],
-            self.port,
-            self.dataSource];
-}
-
-//------------------------------------------------------------------------------
-
-- (BOOL)isEqual:(id)object
-{
-    if ([object isKindOfClass:self.class])
-    {
-        EZAudioDevice *device = (EZAudioDevice *)object;
-        BOOL isPortUIDEqual = [device.port.UID isEqualToString:self.port.UID];
-        BOOL isDataSourceIDEqual = device.dataSource.dataSourceID.longValue == self.dataSource.dataSourceID.longValue;
-        return isPortUIDEqual && isDataSourceIDEqual;
-    }
-    else
-    {
-        return [super isEqual:object];
-    }
-}
-
-#elif TARGET_OS_MAC
-
-+ (void)enumerateDevicesUsingBlock:(void(^)(EZAudioDevice *device,
-                                            BOOL *stop))block
-{
-    if (!block)
-    {
-        return;
-    }
-    
-    // get the present system devices
-    AudioObjectPropertyAddress address = [self addressForPropertySelector:kAudioHardwarePropertyDevices];
-    UInt32 devicesDataSize;
-    [EZAudioUtilities checkResult:AudioObjectGetPropertyDataSize(kAudioObjectSystemObject,
-                                                                 &address,
-                                                                 0,
-                                                                 NULL,
-                                                                 &devicesDataSize)
-                        operation:"Failed to get data size"];
-    
-    // enumerate devices
-    NSInteger count = devicesDataSize / sizeof(AudioDeviceID);
-    AudioDeviceID *deviceIDs = (AudioDeviceID *)malloc(devicesDataSize);
-    
-    // fill in the devices
-    [EZAudioUtilities checkResult:AudioObjectGetPropertyData(kAudioObjectSystemObject,
-                                                             &address,
-                                                             0,
-                                                             NULL,
-                                                             &devicesDataSize,
-                                                             deviceIDs)
-                        operation:"Failed to get device IDs for available devices on OSX"];
-
-    BOOL stop = NO;
-    for (UInt32 i = 0; i < count; i++)
-    {
-        AudioDeviceID deviceID = deviceIDs[i];
-        EZAudioDevice *device = [[EZAudioDevice alloc] init];
-        device.deviceID = deviceID;
-        device.manufacturer = [self manufacturerForDeviceID:deviceID];
-        device.name = [self namePropertyForDeviceID:deviceID];
-        device.UID = [self UIDPropertyForDeviceID:deviceID];
-        device.inputChannelCount = [self channelCountForScope:kAudioObjectPropertyScopeInput forDeviceID:deviceID];
-        device.outputChannelCount = [self channelCountForScope:kAudioObjectPropertyScopeOutput forDeviceID:deviceID];
-        block(device, &stop);
-        if (stop)
-        {
-            break;
-        }
-    }
-    
-    free(deviceIDs);
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSArray *)devices
-{
-    __block NSMutableArray *devices = [NSMutableArray array];
-    [self enumerateDevicesUsingBlock:^(EZAudioDevice *device, BOOL *stop)
-    {
-        [devices addObject:device];
-    }];
-    return devices;
-}
-
-//------------------------------------------------------------------------------
-
-+ (EZAudioDevice *)deviceWithPropertySelector:(AudioObjectPropertySelector)propertySelector
-{
-    AudioDeviceID deviceID;
-    UInt32 propSize = sizeof(AudioDeviceID);
-    AudioObjectPropertyAddress address = [self addressForPropertySelector:propertySelector];
-    [EZAudioUtilities checkResult:AudioObjectGetPropertyData(kAudioObjectSystemObject,
-                                                             &address,
-                                                             0,
-                                                             NULL,
-                                                             &propSize,
-                                                             &deviceID)
-                        operation:"Failed to get device device on OSX"];
-    EZAudioDevice *device = [[EZAudioDevice alloc] init];
-    device.deviceID = deviceID;
-    device.manufacturer = [self manufacturerForDeviceID:deviceID];
-    device.name = [self namePropertyForDeviceID:deviceID];
-    device.UID = [self UIDPropertyForDeviceID:deviceID];
-    device.inputChannelCount = [self channelCountForScope:kAudioObjectPropertyScopeInput forDeviceID:deviceID];
-    device.outputChannelCount = [self channelCountForScope:kAudioObjectPropertyScopeOutput forDeviceID:deviceID];
-    return device;
-}
-
-//------------------------------------------------------------------------------
-
-+ (EZAudioDevice *)currentInputDevice
-{
-    return [self deviceWithPropertySelector:kAudioHardwarePropertyDefaultInputDevice];
-}
-
-//------------------------------------------------------------------------------
-
-+ (EZAudioDevice *)currentOutputDevice
-{
-    return [self deviceWithPropertySelector:kAudioHardwarePropertyDefaultOutputDevice];
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSArray *)inputDevices
-{
-    __block NSMutableArray *devices = [NSMutableArray array];
-    [self enumerateDevicesUsingBlock:^(EZAudioDevice *device, BOOL *stop)
-    {
-        if (device.inputChannelCount > 0)
-        {
-            [devices addObject:device];
-        }
-    }];
-    return devices;
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSArray *)outputDevices
-{
-    __block NSMutableArray *devices = [NSMutableArray array];
-    [self enumerateDevicesUsingBlock:^(EZAudioDevice *device, BOOL *stop)
-    {
-        if (device.outputChannelCount > 0)
-        {
-            [devices addObject:device];
-        }
-    }];
-    return devices;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Utility
-//------------------------------------------------------------------------------
-
-+ (AudioObjectPropertyAddress)addressForPropertySelector:(AudioObjectPropertySelector)selector
-{
-    AudioObjectPropertyAddress address;
-    address.mScope = kAudioObjectPropertyScopeGlobal;
-    address.mElement = kAudioObjectPropertyElementMaster;
-    address.mSelector = selector;
-    return address;
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSString *)stringPropertyForSelector:(AudioObjectPropertySelector)selector
-                           withDeviceID:(AudioDeviceID)deviceID
-{
-    AudioObjectPropertyAddress address = [self addressForPropertySelector:selector];
-    CFStringRef string;
-    UInt32 propSize = sizeof(CFStringRef);
-    NSString *errorString = [NSString stringWithFormat:@"Failed to get device property (%u)",(unsigned int)selector];
-    [EZAudioUtilities checkResult:AudioObjectGetPropertyData(deviceID,
-                                                             &address,
-                                                             0,
-                                                             NULL,
-                                                             &propSize,
-                                                             &string)
-                            operation:errorString.UTF8String];
-    return (__bridge_transfer NSString *)string;
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSInteger)channelCountForScope:(AudioObjectPropertyScope)scope
-                      forDeviceID:(AudioDeviceID)deviceID
-{
-    AudioObjectPropertyAddress address;
-    address.mScope = scope;
-    address.mElement = kAudioObjectPropertyElementMaster;
-    address.mSelector = kAudioDevicePropertyStreamConfiguration;
-    
-    AudioBufferList streamConfiguration;
-    UInt32 propSize = sizeof(streamConfiguration);
-    [EZAudioUtilities checkResult:AudioObjectGetPropertyData(deviceID,
-                                                 &address,
-                                                 0,
-                                                 NULL,
-                                                 &propSize,
-                                                 &streamConfiguration)
-                        operation:"Failed to get frame size"];
-    
-    NSInteger channelCount = 0;
-    for (NSInteger i = 0; i < streamConfiguration.mNumberBuffers; i++)
-    {
-        channelCount += streamConfiguration.mBuffers[i].mNumberChannels;
-    }
-    
-    return channelCount;
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSString *)manufacturerForDeviceID:(AudioDeviceID)deviceID
-{
-    return [self stringPropertyForSelector:kAudioDevicePropertyDeviceManufacturerCFString
-                              withDeviceID:deviceID];
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSString *)namePropertyForDeviceID:(AudioDeviceID)deviceID
-{
-    return [self stringPropertyForSelector:kAudioDevicePropertyDeviceNameCFString
-                              withDeviceID:deviceID];
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSString *)UIDPropertyForDeviceID:(AudioDeviceID)deviceID
-{
-    return [self stringPropertyForSelector:kAudioDevicePropertyDeviceUID
-                              withDeviceID:deviceID];
-}
-
-//------------------------------------------------------------------------------
-
-- (NSString *)description
-{
-    return [NSString stringWithFormat:@"%@ { deviceID: %i, manufacturer: %@, name: %@, UID: %@, inputChannelCount: %ld, outputChannelCount: %ld }",
-            [super description],
-            self.deviceID,
-            self.manufacturer,
-            self.name,
-            self.UID,
-            self.inputChannelCount,
-            self.outputChannelCount];
-}
-
-//------------------------------------------------------------------------------
-
-- (BOOL)isEqual:(id)object
-{
-    if ([object isKindOfClass:self.class])
-    {
-        EZAudioDevice *device = (EZAudioDevice *)object;
-        return [self.UID isEqualToString:device.UID];
-    }
-    else
-    {
-        return [super isEqual:object];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-#endif
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZAudioDisplayLink.h b/document/EZAudio-master/EZAudio/EZAudioDisplayLink.h
deleted file mode 100644 (file)
index d3c6c94..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-//
-//  EZAudioDisplayLink.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 6/25/15.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import <QuartzCore/QuartzCore.h>
-
-@class EZAudioDisplayLink;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioDisplayLinkDelegate
-//------------------------------------------------------------------------------
-
-/**
- The EZAudioDisplayLinkDelegate provides a means for an EZAudioDisplayLink instance to notify a receiver when it should redraw itself.
- */
-@protocol EZAudioDisplayLinkDelegate <NSObject>
-
-@required
-/**
- Required method for an EZAudioDisplayLinkDelegate to implement. This fires at the screen's display rate (typically 60 fps).
- @param displayLink An EZAudioDisplayLink instance used by a receiver to draw itself at the screen's refresh rate.
- */
-- (void)displayLinkNeedsDisplay:(EZAudioDisplayLink *)displayLink;
-
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioDisplayLink
-//------------------------------------------------------------------------------
-
-/**
- The EZAudioDisplayLink provides a cross-platform (iOS and Mac) abstraction over the CADisplayLink for iOS and CVDisplayLink for Mac. The purpose of this class is to provide an accurate timer for views that need to redraw themselves at 60 fps. This class is used by the EZAudioPlot and, eventually, the EZAudioPlotGL to provide a timer mechanism to draw real-time plots.
- */
-@interface EZAudioDisplayLink : NSObject
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Methods
-//------------------------------------------------------------------------------
-
-/**
- Class method to create an EZAudioDisplayLink. The caller should implement the EZAudioDisplayLinkDelegate protocol to receive the `displayLinkNeedsDisplay:` delegate method to know when to redraw itself.
- @param delegate An instance that implements the EZAudioDisplayLinkDelegate protocol.
- @return An instance of the EZAudioDisplayLink.
- */
-+ (instancetype)displayLinkWithDelegate:(id<EZAudioDisplayLinkDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-/**
- The EZAudioDisplayLinkDelegate for which to receive the redraw calls.
- */
-@property (nonatomic, weak) id<EZAudioDisplayLinkDelegate> delegate;
-
-//------------------------------------------------------------------------------
-#pragma mark - Instance Methods
-//------------------------------------------------------------------------------
-
-/**
- Method to start the display link and provide the `displayLinkNeedsDisplay:` calls to the `delegate`
- */
-- (void)start;
-
-/**
- Method to stop the display link from providing the `displayLinkNeedsDisplay:` calls to the `delegate`
- */
-- (void)stop;
-
-//------------------------------------------------------------------------------
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZAudioDisplayLink.m b/document/EZAudio-master/EZAudio/EZAudioDisplayLink.m
deleted file mode 100644 (file)
index d649cf5..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-//
-//  EZAudioDisplayLink.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 6/25/15.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZAudioDisplayLink.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - CVDisplayLink Callback (Declaration)
-//------------------------------------------------------------------------------
-
-#if TARGET_OS_IPHONE
-#elif TARGET_OS_MAC
-static CVReturn EZAudioDisplayLinkCallback(CVDisplayLinkRef displayLinkRef,
-                                           const CVTimeStamp *now,
-                                           const CVTimeStamp *outputTime,
-                                           CVOptionFlags flagsIn,
-                                           CVOptionFlags *flagsOut,
-                                           void   *displayLinkContext);
-#endif
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioDisplayLink (Interface Extension)
-//------------------------------------------------------------------------------
-
-@interface EZAudioDisplayLink ()
-#if TARGET_OS_IPHONE
-@property (nonatomic, strong) CADisplayLink *displayLink;
-#elif TARGET_OS_MAC
-@property (nonatomic, assign) CVDisplayLinkRef displayLink;
-#endif
-@property (nonatomic, assign) BOOL stopped;
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioDisplayLink (Implementation)
-//------------------------------------------------------------------------------
-
-@implementation EZAudioDisplayLink
-
-//------------------------------------------------------------------------------
-#pragma mark - Dealloc
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-#if TARGET_OS_IPHONE
-    [self.displayLink invalidate];
-#elif TARGET_OS_MAC
-    CVDisplayLinkStop(self.displayLink);
-    CVDisplayLinkRelease(self.displayLink);
-    self.displayLink = nil;
-#endif
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initialization
-//------------------------------------------------------------------------------
-
-+ (instancetype)displayLinkWithDelegate:(id<EZAudioDisplayLinkDelegate>)delegate
-{
-    EZAudioDisplayLink *displayLink = [[self alloc] init];
-    displayLink.delegate = delegate;
-    return displayLink;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Initialization
-//------------------------------------------------------------------------------
-
-- (instancetype) init
-{
-    self = [super init];
-    if (self)
-    {
-        [self setup];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void)setup
-{
-    self.stopped = YES;
-#if TARGET_OS_IPHONE
-    self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(update)];
-    [self.displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
-#elif TARGET_OS_MAC
-    CVDisplayLinkCreateWithActiveCGDisplays(&_displayLink);
-    CVDisplayLinkSetOutputCallback(self.displayLink,
-                                   EZAudioDisplayLinkCallback,
-                                   (__bridge void *)(self));
-    CVDisplayLinkStart(self.displayLink);
-#endif
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)start
-{
-#if TARGET_OS_IPHONE
-    self.displayLink.paused = NO;
-#elif TARGET_OS_MAC
-    CVDisplayLinkStart(self.displayLink);
-#endif
-    self.stopped = NO;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)stop
-{
-#if TARGET_OS_IPHONE
-    self.displayLink.paused = YES;
-#elif TARGET_OS_MAC
-    CVDisplayLinkStop(self.displayLink);
-#endif
-    self.stopped = YES;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)update
-{
-    if (!self.stopped)
-    {
-        if ([self.delegate respondsToSelector:@selector(displayLinkNeedsDisplay:)])
-        {
-            [self.delegate displayLinkNeedsDisplay:self];
-        }
-    }
-}
-
-//------------------------------------------------------------------------------
-
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - CVDisplayLink Callback (Implementation)
-//------------------------------------------------------------------------------
-
-#if TARGET_OS_IPHONE
-#elif TARGET_OS_MAC
-static CVReturn EZAudioDisplayLinkCallback(CVDisplayLinkRef displayLinkRef,
-                                           const CVTimeStamp *now,
-                                           const CVTimeStamp *outputTime,
-                                           CVOptionFlags flagsIn,
-                                           CVOptionFlags *flagsOut,
-                                           void   *displayLinkContext)
-{
-    EZAudioDisplayLink *displayLink = (__bridge EZAudioDisplayLink*)displayLinkContext;
-    [displayLink update];
-    return kCVReturnSuccess;
-}
-#endif
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZAudioFFT.h b/document/EZAudio-master/EZAudio/EZAudioFFT.h
deleted file mode 100644 (file)
index 6085497..0000000
+++ /dev/null
@@ -1,392 +0,0 @@
-//
-//  EZAudioFFT.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 7/10/15.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import <Accelerate/Accelerate.h>
-
-@class EZAudioFFT;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFFTDelegate
-//------------------------------------------------------------------------------
-
-/**
- The EZAudioFFTDelegate provides event callbacks for the EZAudioFFT (and subclasses such as the EZAudioFFTRolling) whenvever the FFT is computed.
- */
-@protocol EZAudioFFTDelegate <NSObject>
-
-@optional
-
-///-----------------------------------------------------------
-/// @name Getting FFT Output Data
-///-----------------------------------------------------------
-
-/**
- Triggered when the EZAudioFFT computes an FFT from a buffer of input data. Provides an array of float data representing the computed FFT.
- @param fft        The EZAudioFFT instance that triggered the event.
- @param fftData    A float pointer representing the float array of FFT data.
- @param bufferSize A vDSP_Length (unsigned long) representing the length of the float array.
- */
-- (void)        fft:(EZAudioFFT *)fft
- updatedWithFFTData:(float *)fftData
-         bufferSize:(vDSP_Length)bufferSize;
-
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFFT
-//------------------------------------------------------------------------------
-
-/**
- The EZAudioFFT provides a base class to quickly calculate the FFT of incoming audio data using the Accelerate framework. In addition, the EZAudioFFT contains an EZAudioFFTDelegate to receive an event anytime an FFT is computed.
- */
-@interface EZAudioFFT : NSObject
-
-//------------------------------------------------------------------------------
-#pragma mark - Initializers
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Initializers
-///-----------------------------------------------------------
-
-/**
- Initializes an EZAudioFFT (or subclass) instance with a maximum buffer size and sample rate. The sample rate is used specifically to calculate the `maxFrequency` property. If you don't care about the `maxFrequency` property then you can set the sample rate to 0.
- @param maximumBufferSize A vDSP_Length (unsigned long) representing the maximum length of the incoming audio data.
- @param sampleRate        A float representing the sample rate of the incoming audio data.
- 
- @return A newly created EZAudioFFT (or subclass) instance.
- */
-- (instancetype)initWithMaximumBufferSize:(vDSP_Length)maximumBufferSize
-                               sampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Initializes an EZAudioFFT (or subclass) instance with a maximum buffer size, sample rate, and EZAudioFFTDelegate. The sample rate is used specifically to calculate the `maxFrequency` property. If you don't care about the `maxFrequency` property then you can set the sample rate to 0. The EZAudioFFTDelegate will act as a receive to get an event whenever the FFT is calculated.
- @param maximumBufferSize A vDSP_Length (unsigned long) representing the maximum length of the incoming audio data.
- @param sampleRate        A float representing the sample rate of the incoming audio data.
- @param delegate          An EZAudioFFTDelegate to receive an event whenever the FFT is calculated.
- @return A newly created EZAudioFFT (or subclass) instance.
- */
-- (instancetype)initWithMaximumBufferSize:(vDSP_Length)maximumBufferSize
-                               sampleRate:(float)sampleRate
-                                 delegate:(id<EZAudioFFTDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initializers
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Class Initializers
-///-----------------------------------------------------------
-
-/**
- Class method to initialize an EZAudioFFT (or subclass) instance with a maximum buffer size and sample rate. The sample rate is used specifically to calculate the `maxFrequency` property. If you don't care about the `maxFrequency` property then you can set the sample rate to 0.
- @param maximumBufferSize A vDSP_Length (unsigned long) representing the maximum length of the incoming audio data.
- @param sampleRate        A float representing the sample rate of the incoming audio data.
- @return A newly created EZAudioFFT (or subclass) instance.
- */
-+ (instancetype)fftWithMaximumBufferSize:(vDSP_Length)maximumBufferSize
-                              sampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Class method to initialize an EZAudioFFT (or subclass) instance with a maximum buffer size, sample rate, and EZAudioFFTDelegate. The sample rate is used specifically to calculate the `maxFrequency` property. If you don't care about the `maxFrequency` property then you can set the sample rate to 0. The EZAudioFFTDelegate will act as a receive to get an event whenever the FFT is calculated.
- @param maximumBufferSize A vDSP_Length (unsigned long) representing the maximum length of the incoming audio data.
- @param sampleRate        A float representing the sample rate of the incoming audio data.
- @param delegate          An EZAudioFFTDelegate to receive an event whenever the FFT is calculated.
- @return A newly created EZAudioFFT (or subclass) instance.
- */
-+ (instancetype)fftWithMaximumBufferSize:(vDSP_Length)maximumBufferSize
-                              sampleRate:(float)sampleRate
-                                delegate:(id<EZAudioFFTDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Properties
-///-----------------------------------------------------------
-
-/**
- An EZAudioFFTDelegate to receive an event whenever the FFT is calculated.
- */
-@property (weak, nonatomic) id<EZAudioFFTDelegate> delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- A COMPLEX_SPLIT data structure used to hold the FFT's imaginary and real components.
- */
-@property (readonly, nonatomic) COMPLEX_SPLIT complexSplit;
-
-//------------------------------------------------------------------------------
-
-/**
- A float array containing the last calculated FFT data.
- */
-@property (readonly, nonatomic) float *fftData;
-
-//------------------------------------------------------------------------------
-
-/**
- An FFTSetup data structure used to internally calculate the FFT using Accelerate.
- */
-@property (readonly, nonatomic) FFTSetup fftSetup;
-
-//------------------------------------------------------------------------------
-
-/**
- A float array containing the last calculated inverse FFT data (the time domain signal).
- */
-@property (readonly, nonatomic) float *inversedFFTData;
-
-//------------------------------------------------------------------------------
-
-/**
- A float representing the frequency with the highest energy is the last FFT calculation.
- */
-@property (readonly, nonatomic) float maxFrequency;
-
-//------------------------------------------------------------------------------
-
-/**
- A vDSP_Length (unsigned long) representing the index of the frequency with the highest energy is the last FFT calculation.
- */
-@property (readonly, nonatomic) vDSP_Length maxFrequencyIndex;
-
-//------------------------------------------------------------------------------
-
-/**
- A float representing the magnitude of the frequency with the highest energy is the last FFT calculation.
- */
-@property (readonly, nonatomic) float maxFrequencyMagnitude;
-
-//------------------------------------------------------------------------------
-
-/**
- A vDSP_Length (unsigned long) representing the maximum buffer size. This is the maximum length the incoming audio data in the `computeFFTWithBuffer:withBufferSize` method can be.
- */
-@property (readonly, nonatomic) vDSP_Length maximumBufferSize;
-
-//------------------------------------------------------------------------------
-
-/**
- A float representing the sample rate of the incoming audio data.
- */
-@property (readwrite, nonatomic) float sampleRate;
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Computing The FFT
-///-----------------------------------------------------------
-
-/**
- Computes the FFT for a float array representing an incoming audio signal. This will trigger the EZAudioFFTDelegate method `fft:updatedWithFFTData:bufferSize:`.
- @param buffer     A float array representing the audio data.
- @param bufferSize The length of the float array of audio data.
- @return A float array containing the computed FFT data. The length of the output will be half the incoming buffer (half the `bufferSize` argument).
- */
-- (float *)computeFFTWithBuffer:(float *)buffer withBufferSize:(UInt32)bufferSize;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the frequency corresponding to an index in the last computed FFT data.
- @param index A vDSP_Length (unsigned integer) representing the index of the frequency bin value you'd like to get
- @return A float representing the frequency value at that index.
- */
-- (float)frequencyAtIndex:(vDSP_Length)index;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the magnitude of the frequenecy corresponding to an index in the last computed FFT data.
- @param index A vDSP_Length (unsigned integer) representing the index of the frequency bin value you'd like to get
- @return A float representing the frequency magnitude value at that index.
- */
-- (float)frequencyMagnitudeAtIndex:(vDSP_Length)index;
-
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFFTRolling
-//------------------------------------------------------------------------------
-
-/**
- The EZAudioFFTRolling, a subclass of EZAudioFFT, provides a class to calculate an FFT for an incoming audio signal while maintaining a history of audio data to allow much higher resolution FFTs. For instance, the EZMicrophone typically provides 512 frames at a time, but you would probably want to provide 2048 or 4096 frames for a decent looking FFT if you're trying to extract precise frequency components. You will typically be using this class for variable length FFTs instead of the EZAudioFFT base class.
- */
-@interface EZAudioFFTRolling : EZAudioFFT
-
-//------------------------------------------------------------------------------
-#pragma mark - Initializers
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Initializers
-///-----------------------------------------------------------
-
-/**
- Initializes an EZAudioFFTRolling instance with a window size and a sample rate. The EZAudioFFTRolling has an internal EZPlotHistoryInfo data structure that writes audio data to a circular buffer and manages sliding windows of audio data to support efficient, large FFT calculations. Here you provide a window size that represents how many audio sample will be used to calculate the FFT and a float representing the sample rate of the incoming audio (can be 0 if you don't care about the `maxFrequency` property). The history buffer size in this case is the `windowSize` * 8, which is pretty good for most cases.
- @param windowSize        A vDSP_Length (unsigned long) representing the size of the window (i.e. the resolution) of data that should be used to calculate the FFT. A typical value for this would be something like 1024 - 4096 (or higher for an even higher resolution FFT).
- @param sampleRate        A float representing the sample rate of the incoming audio signal.
- @return A newly created EZAudioFFTRolling instance.
- */
-- (instancetype)initWithWindowSize:(vDSP_Length)windowSize
-                        sampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Initializes an EZAudioFFTRolling instance with a window size, a sample rate, and an EZAudioFFTDelegate. The EZAudioFFTRolling has an internal EZPlotHistoryInfo data structure that writes audio data to a circular buffer and manages sliding windows of audio data to support efficient, large FFT calculations. Here you provide a window size that represents how many audio sample will be used to calculate the FFT, a float representing the sample rate of the incoming audio (can be 0 if you don't care about the `maxFrequency` property), and an EZAudioFFTDelegate to receive a callback anytime the FFT is calculated. The history buffer size in this case is the `windowSize` * 8, which is pretty good for most cases.
- @param windowSize        A vDSP_Length (unsigned long) representing the size of the window (i.e. the resolution) of data that should be used to calculate the FFT. A typical value for this would be something like 1024 - 4096 (or higher for an even higher resolution FFT).
- @param sampleRate        A float representing the sample rate of the incoming audio signal.
- @param delegate          An EZAudioFFTDelegate to receive an event whenever the FFT is calculated.
- @return A newly created EZAudioFFTRolling instance.
- */
-- (instancetype)initWithWindowSize:(vDSP_Length)windowSize
-                        sampleRate:(float)sampleRate
-                          delegate:(id<EZAudioFFTDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Initializes an EZAudioFFTRolling instance with a window size, a history buffer size, and a sample rate. The EZAudioFFTRolling has an internal EZPlotHistoryInfo data structure that writes audio data to a circular buffer and manages sliding windows of audio data to support efficient, large FFT calculations. Here you provide a window size that represents how many audio sample will be used to calculate the FFT, a history buffer size representing the maximum length of the sliding window's underlying circular buffer, and a float representing the sample rate of the incoming audio (can be 0 if you don't care about the `maxFrequency` property).
- @param windowSize        A vDSP_Length (unsigned long) representing the size of the window (i.e. the resolution) of data that should be used to calculate the FFT. A typical value for this would be something like 1024 - 4096 (or higher for an even higher resolution FFT).
- @param historyBufferSize A vDSP_Length (unsigned long) representing the length of the history buffer. This should be AT LEAST the size of the window. A recommended value for this would be at least 8x greater than the `windowSize` argument.
- @param sampleRate        A float representing the sample rate of the incoming audio signal.
- @return A newly created EZAudioFFTRolling instance.
- */
-- (instancetype)initWithWindowSize:(vDSP_Length)windowSize
-                 historyBufferSize:(vDSP_Length)historyBufferSize
-                        sampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Initializes an EZAudioFFTRolling instance with a window size, a history buffer size, a sample rate, and an EZAudioFFTDelegate. The EZAudioFFTRolling has an internal EZPlotHistoryInfo data structure that writes audio data to a circular buffer and manages sliding windows of audio data to support efficient, large FFT calculations. Here you provide a window size that represents how many audio sample will be used to calculate the FFT, a history buffer size representing the maximum length of the sliding window's underlying circular buffer, a float representing the sample rate of the incoming audio (can be 0 if you don't care about the `maxFrequency` property), and an EZAudioFFTDelegate to receive a callback anytime the FFT is calculated.
- @param windowSize        A vDSP_Length (unsigned long) representing the size of the window (i.e. the resolution) of data that should be used to calculate the FFT. A typical value for this would be something like 1024 - 4096 (or higher for an even higher resolution FFT).
- @param historyBufferSize A vDSP_Length (unsigned long) representing the length of the history buffer. This should be AT LEAST the size of the window. A recommended value for this would be at least 8x greater than the `windowSize` argument.
- @param sampleRate        A float representing the sample rate of the incoming audio signal.
- @param delegate          An EZAudioFFTDelegate to receive an event whenever the FFT is calculated.
- @return A newly created EZAudioFFTRolling instance.
- */
-- (instancetype)initWithWindowSize:(vDSP_Length)windowSize
-                 historyBufferSize:(vDSP_Length)historyBufferSize
-                        sampleRate:(float)sampleRate
-                          delegate:(id<EZAudioFFTDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initializers
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Class Initializers
-///-----------------------------------------------------------
-
-/**
- Class method to initialize an EZAudioFFTRolling instance with a window size and a sample rate. The EZAudioFFTRolling has an internal EZPlotHistoryInfo data structure that writes audio data to a circular buffer and manages sliding windows of audio data to support efficient, large FFT calculations. Here you provide a window size that represents how many audio sample will be used to calculate the FFT and a float representing the sample rate of the incoming audio (can be 0 if you don't care about the `maxFrequency` property). The history buffer size in this case is the `windowSize` * 8, which is pretty good for most cases.
- @param windowSize        A vDSP_Length (unsigned long) representing the size of the window (i.e. the resolution) of data that should be used to calculate the FFT. A typical value for this would be something like 1024 - 4096 (or higher for an even higher resolution FFT).
- @param sampleRate        A float representing the sample rate of the incoming audio signal.
- @return A newly created EZAudioFFTRolling instance.
- */
-+ (instancetype)fftWithWindowSize:(vDSP_Length)windowSize
-                       sampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Class method to initialize an EZAudioFFTRolling instance with a window size, a sample rate, and an EZAudioFFTDelegate. The EZAudioFFTRolling has an internal EZPlotHistoryInfo data structure that writes audio data to a circular buffer and manages sliding windows of audio data to support efficient, large FFT calculations. Here you provide a window size that represents how many audio sample will be used to calculate the FFT, a float representing the sample rate of the incoming audio (can be 0 if you don't care about the `maxFrequency` property), and an EZAudioFFTDelegate to receive a callback anytime the FFT is calculated. The history buffer size in this case is the `windowSize` * 8, which is pretty good for most cases.
- @param windowSize        A vDSP_Length (unsigned long) representing the size of the window (i.e. the resolution) of data that should be used to calculate the FFT. A typical value for this would be something like 1024 - 4096 (or higher for an even higher resolution FFT).
- @param sampleRate        A float representing the sample rate of the incoming audio signal.
- @param delegate          An EZAudioFFTDelegate to receive an event whenever the FFT is calculated.
- @return A newly created EZAudioFFTRolling instance.
- */
-+ (instancetype)fftWithWindowSize:(vDSP_Length)windowSize
-                       sampleRate:(float)sampleRate
-                         delegate:(id<EZAudioFFTDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Class method to initialize an EZAudioFFTRolling instance with a window size, a history buffer size, and a sample rate. The EZAudioFFTRolling has an internal EZPlotHistoryInfo data structure that writes audio data to a circular buffer and manages sliding windows of audio data to support efficient, large FFT calculations. Here you provide a window size that represents how many audio sample will be used to calculate the FFT, a history buffer size representing the maximum length of the sliding window's underlying circular buffer, and a float representing the sample rate of the incoming audio (can be 0 if you don't care about the `maxFrequency` property).
- @param windowSize        A vDSP_Length (unsigned long) representing the size of the window (i.e. the resolution) of data that should be used to calculate the FFT. A typical value for this would be something like 1024 - 4096 (or higher for an even higher resolution FFT).
- @param historyBufferSize A vDSP_Length (unsigned long) representing the length of the history buffer. This should be AT LEAST the size of the window. A recommended value for this would be at least 8x greater than the `windowSize` argument.
- @param sampleRate        A float representing the sample rate of the incoming audio signal.
- @return A newly created EZAudioFFTRolling instance.
- */
-+ (instancetype)fftWithWindowSize:(vDSP_Length)windowSize
-                historyBufferSize:(vDSP_Length)historyBufferSize
-                       sampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Class method to initialize an EZAudioFFTRolling instance with a window size, a history buffer size, a sample rate, and an EZAudioFFTDelegate. The EZAudioFFTRolling has an internal EZPlotHistoryInfo data structure that writes audio data to a circular buffer and manages sliding windows of audio data to support efficient, large FFT calculations. Here you provide a window size that represents how many audio sample will be used to calculate the FFT, a history buffer size representing the maximum length of the sliding window's underlying circular buffer, a float representing the sample rate of the incoming audio (can be 0 if you don't care about the `maxFrequency` property), and an EZAudioFFTDelegate to receive a callback anytime the FFT is calculated.
- @param windowSize        A vDSP_Length (unsigned long) representing the size of the window (i.e. the resolution) of data that should be used to calculate the FFT. A typical value for this would be something like 1024 - 4096 (or higher for an even higher resolution FFT).
- @param historyBufferSize A vDSP_Length (unsigned long) representing the length of the history buffer. This should be AT LEAST the size of the window. A recommended value for this would be at least 8x greater than the `windowSize` argument.
- @param sampleRate        A float representing the sample rate of the incoming audio signal.
- @param delegate          An EZAudioFFTDelegate to receive an event whenever the FFT is calculated.
- @return A newly created EZAudioFFTRolling instance.
- */
-+ (instancetype)fftWithWindowSize:(vDSP_Length)windowSize
-                historyBufferSize:(vDSP_Length)historyBufferSize
-                       sampleRate:(float)sampleRate
-                         delegate:(id<EZAudioFFTDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Properties
-///-----------------------------------------------------------
-
-/**
- A vDSP_Length (unsigned long) representing the length of the FFT window.
- */
-@property (readonly, nonatomic) vDSP_Length windowSize;
-
-//------------------------------------------------------------------------------
-
-/**
- A float array representing the audio data in the internal circular buffer used to perform the FFT. This will increase as more data is appended to the internal circular buffer via the `computeFFTWithBuffer:withBufferSize:` method. The length of this array is the `timeDomainBufferSize` property.
- */
-@property (readonly, nonatomic) float *timeDomainData;
-
-//------------------------------------------------------------------------------
-
-/**
- A UInt32 representing the length of the audio data used to perform the FFT.
- */
-@property (readonly, nonatomic) UInt32 timeDomainBufferSize;
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZAudioFFT.m b/document/EZAudio-master/EZAudio/EZAudioFFT.m
deleted file mode 100644 (file)
index 02e7a5e..0000000
+++ /dev/null
@@ -1,444 +0,0 @@
-//
-//  EZAudioFFT.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 7/10/15.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZAudioFFT.h"
-#import "EZAudioUtilities.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - Data Structures
-//------------------------------------------------------------------------------
-
-typedef struct EZAudioFFTInfo
-{
-    FFTSetup       fftSetup;
-    COMPLEX_SPLIT  complexA;
-    float         *outFFTData;
-    vDSP_Length    outFFTDataLength;
-    float         *inversedFFTData;
-    vDSP_Length    maxFrequencyIndex;
-    float          maxFrequencyMangitude;
-    float          maxFrequency;
-} EZAudioFFTInfo;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFFT (Interface Extension)
-//------------------------------------------------------------------------------
-
-@interface EZAudioFFT ()
-@property (assign,    nonatomic) EZAudioFFTInfo *info;
-@property (readwrite, nonatomic) vDSP_Length     maximumBufferSize;
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFFT (Implementation)
-//------------------------------------------------------------------------------
-
-@implementation EZAudioFFT
-
-//------------------------------------------------------------------------------
-#pragma mark - Dealloc
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-    vDSP_destroy_fftsetup(self.info->fftSetup);
-    free(self.info->complexA.realp);
-    free(self.info->complexA.imagp);
-    free(self.info->outFFTData);
-    free(self.info->inversedFFTData);
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Initializers
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithMaximumBufferSize:(vDSP_Length)maximumBufferSize
-                               sampleRate:(float)sampleRate
-{
-    return [self initWithMaximumBufferSize:maximumBufferSize
-                                sampleRate:sampleRate
-                                  delegate:nil];
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithMaximumBufferSize:(vDSP_Length)maximumBufferSize
-                               sampleRate:(float)sampleRate
-                                 delegate:(id<EZAudioFFTDelegate>)delegate
-{
-    self = [super init];
-    if (self)
-    {
-        self.maximumBufferSize = (vDSP_Length)maximumBufferSize;
-        self.sampleRate = sampleRate;
-        self.delegate = delegate;
-        [self setup];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initializers
-//------------------------------------------------------------------------------
-
-+ (instancetype)fftWithMaximumBufferSize:(vDSP_Length)maximumBufferSize
-                              sampleRate:(float)sampleRate
-{
-    return [[self alloc] initWithMaximumBufferSize:maximumBufferSize
-                                        sampleRate:sampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)fftWithMaximumBufferSize:(vDSP_Length)maximumBufferSize
-                              sampleRate:(float)sampleRate
-                                delegate:(id<EZAudioFFTDelegate>)delegate
-{
-    return [[self alloc] initWithMaximumBufferSize:maximumBufferSize
-                                        sampleRate:sampleRate
-                                          delegate:delegate];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void)setup
-{
-    NSAssert(self.maximumBufferSize > 0, @"Expected FFT buffer size to be greater than 0!");
-    
-    //
-    // Initialize FFT
-    //
-    float maximumBufferSizeBytes = self.maximumBufferSize * sizeof(float);
-    self.info = (EZAudioFFTInfo *)calloc(1, sizeof(EZAudioFFTInfo));
-    vDSP_Length log2n = log2f(self.maximumBufferSize);
-    self.info->fftSetup = vDSP_create_fftsetup(log2n, FFT_RADIX2);
-    long nOver2 = maximumBufferSizeBytes / 2;
-    size_t maximumSizePerComponentBytes = nOver2 * sizeof(float);
-    self.info->complexA.realp = (float *)malloc(maximumSizePerComponentBytes);
-    self.info->complexA.imagp = (float *)malloc(maximumSizePerComponentBytes);
-    self.info->outFFTData = (float *)malloc(maximumSizePerComponentBytes);
-    memset(self.info->outFFTData, 0, maximumSizePerComponentBytes);
-    self.info->inversedFFTData = (float *)malloc(maximumSizePerComponentBytes);
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (float *)computeFFTWithBuffer:(float *)buffer withBufferSize:(UInt32)bufferSize
-{
-    if (buffer == NULL)
-    {
-        return NULL;
-    }
-    
-    //
-    // Calculate real + imaginary components and normalize
-    //
-    vDSP_Length log2n = log2f(bufferSize);
-    long nOver2 = bufferSize / 2;
-    float mFFTNormFactor = 10.0 / (2 * bufferSize);
-    vDSP_ctoz((COMPLEX*)buffer, 2, &(self.info->complexA), 1, nOver2);
-    vDSP_fft_zrip(self.info->fftSetup, &(self.info->complexA), 1, log2n, FFT_FORWARD);
-    vDSP_vsmul(self.info->complexA.realp, 1, &mFFTNormFactor, self.info->complexA.realp, 1, nOver2);
-    vDSP_vsmul(self.info->complexA.imagp, 1, &mFFTNormFactor, self.info->complexA.imagp, 1, nOver2);
-    vDSP_zvmags(&(self.info->complexA), 1, self.info->outFFTData, 1, nOver2);
-    vDSP_fft_zrip(self.info->fftSetup, &(self.info->complexA), 1, log2n, FFT_INVERSE);
-    vDSP_ztoc(&(self.info->complexA), 1, (COMPLEX *) self.info->inversedFFTData , 2, nOver2);
-    self.info->outFFTDataLength = nOver2;
-    
-    //
-    // Calculate max freq
-    //
-    if (self.sampleRate > 0.0f)
-    {
-        vDSP_maxvi(self.info->outFFTData, 1, &self.info->maxFrequencyMangitude, &self.info->maxFrequencyIndex, nOver2);
-        self.info->maxFrequency = [self frequencyAtIndex:self.info->maxFrequencyIndex];
-    }
-    
-    //
-    // Notify delegate
-    //
-    if ([self.delegate respondsToSelector:@selector(fft:updatedWithFFTData:bufferSize:)])
-    {
-        [self.delegate fft:self
-        updatedWithFFTData:self.info->outFFTData
-                bufferSize:nOver2];
-    }
-    
-    //
-    // Return the FFT
-    //
-    return self.info->outFFTData;
-}
-
-//------------------------------------------------------------------------------
-
-- (float)frequencyAtIndex:(vDSP_Length)index
-{
-    if (!(self.info->outFFTData == NULL || self.sampleRate == 0.0f))
-    {
-        float nyquistMaxFreq = self.sampleRate / 2.0;
-        return ((float)index / (float)self.info->outFFTDataLength) * nyquistMaxFreq;
-    }
-    return NSNotFound;
-}
-
-//------------------------------------------------------------------------------
-
-- (float)frequencyMagnitudeAtIndex:(vDSP_Length)index
-{
-    if (self.info->outFFTData != NULL)
-    {
-        return self.info->outFFTData[index];
-    }
-    return NSNotFound;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Getters
-//------------------------------------------------------------------------------
-
-- (COMPLEX_SPLIT)complexSplit
-{
-    return self.info->complexA;
-}
-
-//------------------------------------------------------------------------------
-
-- (float *)fftData
-{
-    return self.info->outFFTData;
-}
-
-//------------------------------------------------------------------------------
-
-- (FFTSetup)fftSetup
-{
-    return self.info->fftSetup;
-}
-
-//------------------------------------------------------------------------------
-
-- (float *)inversedFFTData
-{
-    return self.info->inversedFFTData;
-}
-
-//------------------------------------------------------------------------------
-
-- (vDSP_Length)maxFrequencyIndex
-{
-    return self.info->maxFrequencyIndex;
-}
-
-//------------------------------------------------------------------------------
-
-- (float)maxFrequencyMagnitude
-{
-    return self.info->maxFrequencyMangitude;
-}
-
-//------------------------------------------------------------------------------
-
-- (float)maxFrequency
-{
-    return self.info->maxFrequency;
-}
-
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFFTRolling
-//------------------------------------------------------------------------------
-
-@interface EZAudioFFTRolling ()
-@property (assign,    nonatomic) EZPlotHistoryInfo *historyInfo;
-@property (readwrite, nonatomic) vDSP_Length        windowSize;
-
-@end
-
-@implementation EZAudioFFTRolling
-
-//------------------------------------------------------------------------------
-#pragma mark - Dealloc
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-    [EZAudioUtilities freeHistoryInfo:self.historyInfo];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Initialization
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithWindowSize:(vDSP_Length)windowSize
-                        sampleRate:(float)sampleRate
-{
-    return [self initWithWindowSize:windowSize
-                  historyBufferSize:windowSize * 8
-                         sampleRate:sampleRate
-                           delegate:nil];
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithWindowSize:(vDSP_Length)windowSize
-                        sampleRate:(float)sampleRate
-                          delegate:(id<EZAudioFFTDelegate>)delegate
-{
-    return [self initWithWindowSize:windowSize
-                  historyBufferSize:windowSize * 8
-                         sampleRate:sampleRate
-                           delegate:delegate];
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithWindowSize:(vDSP_Length)windowSize
-                 historyBufferSize:(vDSP_Length)historyBufferSize
-                        sampleRate:(float)sampleRate
-{
-    return [self initWithWindowSize:windowSize
-                  historyBufferSize:historyBufferSize
-                         sampleRate:sampleRate
-                           delegate:nil];
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithWindowSize:(vDSP_Length)windowSize
-                 historyBufferSize:(vDSP_Length)historyBufferSize
-                        sampleRate:(float)sampleRate
-                          delegate:(id<EZAudioFFTDelegate>)delegate
-{
-    self = [super initWithMaximumBufferSize:historyBufferSize
-                                 sampleRate:sampleRate];
-    if (self)
-    {
-        self.delegate = delegate;
-        self.windowSize = windowSize;
-        
-        //
-        // Allocate an appropriately sized history buffer in bytes
-        //
-        self.historyInfo = [EZAudioUtilities historyInfoWithDefaultLength:(UInt32)windowSize
-                                                            maximumLength:(UInt32)historyBufferSize];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initializers
-//------------------------------------------------------------------------------
-
-+ (instancetype)fftWithWindowSize:(vDSP_Length)windowSize
-                       sampleRate:(float)sampleRate
-{
-    return [[self alloc] initWithWindowSize:windowSize
-                                 sampleRate:sampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)fftWithWindowSize:(vDSP_Length)windowSize
-                       sampleRate:(float)sampleRate
-                         delegate:(id<EZAudioFFTDelegate>)delegate
-{
-    return [[self alloc] initWithWindowSize:windowSize
-                                 sampleRate:sampleRate
-                                   delegate:delegate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)fftWithWindowSize:(vDSP_Length)windowSize
-                historyBufferSize:(vDSP_Length)historyBufferSize
-                       sampleRate:(float)sampleRate
-{
-    return [[self alloc] initWithWindowSize:windowSize
-                          historyBufferSize:historyBufferSize
-                                 sampleRate:sampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)fftWithWindowSize:(vDSP_Length)windowSize
-                historyBufferSize:(vDSP_Length)historyBufferSize
-                       sampleRate:(float)sampleRate
-                         delegate:(id<EZAudioFFTDelegate>)delegate
-{
-    return [[self alloc] initWithWindowSize:windowSize
-                          historyBufferSize:historyBufferSize
-                                 sampleRate:sampleRate
-                                   delegate:delegate];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (float *)computeFFTWithBuffer:(float *)buffer
-                 withBufferSize:(UInt32)bufferSize
-{
-    if (buffer == NULL)
-    {
-        return NULL;
-    }
-    
-    //
-    // Append buffer to history window
-    //
-    [EZAudioUtilities appendBuffer:buffer
-                    withBufferSize:bufferSize
-                     toHistoryInfo:self.historyInfo];
-    
-    //
-    // Call super to calculate the FFT of the window
-    //
-    return [super computeFFTWithBuffer:self.historyInfo->buffer
-                        withBufferSize:self.historyInfo->bufferSize];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Getters
-//------------------------------------------------------------------------------
-
-- (UInt32)timeDomainBufferSize
-{
-    return self.historyInfo->bufferSize;
-}
-
-//------------------------------------------------------------------------------
-
-- (float *)timeDomainData
-{
-    return self.historyInfo->buffer;
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZAudioFile.h b/document/EZAudio-master/EZAudio/EZAudioFile.h
deleted file mode 100644 (file)
index d9977ce..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-//
-//  EZAudioFile.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import <AudioToolbox/AudioToolbox.h>
-#import "EZAudioFloatData.h"
-
-//------------------------------------------------------------------------------
-
-@class EZAudio;
-@class EZAudioFile;
-
-//------------------------------------------------------------------------------
-#pragma mark - Blocks
-//------------------------------------------------------------------------------
-/**
- A block used when returning back the waveform data. The waveform data itself will be an array of float arrays, one for each channel, and the length indicates the total length of each float array.
- @param waveformData An array of float arrays, each representing a channel of audio data from the file
- @param length       An int representing the length of each channel of float audio data
- */
-typedef void (^EZAudioWaveformDataCompletionBlock)(float **waveformData, int length);
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFileDelegate
-//------------------------------------------------------------------------------
-/**
- The EZAudioFileDelegate provides event callbacks for the EZAudioFile object. These type of events are triggered by reads and seeks on the file and gives feedback such as the audio data read as a float array for visualizations and the new seek position for UI updating.
- */
-@protocol EZAudioFileDelegate <NSObject>
-
-@optional
-/**
- Triggered from the EZAudioFile function `readFrames:audioBufferList:bufferSize:eof:` to notify the delegate of the read audio data as a float array instead of a buffer list. Common use case of this would be to visualize the float data using an audio plot or audio data dependent OpenGL sketch.
- @param audioFile        The instance of the EZAudioFile that triggered the event.
- @param buffer           A float array of float arrays holding the audio data. buffer[0] would be the left channel's float array while buffer[1] would be the right channel's float array in a stereo file.
- @param bufferSize       The length of the buffers float arrays
- @param numberOfChannels The number of channels. 2 for stereo, 1 for mono.
- */
-- (void)     audioFile:(EZAudioFile *)audioFile
-             readAudio:(float **)buffer
-        withBufferSize:(UInt32)bufferSize
-  withNumberOfChannels:(UInt32)numberOfChannels;
-
-//------------------------------------------------------------------------------
-
-/**
- Occurs when the audio file's internal seek position has been updated by the EZAudioFile functions `readFrames:audioBufferList:bufferSize:eof:` or `audioFile:updatedPosition:`. As of 0.8.0 this is the preferred method of listening for position updates on the audio file since a user may want the pull the currentTime, formattedCurrentTime, or the frame index from the EZAudioFile instance provided.
- @param audioFile The instance of the EZAudio in which the change occured.
- */
-- (void)audioFileUpdatedPosition:(EZAudioFile *)audioFile;
-
-//------------------------------------------------------------------------------
-
-/**
- Occurs when the audio file's internal seek position has been updated by the EZAudioFile functions `readFrames:audioBufferList:bufferSize:eof:` or `audioFile:updatedPosition:`.
- @param audioFile     The instance of the EZAudio in which the change occured
- @param framePosition The new frame index as a 64-bit signed integer
- @deprecated This property is deprecated starting in version 0.8.0.
- @note Please use `audioFileUpdatedPosition:` property instead.
- */
-- (void)audioFile:(EZAudioFile *)audioFile
-  updatedPosition:(SInt64)framePosition  __attribute__((deprecated));
-
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFile
-//------------------------------------------------------------------------------
-/**
- The EZAudioFile provides a lightweight and intuitive way to asynchronously interact with audio files. These interactions included reading audio data, seeking within an audio file, getting information about the file, and pulling the waveform data for visualizing the contents of the audio file. The EZAudioFileDelegate provides event callbacks for when reads, seeks, and various updates happen within the audio file to allow the caller to interact with the action in meaningful ways. Common use cases here could be to read the audio file's data as AudioBufferList structures for output (see EZOutput) and visualizing the audio file's data as a float array using an audio plot (see EZAudioPlot).
- */
-@interface EZAudioFile : NSObject <NSCopying>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-/**
- A EZAudioFileDelegate for the audio file that is used to return events such as new seek positions within the file and the read audio data as a float array.
- */
-@property (nonatomic, weak) id<EZAudioFileDelegate> delegate;
-
-//------------------------------------------------------------------------------
-#pragma mark - Initialization
-//------------------------------------------------------------------------------
-/**
- @name Initialization
-*/
-
-/**
- Creates a new instance of the EZAudioFile using a file path URL.
- @param url The file path reference of the audio file as an NSURL.
- @return The newly created EZAudioFile instance. nil if the file path does not exist.
- */
-- (instancetype)initWithURL:(NSURL *)url;
-
-/**
- Creates a new instance of the EZAudioFile using a file path URL with a delegate conforming to the EZAudioFileDelegate protocol.
- @param delegate The audio file delegate that receives events specified by the EZAudioFileDelegate protocol
- @param url The file path reference of the audio file as an NSURL.
- @return The newly created EZAudioFile instance.
- */
-- (instancetype)initWithURL:(NSURL *)url
-                   delegate:(id<EZAudioFileDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a new instance of the EZAudioFile using a file path URL with a delegate conforming to the EZAudioFileDelegate protocol and a client format.
- @param url      The file path reference of the audio file as an NSURL.
- @param delegate The audio file delegate that receives events specified by the EZAudioFileDelegate protocol
- @param clientFormat An AudioStreamBasicDescription that will be used as the client format on the audio file. For instance, the audio file might be in a 22.5 kHz sample rate format in its file format, but your app wants to read the samples at a sample rate of 44.1 kHz so it can iterate with other components (like a audio processing graph) without any weird playback effects. If this initializer is not used then a non-interleaved float format will be assumed.
- @return The newly created EZAudioFile instance.
- */
-- (instancetype)initWithURL:(NSURL *)url
-                   delegate:(id<EZAudioFileDelegate>)delegate
-               clientFormat:(AudioStreamBasicDescription)clientFormat;
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initializers
-//------------------------------------------------------------------------------
-/**
- @name Class Initializers
- */
-
-/**
- Class method that creates a new instance of the EZAudioFile using a file path URL.
- @param url The file path reference of the audio file as an NSURL.
- @return The newly created EZAudioFile instance.
- */
-+ (instancetype)audioFileWithURL:(NSURL *)url;
-
-//------------------------------------------------------------------------------
-
-/**
- Class method that creates a new instance of the EZAudioFile using a file path URL with a delegate conforming to the EZAudioFileDelegate protocol.
- @param url The file path reference of the audio file as an NSURL.
- @param delegate The audio file delegate that receives events specified by the EZAudioFileDelegate protocol
- @return The newly created EZAudioFile instance.
- */
-+ (instancetype)audioFileWithURL:(NSURL *)url
-                        delegate:(id<EZAudioFileDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Class method that creates a new instance of the EZAudioFile using a file path URL with a delegate conforming to the EZAudioFileDelegate protocol and a client format.
- @param url The file path reference of the audio file as an NSURL.
- @param delegate The audio file delegate that receives events specified by the EZAudioFileDelegate protocol
- @param clientFormat An AudioStreamBasicDescription that will be used as the client format on the audio file. For instance, the audio file might be in a 22.5 kHz sample rate, interleaved MP3 file format, but your app wants to read linear PCM samples at a sample rate of 44.1 kHz so it can be read in the context of other components sharing a common stream format (like a audio processing graph). If this initializer is not used then the `defaultClientFormat` will be used as teh default value for the client format.
- @return The newly created EZAudioFile instance.
- */
-+ (instancetype)audioFileWithURL:(NSURL *)url
-                        delegate:(id<EZAudioFileDelegate>)delegate
-                    clientFormat:(AudioStreamBasicDescription)clientFormat;
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Methods
-//------------------------------------------------------------------------------
-/**
- @name Class Methods
- */
-
-/**
- A class method that subclasses can override to specify the default client format that will be used to read audio data from this file. A client format is different from the file format in that it is the format of the other components interacting with this file. For instance, the file on disk could be a 22.5 kHz, float format, but we might have an audio processing graph that has a 44.1 kHz, signed integer format that we'd like to interact with. The client format lets us set that 44.1 kHz format on the audio file to properly read samples from it with any interpolation or format conversion that must take place done automatically within the EZAudioFile `readFrames:audioBufferList:bufferSize:eof:` method. Default is stereo, non-interleaved, 44.1 kHz.
- @return An AudioStreamBasicDescription that serves as the audio file's client format.
- */
-+ (AudioStreamBasicDescription)defaultClientFormat;
-
-//------------------------------------------------------------------------------
-
-/**
- A class method that subclasses can override to specify the default sample rate that will be used in the `defaultClientFormat` method. Default is 44100.0 (44.1 kHz).
- @return A Float64 representing the sample rate that should be used in the default client format.
- */
-+ (Float64)defaultClientFormatSampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides an array of the supported audio files types. Each audio file type is provided as a string, i.e. @"caf". Useful for filtering lists of files in an open panel to only the types allowed.
- @return An array of NSString objects representing the represented file types.
- */
-+ (NSArray *)supportedAudioFileTypes;
-
-//------------------------------------------------------------------------------
-#pragma mark - Events
-//------------------------------------------------------------------------------
-/**
- @name Reading From The Audio File
- */
-
-/**
- Reads a specified number of frames from the audio file. In addition, this will notify the EZAudioFileDelegate (if specified) of the read data as a float array with the audioFile:readAudio:withBufferSize:withNumberOfChannels: event and the new seek position within the file with the audioFile:updatedPosition: event.
- @param frames          The number of frames to read from the file.
- @param audioBufferList An allocated AudioBufferList structure in which to store the read audio data
- @param bufferSize      A pointer to a UInt32 in which to store the read buffersize
- @param eof             A pointer to a BOOL in which to store whether the read operation reached the end of the audio file.
- */
-- (void)readFrames:(UInt32)frames
-   audioBufferList:(AudioBufferList *)audioBufferList
-        bufferSize:(UInt32 *)bufferSize
-               eof:(BOOL *)eof;
-
-//------------------------------------------------------------------------------
-
-/**
- @name Seeking Through The Audio File
- */
-
-/**
- Seeks through an audio file to a specified frame. This will notify the EZAudioFileDelegate (if specified) with the audioFile:updatedPosition: function.
- @param frame The new frame position to seek to as a SInt64.
- */
-- (void)seekToFrame:(SInt64)frame;
-
-//------------------------------------------------------------------------------
-#pragma mark - Getters
-//------------------------------------------------------------------------------
-/**
- @name Getting Information About The Audio File
- */
-
-/**
- Provides the common AudioStreamBasicDescription that will be used for in-app interaction. The file's format will be converted to this format and then sent back as either a float array or a `AudioBufferList` pointer. For instance, the file on disk could be a 22.5 kHz, float format, but we might have an audio processing graph that has a 44.1 kHz, signed integer format that we'd like to interact with. The client format lets us set that 44.1 kHz format on the audio file to properly read samples from it with any interpolation or format conversion that must take place done automatically within the EZAudioFile `readFrames:audioBufferList:bufferSize:eof:` method. Default is stereo, non-interleaved, 44.1 kHz.
- @warning This must be a linear PCM format!
- @return An AudioStreamBasicDescription structure describing the format of the audio file.
- */
-@property (readwrite) AudioStreamBasicDescription clientFormat;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the current offset in the audio file as an NSTimeInterval (i.e. in seconds).  When setting this it will determine the correct frame offset and perform a `seekToFrame` to the new time offset. 
- @warning Make sure the new current time offset is less than the `duration` or you will receive an invalid seek assertion.
- */
-@property (nonatomic, readwrite) NSTimeInterval currentTime;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the duration of the audio file in seconds.
- */
-@property (readonly) NSTimeInterval duration;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the AudioStreamBasicDescription structure containing the format of the file.
- @return An AudioStreamBasicDescription structure describing the format of the audio file.
- */
-@property (readonly) AudioStreamBasicDescription fileFormat;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the current time as an NSString with the time format MM:SS.
- */
-@property (readonly) NSString *formattedCurrentTime;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the duration as an NSString with the time format MM:SS.
- */
-@property (readonly) NSString *formattedDuration;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the frame index (a.k.a the seek positon) within the audio file as SInt64. This can be helpful when seeking through the audio file.
- @return The current frame index within the audio file as a SInt64.
- */
-@property (readonly) SInt64 frameIndex;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides a dictionary containing the metadata (ID3) tags that are included in the header for the audio file. Typically this contains stuff like artist, title, release year, etc.
- @return An NSDictionary containing the metadata for the audio file.
- */
-@property (readonly) NSDictionary *metadata;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the total duration of the audio file in seconds.
- @deprecated This property is deprecated starting in version 0.3.0.
- @note Please use `duration` property instead.
- @return The total duration of the audio file as a Float32.
- */
-@property (readonly) NSTimeInterval totalDuration __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the total frame count of the audio file in the client format.
- @return The total number of frames in the audio file in the AudioStreamBasicDescription representing the client format as a SInt64.
- */
-@property (readonly) SInt64 totalClientFrames;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the total frame count of the audio file in the file format.
- @return The total number of frames in the audio file in the AudioStreamBasicDescription representing the file format as a SInt64.
- */
-@property (readonly) SInt64 totalFrames;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the NSURL for the audio file.
- @return An NSURL representing the path of the EZAudioFile instance.
- */
-@property (nonatomic, copy, readonly) NSURL *url;
-
-//------------------------------------------------------------------------------
-#pragma mark - Helpers
-//------------------------------------------------------------------------------
-
-/**
- Synchronously pulls the waveform amplitude data into a float array for the receiver. This returns a waveform with a default resolution of 1024, meaning there are 1024 data points to plot the waveform.
- @param numberOfPoints A UInt32 representing the number of data points you need. The higher the number of points the more detailed the waveform will be.
- @return A EZAudioFloatData instance containing the audio data for all channels of the audio.
- */
-- (EZAudioFloatData *)getWaveformData;
-
-//------------------------------------------------------------------------------
-
-/**
- Synchronously pulls the waveform amplitude data into a float array for the receiver.
-  @param numberOfPoints A UInt32 representing the number of data points you need. The higher the number of points the more detailed the waveform will be.
- @return A EZAudioFloatData instance containing the audio data for all channels of the audio.
- */
-- (EZAudioFloatData *)getWaveformDataWithNumberOfPoints:(UInt32)numberOfPoints;
-
-//------------------------------------------------------------------------------
-
-/**
- Asynchronously pulls the waveform amplitude data into a float array for the receiver. This returns a waveform with a default resolution of 1024, meaning there are 1024 data points to plot the waveform.
- @param completion A EZAudioWaveformDataCompletionBlock that executes when the waveform data has been extracted. Provides a `EZAudioFloatData` instance containing the waveform data for all audio channels.
- */
-- (void)getWaveformDataWithCompletionBlock:(EZAudioWaveformDataCompletionBlock)completion;
-
-//------------------------------------------------------------------------------
-
-/**
- Asynchronously pulls the waveform amplitude data into a float array for the receiver.
- @param numberOfPoints A UInt32 representing the number of data points you need. The higher the number of points the more detailed the waveform will be.
- @param completion A EZAudioWaveformDataCompletionBlock that executes when the waveform data has been extracted. Provides a `EZAudioFloatData` instance containing the waveform data for all audio channels.
- */
-- (void)getWaveformDataWithNumberOfPoints:(UInt32)numberOfPoints
-                               completion:(EZAudioWaveformDataCompletionBlock)completion;
-
-//------------------------------------------------------------------------------
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZAudioFile.m b/document/EZAudio-master/EZAudio/EZAudioFile.m
deleted file mode 100644 (file)
index 447bc7b..0000000
+++ /dev/null
@@ -1,735 +0,0 @@
-//
-//  EZAudioFile.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZAudioFile.h"
-
-//------------------------------------------------------------------------------
-
-#import "EZAudio.h"
-#import "EZAudioFloatConverter.h"
-#import "EZAudioFloatData.h"
-#include <pthread.h>
-
-// constants
-static UInt32 EZAudioFileWaveformDefaultResolution = 1024;
-static NSString *EZAudioFileWaveformDataQueueIdentifier = @"com.ezaudio.waveformQueue";
-
-//------------------------------------------------------------------------------
-
-typedef struct
-{
-    AudioFileID                 audioFileID;
-    AudioStreamBasicDescription clientFormat;
-    NSTimeInterval              duration;
-    ExtAudioFileRef             extAudioFileRef;
-    AudioStreamBasicDescription fileFormat;
-    SInt64                      frames;
-    CFURLRef                    sourceURL;
-} EZAudioFileInfo;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFile
-//------------------------------------------------------------------------------
-
-@interface EZAudioFile ()
-@property (nonatomic, strong) EZAudioFloatConverter  *floatConverter;
-@property (nonatomic)         float                 **floatData;
-@property (nonatomic)         EZAudioFileInfo        *info;
-@property (nonatomic)         pthread_mutex_t         lock;
-@property (nonatomic)         dispatch_queue_t        waveformQueue;
-@end
-
-//------------------------------------------------------------------------------
-
-@implementation EZAudioFile
-
-//------------------------------------------------------------------------------
-#pragma mark - Dealloc
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-    self.floatConverter = nil;
-    pthread_mutex_destroy(&_lock);
-    [EZAudioUtilities freeFloatBuffers:self.floatData numberOfChannels:self.clientFormat.mChannelsPerFrame];
-    [EZAudioUtilities checkResult:ExtAudioFileDispose(self.info->extAudioFileRef) operation:"Failed to dispose of ext audio file"];
-    free(self.info);
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Initialization
-//------------------------------------------------------------------------------
-
-- (instancetype)init
-{
-    self = [super init];
-    if (self)
-    {
-        self.info = (EZAudioFileInfo *)malloc(sizeof(EZAudioFileInfo));
-        _floatData = NULL;
-        pthread_mutex_init(&_lock, NULL);
-        _waveformQueue = dispatch_queue_create(EZAudioFileWaveformDataQueueIdentifier.UTF8String, DISPATCH_QUEUE_PRIORITY_DEFAULT);
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithURL:(NSURL *)url
-{
-    return [self initWithURL:url delegate:nil];
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithURL:(NSURL *)url
-                   delegate:(id<EZAudioFileDelegate>)delegate
-{
-    return [self initWithURL:url
-                    delegate:delegate
-                clientFormat:[self.class defaultClientFormat]];
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithURL:(NSURL *)url
-                   delegate:(id<EZAudioFileDelegate>)delegate
-               clientFormat:(AudioStreamBasicDescription)clientFormat
-{
-    self = [self init];
-    if (self)
-    {
-        self.info->sourceURL = (__bridge CFURLRef)(url);
-        self.info->clientFormat = clientFormat;
-        self.delegate = delegate;
-        if (![self setup])
-        {
-            return nil;
-        }
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initializers
-//------------------------------------------------------------------------------
-
-+ (instancetype)audioFileWithURL:(NSURL *)url
-{
-    return [[self alloc] initWithURL:url];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)audioFileWithURL:(NSURL *)url
-                        delegate:(id<EZAudioFileDelegate>)delegate
-{
-    return [[self alloc] initWithURL:url delegate:delegate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)audioFileWithURL:(NSURL *)url
-                        delegate:(id<EZAudioFileDelegate>)delegate
-                    clientFormat:(AudioStreamBasicDescription)clientFormat
-{
-    return [[self alloc] initWithURL:url
-                            delegate:delegate
-                        clientFormat:clientFormat];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - NSCopying
-//------------------------------------------------------------------------------
-
-- (id)copyWithZone:(NSZone *)zone
-{
-    return [EZAudioFile audioFileWithURL:self.url];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Methods
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)defaultClientFormat
-{
-    return [EZAudioUtilities stereoFloatNonInterleavedFormatWithSampleRate:[self defaultClientFormatSampleRate]];
-}
-
-//------------------------------------------------------------------------------
-
-+ (Float64)defaultClientFormatSampleRate
-{
-    return 44100.0f;
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSArray *)supportedAudioFileTypes
-{
-    return @
-    [
-        @"aac",
-        @"caf",
-        @"aif",
-        @"aiff",
-        @"aifc",
-        @"mp3",
-        @"mp4",
-        @"m4a",
-        @"snd",
-        @"au",
-        @"sd2",
-        @"wav"
-    ];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (BOOL)setup
-{
-    //
-    // Try to open the file, bail if the file could not be opened
-    //
-    BOOL success = [self openAudioFile];
-    if (!success)
-    {
-        return success;
-    }
-    
-    //
-    // Set the client format
-    //
-    self.clientFormat = self.info->clientFormat;
-    
-    return YES;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Creating/Opening Audio File
-//------------------------------------------------------------------------------
-
-- (BOOL)openAudioFile
-{
-    //
-    // Need a source url
-    //
-    NSAssert(self.info->sourceURL, @"EZAudioFile cannot be created without a source url!");
-    
-    //
-    // Determine if the file actually exists
-    //
-    CFURLRef url = self.info->sourceURL;
-    NSURL *fileURL = (__bridge NSURL *)(url);
-    BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:fileURL.path];
-    
-    //
-    // Create an ExtAudioFileRef for the file handle
-    //
-    if (fileExists)
-    {
-        [EZAudioUtilities checkResult:ExtAudioFileOpenURL(url, &self.info->extAudioFileRef)
-                            operation:"Failed to create ExtAudioFileRef"];
-    }
-    else
-    {
-        return NO;
-    }
-    
-    //
-    // Get the underlying AudioFileID
-    //
-    UInt32 propSize = sizeof(self.info->audioFileID);
-    [EZAudioUtilities checkResult:ExtAudioFileGetProperty(self.info->extAudioFileRef,
-                                                          kExtAudioFileProperty_AudioFile,
-                                                          &propSize,
-                                                          &self.info->audioFileID)
-                        operation:"Failed to get underlying AudioFileID"];
-    
-    //
-    // Store the file format
-    //
-    propSize = sizeof(self.info->fileFormat);
-    [EZAudioUtilities checkResult:ExtAudioFileGetProperty(self.info->extAudioFileRef,
-                                                          kExtAudioFileProperty_FileDataFormat,
-                                                          &propSize,
-                                                          &self.info->fileFormat)
-                        operation:"Failed to get file audio format on existing audio file"];
-    
-    //
-    // Get the total frames and duration
-    //
-    propSize = sizeof(SInt64);
-    [EZAudioUtilities checkResult:ExtAudioFileGetProperty(self.info->extAudioFileRef,
-                                                          kExtAudioFileProperty_FileLengthFrames,
-                                                          &propSize,
-                                                          &self.info->frames)
-                        operation:"Failed to get total frames"];
-    self.info->duration = (NSTimeInterval) self.info->frames / self.info->fileFormat.mSampleRate;
-    
-    return YES;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Events
-//------------------------------------------------------------------------------
-
-- (void)readFrames:(UInt32)frames
-    audioBufferList:(AudioBufferList *)audioBufferList
-         bufferSize:(UInt32 *)bufferSize
-               eof:(BOOL *)eof
-{
-    if (pthread_mutex_trylock(&_lock) == 0)
-    {
-        // perform read
-        [EZAudioUtilities checkResult:ExtAudioFileRead(self.info->extAudioFileRef,
-                                                       &frames,
-                                                       audioBufferList)
-                            operation:"Failed to read audio data from file"];
-        *bufferSize = frames;
-        *eof = frames == 0;
-        
-        //
-        // Notify delegate
-        //
-        if ([self.delegate respondsToSelector:@selector(audioFileUpdatedPosition:)])
-        {
-            [self.delegate audioFileUpdatedPosition:self];
-        }
-        
-        //
-        // Deprecated, but supported until 1.0
-        //
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-        if ([self.delegate respondsToSelector:@selector(audioFile:updatedPosition:)])
-        {
-            [self.delegate audioFile:self updatedPosition:[self frameIndex]];
-        }
-#pragma GCC diagnostic pop
-        
-        if ([self.delegate respondsToSelector:@selector(audioFile:readAudio:withBufferSize:withNumberOfChannels:)])
-        {
-            // convert into float data
-            [self.floatConverter convertDataFromAudioBufferList:audioBufferList
-                                             withNumberOfFrames:*bufferSize
-                                                 toFloatBuffers:self.floatData];
-            
-            // notify delegate
-            UInt32 channels = self.clientFormat.mChannelsPerFrame;
-            [self.delegate audioFile:self
-                           readAudio:self.floatData
-                      withBufferSize:*bufferSize
-                withNumberOfChannels:channels];
-        }
-        
-        pthread_mutex_unlock(&_lock);
-        
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)seekToFrame:(SInt64)frame
-{
-    if (pthread_mutex_trylock(&_lock) == 0)
-    {
-        [EZAudioUtilities checkResult:ExtAudioFileSeek(self.info->extAudioFileRef,
-                                                       frame)
-                   operation:"Failed to seek frame position within audio file"];
-
-        pthread_mutex_unlock(&_lock);
-        
-        //
-        // Notify delegate
-        //
-        if ([self.delegate respondsToSelector:@selector(audioFileUpdatedPosition:)])
-        {
-            [self.delegate audioFileUpdatedPosition:self];
-        }
-        
-        //
-        // Deprecated, but supported until 1.0
-        //
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-        if ([self.delegate respondsToSelector:@selector(audioFile:updatedPosition:)])
-        {
-            [self.delegate audioFile:self updatedPosition:[self frameIndex]];
-        }
-#pragma GCC diagnostic pop
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Getters
-//------------------------------------------------------------------------------
-
-- (AudioStreamBasicDescription)floatFormat
-{
-    return [EZAudioUtilities stereoFloatNonInterleavedFormatWithSampleRate:44100.0f];
-}
-
-//------------------------------------------------------------------------------
-
-- (EZAudioFloatData *)getWaveformData
-{
-    return [self getWaveformDataWithNumberOfPoints:EZAudioFileWaveformDefaultResolution];
-}
-
-//------------------------------------------------------------------------------
-
-- (EZAudioFloatData *)getWaveformDataWithNumberOfPoints:(UInt32)numberOfPoints
-{
-    EZAudioFloatData *waveformData;
-    if (pthread_mutex_trylock(&_lock) == 0)
-    {
-        // store current frame
-        SInt64 currentFrame = self.frameIndex;
-        BOOL interleaved = [EZAudioUtilities isInterleaved:self.clientFormat];
-        UInt32 channels = self.clientFormat.mChannelsPerFrame;
-        if (channels == 0)
-        {
-            // prevent division by zero
-            pthread_mutex_unlock(&_lock);
-            return nil;
-        }
-        float **data = (float **)malloc( sizeof(float*) * channels );
-        for (int i = 0; i < channels; i++)
-        {
-            data[i] = (float *)malloc( sizeof(float) * numberOfPoints );
-        }
-        
-        // seek to 0
-        [EZAudioUtilities checkResult:ExtAudioFileSeek(self.info->extAudioFileRef,
-                                                       0)
-                            operation:"Failed to seek frame position within audio file"];
-        
-        // calculate the required number of frames per buffer
-        SInt64 framesPerBuffer = ((SInt64) self.totalClientFrames / numberOfPoints);
-        SInt64 framesPerChannel = framesPerBuffer / channels;
-        
-        // allocate an audio buffer list
-        AudioBufferList *audioBufferList = [EZAudioUtilities audioBufferListWithNumberOfFrames:(UInt32)framesPerBuffer
-                                                                              numberOfChannels:self.info->clientFormat.mChannelsPerFrame
-                                                                                   interleaved:interleaved];
-        
-        // read through file and calculate rms at each point
-        for (SInt64 i = 0; i < numberOfPoints; i++)
-        {
-            UInt32 bufferSize = (UInt32) framesPerBuffer;
-            [EZAudioUtilities checkResult:ExtAudioFileRead(self.info->extAudioFileRef,
-                                                           &bufferSize,
-                                                           audioBufferList)
-                                operation:"Failed to read audio data from file waveform"];
-            if (interleaved)
-            {
-                float *buffer = (float *)audioBufferList->mBuffers[0].mData;
-                for (int channel = 0; channel < channels; channel++)
-                {
-                    float channelData[framesPerChannel];
-                    for (int frame = 0; frame < framesPerChannel; frame++)
-                    {
-                        channelData[frame] = buffer[frame * channels + channel];
-                    }
-                    float rms = [EZAudioUtilities RMS:channelData length:(UInt32)framesPerChannel];
-                    data[channel][i] = rms;
-                }
-            }
-            else
-            {
-                for (int channel = 0; channel < channels; channel++)
-                {
-                    float *channelData = audioBufferList->mBuffers[channel].mData;
-                    float rms = [EZAudioUtilities RMS:channelData length:bufferSize];
-                    data[channel][i] = rms;
-                }
-            }
-        }
-        
-        // clean up
-        [EZAudioUtilities freeBufferList:audioBufferList];
-        
-        // seek back to previous position
-        [EZAudioUtilities checkResult:ExtAudioFileSeek(self.info->extAudioFileRef,
-                                                       currentFrame)
-                            operation:"Failed to seek frame position within audio file"];
-        
-        pthread_mutex_unlock(&_lock);
-        
-        waveformData = [EZAudioFloatData dataWithNumberOfChannels:channels
-                                                          buffers:(float **)data
-                                                       bufferSize:numberOfPoints];
-        
-        // cleanup
-        for (int i = 0; i < channels; i++)
-        {
-            free(data[i]);
-        }
-        free(data);
-    }
-    return waveformData;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)getWaveformDataWithCompletionBlock:(EZAudioWaveformDataCompletionBlock)waveformDataCompletionBlock
-{
-    [self getWaveformDataWithNumberOfPoints:EZAudioFileWaveformDefaultResolution
-                                 completion:waveformDataCompletionBlock];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)getWaveformDataWithNumberOfPoints:(UInt32)numberOfPoints
-                               completion:(EZAudioWaveformDataCompletionBlock)completion
-{
-    if (!completion)
-    {
-        return;
-    }
-
-    // async get waveform data
-    __weak EZAudioFile *weakSelf = self;
-    dispatch_async(self.waveformQueue, ^{
-        EZAudioFloatData *waveformData = [weakSelf getWaveformDataWithNumberOfPoints:numberOfPoints];
-        dispatch_async(dispatch_get_main_queue(), ^{
-            completion(waveformData.buffers, waveformData.bufferSize);
-        });
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (AudioStreamBasicDescription)clientFormat
-{
-    return self.info->clientFormat;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSTimeInterval)currentTime
-{
-    return [EZAudioUtilities MAP:(float)[self frameIndex]
-                         leftMin:0.0f
-                         leftMax:(float)[self totalFrames]
-                        rightMin:0.0f
-                        rightMax:[self duration]];
-}
-
-//------------------------------------------------------------------------------
-
-- (NSTimeInterval)duration
-{
-    return self.info->duration;
-}
-
-//------------------------------------------------------------------------------
-
-- (AudioStreamBasicDescription)fileFormat
-{
-    return self.info->fileFormat;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSString *)formattedCurrentTime
-{
-    return [EZAudioUtilities displayTimeStringFromSeconds:[self currentTime]];
-}
-
-//------------------------------------------------------------------------------
-
-- (NSString *)formattedDuration
-{
-    return [EZAudioUtilities displayTimeStringFromSeconds:[self duration]];
-}
-
-//------------------------------------------------------------------------------
-
-- (SInt64)frameIndex
-{
-    SInt64 frameIndex;
-    [EZAudioUtilities checkResult:ExtAudioFileTell(self.info->extAudioFileRef, &frameIndex)
-                        operation:"Failed to get frame index"];
-    return frameIndex;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSDictionary *)metadata
-{
-    // get size of metadata property (dictionary)
-    UInt32          propSize = sizeof(self.info->audioFileID);
-    CFDictionaryRef metadata;
-    UInt32          writable;
-    [EZAudioUtilities checkResult:AudioFileGetPropertyInfo(self.info->audioFileID,
-                                                           kAudioFilePropertyInfoDictionary,
-                                                           &propSize,
-                                                           &writable)
-                        operation:"Failed to get the size of the metadata dictionary"];
-    
-    // pull metadata
-    [EZAudioUtilities checkResult:AudioFileGetProperty(self.info->audioFileID,
-                                                       kAudioFilePropertyInfoDictionary,
-                                                       &propSize,
-                                                       &metadata)
-                        operation:"Failed to get metadata dictionary"];
-    
-    // cast to NSDictionary
-    return (__bridge NSDictionary*)metadata;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSTimeInterval)totalDuration
-{
-    return self.info->duration;
-}
-
-//------------------------------------------------------------------------------
-
-- (SInt64)totalClientFrames
-{
-    SInt64 totalFrames = [self totalFrames];
-    AudioStreamBasicDescription clientFormat = self.info->clientFormat;
-    AudioStreamBasicDescription fileFormat = self.info->fileFormat;
-    BOOL sameSampleRate = clientFormat.mSampleRate == fileFormat.mSampleRate;
-    if (!sameSampleRate)
-    {
-        totalFrames = self.info->duration * clientFormat.mSampleRate;
-    }
-    return totalFrames;
-}
-
-//------------------------------------------------------------------------------
-
-- (SInt64)totalFrames
-{
-    return self.info->frames;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSURL *)url
-{
-  return (__bridge NSURL*)self.info->sourceURL;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setters
-//------------------------------------------------------------------------------
-
-- (void)setClientFormat:(AudioStreamBasicDescription)clientFormat
-{
-    //
-    // Clear any float data currently cached
-    //
-    if (self.floatData)
-    {
-        self.floatData = nil;
-    }
-    
-    //
-    // Client format can only be linear PCM!
-    //
-    NSAssert([EZAudioUtilities isLinearPCM:clientFormat], @"Client format must be linear PCM");
-    
-    //
-    // Store the client format
-    //
-    self.info->clientFormat = clientFormat;
-    
-    //
-    // Set the client format on the ExtAudioFileRef
-    //
-    [EZAudioUtilities checkResult:ExtAudioFileSetProperty(self.info->extAudioFileRef,
-                                                          kExtAudioFileProperty_ClientDataFormat,
-                                                          sizeof(clientFormat),
-                                                          &clientFormat)
-                        operation:"Couldn't set client data format on file"];
-    
-    //
-    // Create a new float converter using the client format as the input format
-    //
-    self.floatConverter = [EZAudioFloatConverter converterWithInputFormat:clientFormat];
-    
-    //
-    // Determine how big our float buffers need to be to hold a buffer of float
-    // data for the audio received callback.
-    //
-    UInt32 maxPacketSize;
-    UInt32 propSize = sizeof(maxPacketSize);
-    [EZAudioUtilities checkResult:ExtAudioFileGetProperty(self.info->extAudioFileRef,
-                                                          kExtAudioFileProperty_ClientMaxPacketSize,
-                                                          &propSize,
-                                                          &maxPacketSize)
-                        operation:"Failed to get max packet size"];
-    
-    self.floatData = [EZAudioUtilities floatBuffersWithNumberOfFrames:1024
-                                                     numberOfChannels:self.clientFormat.mChannelsPerFrame];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setCurrentTime:(NSTimeInterval)currentTime
-{
-    NSAssert(currentTime < [self duration], @"Invalid seek operation, expected current time to be less than duration");
-    SInt64 frame = [EZAudioUtilities MAP:currentTime
-                                 leftMin:0.0f
-                                 leftMax:[self duration]
-                                rightMin:0.0f
-                                rightMax:[self totalFrames]];
-    [self seekToFrame:frame];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Description
-//------------------------------------------------------------------------------
-
-- (NSString *)description
-{
-    return [NSString stringWithFormat:@"%@ {\n"
-                                       "    url: %@,\n"
-                                       "    duration: %f,\n"
-                                       "    totalFrames: %lld,\n"
-                                       "    metadata: %@,\n"
-                                       "    fileFormat: { %@ },\n"
-                                       "    clientFormat: { %@ } \n"
-                                       "}",
-            [super description],
-            [self url],
-            [self duration],
-            [self totalFrames],
-            [self metadata],
-            [EZAudioUtilities stringForAudioStreamBasicDescription:[self fileFormat]],
-            [EZAudioUtilities stringForAudioStreamBasicDescription:[self clientFormat]]];
-}
-
-//------------------------------------------------------------------------------
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZAudioFloatConverter.h b/document/EZAudio-master/EZAudio/EZAudioFloatConverter.h
deleted file mode 100644 (file)
index 63d5635..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-//  EZAudioFloatConverter.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 6/23/15.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import <AudioToolbox/AudioToolbox.h>
-
-//------------------------------------------------------------------------------
-#pragma mark - Constants
-//------------------------------------------------------------------------------
-
-FOUNDATION_EXPORT UInt32 const EZAudioFloatConverterDefaultPacketSize;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFloatConverter
-//------------------------------------------------------------------------------
-
-@interface EZAudioFloatConverter : NSObject
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Methods
-//------------------------------------------------------------------------------
-
-+ (instancetype)converterWithInputFormat:(AudioStreamBasicDescription)inputFormat;
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-@property (nonatomic, assign, readonly) AudioStreamBasicDescription inputFormat;
-@property (nonatomic, assign, readonly) AudioStreamBasicDescription floatFormat;
-
-//------------------------------------------------------------------------------
-#pragma mark - Instance Methods
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithInputFormat:(AudioStreamBasicDescription)inputFormat;
-
-//------------------------------------------------------------------------------
-
-- (void)convertDataFromAudioBufferList:(AudioBufferList *)audioBufferList
-                    withNumberOfFrames:(UInt32)frames
-                        toFloatBuffers:(float **)buffers;
-
-//------------------------------------------------------------------------------
-
-- (void)convertDataFromAudioBufferList:(AudioBufferList *)audioBufferList
-                    withNumberOfFrames:(UInt32)frames
-                        toFloatBuffers:(float **)buffers
-                    packetDescriptions:(AudioStreamPacketDescription *)packetDescriptions;
-
-//------------------------------------------------------------------------------
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZAudioFloatConverter.m b/document/EZAudio-master/EZAudio/EZAudioFloatConverter.m
deleted file mode 100644 (file)
index bf7bff9..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-//
-//  EZAudioFloatConverter.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 6/23/15.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZAudioFloatConverter.h"
-#import "EZAudioUtilities.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - Constants
-//------------------------------------------------------------------------------
-
-static UInt32 EZAudioFloatConverterDefaultOutputBufferSize = 128 * 32;
-UInt32 const EZAudioFloatConverterDefaultPacketSize = 2048;
-
-//------------------------------------------------------------------------------
-#pragma mark - Data Structures
-//------------------------------------------------------------------------------
-
-typedef struct
-{
-    AudioConverterRef             converterRef;
-    AudioBufferList              *floatAudioBufferList;
-    AudioStreamBasicDescription   inputFormat;
-    AudioStreamBasicDescription   outputFormat;
-    AudioStreamPacketDescription *packetDescriptions;
-    UInt32 packetsPerBuffer;
-} EZAudioFloatConverterInfo;
-
-//------------------------------------------------------------------------------
-#pragma mark - Callbacks
-//------------------------------------------------------------------------------
-
-OSStatus EZAudioFloatConverterCallback(AudioConverterRef             inAudioConverter,
-                                       UInt32                       *ioNumberDataPackets,
-                                       AudioBufferList              *ioData,
-                                       AudioStreamPacketDescription **outDataPacketDescription,
-                                       void                         *inUserData)
-{
-    AudioBufferList *sourceBuffer = (AudioBufferList *)inUserData;
-    
-    memcpy(ioData,
-           sourceBuffer,
-           sizeof(AudioBufferList) + (sourceBuffer->mNumberBuffers - 1) * sizeof(AudioBuffer));
-    sourceBuffer = NULL;
-    
-    return noErr;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFloatConverter (Interface Extension)
-//------------------------------------------------------------------------------
-
-@interface EZAudioFloatConverter ()
-@property (nonatomic, assign) EZAudioFloatConverterInfo *info;
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFloatConverter (Implementation)
-//------------------------------------------------------------------------------
-
-@implementation EZAudioFloatConverter
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Methods
-//------------------------------------------------------------------------------
-
-+ (instancetype)converterWithInputFormat:(AudioStreamBasicDescription)inputFormat
-{
-    return [[self alloc] initWithInputFormat:inputFormat];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Dealloc
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-    AudioConverterDispose(self.info->converterRef);
-    [EZAudioUtilities freeBufferList:self.info->floatAudioBufferList];
-    free(self.info->packetDescriptions);
-    free(self.info);
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Initialization
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithInputFormat:(AudioStreamBasicDescription)inputFormat
-{
-    self = [super init];
-    if (self)
-    {
-        self.info = (EZAudioFloatConverterInfo *)malloc(sizeof(EZAudioFloatConverterInfo));
-        memset(self.info, 0, sizeof(EZAudioFloatConverterInfo));
-        self.info->inputFormat = inputFormat;
-        [self setup];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void)setup
-{
-    // create output format
-    self.info->outputFormat = [EZAudioUtilities floatFormatWithNumberOfChannels:self.info->inputFormat.mChannelsPerFrame
-                                                                     sampleRate:self.info->inputFormat.mSampleRate];
-    
-    // create a new instance of the audio converter
-    [EZAudioUtilities checkResult:AudioConverterNew(&self.info->inputFormat,
-                                                    &self.info->outputFormat,
-                                                    &self.info->converterRef)
-                        operation:"Failed to create new audio converter"];
-    
-    // get max packets per buffer so you can allocate a proper AudioBufferList
-    UInt32 packetsPerBuffer = 0;
-    UInt32 outputBufferSize = EZAudioFloatConverterDefaultOutputBufferSize;
-    UInt32 sizePerPacket = self.info->inputFormat.mBytesPerPacket;
-    BOOL isVBR = sizePerPacket == 0;
-    
-    // VBR
-    if (isVBR)
-    {
-        // determine the max output buffer size
-        UInt32 maxOutputPacketSize;
-        UInt32 propSize = sizeof(maxOutputPacketSize);
-        OSStatus result = AudioConverterGetProperty(self.info->converterRef,
-                                                    kAudioConverterPropertyMaximumOutputPacketSize,
-                                                    &propSize,
-                                                    &maxOutputPacketSize);
-        if (result != noErr)
-        {
-            maxOutputPacketSize = EZAudioFloatConverterDefaultPacketSize;
-        }
-        
-        // set the output buffer size to at least the max output size
-        if (maxOutputPacketSize > outputBufferSize)
-        {
-            outputBufferSize = maxOutputPacketSize;
-        }
-        packetsPerBuffer = outputBufferSize / maxOutputPacketSize;
-        
-        // allocate memory for the packet descriptions
-        self.info->packetDescriptions = (AudioStreamPacketDescription *)malloc(sizeof(AudioStreamPacketDescription) * packetsPerBuffer);
-    }
-    else
-    {
-        packetsPerBuffer = outputBufferSize / sizePerPacket;
-    }
-    self.info->packetsPerBuffer = packetsPerBuffer;
-    
-    // allocate the AudioBufferList to hold the float values
-    BOOL isInterleaved = [EZAudioUtilities isInterleaved:self.info->outputFormat];
-    self.info->floatAudioBufferList = [EZAudioUtilities audioBufferListWithNumberOfFrames:packetsPerBuffer
-                                                                         numberOfChannels:self.info->outputFormat.mChannelsPerFrame
-                                                                              interleaved:isInterleaved];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Events
-//------------------------------------------------------------------------------
-
-- (void)convertDataFromAudioBufferList:(AudioBufferList *)audioBufferList
-                    withNumberOfFrames:(UInt32)frames
-                        toFloatBuffers:(float **)buffers
-{
-    [self convertDataFromAudioBufferList:audioBufferList
-                      withNumberOfFrames:frames
-                          toFloatBuffers:buffers
-                      packetDescriptions:self.info->packetDescriptions];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)convertDataFromAudioBufferList:(AudioBufferList *)audioBufferList
-                    withNumberOfFrames:(UInt32)frames
-                        toFloatBuffers:(float **)buffers
-                    packetDescriptions:(AudioStreamPacketDescription *)packetDescriptions
-{
-    if (frames != 0)
-    {
-        //
-        // Make sure the data size coming in is consistent with the number
-        // of frames we're actually getting
-        //
-        for (int i = 0; i < audioBufferList->mNumberBuffers; i++) {
-            audioBufferList->mBuffers[i].mDataByteSize = frames * self.info->inputFormat.mBytesPerFrame;
-        }
-        
-        //
-        // Fill out the audio converter with the source buffer
-        //
-        [EZAudioUtilities checkResult:AudioConverterFillComplexBuffer(self.info->converterRef,
-                                                                      EZAudioFloatConverterCallback,
-                                                                      audioBufferList,
-                                                                      &frames,
-                                                                      self.info->floatAudioBufferList,
-                                                                      packetDescriptions ? packetDescriptions : self.info->packetDescriptions)
-                            operation:"Failed to fill complex buffer in float converter"];
-        
-        //
-        // Copy the converted buffers into the float buffer array stored
-        // in memory
-        //
-        for (int i = 0; i < self.info->floatAudioBufferList->mNumberBuffers; i++)
-        {
-            memcpy(buffers[i],
-                   self.info->floatAudioBufferList->mBuffers[i].mData,
-                   self.info->floatAudioBufferList->mBuffers[i].mDataByteSize);
-        }
-    }
-}
-
-//------------------------------------------------------------------------------
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZAudioFloatData.h b/document/EZAudio-master/EZAudio/EZAudioFloatData.h
deleted file mode 100644 (file)
index 547c715..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-//  EZAudioFloatData.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 6/23/15.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFloatData
-//------------------------------------------------------------------------------
-
-@interface EZAudioFloatData : NSObject
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)dataWithNumberOfChannels:(int)numberOfChannels
-                                 buffers:(float **)buffers
-                              bufferSize:(UInt32)bufferSize;
-
-//------------------------------------------------------------------------------
-
-@property (nonatomic, assign, readonly) int numberOfChannels;
-@property (nonatomic, assign, readonly) float **buffers;
-@property (nonatomic, assign, readonly) UInt32 bufferSize;
-
-//------------------------------------------------------------------------------
-
-- (float *)bufferForChannel:(int)channel;
-
-//------------------------------------------------------------------------------
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZAudioFloatData.m b/document/EZAudio-master/EZAudio/EZAudioFloatData.m
deleted file mode 100644 (file)
index 674517e..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-//  EZAudioFloatData.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 6/23/15.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZAudioFloatData.h"
-#import "EZAudioUtilities.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFloatData
-//------------------------------------------------------------------------------
-
-@interface EZAudioFloatData ()
-@property (nonatomic, assign, readwrite) int    numberOfChannels;
-@property (nonatomic, assign, readwrite) float  **buffers;
-@property (nonatomic, assign, readwrite) UInt32 bufferSize;
-@end
-
-//------------------------------------------------------------------------------
-
-@implementation EZAudioFloatData
-
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-    [EZAudioUtilities freeFloatBuffers:self.buffers
-                      numberOfChannels:self.numberOfChannels];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)dataWithNumberOfChannels:(int)numberOfChannels
-                                 buffers:(float **)buffers
-                              bufferSize:(UInt32)bufferSize
-{
-    id data = [[self alloc] init];
-    size_t size = sizeof(float) * bufferSize;
-    float **buffersCopy = [EZAudioUtilities floatBuffersWithNumberOfFrames:bufferSize
-                                                          numberOfChannels:numberOfChannels];
-    for (int i = 0; i < numberOfChannels; i++)
-    {
-        memcpy(buffersCopy[i], buffers[i], size);
-    }
-    ((EZAudioFloatData *)data).buffers = buffersCopy;
-    ((EZAudioFloatData *)data).bufferSize = bufferSize;
-    ((EZAudioFloatData *)data).numberOfChannels = numberOfChannels;
-    return data;
-}
-
-//------------------------------------------------------------------------------
-
-- (float *)bufferForChannel:(int)channel
-{
-    float *buffer = NULL;
-    if (channel < self.numberOfChannels)
-    {
-        buffer = self.buffers[channel];
-    }
-    return buffer;
-}
-
-//------------------------------------------------------------------------------
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZAudioOSX.h b/document/EZAudio-master/EZAudio/EZAudioOSX.h
deleted file mode 100644 (file)
index 895b9c9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-//  EZAudioOSX.m
-//  EZAudio
-//
-//  Created by Tommaso Piazza on 30/09/15.
-//  Copyright © 2015 Andrew Breckenridge. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <EZAudioOSX/EZAudio.h>
diff --git a/document/EZAudio-master/EZAudio/EZAudioPlayer.h b/document/EZAudio-master/EZAudio/EZAudioPlayer.h
deleted file mode 100644 (file)
index 246d324..0000000
+++ /dev/null
@@ -1,444 +0,0 @@
-//
-//  EZAudioPlayer.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 1/16/14.
-//  Copyright (c) 2014 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import "TargetConditionals.h"
-#import "EZAudioFile.h"
-#import "EZOutput.h"
-
-@class EZAudioPlayer;
-
-//------------------------------------------------------------------------------
-#pragma mark - Data Structures
-//------------------------------------------------------------------------------
-
-typedef NS_ENUM(NSUInteger, EZAudioPlayerState)
-{
-    EZAudioPlayerStateEndOfFile,
-    EZAudioPlayerStatePaused,
-    EZAudioPlayerStatePlaying,
-    EZAudioPlayerStateReadyToPlay,
-    EZAudioPlayerStateSeeking,
-    EZAudioPlayerStateUnknown,
-};
-
-//------------------------------------------------------------------------------
-#pragma mark - Notifications
-//------------------------------------------------------------------------------
-
-/**
- Notification that occurs whenever the EZAudioPlayer changes its `audioFile` property. Check the new value using the EZAudioPlayer's `audioFile` property.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangeAudioFileNotification;
-
-/**
- Notification that occurs whenever the EZAudioPlayer changes its `device` property. Check the new value using the EZAudioPlayer's `device` property.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangeOutputDeviceNotification;
-
-/**
- Notification that occurs whenever the EZAudioPlayer changes its `output` component's `pan` property. Check the new value using the EZAudioPlayer's `pan` property.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangePanNotification;
-
-/**
- Notification that occurs whenever the EZAudioPlayer changes its `output` component's play state. Check the new value using the EZAudioPlayer's `isPlaying` property.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangePlayStateNotification;
-
-/**
- Notification that occurs whenever the EZAudioPlayer changes its `output` component's `volume` property. Check the new value using the EZAudioPlayer's `volume` property.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangeVolumeNotification;
-
-/**
- Notification that occurs whenever the EZAudioPlayer has reached the end of a file and its `shouldLoop` property has been set to NO.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidReachEndOfFileNotification;
-
-/**
- Notification that occurs whenever the EZAudioPlayer performs a seek via the `seekToFrame` method or `setCurrentTime:` property setter. Check the new `currentTime` or `frameIndex` value using the EZAudioPlayer's `currentTime` or `frameIndex` property, respectively.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidSeekNotification;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlayerDelegate
-//------------------------------------------------------------------------------
-
-/**
- The EZAudioPlayerDelegate provides event callbacks for the EZAudioPlayer. Since 0.5.0 the EZAudioPlayerDelegate provides a smaller set of delegate methods in favor of notifications to allow multiple receivers of the EZAudioPlayer event callbacks since only one player is typically used in an application. Specifically, these methods are provided for high frequency callbacks that wrap the EZAudioPlayer's internal EZAudioFile and EZOutput instances.
- @warning These callbacks don't necessarily occur on the main thread so make sure you wrap any UI code in a GCD block like: dispatch_async(dispatch_get_main_queue(), ^{ // Update UI });
- */
-@protocol EZAudioPlayerDelegate <NSObject>
-
-@optional
-
-//------------------------------------------------------------------------------
-
-/**
- Triggered by the EZAudioPlayer's internal EZAudioFile's EZAudioFileDelegate callback and notifies the delegate of the read audio data as a float array instead of a buffer list. Common use case of this would be to visualize the float data using an audio plot or audio data dependent OpenGL sketch.
- @param audioPlayer The instance of the EZAudioPlayer that triggered the event
- @param buffer           A float array of float arrays holding the audio data. buffer[0] would be the left channel's float array while buffer[1] would be the right channel's float array in a stereo file.
- @param bufferSize       The length of the buffers float arrays
- @param numberOfChannels The number of channels. 2 for stereo, 1 for mono.
- @param audioFile   The instance of the EZAudioFile that the event was triggered from
- */
-- (void)  audioPlayer:(EZAudioPlayer *)audioPlayer
-          playedAudio:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-          inAudioFile:(EZAudioFile *)audioFile;;
-
-//------------------------------------------------------------------------------
-
-/**
- Triggered by EZAudioPlayer's internal EZAudioFile's EZAudioFileDelegate callback and notifies the delegate of the current playback position. The framePosition provides the current frame position and can be calculated against the EZAudioPlayer's total frames using the `totalFrames` function from the EZAudioPlayer.
- @param audioPlayer The instance of the EZAudioPlayer that triggered the event
- @param framePosition The new frame index as a 64-bit signed integer
- @param audioFile   The instance of the EZAudioFile that the event was triggered from
- */
-- (void)audioPlayer:(EZAudioPlayer *)audioPlayer
-    updatedPosition:(SInt64)framePosition
-        inAudioFile:(EZAudioFile *)audioFile;
-
-
-/**
- Triggered by EZAudioPlayer's internal EZAudioFile's EZAudioFileDelegate callback and notifies the delegate that the end of the file has been reached. 
- @param audioPlayer The instance of the EZAudioPlayer that triggered the event
- @param audioFile   The instance of the EZAudioFile that the event was triggered from
- */
-- (void)audioPlayer:(EZAudioPlayer *)audioPlayer
-reachedEndOfAudioFile:(EZAudioFile *)audioFile;
-
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlayer
-//------------------------------------------------------------------------------
-
-/**
- The EZAudioPlayer provides an interface that combines the EZAudioFile and EZOutput to play local audio files. This class acts as the master delegate (the EZAudioFileDelegate) over whatever EZAudioFile instance, the `audioFile` property, it is using for playback as well as the EZOutputDelegate and EZOutputDataSource over whatever EZOutput instance is set as the `output`. Classes that want to get the EZAudioFileDelegate callbacks should implement the EZAudioPlayer's EZAudioPlayerDelegate on the EZAudioPlayer instance. Since 0.5.0 the EZAudioPlayer offers notifications over the usual delegate methods to allow multiple receivers to get the EZAudioPlayer's state changes since one player will typically be used in one application. The EZAudioPlayerDelegate, the `delegate`, provides callbacks for high frequency methods that simply wrap the EZAudioFileDelegate and EZOutputDelegate callbacks for providing the audio buffer played as well as the position updating (you will typically have one scrub bar in an application).
- */
-@interface EZAudioPlayer : NSObject <EZAudioFileDelegate,
-                                     EZOutputDataSource,
-                                     EZOutputDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Properties
-///-----------------------------------------------------------
-
-/**
- The EZAudioPlayerDelegate that will handle the audio player callbacks
- */
-@property (nonatomic, weak) id<EZAudioPlayerDelegate> delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- A BOOL indicating whether the player should loop the file
- */
-@property (nonatomic, assign) BOOL shouldLoop;
-
-//------------------------------------------------------------------------------
-
-/**
- An EZAudioPlayerState value representing the current internal playback and file state of the EZAudioPlayer instance.
- */
-@property (nonatomic, assign, readonly) EZAudioPlayerState state;
-
-//------------------------------------------------------------------------------
-#pragma mark - Initializers
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Initializers
-///-----------------------------------------------------------
-
-/**
- Initializes the EZAudioPlayer with an EZAudioFile instance. This does not use the EZAudioFile by reference, but instead creates a separate EZAudioFile instance with the same file at the given file path provided by the internal NSURL to use for internal seeking so it doesn't cause any locking between the caller's instance of the EZAudioFile.
- @param audioFile The instance of the EZAudioFile to use for initializing the EZAudioPlayer
- @return The newly created instance of the EZAudioPlayer
- */
-- (instancetype)initWithAudioFile:(EZAudioFile *)audioFile;
-
-//------------------------------------------------------------------------------
-
-/**
- Initializes the EZAudioPlayer with an EZAudioFile instance and provides a way to assign the EZAudioPlayerDelegate on instantiation. This does not use the EZAudioFile by reference, but instead creates a separate EZAudioFile instance with the same file at the given file path provided by the internal NSURL to use for internal seeking so it doesn't cause any locking between the caller's instance of the EZAudioFile.
- @param audioFile The instance of the EZAudioFile to use for initializing the EZAudioPlayer
- @param delegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the initWithAudioFile: function instead.
- @return The newly created instance of the EZAudioPlayer
- */
-- (instancetype)initWithAudioFile:(EZAudioFile *)audioFile
-                         delegate:(id<EZAudioPlayerDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Initializes the EZAudioPlayer with an EZAudioPlayerDelegate.
- @param delegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the initWithAudioFile: function instead.
- @return The newly created instance of the EZAudioPlayer
- */
-- (instancetype)initWithDelegate:(id<EZAudioPlayerDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Initializes the EZAudioPlayer with an NSURL instance representing the file path of the audio file.
- @param url The NSURL instance representing the file path of the audio file.
- @return The newly created instance of the EZAudioPlayer
- */
-- (instancetype)initWithURL:(NSURL*)url;
-
-//------------------------------------------------------------------------------
-
-/**
- Initializes the EZAudioPlayer with an NSURL instance representing the file path of the audio file and a caller to assign as the EZAudioPlayerDelegate on instantiation.
- @param url The NSURL instance representing the file path of the audio file.
- @param delegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the initWithAudioFile: function instead.
- @return The newly created instance of the EZAudioPlayer
- */
-- (instancetype)initWithURL:(NSURL*)url
-                   delegate:(id<EZAudioPlayerDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initializers
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Class Initializers
-///-----------------------------------------------------------
-
-/**
- Class initializer that creates a default EZAudioPlayer.
- @return The newly created instance of the EZAudioPlayer
- */
-+ (instancetype)audioPlayer;
-
-//------------------------------------------------------------------------------
-
-/**
- Class initializer that creates the EZAudioPlayer with an EZAudioFile instance. This does not use the EZAudioFile by reference, but instead creates a separate EZAudioFile instance with the same file at the given file path provided by the internal NSURL to use for internal seeking so it doesn't cause any locking between the caller's instance of the EZAudioFile.
- @param audioFile The instance of the EZAudioFile to use for initializing the EZAudioPlayer
- @return The newly created instance of the EZAudioPlayer
- */
-+ (instancetype)audioPlayerWithAudioFile:(EZAudioFile *)audioFile;
-
-//------------------------------------------------------------------------------
-
-/**
- Class initializer that creates the EZAudioPlayer with an EZAudioFile instance and provides a way to assign the EZAudioPlayerDelegate on instantiation. This does not use the EZAudioFile by reference, but instead creates a separate EZAudioFile instance with the same file at the given file path provided by the internal NSURL to use for internal seeking so it doesn't cause any locking between the caller's instance of the EZAudioFile.
- @param audioFile The instance of the EZAudioFile to use for initializing the EZAudioPlayer
- @param delegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the audioPlayerWithAudioFile: function instead.
- @return The newly created instance of the EZAudioPlayer
- */
-+ (instancetype)audioPlayerWithAudioFile:(EZAudioFile *)audioFile
-                                delegate:(id<EZAudioPlayerDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Class initializer that creates a default EZAudioPlayer with an EZAudioPlayerDelegate..
- @return The newly created instance of the EZAudioPlayer
- */
-+ (instancetype)audioPlayerWithDelegate:(id<EZAudioPlayerDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Class initializer that creates the EZAudioPlayer with an NSURL instance representing the file path of the audio file.
- @param url The NSURL instance representing the file path of the audio file.
- @return The newly created instance of the EZAudioPlayer
- */
-+ (instancetype)audioPlayerWithURL:(NSURL*)url;
-
-//------------------------------------------------------------------------------
-
-/**
- Class initializer that creates the EZAudioPlayer with an NSURL instance representing the file path of the audio file and a caller to assign as the EZAudioPlayerDelegate on instantiation.
- @param url The NSURL instance representing the file path of the audio file.
- @param delegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the audioPlayerWithURL: function instead.
- @return The newly created instance of the EZAudioPlayer
- */
-+ (instancetype)audioPlayerWithURL:(NSURL*)url
-                          delegate:(id<EZAudioPlayerDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-#pragma mark - Singleton
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Shared Instance
-///-----------------------------------------------------------
-
-/**
- The shared instance (singleton) of the audio player. Most applications will only have one instance of the EZAudioPlayer that can be reused with multiple different audio files.
- *  @return The shared instance of the EZAudioPlayer.
- */
-+ (instancetype)sharedAudioPlayer;
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Properties
-///-----------------------------------------------------------
-
-/**
- Provides the EZAudioFile instance that is being used as the datasource for playback. When set it creates a copy of the EZAudioFile provided for internal use. This does not use the EZAudioFile by reference, but instead creates a copy of the EZAudioFile instance provided.
- */
-@property (nonatomic, readwrite, copy) EZAudioFile *audioFile;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the current offset in the audio file as an NSTimeInterval (i.e. in seconds).  When setting this it will determine the correct frame offset and perform a `seekToFrame` to the new time offset.
- @warning Make sure the new current time offset is less than the `duration` or you will receive an invalid seek assertion.
- */
-@property (nonatomic, readwrite) NSTimeInterval currentTime;
-
-//------------------------------------------------------------------------------
-
-/**
- The EZAudioDevice instance that is being used by the `output`. Similarly, setting this just sets the `device` property of the `output`.
- */
-@property (readwrite) EZAudioDevice *device;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the duration of the audio file in seconds.
- */
-@property (readonly) NSTimeInterval duration;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the current time as an NSString with the time format MM:SS.
- */
-@property (readonly) NSString *formattedCurrentTime;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the duration as an NSString with the time format MM:SS.
- */
-@property (readonly) NSString *formattedDuration;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the EZOutput that is being used to handle the actual playback of the audio data. This property is also settable, but note that the EZAudioPlayer will become the output's EZOutputDataSource and EZOutputDelegate. To listen for the EZOutput's delegate methods your view should implement the EZAudioPlayerDelegate and set itself as the EZAudioPlayer's `delegate`.
- */
-@property (nonatomic, strong, readwrite) EZOutput *output;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the frame index (a.k.a the seek positon) within the audio file being used for playback. This can be helpful when seeking through the audio file.
- @return An SInt64 representing the current frame index within the audio file used for playback.
- */
-@property (readonly) SInt64 frameIndex;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides a flag indicating whether the EZAudioPlayer is currently playing back any audio.
- @return A BOOL indicating whether or not the EZAudioPlayer is performing playback,
- */
-@property (readonly) BOOL isPlaying;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the current pan from the audio player's internal `output` component. Setting the pan adjusts the direction of the audio signal from left (0) to right (1). Default is 0.5 (middle).
- */
-@property (nonatomic, assign) float pan;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the total amount of frames in the current audio file being used for playback.
- @return A SInt64 representing the total amount of frames in the current audio file being used for playback.
- */
-@property (readonly) SInt64 totalFrames;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the file path that's currently being used by the player for playback.
- @return  The NSURL representing the file path of the audio file being used for playback.
- */
-@property (nonatomic, copy, readonly) NSURL *url;
-
-//------------------------------------------------------------------------------
-
-/**
-  Provides the current volume from the audio player's internal `output` component. Setting the volume adjusts the gain of the output between 0 and 1. Default is 1.
- */
-@property (nonatomic, assign) float volume;
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Controlling Playback
-///-----------------------------------------------------------
-
-/**
- Starts playback.
- */
-- (void)play;
-
-//------------------------------------------------------------------------------
-
-/**
- Loads an EZAudioFile and immediately starts playing it.
- @param audioFile An EZAudioFile to use for immediate playback.
- */
-- (void)playAudioFile:(EZAudioFile *)audioFile;
-
-//------------------------------------------------------------------------------
-
-/**
- Pauses playback.
- */
-- (void)pause;
-
-//------------------------------------------------------------------------------
-
-/**
- Seeks playback to a specified frame within the internal EZAudioFile. This will notify the EZAudioFileDelegate (if specified) with the audioPlayer:updatedPosition:inAudioFile: function.
- @param frame The new frame position to seek to as a SInt64.
- */
-- (void)seekToFrame:(SInt64)frame;
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZAudioPlayer.m b/document/EZAudio-master/EZAudio/EZAudioPlayer.m
deleted file mode 100644 (file)
index d105d09..0000000
+++ /dev/null
@@ -1,459 +0,0 @@
-//
-//  EZAudioPlayer.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 1/16/14.
-//  Copyright (c) 2014 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZAudioPlayer.h"
-#import "EZAudioUtilities.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - Notifications
-//------------------------------------------------------------------------------
-
-NSString * const EZAudioPlayerDidChangeAudioFileNotification = @"EZAudioPlayerDidChangeAudioFileNotification";
-NSString * const EZAudioPlayerDidChangeOutputDeviceNotification = @"EZAudioPlayerDidChangeOutputDeviceNotification";
-NSString * const EZAudioPlayerDidChangePanNotification = @"EZAudioPlayerDidChangePanNotification";
-NSString * const EZAudioPlayerDidChangePlayStateNotification = @"EZAudioPlayerDidChangePlayStateNotification";
-NSString * const EZAudioPlayerDidChangeVolumeNotification = @"EZAudioPlayerDidChangeVolumeNotification";
-NSString * const EZAudioPlayerDidReachEndOfFileNotification = @"EZAudioPlayerDidReachEndOfFileNotification";
-NSString * const EZAudioPlayerDidSeekNotification = @"EZAudioPlayerDidSeekNotification";
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlayer (Interface Extension)
-//------------------------------------------------------------------------------
-
-@interface EZAudioPlayer ()
-@property (nonatomic, assign, readwrite) EZAudioPlayerState state;
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlayer (Implementation)
-//------------------------------------------------------------------------------
-
-@implementation EZAudioPlayer
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Methods
-//------------------------------------------------------------------------------
-
-+ (instancetype)audioPlayer
-{
-    return [[self alloc] init];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)audioPlayerWithDelegate:(id<EZAudioPlayerDelegate>)delegate
-{
-    return [[self alloc] initWithDelegate:delegate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)audioPlayerWithAudioFile:(EZAudioFile *)audioFile
-{
-    return [[self alloc] initWithAudioFile:audioFile];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)audioPlayerWithAudioFile:(EZAudioFile *)audioFile
-                                   delegate:(id<EZAudioPlayerDelegate>)delegate
-{
-    return [[self alloc] initWithAudioFile:audioFile
-                                  delegate:delegate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)audioPlayerWithURL:(NSURL *)url
-{
-    return [[self alloc] initWithURL:url];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)audioPlayerWithURL:(NSURL *)url
-                             delegate:(id<EZAudioPlayerDelegate>)delegate
-{
-    return [[self alloc] initWithURL:url delegate:delegate];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Initialization
-//------------------------------------------------------------------------------
-
-- (instancetype)init
-{
-    self = [super init];
-    if (self)
-    {
-        [self setup];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithDelegate:(id<EZAudioPlayerDelegate>)delegate
-{
-    self = [self init];
-    if (self)
-    {
-        self.delegate = delegate;
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithAudioFile:(EZAudioFile *)audioFile
-{
-    return [self initWithAudioFile:audioFile delegate:nil];
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithAudioFile:(EZAudioFile *)audioFile
-                            delegate:(id<EZAudioPlayerDelegate>)delegate
-{
-    self = [self initWithDelegate:delegate];
-    if (self)
-    {
-        self.audioFile = audioFile;
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithURL:(NSURL *)url
-{
-    return [self initWithURL:url delegate:nil];
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithURL:(NSURL *)url
-                      delegate:(id<EZAudioPlayerDelegate>)delegate
-{
-    self = [self initWithDelegate:delegate];
-    if (self)
-    {
-        self.audioFile = [EZAudioFile audioFileWithURL:url delegate:self];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Singleton
-//------------------------------------------------------------------------------
-
-+ (instancetype)sharedAudioPlayer
-{
-    static EZAudioPlayer *player;
-    static dispatch_once_t onceToken;
-    dispatch_once(&onceToken, ^
-    {
-        player = [[self alloc] init];
-    });
-    return player;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void)setup
-{
-    self.output = [EZOutput output];
-    self.state = EZAudioPlayerStateReadyToPlay;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Getters
-//------------------------------------------------------------------------------
-
-- (NSTimeInterval)currentTime
-{
-    return [self.audioFile currentTime];
-}
-
-//------------------------------------------------------------------------------
-
-- (EZAudioDevice *)device
-{
-    return [self.output device];
-}
-
-//------------------------------------------------------------------------------
-
-- (NSTimeInterval)duration
-{
-    return [self.audioFile duration];
-}
-
-//------------------------------------------------------------------------------
-
-- (NSString *)formattedCurrentTime
-{
-    return [self.audioFile formattedCurrentTime];
-}
-
-//------------------------------------------------------------------------------
-
-- (NSString *)formattedDuration
-{
-    return [self.audioFile formattedDuration];
-}
-
-//------------------------------------------------------------------------------
-
-- (SInt64)frameIndex
-{
-    return [self.audioFile frameIndex];
-}
-
-//------------------------------------------------------------------------------
-
-- (BOOL)isPlaying
-{
-    return [self.output isPlaying];
-}
-
-//------------------------------------------------------------------------------
-
-- (float)pan
-{
-    return [self.output pan];
-}
-
-//------------------------------------------------------------------------------
-
-- (SInt64)totalFrames
-{
-    return [self.audioFile totalFrames];
-}
-
-//------------------------------------------------------------------------------
-
-- (float)volume
-{
-    return [self.output volume];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setters
-//------------------------------------------------------------------------------
-
-- (void)setAudioFile:(EZAudioFile *)audioFile
-{
-    _audioFile = [audioFile copy];
-    _audioFile.delegate = self;
-    AudioStreamBasicDescription inputFormat = _audioFile.clientFormat;
-    [self.output setInputFormat:inputFormat];
-    [[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidChangeAudioFileNotification
-                                                        object:self];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setCurrentTime:(NSTimeInterval)currentTime
-{
-    [self.audioFile setCurrentTime:currentTime];
-    [[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidSeekNotification
-                                                        object:self];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setDevice:(EZAudioDevice *)device
-{
-    [self.output setDevice:device];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setOutput:(EZOutput *)output
-{
-    _output = output;
-    _output.dataSource = self;
-    _output.delegate = self;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setPan:(float)pan
-{
-    [self.output setPan:pan];
-    [[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidChangePanNotification
-                                                        object:self];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setVolume:(float)volume
-{
-    [self.output setVolume:volume];
-    [[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidChangeVolumeNotification
-                                                        object:self];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)play
-{
-    [self.output startPlayback];
-    self.state = EZAudioPlayerStatePlaying;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)playAudioFile:(EZAudioFile *)audioFile
-{
-    //
-    // stop playing anything that might currently be playing
-    //
-    [self pause];
-    
-    //
-    // set new stream
-    //
-    self.audioFile = audioFile;
-    
-    //
-    // begin playback
-    //
-    [self play];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)pause
-{
-    [self.output stopPlayback];
-    self.state = EZAudioPlayerStatePaused;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)seekToFrame:(SInt64)frame
-{
-    self.state = EZAudioPlayerStateSeeking;
-    [self.audioFile seekToFrame:frame];
-    self.state = self.isPlaying ? EZAudioPlayerStatePlaying : EZAudioPlayerStatePaused;
-    [[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidSeekNotification
-                                                        object:self];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZOutputDataSource
-//------------------------------------------------------------------------------
-
-- (OSStatus)        output:(EZOutput *)output
- shouldFillAudioBufferList:(AudioBufferList *)audioBufferList
-        withNumberOfFrames:(UInt32)frames
-                 timestamp:(const AudioTimeStamp *)timestamp
-{
-    if (self.audioFile)
-    {
-        UInt32 bufferSize;
-        BOOL eof;
-        [self.audioFile readFrames:frames
-                   audioBufferList:audioBufferList
-                        bufferSize:&bufferSize
-                               eof:&eof];
-        if (eof && [self.delegate respondsToSelector:@selector(audioPlayer:reachedEndOfAudioFile:)]) 
-        {
-            [self.delegate audioPlayer:self reachedEndOfAudioFile:self.audioFile];
-        }
-        if (eof && self.shouldLoop)
-        {
-            [self seekToFrame:0];
-        }
-        else if (eof)
-        {
-            [self pause];
-            [self seekToFrame:0];
-            self.state = EZAudioPlayerStateEndOfFile;
-            [[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidReachEndOfFileNotification
-                                                                object:self];
-        }
-    }
-    return noErr;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFileDelegate
-//------------------------------------------------------------------------------
-
-- (void)audioFileUpdatedPosition:(EZAudioFile *)audioFile
-{
-    if ([self.delegate respondsToSelector:@selector(audioPlayer:updatedPosition:inAudioFile:)])
-    {
-        [self.delegate audioPlayer:self
-                   updatedPosition:[audioFile frameIndex]
-                       inAudioFile:audioFile];
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZOutputDelegate
-//------------------------------------------------------------------------------
-
-- (void)output:(EZOutput *)output changedDevice:(EZAudioDevice *)device
-{
-    [[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidChangeOutputDeviceNotification
-                                                        object:self];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)output:(EZOutput *)output changedPlayingState:(BOOL)isPlaying
-{
-    [[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidChangePlayStateNotification
-                                                        object:self];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)       output:(EZOutput *)output
-          playedAudio:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    if ([self.delegate respondsToSelector:@selector(audioPlayer:playedAudio:withBufferSize:withNumberOfChannels:inAudioFile:)])
-    {
-        [self.delegate audioPlayer:self
-                       playedAudio:buffer
-                    withBufferSize:bufferSize
-              withNumberOfChannels:numberOfChannels
-                       inAudioFile:self.audioFile];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZAudioPlot.h b/document/EZAudio-master/EZAudio/EZAudioPlot.h
deleted file mode 100644 (file)
index 92009a3..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-//
-//  EZAudioPlot.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 9/2/13.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <QuartzCore/QuartzCore.h>
-#import "EZPlot.h"
-#import "EZAudioDisplayLink.h"
-
-@class EZAudio;
-
-//------------------------------------------------------------------------------
-#pragma mark - Constants
-//------------------------------------------------------------------------------
-
-/**
- The default value used for the maximum rolling history buffer length of any EZAudioPlot.
- @deprecated This constant is deprecated starting in version 0.2.0.
- @note Please use EZAudioPlotDefaultMaxHistoryBufferLength instead.
- */
-FOUNDATION_EXPORT UInt32 const kEZAudioPlotMaxHistoryBufferLength __attribute__((deprecated));
-
-/**
- The default value used for the default rolling history buffer length of any EZAudioPlot.
- @deprecated This constant is deprecated starting in version 0.2.0.
- @note Please use EZAudioPlotDefaultHistoryBufferLength instead.
- */
-FOUNDATION_EXPORT UInt32 const kEZAudioPlotDefaultHistoryBufferLength __attribute__((deprecated));
-
-/**
- The default value used for the default rolling history buffer length of any EZAudioPlot.
- */
-FOUNDATION_EXPORT UInt32 const EZAudioPlotDefaultHistoryBufferLength;
-
-/**
- The default value used for the maximum rolling history buffer length of any EZAudioPlot.
- */
-FOUNDATION_EXPORT UInt32 const EZAudioPlotDefaultMaxHistoryBufferLength;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlotWaveformLayer
-//------------------------------------------------------------------------------
-
-/**
- The EZAudioPlotWaveformLayer is a lightweight subclass of the CAShapeLayer that allows implicit animations on the `path` key.
- */
-@interface EZAudioPlotWaveformLayer : CAShapeLayer
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlot
-//------------------------------------------------------------------------------
-
-/**
- `EZAudioPlot`, a subclass of `EZPlot`, is a cross-platform (iOS and OSX) class that plots an audio waveform using Core Graphics. 
- 
- The caller provides updates a constant stream of updated audio data in the `updateBuffer:withBufferSize:` function, which in turn will be plotted in one of the plot types:
-    
- * Buffer (`EZPlotTypeBuffer`) - A plot that only consists of the current buffer and buffer size from the last call to `updateBuffer:withBufferSize:`. This looks similar to the default openFrameworks input audio example.
- * Rolling (`EZPlotTypeRolling`) - A plot that consists of a rolling history of values averaged from each buffer. This is the traditional waveform look.
- 
- #Parent Methods and Properties#
- 
- See EZPlot for full API methods and properties (colors, plot type, update function)
- 
- */
-@interface EZAudioPlot : EZPlot
-
-/**
- A BOOL that allows optimizing the audio plot's drawing for real-time displays. Since the update function may be updating the plot's data very quickly (over 60 frames per second) this property will throttle the drawing calls to be 60 frames per second (or whatever the screen rate is). Specifically, it disables implicit path change animations on the `waveformLayer` and sets up a display link to render 60 fps (audio updating the plot at 44.1 kHz causes it to re-render 86 fps - far greater than what is needed for a visual display).
- */
-@property (nonatomic, assign) BOOL shouldOptimizeForRealtimePlot;
-
-//------------------------------------------------------------------------------
-
-/**
- A BOOL indicating whether the plot should center itself vertically.
- */
-@property (nonatomic, assign) BOOL shouldCenterYAxis;
-
-//------------------------------------------------------------------------------
-
-/**
- An EZAudioPlotWaveformLayer that is used to render the actual waveform. By switching the drawing code to Core Animation layers in version 0.2.0 most work, specifically the compositing step, is now done on the GPU. Hence, multiple EZAudioPlot instances can be used simultaneously with very low CPU overhead so these are now practical for table and collection views.
- */
-@property (nonatomic, strong) EZAudioPlotWaveformLayer *waveformLayer;
-
-//------------------------------------------------------------------------------
-#pragma mark - Adjust Resolution
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Adjusting The Resolution
-///-----------------------------------------------------------
-
-/**
- Sets the length of the rolling history buffer (i.e. the number of points in the rolling plot's buffer). Can grow or shrink the display up to the maximum size specified by the `maximumRollingHistoryLength` method. Will return the actual set value, which will be either the given value if smaller than the `maximumRollingHistoryLength` or `maximumRollingHistoryLength` if a larger value is attempted to be set.
- @param  historyLength The new length of the rolling history buffer.
- @return The new value equal to the historyLength or the `maximumRollingHistoryLength`.
- */
--(int)setRollingHistoryLength:(int)historyLength;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the length of the rolling history buffer (i.e. the number of points in the rolling plot's buffer).
- *  @return An int representing the length of the rolling history buffer
- */
--(int)rollingHistoryLength;
-
-//------------------------------------------------------------------------------
-#pragma mark - Subclass Methods
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Subclass Methods
-///-----------------------------------------------------------
-
-/**
- Main method that handles converting the points created from the `updatedBuffer:withBufferSize:` method into a CGPathRef to store in the `waveformLayer`. In this method you can create any path you'd like using the point array (for instance, maybe mapping the points to a circle instead of the standard 2D plane).
- @param points     An array of CGPoint structures, with the x values ranging from 0 - (pointCount - 1) and y values containing the last audio data's buffer.
- @param pointCount A UInt32 of the length of the point array.
- @param rect       An EZRect (CGRect on iOS or NSRect on OSX) that the path should be created relative to.
- @return A CGPathRef that is the path you'd like to store on the `waveformLayer` to visualize the audio data.
- */
-- (CGPathRef)createPathWithPoints:(CGPoint *)points
-                       pointCount:(UInt32)pointCount
-                           inRect:(EZRect)rect;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the default length of the rolling history buffer when the plot is initialized. Default is `EZAudioPlotDefaultHistoryBufferLength` constant.
- @return An int describing the initial length of the rolling history buffer.
- */
-- (int)defaultRollingHistoryLength;
-
-//------------------------------------------------------------------------------
-
-/**
- Called after the view has been created. Subclasses should use to add any additional methods needed instead of overriding the init methods.
- */
-- (void)setupPlot;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the default number of points that will be used to initialize the graph's points data structure that holds. Essentially the plot starts off as a flat line of this many points. Default is 100.
- @return An int describing the initial number of points the plot should have when flat lined.
- */
-- (int)initialPointCount;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the default maximum rolling history length - that is, the maximum amount of points the `setRollingHistoryLength:` method may be set to. If a length higher than this is set then the plot will likely crash because the appropriate resources are only allocated once during the plot's initialization step. Defualt is `EZAudioPlotDefaultMaxHistoryBufferLength` constant.
- @return An int describing the maximum length of the absolute rolling history buffer.
- */
-- (int)maximumRollingHistoryLength;
-
-//------------------------------------------------------------------------------
-
-/**
- Method to cause the waveform layer's path to get recreated and redrawn on screen using the last buffer of data provided. This is the equivalent to the drawRect: method used to normally subclass a view's drawing. This normally don't need to be overrode though - a better approach would be to override the `createPathWithPoints:pointCount:inRect:` method.
- */
-- (void)redraw;
-
-//------------------------------------------------------------------------------
-
-/**
- Main method used to copy the sample data from the source buffer and update the 
- plot. Subclasses can overwrite this method for custom behavior.
- @param data   A float array of the sample data. Subclasses should copy this data to a separate array to avoid threading issues.
- @param length The length of the float array as an int.
- */
--(void)setSampleData:(float *)data length:(int)length;
-
-//------------------------------------------------------------------------------
-
-@end
-
-@interface EZAudioPlot () <EZAudioDisplayLinkDelegate>
-@property (nonatomic, strong) EZAudioDisplayLink *displayLink;
-@property (nonatomic, assign) EZPlotHistoryInfo  *historyInfo;
-@property (nonatomic, assign) CGPoint            *points;
-@property (nonatomic, assign) UInt32              pointCount;
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZAudioPlot.m b/document/EZAudio-master/EZAudio/EZAudioPlot.m
deleted file mode 100644 (file)
index 7603e26..0000000
+++ /dev/null
@@ -1,453 +0,0 @@
-//
-//  EZAudioPlot.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 9/2/13.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZAudioPlot.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - Constants
-//------------------------------------------------------------------------------
-
-UInt32 const kEZAudioPlotMaxHistoryBufferLength = 8192;
-UInt32 const kEZAudioPlotDefaultHistoryBufferLength = 512;
-UInt32 const EZAudioPlotDefaultHistoryBufferLength = 512;
-UInt32 const EZAudioPlotDefaultMaxHistoryBufferLength = 8192;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlot (Implementation)
-//------------------------------------------------------------------------------
-
-@implementation EZAudioPlot
-
-//------------------------------------------------------------------------------
-#pragma mark - Dealloc
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-    [EZAudioUtilities freeHistoryInfo:self.historyInfo];
-    free(self.points);
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Initialization
-//------------------------------------------------------------------------------
-
-- (id)init
-{
-    self = [super init];
-    if (self)
-    {
-        [self initPlot];
-    }
-    return self;
-}
-
-- (id)initWithCoder:(NSCoder *)aDecoder
-{
-    self = [super initWithCoder:aDecoder];
-    if (self)
-    {
-        [self initPlot];
-    }
-    return self;
-}
-
-#if TARGET_OS_IPHONE
-- (id)initWithFrame:(CGRect)frameRect
-#elif TARGET_OS_MAC
-- (id)initWithFrame:(NSRect)frameRect
-#endif
-{
-    self = [super initWithFrame:frameRect];
-    if (self)
-    {
-        [self initPlot];
-    }
-    return self;
-}
-
-#if TARGET_OS_IPHONE
-- (void)layoutSubviews
-{
-    [super layoutSubviews];
-    [CATransaction begin];
-    [CATransaction setDisableActions:YES];
-    self.waveformLayer.frame = self.bounds;
-    [self redraw];
-    [CATransaction commit];
-}
-#elif TARGET_OS_MAC
-- (void)layout
-{
-    [super layout];
-    [CATransaction begin];
-    [CATransaction setDisableActions:YES];
-    self.waveformLayer.frame = self.bounds;
-    [self redraw];
-    [CATransaction commit];
-}
-#endif
-
-- (void)initPlot
-{
-    self.shouldCenterYAxis = YES;
-    self.shouldOptimizeForRealtimePlot = YES;
-    self.gain = 1.0;
-    self.plotType = EZPlotTypeBuffer;
-    self.shouldMirror = NO;
-    self.shouldFill = NO;
-    
-    // Setup history window
-    [self resetHistoryBuffers];
-    
-    self.waveformLayer = [EZAudioPlotWaveformLayer layer];
-    self.waveformLayer.frame = self.bounds;
-    self.waveformLayer.lineWidth = 1.0f;
-    self.waveformLayer.fillColor = nil;
-    self.waveformLayer.backgroundColor = nil;
-    self.waveformLayer.opaque = YES;
-    
-#if TARGET_OS_IPHONE
-    self.color = [UIColor colorWithHue:0 saturation:1.0 brightness:1.0 alpha:1.0]; 
-#elif TARGET_OS_MAC
-    self.color = [NSColor colorWithCalibratedHue:0 saturation:1.0 brightness:1.0 alpha:1.0];
-    self.wantsLayer = YES;
-    self.layerContentsRedrawPolicy = NSViewLayerContentsRedrawOnSetNeedsDisplay;
-#endif
-    self.backgroundColor = nil;
-    [self.layer insertSublayer:self.waveformLayer atIndex:0];
-    
-    //
-    // Allow subclass to initialize plot
-    //
-    [self setupPlot];
-    
-    self.points = calloc(EZAudioPlotDefaultMaxHistoryBufferLength, sizeof(CGPoint));
-    self.pointCount = [self initialPointCount];
-    [self redraw];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setupPlot
-{
-    //
-    // Override in subclass
-    //
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void)resetHistoryBuffers
-{
-    //
-    // Clear any existing data
-    //
-    if (self.historyInfo)
-    {
-        [EZAudioUtilities freeHistoryInfo:self.historyInfo];
-    }
-    
-    self.historyInfo = [EZAudioUtilities historyInfoWithDefaultLength:[self defaultRollingHistoryLength]
-                                                        maximumLength:[self maximumRollingHistoryLength]];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setters
-//------------------------------------------------------------------------------
-
-- (void)setBackgroundColor:(id)backgroundColor
-{
-    [super setBackgroundColor:backgroundColor];
-    self.layer.backgroundColor = [backgroundColor CGColor];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setColor:(id)color
-{
-    [super setColor:color];
-    self.waveformLayer.strokeColor = [color CGColor];
-    if (self.shouldFill)
-    {
-        self.waveformLayer.fillColor = [color CGColor];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setShouldOptimizeForRealtimePlot:(BOOL)shouldOptimizeForRealtimePlot
-{
-    _shouldOptimizeForRealtimePlot = shouldOptimizeForRealtimePlot;
-    if (shouldOptimizeForRealtimePlot && !self.displayLink)
-    {
-        self.displayLink = [EZAudioDisplayLink displayLinkWithDelegate:self];
-        [self.displayLink start];
-    }
-    else
-    {
-        [self.displayLink stop];
-        self.displayLink = nil;
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setShouldFill:(BOOL)shouldFill
-{
-    [super setShouldFill:shouldFill];
-    self.waveformLayer.fillColor = shouldFill ? [self.color CGColor] : nil;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Drawing
-//------------------------------------------------------------------------------
-
-- (void)clear
-{
-    if (self.pointCount > 0)
-    {
-        [self resetHistoryBuffers];
-        float data[self.pointCount];
-        memset(data, 0, self.pointCount * sizeof(float));
-        [self setSampleData:data length:self.pointCount];
-        [self redraw];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)redraw
-{
-    EZRect frame = [self.waveformLayer frame];
-    CGPathRef path = [self createPathWithPoints:self.points
-                                     pointCount:self.pointCount
-                                         inRect:frame];
-    if (self.shouldOptimizeForRealtimePlot)
-    {
-        [CATransaction begin];
-        [CATransaction setDisableActions:YES];
-        self.waveformLayer.path = path;
-        [CATransaction commit];
-    }
-    else
-    {
-        self.waveformLayer.path = path;
-    }
-    CGPathRelease(path);
-}
-
-//------------------------------------------------------------------------------
-
-- (CGPathRef)createPathWithPoints:(CGPoint *)points
-                  pointCount:(UInt32)pointCount
-                      inRect:(EZRect)rect
-{
-    CGMutablePathRef path = NULL;
-    if (pointCount > 0)
-    {
-        path = CGPathCreateMutable();
-        double xscale = (rect.size.width) / ((float)self.pointCount);
-        double halfHeight = floor(rect.size.height / 2.0);
-        int deviceOriginFlipped = [self isDeviceOriginFlipped] ? -1 : 1;
-        CGAffineTransform xf = CGAffineTransformIdentity;
-        CGFloat translateY = 0.0f;
-        if (!self.shouldCenterYAxis)
-        {
-#if TARGET_OS_IPHONE
-            translateY = CGRectGetHeight(rect);
-#elif TARGET_OS_MAC
-            translateY = 0.0f;
-#endif
-        }
-        else
-        {
-            translateY = halfHeight + rect.origin.y;
-        }
-        xf = CGAffineTransformTranslate(xf, 0.0, translateY);
-        double yScaleFactor = halfHeight;
-        if (!self.shouldCenterYAxis)
-        {
-            yScaleFactor = 2.0 * halfHeight;
-        }
-        xf = CGAffineTransformScale(xf, xscale, deviceOriginFlipped * yScaleFactor);
-        CGPathAddLines(path, &xf, self.points, self.pointCount);
-        if (self.shouldMirror)
-        {
-            xf = CGAffineTransformScale(xf, 1.0f, -1.0f);
-            CGPathAddLines(path, &xf, self.points, self.pointCount);
-        }
-        if (self.shouldFill)
-        {
-            CGPathCloseSubpath(path);
-        }
-    }
-    return path;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Update
-//------------------------------------------------------------------------------
-
-- (void)updateBuffer:(float *)buffer withBufferSize:(UInt32)bufferSize
-{
-    // append the buffer to the history
-    [EZAudioUtilities appendBufferRMS:buffer
-                       withBufferSize:bufferSize
-                        toHistoryInfo:self.historyInfo];
-    
-    // copy samples
-    switch (self.plotType)
-    {
-        case EZPlotTypeBuffer:
-            [self setSampleData:buffer
-                         length:bufferSize];
-            break;
-        case EZPlotTypeRolling:
-            
-            [self setSampleData:self.historyInfo->buffer
-                         length:self.historyInfo->bufferSize];
-            break;
-        default:
-            break;
-    }
-    
-    // update drawing
-    if (!self.shouldOptimizeForRealtimePlot)
-    {
-        [self redraw];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setSampleData:(float *)data length:(int)length
-{
-    CGPoint *points = self.points;
-    for (int i = 0; i < length; i++)
-    {
-        points[i].x = i;
-        points[i].y = data[i] * self.gain;
-    }
-    points[0].y = points[length - 1].y = 0.0f;
-    self.pointCount = length;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Adjusting History Resolution
-//------------------------------------------------------------------------------
-
-- (int)rollingHistoryLength
-{
-    return self.historyInfo->bufferSize;
-}
-
-//------------------------------------------------------------------------------
-
-- (int)setRollingHistoryLength:(int)historyLength
-{
-    self.historyInfo->bufferSize = MIN(EZAudioPlotDefaultMaxHistoryBufferLength, historyLength);
-    return self.historyInfo->bufferSize;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Subclass
-//------------------------------------------------------------------------------
-
-- (int)defaultRollingHistoryLength
-{
-    return EZAudioPlotDefaultHistoryBufferLength;
-}
-
-//------------------------------------------------------------------------------
-
-- (int)initialPointCount
-{
-    return 100;
-}
-
-//------------------------------------------------------------------------------
-
-- (int)maximumRollingHistoryLength
-{
-    return EZAudioPlotDefaultMaxHistoryBufferLength;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Utility
-//------------------------------------------------------------------------------
-
-- (BOOL)isDeviceOriginFlipped
-{
-    BOOL isDeviceOriginFlipped = NO;
-#if TARGET_OS_IPHONE
-    isDeviceOriginFlipped = YES;
-#elif TARGET_OS_MAC
-#endif
-    return isDeviceOriginFlipped;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioDisplayLinkDelegate
-//------------------------------------------------------------------------------
-
-- (void)displayLinkNeedsDisplay:(EZAudioDisplayLink *)displayLink
-{
-    [self redraw];
-}
-
-//------------------------------------------------------------------------------
-
-@end
-
-////------------------------------------------------------------------------------
-#pragma mark - EZAudioPlotWaveformLayer (Implementation)
-////------------------------------------------------------------------------------
-
-@implementation EZAudioPlotWaveformLayer
-
-- (id<CAAction>)actionForKey:(NSString *)event
-{
-    if ([event isEqualToString:@"path"])
-    {
-        if ([CATransaction disableActions])
-        {
-            return nil;
-        }
-        else
-        {
-            CABasicAnimation *animation = [CABasicAnimation animation];
-            animation.timingFunction = [CATransaction animationTimingFunction];
-            animation.duration = [CATransaction animationDuration];
-            return animation;
-        }
-        return nil;
-    }
-    return [super actionForKey:event];
-}
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZAudioPlotGL.h b/document/EZAudio-master/EZAudio/EZAudioPlotGL.h
deleted file mode 100644 (file)
index 70e5a00..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-//
-//  EZAudioPlotGL.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 11/22/13.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <GLKit/GLKit.h>
-#import "EZPlot.h"
-#if !TARGET_OS_IPHONE
-#import <OpenGL/OpenGL.h>
-#endif
-
-//------------------------------------------------------------------------------
-#pragma mark - Data Structures
-//------------------------------------------------------------------------------
-
-typedef struct
-{
-    GLfloat x;
-    GLfloat y;
-} EZAudioPlotGLPoint;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlotGL
-//------------------------------------------------------------------------------
-
-/**
- EZAudioPlotGL is a subclass of either a GLKView on iOS or an NSOpenGLView on OSX. As of 0.6.0 this class no longer depends on an embedded GLKViewController for iOS as the display link is just manually managed within this single view instead. The EZAudioPlotGL provides the same kind of audio plot as the EZAudioPlot, but uses OpenGL to GPU-accelerate the drawing of the points, which means you can fit a lot more points and complex geometries.
- */
-#if TARGET_OS_IPHONE
-@interface EZAudioPlotGL : GLKView
-#elif TARGET_OS_MAC
-@interface EZAudioPlotGL : NSOpenGLView
-#endif
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Customizing The Plot's Appearance
-///-----------------------------------------------------------
-
-/**
- The default background color of the plot. For iOS the color is specified as a UIColor while for OSX the color is an NSColor. The default value on both platforms is a sweet looking green. 
- @warning On OSX, if you set the background to a value where the alpha component is 0 then the EZAudioPlotGL will automatically set its superview to be layer-backed.
- */
-#if TARGET_OS_IPHONE
-@property (nonatomic, strong) IBInspectable UIColor *backgroundColor;
-#elif TARGET_OS_MAC
-@property (nonatomic, strong) IBInspectable NSColor *backgroundColor;
-#endif
-
-//------------------------------------------------------------------------------
-
-/**
- The default color of the plot's data (i.e. waveform, y-axis values). For iOS the color is specified as a UIColor while for OSX the color is an NSColor. The default value on both platforms is white.
- */
-#if TARGET_OS_IPHONE
-@property (nonatomic, strong) IBInspectable UIColor *color;
-#elif TARGET_OS_MAC
-@property (nonatomic, strong) IBInspectable NSColor *color;
-#endif
-
-//------------------------------------------------------------------------------
-
-/**
- The plot's gain value, which controls the scale of the y-axis values. The default value of the gain is 1.0f and should always be greater than 0.0f.
- */
-@property (nonatomic, assign) IBInspectable  float gain;
-
-//------------------------------------------------------------------------------
-
-/**
- The type of plot as specified by the `EZPlotType` enumeration (i.e. a buffer or rolling plot type). Default is EZPlotTypeBuffer.
- */
-@property (nonatomic, assign) EZPlotType plotType;
-
-//------------------------------------------------------------------------------
-
-/**
- A BOOL indicating whether or not to fill in the graph. A value of YES will make a filled graph (filling in the space between the x-axis and the y-value), while a value of NO will create a stroked graph (connecting the points along the y-axis). Default is NO.
- */
-@property (nonatomic, assign) IBInspectable BOOL shouldFill;
-
-//------------------------------------------------------------------------------
-
-/**
- A boolean indicating whether the graph should be rotated along the x-axis to give a mirrored reflection. This is typical for audio plots to produce the classic waveform look. A value of YES will produce a mirrored reflection of the y-values about the x-axis, while a value of NO will only plot the y-values. Default is NO.
- */
-@property (nonatomic, assign) IBInspectable BOOL shouldMirror;
-
-//------------------------------------------------------------------------------
-#pragma mark - Updating The Plot
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Updating The Plot
-///-----------------------------------------------------------
-
-/**
- Updates the plot with the new buffer data and tells the view to redraw itself. Caller will provide a float array with the values they expect to see on the y-axis. The plot will internally handle mapping the x-axis and y-axis to the current view port, any interpolation for fills effects, and mirroring.
- @param buffer     A float array of values to map to the y-axis.
- @param bufferSize The size of the float array that will be mapped to the y-axis.
- */
--(void)updateBuffer:(float *)buffer withBufferSize:(UInt32)bufferSize;
-
-//------------------------------------------------------------------------------
-#pragma mark - Adjust Resolution
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Adjusting The Resolution
-///-----------------------------------------------------------
-
-/**
- Sets the length of the rolling history buffer (i.e. the number of points in the rolling plot's buffer). Can grow or shrink the display up to the maximum size specified by the `maximumRollingHistoryLength` method. Will return the actual set value, which will be either the given value if smaller than the `maximumRollingHistoryLength` or `maximumRollingHistoryLength` if a larger value is attempted to be set.
- @param  historyLength The new length of the rolling history buffer.
- @return The new value equal to the historyLength or the `maximumRollingHistoryLength`.
- */
--(int)setRollingHistoryLength:(int)historyLength;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the length of the rolling history buffer (i.e. the number of points in the rolling plot's buffer).
- *  @return An int representing the length of the rolling history buffer
- */
--(int)rollingHistoryLength;
-
-//------------------------------------------------------------------------------
-#pragma mark - Clearing The Plot
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Clearing The Plot
-///-----------------------------------------------------------
-
-/**
- Clears all data from the audio plot (includes both EZPlotTypeBuffer and EZPlotTypeRolling)
- */
--(void)clear;
-
-//------------------------------------------------------------------------------
-#pragma mark - Start/Stop Display Link
-//------------------------------------------------------------------------------
-
-/**
- Call this method to tell the EZAudioDisplayLink to stop drawing temporarily.
- */
-- (void)pauseDrawing;
-
-//------------------------------------------------------------------------------
-
-/**
-  Call this method to manually tell the EZAudioDisplayLink to start drawing again.
- */
-- (void)resumeDrawing;
-
-//------------------------------------------------------------------------------
-#pragma mark - Subclass
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Customizing The Drawing
-///-----------------------------------------------------------
-
-/**
- This method is used to perform the actual OpenGL drawing code to clear the background and draw the lines representing the 2D audio plot. Subclasses can use the current implementation as an example and implement their own custom geometries. This is the analogy of overriding the drawRect: method in an NSView or UIView.
- @param points       An array of EZAudioPlotGLPoint structures representing the mapped audio data to x,y coordinates. The x-axis goes from 0 to the number of points (pointCount) while the y-axis goes from -1 to 1. Check out the implementation of this method to see how the model view matrix of the base effect is transformed to map this properly to the viewport.
- @param pointCount   A UInt32 representing the number of points contained in the points array.
- @param baseEffect   An optional GLKBaseEffect to use as a default shader. Call prepareToDraw on the base effect before any glDrawArrays call.
- @param vbo          The Vertex Buffer Object used to buffer the point data.
- @param vab          The Vertex Array Buffer used to bind the Vertex Buffer Object. This is a Mac only thing, you can ignore this completely on iOS.
- @param interpolated A BOOL indicating whether the data has been interpolated. This means the point data is twice as long, where every other point is 0 on the y-axis to allow drawing triangle stripes for filled in waveforms. Typically if the point data is interpolated you will be using the GL_TRIANGLE_STRIP drawing mode, while non-interpolated plots will just use a GL_LINE_STRIP drawing mode.
- @param mirrored     A BOOL indicating whether the plot should be mirrored about the y-axis (or whatever geometry you come up with).
- @param gain         A float representing a gain that should be used to influence the height or intensity of your geometry's shape. A gain of 0.0 means silence, a gain of 1.0 means full volume (you're welcome to boost this to whatever you want).
- */
-- (void)redrawWithPoints:(EZAudioPlotGLPoint *)points
-              pointCount:(UInt32)pointCount
-              baseEffect:(GLKBaseEffect *)baseEffect
-      vertexBufferObject:(GLuint)vbo
-       vertexArrayBuffer:(GLuint)vab
-            interpolated:(BOOL)interpolated
-                mirrored:(BOOL)mirrored
-                    gain:(float)gain;
-
-//------------------------------------------------------------------------------
-
-/**
- Called during the OpenGL run loop to constantly update the drawing 60 fps. Callers can use this force update the screen while subclasses can override this for complete control over their rendering. However, subclasses are more encouraged to use the `redrawWithPoints:pointCount:baseEffect:vertexBufferObject:vertexArrayBuffer:interpolated:mirrored:gain:`
- */
-- (void)redraw;
-
-//------------------------------------------------------------------------------
-
-/**
- Called after the view has been created. Subclasses should use to add any additional methods needed instead of overriding the init methods.
- */
-- (void)setup;
-
-//------------------------------------------------------------------------------
-
-/**
- Main method used to copy the sample data from the source buffer and update the
- plot. Subclasses can overwrite this method for custom behavior.
- @param data   A float array of the sample data. Subclasses should copy this data to a separate array to avoid threading issues.
- @param length The length of the float array as an int.
- */
-- (void)setSampleData:(float *)data length:(int)length;
-
-///-----------------------------------------------------------
-/// @name Subclass Methods
-///-----------------------------------------------------------
-
-/**
- Provides the default length of the rolling history buffer when the plot is initialized. Default is `EZAudioPlotDefaultHistoryBufferLength` constant.
- @return An int describing the initial length of the rolling history buffer.
- */
-- (int)defaultRollingHistoryLength;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the default maximum rolling history length - that is, the maximum amount of points the `setRollingHistoryLength:` method may be set to. If a length higher than this is set then the plot will likely crash because the appropriate resources are only allocated once during the plot's initialization step. Defualt is `EZAudioPlotDefaultMaxHistoryBufferLength` constant.
- @return An int describing the maximum length of the absolute rolling history buffer.
- */
-- (int)maximumRollingHistoryLength;
-
-//------------------------------------------------------------------------------
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZAudioPlotGL.m b/document/EZAudio-master/EZAudio/EZAudioPlotGL.m
deleted file mode 100644 (file)
index 1672850..0000000
+++ /dev/null
@@ -1,548 +0,0 @@
-//
-//  EZAudioPlotGL.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 11/22/13.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZAudioPlotGL.h"
-#import "EZAudioDisplayLink.h"
-#import "EZAudioUtilities.h"
-#import "EZAudioPlot.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - Data Structures
-//------------------------------------------------------------------------------
-
-typedef struct
-{
-    BOOL                interpolated;
-    EZPlotHistoryInfo  *historyInfo;
-    EZAudioPlotGLPoint *points;
-    UInt32              pointCount;
-    GLuint              vbo;
-    GLuint              vab;
-} EZAudioPlotGLInfo;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlotGL (Interface Extension)
-//------------------------------------------------------------------------------
-
-@interface EZAudioPlotGL () <EZAudioDisplayLinkDelegate>
-@property (nonatomic, strong) GLKBaseEffect      *baseEffect;
-@property (nonatomic, strong) EZAudioDisplayLink *displayLink;
-@property (nonatomic, assign) EZAudioPlotGLInfo  *info;
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlotGL (Implementation)
-//------------------------------------------------------------------------------
-
-@implementation EZAudioPlotGL
-
-//------------------------------------------------------------------------------
-#pragma mark - Dealloc
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-    [self.displayLink stop];
-    self.displayLink = nil;
-    [EZAudioUtilities freeHistoryInfo:self.info->historyInfo];
-#if !TARGET_OS_IPHONE
-    glDeleteVertexArrays(1, &self.info->vab);
-#endif
-    glDeleteBuffers(1, &self.info->vbo);
-    free(self.info->points);
-    free(self.info);
-    self.baseEffect = nil;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Initialization
-//------------------------------------------------------------------------------
-
-- (instancetype)init
-{
-    self = [super init];
-    if (self)
-    {
-        [self setup];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
-- (id)initWithCoder:(NSCoder *)aDecoder
-{
-    self = [super initWithCoder:aDecoder];
-    if (self)
-    {
-        [self setup];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithFrame:(EZRect)frame
-{
-    self = [super initWithFrame:frame];
-    if (self)
-    {
-        [self setup];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
-#if TARGET_OS_IPHONE
-- (instancetype)initWithFrame:(CGRect)frame
-                      context:(EAGLContext *)context
-{
-    self = [super initWithFrame:frame context:context];
-    if (self)
-    {
-        [self setup];
-    }
-    return self;
-}
-#elif TARGET_OS_MAC
-- (instancetype)initWithFrame:(NSRect)frameRect
-                  pixelFormat:(NSOpenGLPixelFormat *)format
-{
-    self = [super initWithFrame:frameRect pixelFormat:format];
-    if (self)
-    {
-        [self setup];
-    }
-    return self;
-}
-#endif
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void)setup
-{
-    //
-    // Setup info data structure
-    //
-    self.info = (EZAudioPlotGLInfo *)malloc(sizeof(EZAudioPlotGLInfo));
-    memset(self.info, 0, sizeof(EZAudioPlotGLInfo));
-    
-    //
-    // Create points array
-    //
-    UInt32 pointCount = [self maximumRollingHistoryLength];
-    self.info->points = (EZAudioPlotGLPoint *)calloc(sizeof(EZAudioPlotGLPoint), pointCount);
-    self.info->pointCount = pointCount;
-    
-    //
-    // Create the history data structure to hold the rolling data
-    //
-    self.info->historyInfo = [EZAudioUtilities historyInfoWithDefaultLength:[self defaultRollingHistoryLength]
-                                                              maximumLength:[self maximumRollingHistoryLength]];
-    
-    //
-    // Setup OpenGL specific stuff
-    //
-    [self setupOpenGL];
-    
-    //
-    // Setup view properties
-    //
-    self.gain = 1.0f;
-#if TARGET_OS_IPHONE
-    self.backgroundColor = [UIColor colorWithRed:0.569f green:0.82f blue:0.478f alpha:1.0f];
-    self.color = [UIColor colorWithRed:1.0f green:1.0f blue:1.0f alpha:1.0f];
-#elif TARGET_OS_MAC
-    self.backgroundColor = [NSColor colorWithCalibratedRed:0.569f green:0.82f blue:0.478f alpha:1.0f];
-    self.color = [NSColor colorWithCalibratedRed:1.0f green:1.0f blue:1.0f alpha:1.0f];
-#endif
-    
-    //
-    // Allow subclass to initialize plot
-    //
-    [self setupPlot];
-    
-    //
-    // Create the display link
-    //
-    self.displayLink = [EZAudioDisplayLink displayLinkWithDelegate:self];
-    [self.displayLink start];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setupPlot
-{
-    //
-    // Override in subclass
-    //
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setupOpenGL
-{
-    self.baseEffect = [[GLKBaseEffect alloc] init];
-    self.baseEffect.useConstantColor = YES;
-#if TARGET_OS_IPHONE
-    if (!self.context)
-    {
-        self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
-    }
-    [EAGLContext setCurrentContext:self.context];
-    self.drawableColorFormat   = GLKViewDrawableColorFormatRGBA8888;
-    self.drawableDepthFormat   = GLKViewDrawableDepthFormat24;
-    self.drawableStencilFormat = GLKViewDrawableStencilFormat8;
-    self.drawableMultisample   = GLKViewDrawableMultisample4X;
-    self.opaque                = NO;
-    self.enableSetNeedsDisplay = NO;
-#elif TARGET_OS_MAC
-    self.wantsBestResolutionOpenGLSurface = YES;
-    self.wantsLayer = YES;
-    self.layer.opaque = YES;
-    self.layer.backgroundColor = [NSColor clearColor].CGColor;
-    if (!self.pixelFormat)
-    {
-        NSOpenGLPixelFormatAttribute attrs[] =
-        {
-            NSOpenGLPFADoubleBuffer,
-            NSOpenGLPFAMultisample,
-            NSOpenGLPFASampleBuffers,      1,
-            NSOpenGLPFASamples,            4,
-            NSOpenGLPFADepthSize,          24,
-            NSOpenGLPFAOpenGLProfile,
-            NSOpenGLProfileVersion3_2Core, 0
-        };
-        self.pixelFormat = [[NSOpenGLPixelFormat alloc] initWithAttributes:attrs];
-    }
-#if DEBUG
-    NSAssert(self.pixelFormat, @"Could not create OpenGL pixel format so context is not valid");
-#endif
-    self.openGLContext = [[NSOpenGLContext alloc] initWithFormat:self.pixelFormat
-                                                    shareContext:nil];
-    GLint swapInt = 1; GLint surfaceOpacity = 0;
-    [self.openGLContext setValues:&swapInt forParameter:NSOpenGLCPSwapInterval];
-    [self.openGLContext setValues:&surfaceOpacity forParameter:NSOpenGLCPSurfaceOpacity];
-    [self.openGLContext lock];
-    glGenVertexArrays(1, &self.info->vab);
-    glBindVertexArray(self.info->vab);
-#endif
-    glGenBuffers(1, &self.info->vbo);
-    glBindBuffer(GL_ARRAY_BUFFER, self.info->vbo);
-    glBufferData(GL_ARRAY_BUFFER,
-                 self.info->pointCount * sizeof(EZAudioPlotGLPoint),
-                 self.info->points,
-                 GL_STREAM_DRAW);
-#if !TARGET_OS_IPHONE
-    [self.openGLContext unlock];
-#endif
-    self.frame = self.frame;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Updating The Plot
-//------------------------------------------------------------------------------
-
-- (void)updateBuffer:(float *)buffer withBufferSize:(UInt32)bufferSize
-{
-    //
-    // Update history
-    //
-    [EZAudioUtilities appendBufferRMS:buffer
-                       withBufferSize:bufferSize
-                        toHistoryInfo:self.info->historyInfo];
-
-    //
-    // Convert this data to point data
-    //
-    switch (self.plotType)
-    {
-        case EZPlotTypeBuffer:
-            [self setSampleData:buffer
-                         length:bufferSize];
-            break;
-        case EZPlotTypeRolling:
-            [self setSampleData:self.info->historyInfo->buffer
-                         length:self.info->historyInfo->bufferSize];
-            break;
-        default:
-            break;
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setSampleData:(float *)data length:(int)length
-{
-    int pointCount = self.shouldFill ? length * 2 : length;
-    EZAudioPlotGLPoint *points = self.info->points;
-    for (int i = 0; i < length; i++)
-    {
-        if (self.shouldFill)
-        {
-            points[i * 2].x = points[i * 2 + 1].x = i;
-            points[i * 2].y = data[i];
-            points[i * 2 + 1].y = 0.0f;
-        }
-        else
-        {
-            points[i].x = i;
-            points[i].y = data[i];
-        }
-    }
-    points[0].y = points[pointCount - 1].y = 0.0f;
-    self.info->pointCount = pointCount;
-    self.info->interpolated = self.shouldFill;
-#if !TARGET_OS_IPHONE
-    [self.openGLContext lock];
-    glBindVertexArray(self.info->vab);
-#endif
-    glBindBuffer(GL_ARRAY_BUFFER, self.info->vbo);
-    glBufferSubData(GL_ARRAY_BUFFER,
-                    0,
-                    pointCount * sizeof(EZAudioPlotGLPoint),
-                    self.info->points);
-#if !TARGET_OS_IPHONE
-    [self.openGLContext unlock];
-#endif
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Adjusting History Resolution
-//------------------------------------------------------------------------------
-
-- (int)rollingHistoryLength
-{
-    return self.info->historyInfo->bufferSize;
-}
-
-//------------------------------------------------------------------------------
-
-- (int)setRollingHistoryLength:(int)historyLength
-{
-    self.info->historyInfo->bufferSize = MIN(EZAudioPlotDefaultMaxHistoryBufferLength, historyLength);
-    return self.info->historyInfo->bufferSize;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Clearing The Plot
-//------------------------------------------------------------------------------
-
-- (void)clear
-{
-    float emptyBuffer[1];
-    emptyBuffer[0] = 0.0f;
-    [self setSampleData:emptyBuffer length:1];
-    [EZAudioUtilities clearHistoryInfo:self.info->historyInfo];
-#if TARGET_OS_IPHONE
-    [self display];
-#elif TARGET_OS_MAC
-    [self redraw];
-#endif
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Start/Stop Display Link
-//------------------------------------------------------------------------------
-
-- (void)pauseDrawing
-{
-    [self.displayLink stop];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)resumeDrawing
-{
-    [self.displayLink start];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setters
-//------------------------------------------------------------------------------
-
-- (void)setBackgroundColor:(id)backgroundColor
-{
-    _backgroundColor = backgroundColor;
-    if (backgroundColor)
-    {
-        CGColorRef colorRef = [backgroundColor CGColor];
-        CGFloat red; CGFloat green; CGFloat blue; CGFloat alpha;
-        [EZAudioUtilities getColorComponentsFromCGColor:colorRef
-                                                    red:&red
-                                                  green:&green
-                                                   blue:&blue
-                                                  alpha:&alpha];
-        //
-        // Note! If you set the alpha to be 0 on mac for a transparent view
-        // the EZAudioPlotGL will make the superview layer-backed to make
-        // sure there is a surface to display itself on (or else you will get
-        // some pretty weird drawing glitches
-        //
-#if !TARGET_OS_IPHONE
-        if (alpha == 0.0f)
-        {
-            [self.superview setWantsLayer:YES];
-        }
-#endif
-        glClearColor(red, green, blue, alpha);
-    }
-    else
-    {
-        glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setColor:(id)color
-{
-    _color = color;
-    if (color)
-    {
-        CGColorRef colorRef = [color CGColor];
-        CGFloat red; CGFloat green; CGFloat blue; CGFloat alpha;
-        [EZAudioUtilities getColorComponentsFromCGColor:colorRef
-                                                    red:&red
-                                                  green:&green
-                                                   blue:&blue
-                                                  alpha:&alpha];
-        self.baseEffect.constantColor = GLKVector4Make(red, green, blue, alpha);
-    }
-    else
-    {
-        self.baseEffect.constantColor = GLKVector4Make(0.0f, 0.0f, 0.0f, 0.0f);
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Drawing
-//------------------------------------------------------------------------------
-
-- (void)drawRect:(EZRect)rect
-{
-    [self redraw];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)redraw
-{
-#if !TARGET_OS_IPHONE
-    [self.openGLContext makeCurrentContext];
-    [self.openGLContext lock];
-#endif
-    [self redrawWithPoints:self.info->points
-                pointCount:self.info->pointCount
-                baseEffect:self.baseEffect
-        vertexBufferObject:self.info->vbo
-         vertexArrayBuffer:self.info->vab
-              interpolated:self.info->interpolated
-                  mirrored:self.shouldMirror
-                      gain:self.gain];
-#if !TARGET_OS_IPHONE
-    [self.openGLContext flushBuffer];
-    [self.openGLContext unlock];
-#endif
-}
-
-//------------------------------------------------------------------------------
-
-- (void)redrawWithPoints:(EZAudioPlotGLPoint *)points
-              pointCount:(UInt32)pointCount
-              baseEffect:(GLKBaseEffect *)baseEffect
-      vertexBufferObject:(GLuint)vbo
-       vertexArrayBuffer:(GLuint)vab
-            interpolated:(BOOL)interpolated
-                mirrored:(BOOL)mirrored
-                    gain:(float)gain
-{
-    glClear(GL_COLOR_BUFFER_BIT);
-    GLenum mode = interpolated ? GL_TRIANGLE_STRIP : GL_LINE_STRIP;
-    float interpolatedFactor = interpolated ? 2.0f : 1.0f;
-    float xscale = 2.0f / ((float)pointCount / interpolatedFactor);
-    float yscale = 1.0f * gain;
-    GLKMatrix4 transform = GLKMatrix4MakeTranslation(-1.0f, 0.0f, 0.0f);
-    transform = GLKMatrix4Scale(transform, xscale, yscale, 1.0f);
-    baseEffect.transform.modelviewMatrix = transform;
-#if !TARGET_OS_IPHONE
-    glBindVertexArray(vab);
-#endif
-    glBindBuffer(GL_ARRAY_BUFFER, vbo);
-    [baseEffect prepareToDraw];
-    glEnableVertexAttribArray(GLKVertexAttribPosition);
-    glVertexAttribPointer(GLKVertexAttribPosition,
-                          2,
-                          GL_FLOAT,
-                          GL_FALSE,
-                          sizeof(EZAudioPlotGLPoint),
-                          NULL);
-    glDrawArrays(mode, 0, pointCount);
-    if (mirrored)
-    {
-        baseEffect.transform.modelviewMatrix = GLKMatrix4Rotate(transform, M_PI, 1.0f, 0.0f, 0.0f);
-        [baseEffect prepareToDraw];
-        glDrawArrays(mode, 0, pointCount);
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Subclass
-//------------------------------------------------------------------------------
-
-- (int)defaultRollingHistoryLength
-{
-    return EZAudioPlotDefaultHistoryBufferLength;
-}
-
-//------------------------------------------------------------------------------
-
-- (int)maximumRollingHistoryLength
-{
-    return EZAudioPlotDefaultMaxHistoryBufferLength;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioDisplayLinkDelegate
-//------------------------------------------------------------------------------
-
-- (void)displayLinkNeedsDisplay:(EZAudioDisplayLink *)displayLink
-{
-#if TARGET_OS_IPHONE
-    if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateActive)
-    {
-        [self display];
-    }
-#elif TARGET_OS_MAC
-    [self redraw];
-#endif
-}
-
-//------------------------------------------------------------------------------
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZAudioUtilities.h b/document/EZAudio-master/EZAudio/EZAudioUtilities.h
deleted file mode 100644 (file)
index 1ae9745..0000000
+++ /dev/null
@@ -1,549 +0,0 @@
-//
-//  EZAudioUtilities.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 6/23/15.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import <AudioToolbox/AudioToolbox.h>
-#import <TargetConditionals.h>
-#import "TPCircularBuffer.h"
-#if TARGET_OS_IPHONE
-#import <AVFoundation/AVFoundation.h>
-#elif TARGET_OS_MAC
-#endif
-
-//------------------------------------------------------------------------------
-#pragma mark - Data Structures
-//------------------------------------------------------------------------------
-
-/**
- A data structure that holds information about audio data over time. It contains a circular buffer to incrementally write the audio data to and a scratch buffer to hold a window of audio data relative to the whole circular buffer. In use, this will provide a way to continuously append data while having an adjustable viewable window described by the bufferSize.
- */
-typedef struct
-{
-    float            *buffer;
-    int               bufferSize;
-    TPCircularBuffer  circularBuffer;
-} EZPlotHistoryInfo;
-
-//------------------------------------------------------------------------------
-
-/**
- A data structure that holds information about a node in the context of an AUGraph.
- */
-typedef struct
-{
-    AudioUnit audioUnit;
-    AUNode    node;
-} EZAudioNodeInfo;
-
-//------------------------------------------------------------------------------
-#pragma mark - Types
-//------------------------------------------------------------------------------
-
-#if TARGET_OS_IPHONE
-typedef CGRect EZRect;
-#elif TARGET_OS_MAC
-typedef NSRect EZRect;
-#endif
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioUtilities
-//------------------------------------------------------------------------------
-
-/**
- The EZAudioUtilities class provides a set of class-level utility methods used throughout EZAudio to handle common operations such as allocating audio buffers and structures, creating various types of AudioStreamBasicDescription structures, string helpers for formatting and debugging, various math utilities, a very handy check result function (used everywhere!), and helpers for dealing with circular buffers. These were previously on the EZAudio class, but as of the 0.1.0 release have been moved here so the whole EZAudio is not needed when using only certain modules.
- */
-@interface EZAudioUtilities : NSObject
-
-//------------------------------------------------------------------------------
-#pragma mark - Debugging
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Debugging EZAudio
-///-----------------------------------------------------------
-
-/**
- Globally sets whether or not the program should exit if a `checkResult:operation:` operation fails. Currently the behavior on EZAudio is to quit if a `checkResult:operation:` fails, but this is not desirable in any production environment. Internally there are a lot of `checkResult:operation:` operations used on all the core classes. This should only ever be set to NO in production environments since a `checkResult:operation:` failing means something breaking has likely happened.
- @param shouldExitOnCheckResultFail A BOOL indicating whether or not the running program should exist due to a `checkResult:operation:` fail.
- */
-+ (void)setShouldExitOnCheckResultFail:(BOOL)shouldExitOnCheckResultFail;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides a flag indicating whether or not the program will exit if a `checkResult:operation:` fails.
- @return A BOOL indicating whether or not the program will exit if a `checkResult:operation:` fails.
- */
-+ (BOOL)shouldExitOnCheckResultFail;
-
-//------------------------------------------------------------------------------
-#pragma mark - AudioBufferList Utility
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name AudioBufferList Utility
-///-----------------------------------------------------------
-
-/**
- Allocates an AudioBufferList structure. Make sure to call freeBufferList when done using AudioBufferList or it will leak.
- @param frames The number of frames that will be stored within each audio buffer
- @param channels The number of channels (e.g. 2 for stereo, 1 for mono, etc.)
- @param interleaved Whether the samples will be interleaved (if not it will be assumed to be non-interleaved and each channel will have an AudioBuffer allocated)
- @return An AudioBufferList struct that has been allocated in memory
- */
-+ (AudioBufferList *)audioBufferListWithNumberOfFrames:(UInt32)frames
-                                      numberOfChannels:(UInt32)channels
-                                           interleaved:(BOOL)interleaved;
-
-//------------------------------------------------------------------------------
-
-/**
- Allocates an array of float arrays given the number of frames needed to store in each float array.
- @param frames   A UInt32 representing the number of frames to store in each float buffer
- @param channels A UInt32 representing the number of channels (i.e. the number of float arrays to allocate)
- @return An array of float arrays, each the length of the number of frames specified
- */
-+ (float **)floatBuffersWithNumberOfFrames:(UInt32)frames
-                          numberOfChannels:(UInt32)channels;
-
-//------------------------------------------------------------------------------
-
-/**
- Deallocates an AudioBufferList structure from memory.
- @param bufferList A pointer to the buffer list you would like to free
- */
-+ (void)freeBufferList:(AudioBufferList *)bufferList;
-
-//------------------------------------------------------------------------------
-
-/**
- Deallocates an array of float buffers
- @param buffers  An array of float arrays
- @param channels A UInt32 representing the number of channels (i.e. the number of float arrays to deallocate)
- */
-+ (void)freeFloatBuffers:(float **)buffers numberOfChannels:(UInt32)channels;
-
-//------------------------------------------------------------------------------
-#pragma mark - AudioStreamBasicDescription Utilties
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Creating An AudioStreamBasicDescription
-///-----------------------------------------------------------
-
-/**
- Creates a signed-integer, interleaved AudioStreamBasicDescription for the number of channels specified for an AIFF format.
- @param channels   The desired number of channels
- @param sampleRate A float representing the sample rate.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)AIFFFormatWithNumberOfChannels:(UInt32)channels
-                                                   sampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an AudioStreamBasicDescription for the iLBC narrow band speech codec.
- @param sampleRate A float representing the sample rate.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)iLBCFormatWithSampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a float-based, non-interleaved AudioStreamBasicDescription for the number of channels specified.
- @param channels   A UInt32 representing the number of channels.
- @param sampleRate A float representing the sample rate.
- @return A float-based AudioStreamBasicDescription with the number of channels specified.
- */
-+ (AudioStreamBasicDescription)floatFormatWithNumberOfChannels:(UInt32)channels
-                                                    sampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an AudioStreamBasicDescription for an M4A AAC format.
- @param channels   The desired number of channels
- @param sampleRate A float representing the sample rate.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)M4AFormatWithNumberOfChannels:(UInt32)channels
-                                                  sampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a single-channel, float-based AudioStreamBasicDescription.
- @param sampleRate A float representing the sample rate.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)monoFloatFormatWithSampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a single-channel, float-based AudioStreamBasicDescription (as of 0.0.6 this is the same as `monoFloatFormatWithSampleRate:`).
- @param sampleRate A float representing the sample rate.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)monoCanonicalFormatWithSampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a two-channel, non-interleaved, float-based AudioStreamBasicDescription (as of 0.0.6 this is the same as `stereoFloatNonInterleavedFormatWithSampleRate:`).
- @param sampleRate A float representing the sample rate.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)stereoCanonicalNonInterleavedFormatWithSampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a two-channel, interleaved, float-based AudioStreamBasicDescription.
- @param sampleRate A float representing the sample rate.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)stereoFloatInterleavedFormatWithSampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a two-channel, non-interleaved, float-based AudioStreamBasicDescription.
- @param sampleRate A float representing the sample rate.
- @return A new AudioStreamBasicDescription with the specified format.
- */
-+ (AudioStreamBasicDescription)stereoFloatNonInterleavedFormatWithSampleRate:(float)sampleRate;
-
-//------------------------------------------------------------------------------
-// @name AudioStreamBasicDescription Helper Functions
-//------------------------------------------------------------------------------
-
-/**
- Checks an AudioStreamBasicDescription to see if it is a float-based format (as opposed to a signed integer based format).
- @param asbd A valid AudioStreamBasicDescription
- @return A BOOL indicating whether or not the AudioStreamBasicDescription is a float format.
- */
-+ (BOOL)isFloatFormat:(AudioStreamBasicDescription)asbd;
-
-//------------------------------------------------------------------------------
-
-/**
- Checks an AudioStreamBasicDescription to check for an interleaved flag (samples are
- stored in one buffer one after another instead of two (or n channels) parallel buffers
- @param asbd A valid AudioStreamBasicDescription
- @return A BOOL indicating whether or not the AudioStreamBasicDescription is interleaved
- */
-+ (BOOL)isInterleaved:(AudioStreamBasicDescription)asbd;
-
-//------------------------------------------------------------------------------
-
-/**
- Checks an AudioStreamBasicDescription to see if it is a linear PCM format (uncompressed, 
- 1 frame per packet)
- @param asbd A valid AudioStreamBasicDescription
- @return A BOOL indicating whether or not the AudioStreamBasicDescription is linear PCM.
- */
-+ (BOOL)isLinearPCM:(AudioStreamBasicDescription)asbd;
-
-///-----------------------------------------------------------
-/// @name AudioStreamBasicDescription Utilities
-///-----------------------------------------------------------
-
-/**
- Nicely logs out the contents of an AudioStreamBasicDescription struct
- @param asbd The AudioStreamBasicDescription struct with content to print out
- */
-+ (void)printASBD:(AudioStreamBasicDescription)asbd;
-
-//------------------------------------------------------------------------------
-
-/**
- Converts seconds into a string formatted as MM:SS
- @param seconds An NSTimeInterval representing the number of seconds
- @return An NSString instance formatted as MM:SS from the seconds provided.
- */
-+ (NSString *)displayTimeStringFromSeconds:(NSTimeInterval)seconds;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a string to use when logging out the contents of an AudioStreamBasicDescription
- @param asbd A valid AudioStreamBasicDescription struct.
- @return An NSString representing the contents of the AudioStreamBasicDescription.
- */
-+ (NSString *)stringForAudioStreamBasicDescription:(AudioStreamBasicDescription)asbd;
-
-//------------------------------------------------------------------------------
-
-/**
- Just a wrapper around the setCanonical function provided in the Core Audio Utility C++ class.
- @param asbd        The AudioStreamBasicDescription structure to modify
- @param nChannels   The number of expected channels on the description
- @param interleaved A flag indicating whether the stereo samples should be interleaved in the buffer
- */
-+ (void)setCanonicalAudioStreamBasicDescription:(AudioStreamBasicDescription*)asbd
-                               numberOfChannels:(UInt32)nChannels
-                                    interleaved:(BOOL)interleaved;
-
-//------------------------------------------------------------------------------
-#pragma mark - Math Utilities
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Math Utilities
-///-----------------------------------------------------------
-
-/**
- Appends an array of values to a history buffer and performs an internal shift to add the values to the tail and removes the same number of values from the head.
- @param buffer              A float array of values to append to the tail of the history buffer
- @param bufferLength        The length of the float array being appended to the history buffer
- @param scrollHistory       The target history buffer in which to append the values
- @param scrollHistoryLength The length of the target history buffer
- */
-+ (void)appendBufferAndShift:(float*)buffer
-              withBufferSize:(int)bufferLength
-             toScrollHistory:(float*)scrollHistory
-       withScrollHistorySize:(int)scrollHistoryLength;
-
-//------------------------------------------------------------------------------
-
-/**
- Appends a value to a history buffer and performs an internal shift to add the value to the tail and remove the 0th value.
- @param value               The float value to append to the history array
- @param scrollHistory       The target history buffer in which to append the values
- @param scrollHistoryLength The length of the target history buffer
- */
-+(void)    appendValue:(float)value
-       toScrollHistory:(float*)scrollHistory
- withScrollHistorySize:(int)scrollHistoryLength;
-
-//------------------------------------------------------------------------------
-
-/**
- Maps a value from one coordinate system into another one. Takes in the current value to map, the minimum and maximum values of the first coordinate system, and the minimum and maximum values of the second coordinate system and calculates the mapped value in the second coordinate system's constraints.
- @param        value   The value expressed in the first coordinate system
- @param        leftMin         The minimum of the first coordinate system
- @param        leftMax         The maximum of the first coordinate system
- @param        rightMin        The minimum of the second coordindate system
- @param        rightMax        The maximum of the second coordinate system
- @return       The mapped value in terms of the second coordinate system
- */
-+ (float)MAP:(float)value
-     leftMin:(float)leftMin
-     leftMax:(float)leftMax
-    rightMin:(float)rightMin
-    rightMax:(float)rightMax;
-
-//------------------------------------------------------------------------------
-
-/**
- Calculates the root mean squared for a buffer.
- @param        buffer  A float buffer array of values whose root mean squared to calculate
- @param        bufferSize      The size of the float buffer
- @return       The root mean squared of the buffer
- */
-+ (float)RMS:(float*)buffer length:(int)bufferSize;
-
-//------------------------------------------------------------------------------
-
-/**
- Calculate the sign function sgn(x) =
- {  -1 , x < 0,
- {   0 , x = 0,
- {   1 , x > 0
- @param value The float value for which to use as x
- @return The float sign value
- */
-+ (float)SGN:(float)value;
-
-//------------------------------------------------------------------------------
-#pragma mark - Music Utilities
-//------------------------------------------------------------------------------
-
-+ (NSString *)noteNameStringForFrequency:(float)frequency
-                           includeOctave:(BOOL)includeOctave;
-
-//------------------------------------------------------------------------------
-#pragma mark - OSStatus Utility
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name OSStatus Utility
-///-----------------------------------------------------------
-
-/**
- Basic check result function useful for checking each step of the audio setup process
- @param result    The OSStatus representing the result of an operation
- @param operation A string (const char, not NSString) describing the operation taking place (will print if fails)
- */
-+ (void)checkResult:(OSStatus)result operation:(const char *)operation;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides a string representation of the often cryptic Core Audio error codes
- @param code A UInt32 representing an error code
- @return An NSString with a human readable version of the error code.
- */
-+ (NSString *)stringFromUInt32Code:(UInt32)code;
-
-//------------------------------------------------------------------------------
-#pragma mark - Color Utility
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Color Utility
-///-----------------------------------------------------------
-
-/**
- Helper function to get the color components from a CGColorRef in the RGBA colorspace.
- @param color A CGColorRef that represents a color.
- @param red   A pointer to a CGFloat to hold the value of the red component. This value will be between 0 and 1.
- @param green A pointer to a CGFloat to hold the value of the green component. This value will be between 0 and 1.
- @param blue  A pointer to a CGFloat to hold the value of the blue component. This value will be between 0 and 1.
- @param alpha A pointer to a CGFloat to hold the value of the alpha component. This value will be between 0 and 1.
- */
-+ (void)getColorComponentsFromCGColor:(CGColorRef)color
-                                  red:(CGFloat *)red
-                                green:(CGFloat *)green
-                                 blue:(CGFloat *)blue
-                                alpha:(CGFloat *)alpha;
-
-//------------------------------------------------------------------------------
-#pragma mark - Plot Utility
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Plot Utility
-///-----------------------------------------------------------
-
-/**
- Given a buffer representing a window of float history data this append the RMS of a buffer of incoming float data...This will likely be deprecated in a future version of EZAudio for a circular buffer based approach.
- @param scrollHistory       An array of float arrays being used to hold the history values for each channel.
- @param scrollHistoryLength An int representing the length of the history window.
- @param index               An int pointer to the index of the current read index of the history buffer.
- @param buffer              A float array representing the incoming audio data.
- @param bufferSize          An int representing the length of the incoming audio data.
- @param isChanging          A BOOL pointer representing whether the resolution (length of the history window) is currently changing.
- */
-+ (void)updateScrollHistory:(float **)scrollHistory
-                 withLength:(int)scrollHistoryLength
-                    atIndex:(int *)index
-                 withBuffer:(float *)buffer
-             withBufferSize:(int)bufferSize
-       isResolutionChanging:(BOOL *)isChanging;
-
-//------------------------------------------------------------------------------
-#pragma mark - TPCircularBuffer Utility
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name TPCircularBuffer Utility
-///-----------------------------------------------------------
-
-/**
- Appends the data from the audio buffer list to the circular buffer
- @param circularBuffer  Pointer to the instance of the TPCircularBuffer to add the audio data to
- @param audioBufferList Pointer to the instance of the AudioBufferList with the audio data
- */
-+ (void)appendDataToCircularBuffer:(TPCircularBuffer*)circularBuffer
-               fromAudioBufferList:(AudioBufferList*)audioBufferList;
-
-//------------------------------------------------------------------------------
-
-/**
- Initializes the circular buffer (just a wrapper around the C method)
- @param circularBuffer Pointer to an instance of the TPCircularBuffer
- @param size           The length of the TPCircularBuffer (usually 1024)
- */
-+ (void)circularBuffer:(TPCircularBuffer*)circularBuffer
-              withSize:(int)size;
-
-//------------------------------------------------------------------------------
-
-/**
- Frees a circular buffer
- @param circularBuffer Pointer to the circular buffer to clear
- */
-+ (void)freeCircularBuffer:(TPCircularBuffer*)circularBuffer;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZPlotHistoryInfo Utility
-//------------------------------------------------------------------------------
-
-/**
- Calculates the RMS of a float array containing audio data and appends it to the tail of a EZPlotHistoryInfo data structure. Thread-safe.
- @param buffer      A float array containing the incoming audio buffer to append to the history buffer
- @param bufferSize  A UInt32 representing the length of the incoming audio buffer
- @param historyInfo A pointer to a EZPlotHistoryInfo structure to use for managing the history buffers
- */
-+ (void)appendBufferRMS:(float *)buffer
-         withBufferSize:(UInt32)bufferSize
-          toHistoryInfo:(EZPlotHistoryInfo *)historyInfo;
-
-//------------------------------------------------------------------------------
-
-/**
- Appends a buffer of audio data to the tail of a EZPlotHistoryInfo data structure. Thread-safe.
- @param buffer      A float array containing the incoming audio buffer to append to the history buffer
- @param bufferSize  A UInt32 representing the length of the incoming audio buffer
- @param historyInfo A pointer to a EZPlotHistoryInfo structure to use for managing the history buffers
- */
-+ (void)appendBuffer:(float *)buffer
-      withBufferSize:(UInt32)bufferSize
-       toHistoryInfo:(EZPlotHistoryInfo *)historyInfo;
-
-//------------------------------------------------------------------------------
-
-/**
- Zeroes out a EZPlotHistoryInfo data structure without freeing the resources.
- @param historyInfo A pointer to a EZPlotHistoryInfo data structure
- */
-+ (void)clearHistoryInfo:(EZPlotHistoryInfo *)historyInfo;
-
-//------------------------------------------------------------------------------
-
-/**
- Frees a EZPlotHistoryInfo data structure
- @param historyInfo A pointer to a EZPlotHistoryInfo data structure
- */
-+ (void)freeHistoryInfo:(EZPlotHistoryInfo *)historyInfo;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an EZPlotHistoryInfo data structure with a default length for the window buffer and a maximum length capacity for the internal circular buffer that holds all the audio data.
- @param defaultLength An int representing the default length (i.e. the number of points that will be displayed on screen) of the history window.
- @param maximumLength An int representing the default maximum length that is the absolute maximum amount of values that can be held in the history's circular buffer.
- @return A pointer to the EZPlotHistoryInfo created. The caller is responsible for freeing this structure using the `freeHistoryInfo` method above.
- */
-+ (EZPlotHistoryInfo *)historyInfoWithDefaultLength:(int)defaultLength
-                                      maximumLength:(int)maximumLength;
-
-//------------------------------------------------------------------------------
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZAudioUtilities.m b/document/EZAudio-master/EZAudio/EZAudioUtilities.m
deleted file mode 100644 (file)
index 82402da..0000000
+++ /dev/null
@@ -1,744 +0,0 @@
-//
-//  EZAudioUtilities.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 6/23/15.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZAudioUtilities.h"
-
-static float    const  EZAudioUtilitiesFixedNoteA       = 440.0f;
-static int      const  EZAudioUtilitiesFixedNoteAIndex  = 9;
-static int      const  EZAudioUtilitiesFixedNoteAOctave = 4;
-static float    const  EZAudioUtilitiesEQFrequencyRatio = 1.059463094359f;
-static int      const  EZAudioUtilitiesNotesLength      = 12;
-static NSString * const EZAudioUtilitiesNotes[EZAudioUtilitiesNotesLength] =
-{
-    @"C", @"C#",
-    @"D", @"D#",
-    @"E",
-    @"F", @"F#",
-    @"G", @"G#",
-    @"A", @"A#",
-    @"B"
-};
-
-BOOL __shouldExitOnCheckResultFail = YES;
-
-@implementation EZAudioUtilities
-
-//------------------------------------------------------------------------------
-#pragma mark - Debugging
-//------------------------------------------------------------------------------
-
-+ (void)setShouldExitOnCheckResultFail:(BOOL)shouldExitOnCheckResultFail
-{
-    __shouldExitOnCheckResultFail = shouldExitOnCheckResultFail;
-}
-
-//------------------------------------------------------------------------------
-
-+ (BOOL)shouldExitOnCheckResultFail
-{
-    return __shouldExitOnCheckResultFail;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - AudioBufferList Utility
-//------------------------------------------------------------------------------
-
-+ (AudioBufferList *)audioBufferListWithNumberOfFrames:(UInt32)frames
-                                      numberOfChannels:(UInt32)channels
-                                           interleaved:(BOOL)interleaved
-{
-    unsigned nBuffers;
-    unsigned bufferSize;
-    unsigned channelsPerBuffer;
-    if (interleaved)
-    {
-        nBuffers = 1;
-        bufferSize = sizeof(float) * frames * channels;
-        channelsPerBuffer = channels;
-    }
-    else
-    {
-        nBuffers = channels;
-        bufferSize = sizeof(float) * frames;
-        channelsPerBuffer = 1;
-    }
-    
-    AudioBufferList *audioBufferList = (AudioBufferList *)malloc(sizeof(AudioBufferList) + sizeof(AudioBuffer) * (channels-1));
-    audioBufferList->mNumberBuffers = nBuffers;
-    for(unsigned i = 0; i < nBuffers; i++)
-    {
-        audioBufferList->mBuffers[i].mNumberChannels = channelsPerBuffer;
-        audioBufferList->mBuffers[i].mDataByteSize = bufferSize;
-        audioBufferList->mBuffers[i].mData = calloc(bufferSize, 1);
-    }
-    return audioBufferList;
-}
-
-//------------------------------------------------------------------------------
-
-+ (float **)floatBuffersWithNumberOfFrames:(UInt32)frames
-                          numberOfChannels:(UInt32)channels
-{
-    size_t size = sizeof(float *) * channels;
-    float **buffers = (float **)malloc(size);
-    for (int i = 0; i < channels; i++)
-    {
-        size = sizeof(float) * frames;
-        buffers[i] = (float *)malloc(size);
-    }
-    return buffers;
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)freeBufferList:(AudioBufferList *)bufferList
-{
-    if (bufferList)
-    {
-        if (bufferList->mNumberBuffers)
-        {
-            for( int i = 0; i < bufferList->mNumberBuffers; i++)
-            {
-                if (bufferList->mBuffers[i].mData)
-                {
-                    free(bufferList->mBuffers[i].mData);
-                }
-            }
-        }
-        free(bufferList);
-    }
-    bufferList = NULL;
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)freeFloatBuffers:(float **)buffers numberOfChannels:(UInt32)channels
-{
-    if (!buffers || !*buffers)
-    {
-        return;
-    }
-
-    for (int i = 0; i < channels; i++)
-    {
-        free(buffers[i]);
-    }
-    free(buffers);
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - AudioStreamBasicDescription Utility
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)AIFFFormatWithNumberOfChannels:(UInt32)channels
-                                                   sampleRate:(float)sampleRate
-{
-    AudioStreamBasicDescription asbd;
-    memset(&asbd, 0, sizeof(asbd));
-    asbd.mFormatID          = kAudioFormatLinearPCM;
-    asbd.mFormatFlags       = kAudioFormatFlagIsBigEndian|kAudioFormatFlagIsPacked|kAudioFormatFlagIsSignedInteger;
-    asbd.mSampleRate        = sampleRate;
-    asbd.mChannelsPerFrame  = channels;
-    asbd.mBitsPerChannel    = 32;
-    asbd.mBytesPerPacket    = (asbd.mBitsPerChannel / 8) * asbd.mChannelsPerFrame;
-    asbd.mFramesPerPacket   = 1;
-    asbd.mBytesPerFrame     = (asbd.mBitsPerChannel / 8) * asbd.mChannelsPerFrame;
-    return asbd;
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)iLBCFormatWithSampleRate:(float)sampleRate
-{
-    AudioStreamBasicDescription asbd;
-    memset(&asbd, 0, sizeof(asbd));
-    asbd.mFormatID          = kAudioFormatiLBC;
-    asbd.mChannelsPerFrame  = 1;
-    asbd.mSampleRate        = sampleRate;
-    
-    // Fill in the rest of the descriptions using the Audio Format API
-    UInt32 propSize = sizeof(asbd);
-    [EZAudioUtilities checkResult:AudioFormatGetProperty(kAudioFormatProperty_FormatInfo,
-                                                         0,
-                                                         NULL,
-                                                         &propSize,
-                                                         &asbd)
-                        operation:"Failed to fill out the rest of the iLBC AudioStreamBasicDescription"];
-    
-    return asbd;
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)floatFormatWithNumberOfChannels:(UInt32)channels
-                                                    sampleRate:(float)sampleRate
-{
-    AudioStreamBasicDescription asbd;
-    UInt32 floatByteSize   = sizeof(float);
-    asbd.mBitsPerChannel   = 8 * floatByteSize;
-    asbd.mBytesPerFrame    = floatByteSize;
-    asbd.mBytesPerPacket   = floatByteSize;
-    asbd.mChannelsPerFrame = channels;
-    asbd.mFormatFlags      = kAudioFormatFlagIsFloat|kAudioFormatFlagIsNonInterleaved;
-    asbd.mFormatID         = kAudioFormatLinearPCM;
-    asbd.mFramesPerPacket  = 1;
-    asbd.mSampleRate       = sampleRate;
-    return asbd;
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)M4AFormatWithNumberOfChannels:(UInt32)channels
-                                                  sampleRate:(float)sampleRate
-{
-    AudioStreamBasicDescription asbd;
-    memset(&asbd, 0, sizeof(asbd));
-    asbd.mFormatID          = kAudioFormatMPEG4AAC;
-    asbd.mChannelsPerFrame  = channels;
-    asbd.mSampleRate        = sampleRate;
-    
-    // Fill in the rest of the descriptions using the Audio Format API
-    UInt32 propSize = sizeof(asbd);
-    [EZAudioUtilities checkResult:AudioFormatGetProperty(kAudioFormatProperty_FormatInfo,
-                                                         0,
-                                                         NULL,
-                                                         &propSize,
-                                                         &asbd)
-                        operation:"Failed to fill out the rest of the m4a AudioStreamBasicDescription"];
-    
-    return asbd;
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)monoFloatFormatWithSampleRate:(float)sampleRate
-{
-    AudioStreamBasicDescription asbd;
-    UInt32 byteSize = sizeof(float);
-    asbd.mBitsPerChannel   = 8 * byteSize;
-    asbd.mBytesPerFrame    = byteSize;
-    asbd.mBytesPerPacket   = byteSize;
-    asbd.mChannelsPerFrame = 1;
-    asbd.mFormatFlags      = kAudioFormatFlagIsPacked|kAudioFormatFlagIsFloat;
-    asbd.mFormatID         = kAudioFormatLinearPCM;
-    asbd.mFramesPerPacket  = 1;
-    asbd.mSampleRate       = sampleRate;
-    return asbd;
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)monoCanonicalFormatWithSampleRate:(float)sampleRate
-{
-    AudioStreamBasicDescription asbd;
-    UInt32 byteSize = sizeof(float);
-    asbd.mBitsPerChannel   = 8 * byteSize;
-    asbd.mBytesPerFrame    = byteSize;
-    asbd.mBytesPerPacket   = byteSize;
-    asbd.mChannelsPerFrame = 1;
-    asbd.mFormatFlags      = kAudioFormatFlagsNativeFloatPacked|kAudioFormatFlagIsNonInterleaved;
-    asbd.mFormatID         = kAudioFormatLinearPCM;
-    asbd.mFramesPerPacket  = 1;
-    asbd.mSampleRate       = sampleRate;
-    return asbd;
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)stereoCanonicalNonInterleavedFormatWithSampleRate:(float)sampleRate
-{
-    AudioStreamBasicDescription asbd;
-    UInt32 byteSize = sizeof(float);
-    asbd.mBitsPerChannel   = 8 * byteSize;
-    asbd.mBytesPerFrame    = byteSize;
-    asbd.mBytesPerPacket   = byteSize;
-    asbd.mChannelsPerFrame = 2;
-    asbd.mFormatFlags      = kAudioFormatFlagsNativeFloatPacked|kAudioFormatFlagIsNonInterleaved;
-    asbd.mFormatID         = kAudioFormatLinearPCM;
-    asbd.mFramesPerPacket  = 1;
-    asbd.mSampleRate       = sampleRate;
-    return asbd;
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)stereoFloatInterleavedFormatWithSampleRate:(float)sampleRate
-{
-    AudioStreamBasicDescription asbd;
-    UInt32 floatByteSize   = sizeof(float);
-    asbd.mChannelsPerFrame = 2;
-    asbd.mBitsPerChannel   = 8 * floatByteSize;
-    asbd.mBytesPerFrame    = asbd.mChannelsPerFrame * floatByteSize;
-    asbd.mFramesPerPacket  = 1;
-    asbd.mBytesPerPacket   = asbd.mFramesPerPacket * asbd.mBytesPerFrame;
-    asbd.mFormatFlags      = kAudioFormatFlagIsFloat;
-    asbd.mFormatID         = kAudioFormatLinearPCM;
-    asbd.mSampleRate       = sampleRate;
-    asbd.mReserved         = 0;
-    return asbd;
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)stereoFloatNonInterleavedFormatWithSampleRate:(float)sampleRate
-{
-    AudioStreamBasicDescription asbd;
-    UInt32 floatByteSize   = sizeof(float);
-    asbd.mBitsPerChannel   = 8 * floatByteSize;
-    asbd.mBytesPerFrame    = floatByteSize;
-    asbd.mChannelsPerFrame = 2;
-    asbd.mFormatFlags      = kAudioFormatFlagIsFloat|kAudioFormatFlagIsNonInterleaved;
-    asbd.mFormatID         = kAudioFormatLinearPCM;
-    asbd.mFramesPerPacket  = 1;
-    asbd.mBytesPerPacket   = asbd.mFramesPerPacket * asbd.mBytesPerFrame;
-    asbd.mSampleRate       = sampleRate;
-    return asbd;
-}
-
-//------------------------------------------------------------------------------
-
-+ (BOOL)isFloatFormat:(AudioStreamBasicDescription)asbd
-{
-    return asbd.mFormatFlags & kAudioFormatFlagIsFloat;
-}
-
-//------------------------------------------------------------------------------
-
-+ (BOOL)isInterleaved:(AudioStreamBasicDescription)asbd
-{
-    return !(asbd.mFormatFlags & kAudioFormatFlagIsNonInterleaved);
-}
-
-//------------------------------------------------------------------------------
-
-+ (BOOL)isLinearPCM:(AudioStreamBasicDescription)asbd
-{
-    return asbd.mFormatID == kAudioFormatLinearPCM;
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)printASBD:(AudioStreamBasicDescription)asbd
-{
-    char formatIDString[5];
-    UInt32 formatID = CFSwapInt32HostToBig(asbd.mFormatID);
-    bcopy (&formatID, formatIDString, 4);
-    formatIDString[4] = '\0';
-    NSLog (@"  Sample Rate:         %10.0f",  asbd.mSampleRate);
-    NSLog (@"  Format ID:           %10s",    formatIDString);
-    NSLog (@"  Format Flags:        %10X",    (unsigned int)asbd.mFormatFlags);
-    NSLog (@"  Bytes per Packet:    %10d",    (unsigned int)asbd.mBytesPerPacket);
-    NSLog (@"  Frames per Packet:   %10d",    (unsigned int)asbd.mFramesPerPacket);
-    NSLog (@"  Bytes per Frame:     %10d",    (unsigned int)asbd.mBytesPerFrame);
-    NSLog (@"  Channels per Frame:  %10d",    (unsigned int)asbd.mChannelsPerFrame);
-    NSLog (@"  Bits per Channel:    %10d",    (unsigned int)asbd.mBitsPerChannel);
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSString *)displayTimeStringFromSeconds:(NSTimeInterval)seconds
-{
-    int totalSeconds = (int)ceil(seconds);
-    int secondsComponent = totalSeconds % 60;
-    int minutesComponent = (totalSeconds / 60) % 60;
-    return [NSString stringWithFormat:@"%02d:%02d", minutesComponent, secondsComponent];
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSString *)stringForAudioStreamBasicDescription:(AudioStreamBasicDescription)asbd
-{
-    char formatIDString[5];
-    UInt32 formatID = CFSwapInt32HostToBig(asbd.mFormatID);
-    bcopy (&formatID, formatIDString, 4);
-    formatIDString[4] = '\0';
-    return [NSString stringWithFormat:
-            @"\nSample Rate:       %10.0f,\n"
-            @"Format ID:           %10s,\n"
-            @"Format Flags:        %10X,\n"
-            @"Bytes per Packet:    %10d,\n"
-            @"Frames per Packet:   %10d,\n"
-            @"Bytes per Frame:     %10d,\n"
-            @"Channels per Frame:  %10d,\n"
-            @"Bits per Channel:    %10d,\n"
-            @"IsInterleaved:       %i,\n"
-            @"IsFloat:             %i,",
-            asbd.mSampleRate,
-            formatIDString,
-            (unsigned int)asbd.mFormatFlags,
-            (unsigned int)asbd.mBytesPerPacket,
-            (unsigned int)asbd.mFramesPerPacket,
-            (unsigned int)asbd.mBytesPerFrame,
-            (unsigned int)asbd.mChannelsPerFrame,
-            (unsigned int)asbd.mBitsPerChannel,
-            [self isInterleaved:asbd],
-            [self isFloatFormat:asbd]];
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)setCanonicalAudioStreamBasicDescription:(AudioStreamBasicDescription*)asbd
-                               numberOfChannels:(UInt32)nChannels
-                                    interleaved:(BOOL)interleaved
-{
-    
-    asbd->mFormatID = kAudioFormatLinearPCM;
-#if TARGET_OS_IPHONE
-    int sampleSize = sizeof(float);
-    asbd->mFormatFlags = kAudioFormatFlagsNativeFloatPacked;
-#elif TARGET_OS_MAC
-    int sampleSize = sizeof(Float32);
-    asbd->mFormatFlags = kAudioFormatFlagsNativeFloatPacked;
-#endif
-    asbd->mBitsPerChannel = 8 * sampleSize;
-    asbd->mChannelsPerFrame = nChannels;
-    asbd->mFramesPerPacket = 1;
-    if (interleaved)
-        asbd->mBytesPerPacket = asbd->mBytesPerFrame = nChannels * sampleSize;
-    else {
-        asbd->mBytesPerPacket = asbd->mBytesPerFrame = sampleSize;
-        asbd->mFormatFlags |= kAudioFormatFlagIsNonInterleaved;
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Math Utilities
-//------------------------------------------------------------------------------
-
-+ (void)appendBufferAndShift:(float*)buffer
-              withBufferSize:(int)bufferLength
-             toScrollHistory:(float*)scrollHistory
-       withScrollHistorySize:(int)scrollHistoryLength
-{
-    int    shiftLength    = scrollHistoryLength - bufferLength;
-    size_t floatByteSize  = sizeof(float);
-    size_t shiftByteSize  = shiftLength  * floatByteSize;
-    size_t bufferByteSize = bufferLength * floatByteSize;
-    memmove(&scrollHistory[0],
-            &scrollHistory[bufferLength],
-            shiftByteSize);
-    memmove(&scrollHistory[shiftLength],
-            &buffer[0],
-            bufferByteSize);
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)   appendValue:(float)value
-       toScrollHistory:(float*)scrollHistory
- withScrollHistorySize:(int)scrollHistoryLength
-{
-    float val[1]; val[0] = value;
-    [self appendBufferAndShift:val
-                withBufferSize:1
-               toScrollHistory:scrollHistory
-         withScrollHistorySize:scrollHistoryLength];
-}
-
-//------------------------------------------------------------------------------
-
-+ (float)MAP:(float)value
-     leftMin:(float)leftMin
-     leftMax:(float)leftMax
-    rightMin:(float)rightMin
-    rightMax:(float)rightMax
-{
-    float leftSpan    = leftMax  - leftMin;
-    float rightSpan   = rightMax - rightMin;
-    float valueScaled = ( value  - leftMin) / leftSpan;
-    return rightMin + (valueScaled * rightSpan);
-}
-
-//------------------------------------------------------------------------------
-
-+ (float)RMS:(float *)buffer   length:(int)bufferSize
-{
-    float sum = 0.0;
-    for(int i = 0; i < bufferSize; i++)
-        sum += buffer[i] * buffer[i];
-    return sqrtf( sum / bufferSize);
-}
-
-//------------------------------------------------------------------------------
-
-+ (float)SGN:(float)value
-{
-    return value < 0 ? -1.0f : ( value > 0 ? 1.0f : 0.0f);
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Music Utilities
-//------------------------------------------------------------------------------
-
-+ (NSString *)noteNameStringForFrequency:(float)frequency
-                           includeOctave:(BOOL)includeOctave
-{
-    NSMutableString *noteName = [NSMutableString string];
-    int halfStepsFromFixedNote = roundf(log(frequency / EZAudioUtilitiesFixedNoteA) / log(EZAudioUtilitiesEQFrequencyRatio));
-    int halfStepsModOctaves = halfStepsFromFixedNote % EZAudioUtilitiesNotesLength;
-    int indexOfNote = EZAudioUtilitiesFixedNoteAIndex + halfStepsModOctaves;
-    float octaves = halfStepsFromFixedNote / EZAudioUtilitiesNotesLength;
-    if (indexOfNote >= EZAudioUtilitiesNotesLength)
-    {
-        indexOfNote -= EZAudioUtilitiesNotesLength;
-        octaves += 1;
-    }
-    else if (indexOfNote < 0)
-    {
-        indexOfNote += EZAudioUtilitiesNotesLength;
-        octaves = -1;
-    }
-    [noteName appendString:EZAudioUtilitiesNotes[indexOfNote]];
-    if (includeOctave)
-    {
-        int noteOctave = EZAudioUtilitiesFixedNoteAOctave + octaves;
-        [noteName appendFormat:@"%i", noteOctave];
-    }
-    return noteName;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - OSStatus Utility
-//------------------------------------------------------------------------------
-
-+ (void)checkResult:(OSStatus)result operation:(const char *)operation
-{
-    if (result == noErr) return;
-    char errorString[20];
-    // see if it appears to be a 4-char-code
-    *(UInt32 *)(errorString + 1) = CFSwapInt32HostToBig(result);
-    if (isprint(errorString[1]) && isprint(errorString[2]) && isprint(errorString[3]) && isprint(errorString[4]))
-    {
-        errorString[0] = errorString[5] = '\'';
-        errorString[6] = '\0';
-    } else
-        // no, format it as an integer
-        sprintf(errorString, "%d", (int)result);
-    fprintf(stderr, "Error: %s (%s)\n", operation, errorString);
-    if (__shouldExitOnCheckResultFail)
-    {
-        exit(-1);
-    }
-}
-
-//------------------------------------------------------------------------------
-
-+ (NSString *)stringFromUInt32Code:(UInt32)code
-{
-    char errorString[20];
-    // see if it appears to be a 4-char-code
-    *(UInt32 *)(errorString + 1) = CFSwapInt32HostToBig(code);
-    if (isprint(errorString[1]) &&
-        isprint(errorString[2]) &&
-        isprint(errorString[3]) &&
-        isprint(errorString[4]))
-    {
-        errorString[0] = errorString[5] = '\'';
-        errorString[6] = '\0';
-    }
-    return [NSString stringWithUTF8String:errorString];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Plot Utility
-//------------------------------------------------------------------------------
-
-+ (void)updateScrollHistory:(float **)scrollHistory
-                 withLength:(int)scrollHistoryLength
-                    atIndex:(int *)index
-                 withBuffer:(float *)buffer
-             withBufferSize:(int)bufferSize
-       isResolutionChanging:(BOOL *)isChanging
-{
-    //
-    size_t floatByteSize = sizeof(float);
-    if(*scrollHistory == NULL)
-    {
-        // Create the history buffer
-        *scrollHistory = (float *)calloc(8192, floatByteSize);
-    }
-    
-    //
-    if(!*isChanging)
-    {
-        float rms = [EZAudioUtilities RMS:buffer length:bufferSize];
-        if(*index < scrollHistoryLength)
-        {
-            float *hist = *scrollHistory;
-            hist[*index] = rms;
-            (*index)++;
-        }
-        else
-        {
-            [EZAudioUtilities appendValue:rms
-                          toScrollHistory:*scrollHistory
-                    withScrollHistorySize:scrollHistoryLength];
-        }
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Color Utility
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Color Utility
-///-----------------------------------------------------------
-
-+ (void)getColorComponentsFromCGColor:(CGColorRef)color
-                                  red:(CGFloat *)red
-                                green:(CGFloat *)green
-                                 blue:(CGFloat *)blue
-                                alpha:(CGFloat *)alpha
-{
-    size_t componentCount = CGColorGetNumberOfComponents(color);
-    if (componentCount == 4)
-    {
-        const CGFloat *components = CGColorGetComponents(color);
-        *red = components[0];
-        *green = components[1];
-        *blue = components[2];
-        *alpha = components[3];
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - TPCircularBuffer Utility
-//------------------------------------------------------------------------------
-
-+ (void)appendDataToCircularBuffer:(TPCircularBuffer *)circularBuffer
-               fromAudioBufferList:(AudioBufferList *)audioBufferList
-{
-    TPCircularBufferProduceBytes(circularBuffer,
-                                 audioBufferList->mBuffers[0].mData,
-                                 audioBufferList->mBuffers[0].mDataByteSize);
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)circularBuffer:(TPCircularBuffer *)circularBuffer withSize:(int)size
-{
-    TPCircularBufferInit(circularBuffer, size);
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)freeCircularBuffer:(TPCircularBuffer *)circularBuffer
-{
-    TPCircularBufferClear(circularBuffer);
-    TPCircularBufferCleanup(circularBuffer);
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZPlotHistoryInfo Utility
-//------------------------------------------------------------------------------
-
-+ (void)appendBufferRMS:(float *)buffer
-         withBufferSize:(UInt32)bufferSize
-          toHistoryInfo:(EZPlotHistoryInfo *)historyInfo
-{
-    //
-    // Calculate RMS and append to buffer
-    //
-    float rms = [EZAudioUtilities RMS:buffer length:bufferSize];
-    float src[1];
-    src[0] = isnan(rms) ? 0.0 : rms;
-    [self appendBuffer:src withBufferSize:1 toHistoryInfo:historyInfo];
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)appendBuffer:(float *)buffer
-      withBufferSize:(UInt32)bufferSize
-       toHistoryInfo:(EZPlotHistoryInfo *)historyInfo
-{
-    //
-    // Do nothing if there is no buffer
-    //
-    if (bufferSize == 0)
-    {
-        return;
-    }
-    
-    //
-    // Update the scroll history datasource
-    //
-    TPCircularBufferProduceBytes(&historyInfo->circularBuffer, buffer, bufferSize * sizeof(float));
-    int32_t targetBytes = historyInfo->bufferSize * sizeof(float);
-    int32_t availableBytes = 0;
-    float *historyBuffer = TPCircularBufferTail(&historyInfo->circularBuffer, &availableBytes);
-    int32_t bytes = MIN(targetBytes, availableBytes);
-    memmove(historyInfo->buffer, historyBuffer, bytes);
-    if (targetBytes <= availableBytes)
-    {
-        TPCircularBufferConsume(&historyInfo->circularBuffer, availableBytes - targetBytes);
-    }
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)clearHistoryInfo:(EZPlotHistoryInfo *)historyInfo
-{
-    memset(historyInfo->buffer, 0, historyInfo->bufferSize * sizeof(float));
-    TPCircularBufferClear(&historyInfo->circularBuffer);
-}
-
-//------------------------------------------------------------------------------
-
-+ (void)freeHistoryInfo:(EZPlotHistoryInfo *)historyInfo
-{
-    free(historyInfo->buffer);
-    free(historyInfo);
-    TPCircularBufferCleanup(&historyInfo->circularBuffer);
-}
-
-//------------------------------------------------------------------------------
-
-+ (EZPlotHistoryInfo *)historyInfoWithDefaultLength:(int)defaultLength
-                                      maximumLength:(int)maximumLength
-{
-    //
-    // Setup buffers
-    //
-    EZPlotHistoryInfo *historyInfo = (EZPlotHistoryInfo *)malloc(sizeof(EZPlotHistoryInfo));
-    historyInfo->bufferSize = defaultLength;
-    historyInfo->buffer = calloc(maximumLength, sizeof(float));
-    TPCircularBufferInit(&historyInfo->circularBuffer, maximumLength);
-    
-    //
-    // Zero out circular buffer
-    //
-    float emptyBuffer[maximumLength];
-    memset(emptyBuffer, 0, sizeof(emptyBuffer));
-    TPCircularBufferProduceBytes(&historyInfo->circularBuffer,
-                                 emptyBuffer,
-                                 (int32_t)sizeof(emptyBuffer));
-    
-    return historyInfo;
-}
-
-//------------------------------------------------------------------------------
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZAudioiOS.h b/document/EZAudio-master/EZAudio/EZAudioiOS.h
deleted file mode 100644 (file)
index 40af2ee..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-//  EZAudioiOS.m
-//  EZAudio
-//
-//  Created by Tommaso Piazza on 30/09/15.
-//  Copyright © 2015 Andrew Breckenridge. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <EZAudioiOS/EZAudio.h>
diff --git a/document/EZAudio-master/EZAudio/EZMicrophone.h b/document/EZAudio-master/EZAudio/EZMicrophone.h
deleted file mode 100644 (file)
index ddac53e..0000000
+++ /dev/null
@@ -1,381 +0,0 @@
-//
-//  EZMicrophone.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 9/2/13.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import <AudioToolbox/AudioToolbox.h>
-#import "TargetConditionals.h"
-#import "EZAudioDevice.h"
-#import "EZOutput.h"
-
-@class EZMicrophone;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZMicrophoneDelegate
-//------------------------------------------------------------------------------
-
-/**
- The EZMicrophoneDelegate for the EZMicrophone provides a receiver for the incoming audio data events. When the microphone has been successfully internally configured it will try to send its delegate an AudioStreamBasicDescription describing the format of the incoming audio data. 
- 
- The audio data itself is sent back to the delegate in various forms:
- 
-   -`microphone:hasAudioReceived:withBufferSize:withNumberOfChannels:`
-     Provides float arrays instead of the AudioBufferList structure to hold the audio data. There could be a number of float arrays depending on the number of channels (see the function description below). These are useful for doing any visualizations that would like to make use of the raw audio data.
- 
-   -`microphone:hasBufferList:withBufferSize:withNumberOfChannels:`
-     Provides the AudioBufferList structures holding the audio data. These are the native structures Core Audio uses to hold the buffer information and useful for piping out directly to an output (see EZOutput).
- 
- */
-@protocol EZMicrophoneDelegate <NSObject>
-
-@optional
-///-----------------------------------------------------------
-/// @name Audio Data Description
-///-----------------------------------------------------------
-
-/**
- Called anytime the EZMicrophone starts or stops.
- @param output The instance of the EZMicrophone that triggered the event.
- @param isPlaying A BOOL indicating whether the EZMicrophone instance is playing or not.
- */
-- (void)microphone:(EZMicrophone *)microphone changedPlayingState:(BOOL)isPlaying;
-
-//------------------------------------------------------------------------------
-
-/**
- Called anytime the input device changes on an `EZMicrophone` instance.
- @param microphone The instance of the EZMicrophone that triggered the event.
- @param device The instance of the new EZAudioDevice the microphone is using to pull input.
- */
-- (void)microphone:(EZMicrophone *)microphone changedDevice:(EZAudioDevice *)device;
-
-//------------------------------------------------------------------------------
-
-/**
- Returns back the audio stream basic description as soon as it has been initialized. This is guaranteed to occur before the stream callbacks, `microphone:hasBufferList:withBufferSize:withNumberOfChannels:` or `microphone:hasAudioReceived:withBufferSize:withNumberOfChannels:`
- @param microphone The instance of the EZMicrophone that triggered the event.
- @param audioStreamBasicDescription The AudioStreamBasicDescription that was created for the microphone instance.
- */
-- (void)              microphone:(EZMicrophone *)microphone
-  hasAudioStreamBasicDescription:(AudioStreamBasicDescription)audioStreamBasicDescription;
-
-///-----------------------------------------------------------
-/// @name Audio Data Callbacks
-///-----------------------------------------------------------
-
-/**
- This method provides an array of float arrays of the audio received, each float array representing a channel of audio data This occurs on the background thread so any drawing code must explicity perform its functions on the main thread.
- @param microphone       The instance of the EZMicrophone that triggered the event.
- @param buffer           The audio data as an array of float arrays. In a stereo signal buffer[0] represents the left channel while buffer[1] would represent the right channel.
- @param bufferSize       The size of each of the buffers (the length of each float array).
- @param numberOfChannels The number of channels for the incoming audio.
- @warning This function executes on a background thread to avoid blocking any audio operations. If operations should be performed on any other thread (like the main thread) it should be performed within a dispatch block like so: dispatch_async(dispatch_get_main_queue(), ^{ ...Your Code... })
- */
-- (void)    microphone:(EZMicrophone *)microphone
-      hasAudioReceived:(float **)buffer
-        withBufferSize:(UInt32)bufferSize
-  withNumberOfChannels:(UInt32)numberOfChannels;
-
-//------------------------------------------------------------------------------
-
-/**
- Returns back the buffer list containing the audio received. This occurs on the background thread so any drawing code must explicity perform its functions on the main thread.
- @param microphone       The instance of the EZMicrophone that triggered the event.
- @param bufferList       The AudioBufferList holding the audio data.
- @param bufferSize       The size of each of the buffers of the AudioBufferList.
- @param numberOfChannels The number of channels for the incoming audio.
- @warning This function executes on a background thread to avoid blocking any audio operations. If operations should be performed on any other thread (like the main thread) it should be performed within a dispatch block like so: dispatch_async(dispatch_get_main_queue(), ^{ ...Your Code... })
- */
-- (void)    microphone:(EZMicrophone *)microphone
-         hasBufferList:(AudioBufferList *)bufferList
-        withBufferSize:(UInt32)bufferSize
-  withNumberOfChannels:(UInt32)numberOfChannels;
-
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZMicrophone
-//------------------------------------------------------------------------------
-
-/**
- The EZMicrophone provides a component to get audio data from the default device microphone. On OSX this is the default selected input device in the system preferences while on iOS this defaults to use the default RemoteIO audio unit. The microphone data is converted to a float buffer array and returned back to the caller via the EZMicrophoneDelegate protocol.
- */
-@interface EZMicrophone : NSObject <EZOutputDataSource>
-
-//------------------------------------------------------------------------------
-
-/**
- The EZMicrophoneDelegate for which to handle the microphone callbacks
- */
-@property (nonatomic, weak) id<EZMicrophoneDelegate> delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- The EZAudioDevice being used to pull the microphone data.
- - On iOS this can be any of the available microphones on the iPhone/iPad devices (usually there are 3). Defaults to the first microphone found (bottom mic)
- - On OSX this can be any of the plugged in devices that Core Audio can detect (see kAudioUnitSubType_HALOutput for more information)
- System Preferences -> Sound for the available inputs)
- */
-@property (nonatomic, strong) EZAudioDevice *device;
-
-//------------------------------------------------------------------------------
-
-/**
- A BOOL describing whether the microphone is on and passing back audio data to its delegate.
- */
-@property (nonatomic, assign) BOOL microphoneOn;
-
-//------------------------------------------------------------------------------
-
-/**
- An EZOutput to use for porting the microphone input out (passthrough).
- */
-@property (nonatomic, strong) EZOutput *output;
-
-//------------------------------------------------------------------------------
-#pragma mark - Initializers
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Initializers
-///-----------------------------------------------------------
-
-/**
- Creates an instance of the EZMicrophone with a delegate to respond to the audioReceived callback. This will not start fetching the audio until startFetchingAudio has been called. Use initWithMicrophoneDelegate:startsImmediately: to instantiate this class and immediately start fetching audio data.
- @param        delegate        A EZMicrophoneDelegate delegate that will receive the audioReceived callback.
- @return       An instance of the EZMicrophone class. This should be strongly retained.
- */
-- (EZMicrophone *)initWithMicrophoneDelegate:(id<EZMicrophoneDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an instance of the EZMicrophone with a custom AudioStreamBasicDescription and provides the caller to specify a delegate to respond to the audioReceived callback. This will not start fetching the audio until startFetchingAudio has been called. Use initWithMicrophoneDelegate:startsImmediately: to instantiate this class and immediately start fetching audio data.
- @param        microphoneDelegate              A EZMicrophoneDelegate delegate that will receive the audioReceived callback.
- @param        audioStreamBasicDescription A custom AudioStreamBasicFormat for the microphone input.
- @return       An instance of the EZMicrophone class. This should be strongly retained.
- */
--(EZMicrophone *)initWithMicrophoneDelegate:(id<EZMicrophoneDelegate>)delegate
-            withAudioStreamBasicDescription:(AudioStreamBasicDescription)audioStreamBasicDescription;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an instance of the EZMicrophone with a delegate to respond to the audioReceived callback and allows the caller to specify whether they'd immediately like to start fetching the audio data.
- @param        delegate        A EZMicrophoneDelegate delegate that will receive the audioReceived callback.
- @param        startsImmediately       A boolean indicating whether to start fetching the data immediately. IF YES, the delegate's audioReceived callback will immediately start getting called.
- @return       An instance of the EZMicrophone class. This should be strongly retained.
- */
-- (EZMicrophone *)initWithMicrophoneDelegate:(id<EZMicrophoneDelegate>)delegate
-                           startsImmediately:(BOOL)startsImmediately;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an instance of the EZMicrophone with a custom AudioStreamBasicDescription and provides the caller with a delegate to respond to the audioReceived callback and allows the caller to specify whether they'd immediately like to start fetching the audio data.
- @param        delegate        A EZMicrophoneDelegate delegate that will receive the audioReceived callback.
- @param        audioStreamBasicDescription A custom AudioStreamBasicFormat for the microphone input.
- @param        startsImmediately       A boolean indicating whether to start fetching the data immediately. IF YES, the delegate's audioReceived callback will immediately start getting called.
- @return       An instance of the EZMicrophone class. This should be strongly retained.
- */
-- (EZMicrophone *)initWithMicrophoneDelegate:(id<EZMicrophoneDelegate>)delegate
-             withAudioStreamBasicDescription:(AudioStreamBasicDescription)audioStreamBasicDescription
-                           startsImmediately:(BOOL)startsImmediately;
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initializers
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Class Initializers
-///-----------------------------------------------------------
-
-/**
- Creates an instance of the EZMicrophone with a delegate to respond to the audioReceived callback. This will not start fetching the audio until startFetchingAudio has been called. Use microphoneWithDelegate:startsImmediately: to instantiate this class and immediately start fetching audio data.
- @param        delegate        A EZMicrophoneDelegate delegate that will receive the audioReceived callback.
- @return       An instance of the EZMicrophone class. This should be declared as a strong property!
- */
-+ (EZMicrophone *)microphoneWithDelegate:(id<EZMicrophoneDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an instance of the EZMicrophone with a delegate to respond to the audioReceived callback. This will not start fetching the audio until startFetchingAudio has been called. Use microphoneWithDelegate:startsImmediately: to instantiate this class and immediately start fetching audio data.
- @param        delegate        A EZMicrophoneDelegate delegate that will receive the audioReceived callback.
- @param        audioStreamBasicDescription A custom AudioStreamBasicFormat for the microphone input.
- @return       An instance of the EZMicrophone class. This should be declared as a strong property!
- */
-+ (EZMicrophone *)microphoneWithDelegate:(id<EZMicrophoneDelegate>)delegate
-         withAudioStreamBasicDescription:(AudioStreamBasicDescription)audioStreamBasicDescription;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an instance of the EZMicrophone with a delegate to respond to the audioReceived callback and allows the caller to specify whether they'd immediately like to start fetching the audio data.
- 
- @param microphoneDelegate A EZMicrophoneDelegate delegate that will receive the audioReceived callback.
- @param startsImmediately  A boolean indicating whether to start fetching the data immediately. IF YES, the delegate's audioReceived callback will immediately start getting called.
- @return An instance of the EZMicrophone class. This should be strongly retained.
- */
-+ (EZMicrophone *)microphoneWithDelegate:(id<EZMicrophoneDelegate>)delegate
-                        startsImmediately:(BOOL)startsImmediately;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an instance of the EZMicrophone with a delegate to respond to the audioReceived callback and allows the caller to specify whether they'd immediately like to start fetching the audio data.
- 
- @param microphoneDelegate A EZMicrophoneDelegate delegate that will receive the audioReceived callback.
- @param audioStreamBasicDescription A custom AudioStreamBasicFormat for the microphone input.
- @param startsImmediately  A boolean indicating whether to start fetching the data immediately. IF YES, the delegate's audioReceived callback will immediately start getting called.
- @return An instance of the EZMicrophone class. This should be strongly retained.
- */
-+ (EZMicrophone *)microphoneWithDelegate:(id<EZMicrophoneDelegate>)delegate
-         withAudioStreamBasicDescription:(AudioStreamBasicDescription)audioStreamBasicDescription
-                       startsImmediately:(BOOL)startsImmediately;
-
-//------------------------------------------------------------------------------
-#pragma mark - Shared Instance
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Shared Instance
-///-----------------------------------------------------------
-
-/**
- A shared instance of the microphone component. Most applications will only need to use one instance of the microphone component across multiple views. Make sure to call the `startFetchingAudio` method to receive the audio data in the microphone delegate.
- @return A shared instance of the `EZAudioMicrophone` component.
- */
-+ (EZMicrophone *)sharedMicrophone;
-
-//------------------------------------------------------------------------------
-#pragma mark - Events
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Starting/Stopping The Microphone
-///-----------------------------------------------------------
-
-/**
- Starts fetching audio from the default microphone. Will notify delegate with audioReceived callback.
- */
-- (void)startFetchingAudio;
-
-//------------------------------------------------------------------------------
-
-/**
- Stops fetching audio. Will stop notifying the delegate's audioReceived callback.
- */
-- (void)stopFetchingAudio;
-
-//------------------------------------------------------------------------------
-#pragma mark - Getters
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Getting The Microphone's Audio Format
-///-----------------------------------------------------------
-
-/**
- Provides the AudioStreamBasicDescription structure containing the format of the microphone's audio.
- @return An AudioStreamBasicDescription structure describing the format of the microphone's audio.
- */
-- (AudioStreamBasicDescription)audioStreamBasicDescription;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the underlying Audio Unit that is being used to fetch the audio.
- @return The AudioUnit used for the microphone
- */
-- (AudioUnit *)audioUnit;
-
-//------------------------------------------------------------------------------
-#pragma mark - Setters
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Customizing The Microphone Stream Format
-///-----------------------------------------------------------
-
-/**
- Sets the AudioStreamBasicDescription on the microphone input. Must be linear PCM and must be the same sample rate as the stream format coming in (check the current `audioStreamBasicDescription` before setting).
- @warning Do not set this while fetching audio (startFetchingAudio)
- @param asbd The new AudioStreamBasicDescription to use in place of the current audio format description.
- */
-- (void)setAudioStreamBasicDescription:(AudioStreamBasicDescription)asbd;
-
-///-----------------------------------------------------------
-/// @name Setting The Microphone's Hardware Device
-///-----------------------------------------------------------
-
-/**
- Sets the EZAudioDevice being used to pull the microphone data.
- - On iOS this can be any of the available microphones on the iPhone/iPad devices (usually there are 3). Defaults to the first microphone found (bottom mic)
- - On OSX this can be any of the plugged in devices that Core Audio can detect (see kAudioUnitSubType_HALOutput for more information)
- System Preferences -> Sound for the available inputs)
- @param device An EZAudioDevice instance that should be used to fetch the microphone data.
- */
-- (void)setDevice:(EZAudioDevice *)device;
-
-//------------------------------------------------------------------------------
-#pragma mark - Direct Output
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Setting The Microphone's Output (Direct Out)
-///-----------------------------------------------------------
-
-/**
- When set this will pipe out the contents of the microphone into an EZOutput. This is known as a passthrough or direct out that will simply pipe the microphone input to an output.
- @param output An EZOutput instance that the microphone will use to output its audio data to the speaker.
- */
-- (void)setOutput:(EZOutput *)output;
-
-//------------------------------------------------------------------------------
-#pragma mark - Subclass Methods
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Subclass
-///-----------------------------------------------------------
-
-/**
- The default AudioStreamBasicDescription set as the stream format of the microphone if no custom description is set. Defaults to a non-interleaved float format with the number of channels specified by the `numberOfChannels` method.
- @return An AudioStreamBasicDescription that will be used as the default stream format.
- */
-- (AudioStreamBasicDescription)defaultStreamFormat;
-
-//------------------------------------------------------------------------------
-
-/**
- The number of channels the input microphone is expected to have. Defaults to 1 (assumes microphone is mono).
- @return A UInt32 representing the number of channels expected for the microphone.
- */
-- (UInt32)numberOfChannels;
-
-//------------------------------------------------------------------------------
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZMicrophone.m b/document/EZAudio-master/EZAudio/EZMicrophone.m
deleted file mode 100644 (file)
index 1061f85..0000000
+++ /dev/null
@@ -1,665 +0,0 @@
-//
-//  EZMicrophone.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 9/2/13.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZMicrophone.h"
-#import "EZAudioFloatConverter.h"
-#import "EZAudioUtilities.h"
-#import "EZAudioDevice.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - Data Structures
-//------------------------------------------------------------------------------
-
-typedef struct EZMicrophoneInfo
-{
-    AudioUnit                     audioUnit;
-    AudioBufferList              *audioBufferList;
-    float                       **floatData;
-    AudioStreamBasicDescription   inputFormat;
-    AudioStreamBasicDescription   streamFormat;
-} EZMicrophoneInfo;
-
-//------------------------------------------------------------------------------
-#pragma mark - Callbacks
-//------------------------------------------------------------------------------
-
-static OSStatus EZAudioMicrophoneCallback(void                       *inRefCon,
-                                          AudioUnitRenderActionFlags *ioActionFlags,
-                                          const AudioTimeStamp       *inTimeStamp,
-                                          UInt32                      inBusNumber,
-                                          UInt32                      inNumberFrames,
-                                          AudioBufferList            *ioData);
-
-//------------------------------------------------------------------------------
-#pragma mark - EZMicrophone (Interface Extension)
-//------------------------------------------------------------------------------
-
-@interface EZMicrophone ()
-@property (nonatomic, strong) EZAudioFloatConverter *floatConverter;
-@property (nonatomic, assign) EZMicrophoneInfo      *info;
-@end
-
-@implementation EZMicrophone
-
-//------------------------------------------------------------------------------
-#pragma mark - Dealloc
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-    [[NSNotificationCenter defaultCenter] removeObserver:self];
-    [EZAudioUtilities checkResult:AudioUnitUninitialize(self.info->audioUnit)
-                        operation:"Failed to unintialize audio unit for microphone"];
-    [EZAudioUtilities freeBufferList:self.info->audioBufferList];
-    [EZAudioUtilities freeFloatBuffers:self.info->floatData
-                      numberOfChannels:self.info->streamFormat.mChannelsPerFrame];
-    free(self.info);
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Initialization
-//------------------------------------------------------------------------------
-
-- (id)init
-{
-    self = [super init];
-    if(self)
-    {
-        self.info = (EZMicrophoneInfo *)malloc(sizeof(EZMicrophoneInfo));
-        memset(self.info, 0, sizeof(EZMicrophoneInfo));
-        [self setup];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
-- (EZMicrophone *)initWithMicrophoneDelegate:(id<EZMicrophoneDelegate>)delegate
-{
-    self = [super init];
-    if(self)
-    {
-        self.info = (EZMicrophoneInfo *)malloc(sizeof(EZMicrophoneInfo));
-        memset(self.info, 0, sizeof(EZMicrophoneInfo));
-        _delegate = delegate;
-        [self setup];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
--(EZMicrophone *)initWithMicrophoneDelegate:(id<EZMicrophoneDelegate>)delegate
-            withAudioStreamBasicDescription:(AudioStreamBasicDescription)audioStreamBasicDescription
-{
-    self = [self initWithMicrophoneDelegate:delegate];
-    if(self)
-    {
-        [self setAudioStreamBasicDescription:audioStreamBasicDescription];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
-- (EZMicrophone *)initWithMicrophoneDelegate:(id<EZMicrophoneDelegate>)delegate
-                           startsImmediately:(BOOL)startsImmediately
-{
-    self = [self initWithMicrophoneDelegate:delegate];
-    if(self)
-    {
-        startsImmediately ? [self startFetchingAudio] : -1;
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
--(EZMicrophone *)initWithMicrophoneDelegate:(id<EZMicrophoneDelegate>)delegate
-            withAudioStreamBasicDescription:(AudioStreamBasicDescription)audioStreamBasicDescription
-                          startsImmediately:(BOOL)startsImmediately
-{
-    self = [self initWithMicrophoneDelegate:delegate
-            withAudioStreamBasicDescription:audioStreamBasicDescription];
-    if(self)
-    {
-        startsImmediately ? [self startFetchingAudio] : -1;
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initializers
-//------------------------------------------------------------------------------
-
-+ (EZMicrophone *)microphoneWithDelegate:(id<EZMicrophoneDelegate>)delegate
-{
-    return [[EZMicrophone alloc] initWithMicrophoneDelegate:delegate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (EZMicrophone *)microphoneWithDelegate:(id<EZMicrophoneDelegate>)delegate
-         withAudioStreamBasicDescription:(AudioStreamBasicDescription)audioStreamBasicDescription
-{
-    return [[EZMicrophone alloc] initWithMicrophoneDelegate:delegate
-                            withAudioStreamBasicDescription:audioStreamBasicDescription];
-}
-
-//------------------------------------------------------------------------------
-
-+ (EZMicrophone *)microphoneWithDelegate:(id<EZMicrophoneDelegate>)delegate
-                        startsImmediately:(BOOL)startsImmediately
-{
-    return [[EZMicrophone alloc] initWithMicrophoneDelegate:delegate
-                                          startsImmediately:startsImmediately];
-}
-
-//------------------------------------------------------------------------------
-
-+ (EZMicrophone *)microphoneWithDelegate:(id<EZMicrophoneDelegate>)delegate
-         withAudioStreamBasicDescription:(AudioStreamBasicDescription)audioStreamBasicDescription
-                       startsImmediately:(BOOL)startsImmediately
-{
-    return [[EZMicrophone alloc] initWithMicrophoneDelegate:delegate
-                            withAudioStreamBasicDescription:audioStreamBasicDescription
-                                          startsImmediately:startsImmediately];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Singleton
-//------------------------------------------------------------------------------
-
-+ (EZMicrophone *)sharedMicrophone
-{
-    static EZMicrophone *_sharedMicrophone = nil;
-    static dispatch_once_t onceToken;
-    dispatch_once(&onceToken, ^{
-        _sharedMicrophone = [[EZMicrophone alloc] init];
-    });
-    return _sharedMicrophone;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void)setup
-{
-    // Create an input component description for mic input
-    AudioComponentDescription inputComponentDescription;
-    inputComponentDescription.componentType = kAudioUnitType_Output;
-    inputComponentDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
-#if TARGET_OS_IPHONE
-    inputComponentDescription.componentSubType = kAudioUnitSubType_RemoteIO;
-#elif TARGET_OS_MAC
-    inputComponentDescription.componentSubType = kAudioUnitSubType_HALOutput;
-#endif
-    // The following must be set to zero unless a specific value is requested.
-    inputComponentDescription.componentFlags = 0;
-    inputComponentDescription.componentFlagsMask = 0;
-    
-    // get the first matching component
-    AudioComponent inputComponent = AudioComponentFindNext( NULL , &inputComponentDescription);
-    NSAssert(inputComponent, @"Couldn't get input component unit!");
-    
-    // create new instance of component
-    [EZAudioUtilities checkResult:AudioComponentInstanceNew(inputComponent, &self.info->audioUnit)
-                        operation:"Failed to get audio component instance"];
-    
-#if TARGET_OS_IPHONE
-    // must enable input scope for remote IO unit
-    UInt32 flag = 1;
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->audioUnit,
-                                                       kAudioOutputUnitProperty_EnableIO,
-                                                       kAudioUnitScope_Input,
-                                                       1,
-                                                       &flag,
-                                                       sizeof(flag))
-                        operation:"Couldn't enable input on remote IO unit."];
-#endif
-    [self setDevice:[EZAudioDevice currentInputDevice]];
-    
-    UInt32 propSize = sizeof(self.info->inputFormat);
-    [EZAudioUtilities checkResult:AudioUnitGetProperty(self.info->audioUnit,
-                                                       kAudioUnitProperty_StreamFormat,
-                                                       kAudioUnitScope_Input,
-                                                       1,
-                                                       &self.info->inputFormat,
-                                                       &propSize)
-                        operation:"Failed to get stream format of microphone input scope"];
-#if TARGET_OS_IPHONE
-    self.info->inputFormat.mSampleRate = [[AVAudioSession sharedInstance] sampleRate];
-    NSAssert(self.info->inputFormat.mSampleRate, @"Expected AVAudioSession sample rate to be greater than 0.0. Did you setup the audio session?");
-#elif TARGET_OS_MAC
-#endif
-    [self setAudioStreamBasicDescription:[self defaultStreamFormat]];
-    
-    // render callback
-    AURenderCallbackStruct renderCallbackStruct;
-    renderCallbackStruct.inputProc = EZAudioMicrophoneCallback;
-    renderCallbackStruct.inputProcRefCon = (__bridge void *)(self);
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->audioUnit,
-                                                       kAudioOutputUnitProperty_SetInputCallback,
-                                                       kAudioUnitScope_Global,
-                                                       1,
-                                                       &renderCallbackStruct,
-                                                       sizeof(renderCallbackStruct))
-                        operation:"Failed to set render callback"];
-    
-    [EZAudioUtilities checkResult:AudioUnitInitialize(self.info->audioUnit)
-                        operation:"Failed to initialize input unit"];
-    
-    // setup notifications
-    [self setupNotifications];
-}
-
-- (void)setupNotifications
-{
-#if TARGET_OS_IPHONE
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(microphoneWasInterrupted:)
-                                                 name:AVAudioSessionInterruptionNotification
-                                               object:nil];
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(microphoneRouteChanged:)
-                                                 name:AVAudioSessionRouteChangeNotification
-                                               object:nil];
-#elif TARGET_OS_MAC
-#endif
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Notifications
-//------------------------------------------------------------------------------
-
-#if TARGET_OS_IPHONE
-
-- (void)microphoneWasInterrupted:(NSNotification *)notification
-{
-    AVAudioSessionInterruptionType type = [notification.userInfo[AVAudioSessionInterruptionTypeKey] unsignedIntegerValue];
-    switch (type)
-    {
-        case AVAudioSessionInterruptionTypeBegan:
-        {
-            [self stopFetchingAudio];
-            break;
-        }
-        case AVAudioSessionInterruptionTypeEnded:
-        {
-            AVAudioSessionInterruptionOptions option = [notification.userInfo[AVAudioSessionInterruptionOptionKey] unsignedIntegerValue];
-            if (option == AVAudioSessionInterruptionOptionShouldResume)
-            {
-                [self startFetchingAudio];
-            }
-            break;
-        }
-        default:
-        {
-            break;
-        }
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphoneRouteChanged:(NSNotification *)notification
-{
-    EZAudioDevice *device = [EZAudioDevice currentInputDevice];
-    [self setDevice:device];
-}
-
-#elif TARGET_OS_MAC
-#endif
-
-//------------------------------------------------------------------------------
-#pragma mark - Events
-//------------------------------------------------------------------------------
-
--(void)startFetchingAudio
-{
-    //
-    // Start output unit
-    //
-    [EZAudioUtilities checkResult:AudioOutputUnitStart(self.info->audioUnit)
-                        operation:"Failed to start microphone audio unit"];
-    
-    //
-    // Notify delegate
-    //
-    if ([self.delegate respondsToSelector:@selector(microphone:changedPlayingState:)])
-    {
-        [self.delegate microphone:self changedPlayingState:YES];
-    }
-}
-
-//------------------------------------------------------------------------------
-
--(void)stopFetchingAudio
-{
-    //
-    // Stop output unit
-    //
-    [EZAudioUtilities checkResult:AudioOutputUnitStop(self.info->audioUnit)
-                        operation:"Failed to stop microphone audio unit"];
-    
-    //
-    // Notify delegate
-    //
-    if ([self.delegate respondsToSelector:@selector(microphone:changedPlayingState:)])
-    {
-        [self.delegate microphone:self changedPlayingState:NO];
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Getters
-//------------------------------------------------------------------------------
-
--(AudioStreamBasicDescription)audioStreamBasicDescription
-{
-    return self.info->streamFormat;
-}
-
-//------------------------------------------------------------------------------
-
--(AudioUnit *)audioUnit
-{
-    return &self.info->audioUnit;
-}
-
-//------------------------------------------------------------------------------
-
-- (UInt32)maximumBufferSize
-{
-    UInt32 maximumBufferSize;
-    UInt32 propSize = sizeof(maximumBufferSize);
-    [EZAudioUtilities checkResult:AudioUnitGetProperty(self.info->audioUnit,
-                                                       kAudioUnitProperty_MaximumFramesPerSlice,
-                                                       kAudioUnitScope_Global,
-                                                       0,
-                                                       &maximumBufferSize,
-                                                       &propSize)
-                        operation:"Failed to get maximum number of frames per slice"];
-    return maximumBufferSize;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setters
-//------------------------------------------------------------------------------
-
-- (void)setMicrophoneOn:(BOOL)microphoneOn
-{
-    _microphoneOn = microphoneOn;
-    if (microphoneOn)
-    {
-        [self startFetchingAudio];
-    }
-    else {
-        [self stopFetchingAudio];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setAudioStreamBasicDescription:(AudioStreamBasicDescription)asbd
-{
-    if (self.floatConverter)
-    {
-        [EZAudioUtilities freeBufferList:self.info->audioBufferList];
-        [EZAudioUtilities freeFloatBuffers:self.info->floatData
-                          numberOfChannels:self.info->streamFormat.mChannelsPerFrame];
-    }
-    
-    //
-    // Set new stream format
-    //
-    self.info->streamFormat = asbd;
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->audioUnit,
-                                                       kAudioUnitProperty_StreamFormat,
-                                                       kAudioUnitScope_Input,
-                                                       0,
-                                                       &asbd,
-                                                       sizeof(asbd))
-                        operation:"Failed to set stream format on input scope"];
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->audioUnit,
-                                                       kAudioUnitProperty_StreamFormat,
-                                                       kAudioUnitScope_Output,
-                                                       1,
-                                                       &asbd,
-                                                       sizeof(asbd))
-                        operation:"Failed to set stream format on output scope"];
-    
-    //
-    // Allocate scratch buffers
-    //
-    UInt32 maximumBufferSize = [self maximumBufferSize];
-    BOOL isInterleaved = [EZAudioUtilities isInterleaved:asbd];
-    UInt32 channels = asbd.mChannelsPerFrame;
-    self.floatConverter = [[EZAudioFloatConverter alloc] initWithInputFormat:asbd];
-    self.info->floatData = [EZAudioUtilities floatBuffersWithNumberOfFrames:maximumBufferSize
-                                                      numberOfChannels:channels];
-    self.info->audioBufferList = [EZAudioUtilities audioBufferListWithNumberOfFrames:maximumBufferSize
-                                                                    numberOfChannels:channels
-                                                                         interleaved:isInterleaved];
-    //
-    // Notify delegate
-    //
-    if ([self.delegate respondsToSelector:@selector(microphone:hasAudioStreamBasicDescription:)])
-    {
-        [self.delegate microphone:self hasAudioStreamBasicDescription:asbd];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setDevice:(EZAudioDevice *)device
-{
-#if TARGET_OS_IPHONE
-    
-    // if the devices are equal then ignore
-    if ([device isEqual:self.device])
-    {
-        return;
-    }
-    
-    NSError *error;
-    [[AVAudioSession sharedInstance] setPreferredInput:device.port error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting input device port (%@), reason: %@",
-              device.port,
-              error.localizedDescription);
-    }
-    else
-    {
-        if (device.dataSource)
-        {
-            [[AVAudioSession sharedInstance] setInputDataSource:device.dataSource error:&error];
-            if (error)
-            {
-                NSLog(@"Error setting input data source (%@), reason: %@",
-                      device.dataSource,
-                      error.localizedDescription);
-            }
-        }
-    }
-    
-#elif TARGET_OS_MAC
-    UInt32 inputEnabled = device.inputChannelCount > 0;
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->audioUnit,
-                                                       kAudioOutputUnitProperty_EnableIO,
-                                                       kAudioUnitScope_Input,
-                                                       1,
-                                                       &inputEnabled,
-                                                       sizeof(inputEnabled))
-                        operation:"Failed to set flag on device input"];
-    
-    UInt32 outputEnabled = device.outputChannelCount > 0;
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->audioUnit,
-                                                       kAudioOutputUnitProperty_EnableIO,
-                                                       kAudioUnitScope_Output,
-                                                       0,
-                                                       &outputEnabled,
-                                                       sizeof(outputEnabled))
-                        operation:"Failed to set flag on device output"];
-    
-    AudioDeviceID deviceId = device.deviceID;
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->audioUnit,
-                                                       kAudioOutputUnitProperty_CurrentDevice,
-                                                       kAudioUnitScope_Global,
-                                                       0,
-                                                       &deviceId,
-                                                       sizeof(AudioDeviceID))
-                        operation:"Couldn't set default device on I/O unit"];
-#endif
-    
-    //
-    // Store device
-    //
-    _device = device;
-    
-    //
-    // Notify delegate
-    //
-    if ([self.delegate respondsToSelector:@selector(microphone:changedDevice:)])
-    {
-        [self.delegate microphone:self changedDevice:device];
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Output
-//------------------------------------------------------------------------------
-
-- (void)setOutput:(EZOutput *)output
-{
-    _output = output;
-    _output.inputFormat = self.audioStreamBasicDescription;
-    _output.dataSource = self;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZOutputDataSource
-//------------------------------------------------------------------------------
-
-- (OSStatus)        output:(EZOutput *)output
- shouldFillAudioBufferList:(AudioBufferList *)audioBufferList
-        withNumberOfFrames:(UInt32)frames
-                 timestamp:(const AudioTimeStamp *)timestamp
-{
-    memcpy(audioBufferList,
-           self.info->audioBufferList,
-           sizeof(AudioBufferList) + (self.info->audioBufferList->mNumberBuffers - 1)*sizeof(AudioBuffer));
-    return noErr;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Subclass
-//------------------------------------------------------------------------------
-
-- (AudioStreamBasicDescription)defaultStreamFormat
-{
-    return [EZAudioUtilities floatFormatWithNumberOfChannels:[self numberOfChannels]
-                                                  sampleRate:self.info->inputFormat.mSampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-- (UInt32)numberOfChannels
-{
-#if TARGET_OS_IPHONE
-    return 1;
-#elif TARGET_OS_MAC
-    return (UInt32)self.device.inputChannelCount;
-#endif
-}
-
-//------------------------------------------------------------------------------
-
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - Callbacks
-//------------------------------------------------------------------------------
-
-static OSStatus EZAudioMicrophoneCallback(void                       *inRefCon,
-                                          AudioUnitRenderActionFlags *ioActionFlags,
-                                          const AudioTimeStamp       *inTimeStamp,
-                                          UInt32                      inBusNumber,
-                                          UInt32                      inNumberFrames,
-                                          AudioBufferList            *ioData)
-{
-    EZMicrophone *microphone = (__bridge EZMicrophone *)inRefCon;
-    EZMicrophoneInfo *info = (EZMicrophoneInfo *)microphone.info;
-    
-    //
-    // Make sure the size of each buffer in the stored buffer array
-    // is properly set using the actual number of frames coming in!
-    //
-    for (int i = 0; i < info->audioBufferList->mNumberBuffers; i++) {
-        info->audioBufferList->mBuffers[i].mDataByteSize = inNumberFrames * info->streamFormat.mBytesPerFrame;
-    }
-    
-    //
-    // Render audio into buffer
-    //
-    OSStatus result = AudioUnitRender(info->audioUnit,
-                                      ioActionFlags,
-                                      inTimeStamp,
-                                      inBusNumber,
-                                      inNumberFrames,
-                                      info->audioBufferList);
-    
-    //
-    // Notify delegate of new buffer list to process
-    //
-    if ([microphone.delegate respondsToSelector:@selector(microphone:hasBufferList:withBufferSize:withNumberOfChannels:)])
-    {
-        [microphone.delegate microphone:microphone
-                          hasBufferList:info->audioBufferList
-                         withBufferSize:inNumberFrames
-                   withNumberOfChannels:info->streamFormat.mChannelsPerFrame];
-    }
-    
-    //
-    // Notify delegate of new float data processed
-    //
-    if ([microphone.delegate respondsToSelector:@selector(microphone:hasAudioReceived:withBufferSize:withNumberOfChannels:)])
-    {
-        //
-        // Convert to float
-        //
-        [microphone.floatConverter convertDataFromAudioBufferList:info->audioBufferList
-                                               withNumberOfFrames:inNumberFrames
-                                                   toFloatBuffers:info->floatData];
-        [microphone.delegate microphone:microphone
-                       hasAudioReceived:info->floatData
-                         withBufferSize:inNumberFrames
-                   withNumberOfChannels:info->streamFormat.mChannelsPerFrame];
-    }
-    
-    return result;
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZOutput.h b/document/EZAudio-master/EZAudio/EZOutput.h
deleted file mode 100644 (file)
index 701894e..0000000
+++ /dev/null
@@ -1,376 +0,0 @@
-//
-//  EZOutput.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 12/2/13.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import <AudioToolbox/AudioToolbox.h>
-#if TARGET_OS_IPHONE
-#elif TARGET_OS_MAC
-#import <AudioUnit/AudioUnit.h>
-#endif
-
-@class EZAudioDevice;
-@class EZOutput;
-
-//------------------------------------------------------------------------------
-#pragma mark - Constants
-//------------------------------------------------------------------------------
-
-FOUNDATION_EXPORT UInt32  const EZOutputMaximumFramesPerSlice;
-FOUNDATION_EXPORT Float64 const EZOutputDefaultSampleRate;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZOutputDataSource
-//------------------------------------------------------------------------------
-
-/**
- The EZOutputDataSource specifies a receiver to provide audio data when the EZOutput is started. Since the 0.4.0 release this has been simplified to only one data source method.
- */
-@protocol EZOutputDataSource <NSObject>
-
-@optional
-///-----------------------------------------------------------
-/// @name Providing Audio Data
-///-----------------------------------------------------------
-
-@required
-
-/**
- Provides a way to provide output with data anytime the EZOutput needs audio data to play. This function provides an already allocated AudioBufferList to use for providing audio data into the output buffer. The expected format of the audio data provided here is specified by the EZOutput `inputFormat` property. This audio data will be converted into the client format specified by the EZOutput `clientFormat` property.
- @param output The instance of the EZOutput that asked for the data.
- @param audioBufferList The AudioBufferList structure pointer that needs to be filled with audio data
- @param frames The amount of frames as a UInt32 that output will need to properly fill its output buffer.
- @param timestamp A AudioTimeStamp pointer to use if you need the current host time.
- @return An OSStatus code. If there was no error then use the noErr status code.
- */
-- (OSStatus)        output:(EZOutput *)output
- shouldFillAudioBufferList:(AudioBufferList *)audioBufferList
-        withNumberOfFrames:(UInt32)frames
-                 timestamp:(const AudioTimeStamp *)timestamp;
-
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZOutputDelegate
-//------------------------------------------------------------------------------
-
-/**
- The EZOutputDelegate for the EZOutput component provides a receiver to handle play state, device, and audio data change events. This is very similar to the EZMicrophoneDelegate for the EZMicrophone and the EZAudioFileDelegate for the EZAudioFile.
- */
-@protocol EZOutputDelegate <NSObject>
-
-@optional
-
-/**
- Called anytime the EZOutput starts or stops.
- @param output The instance of the EZOutput that triggered the event.
- @param isPlaying A BOOL indicating whether the EZOutput instance is playing or not.
- */
-- (void)output:(EZOutput *)output changedPlayingState:(BOOL)isPlaying;
-
-//------------------------------------------------------------------------------
-
-/**
- Called anytime the `device` changes on an EZOutput instance.
- @param output The instance of the EZOutput that triggered the event.
- @param device The instance of the new EZAudioDevice the output is using to play audio data.
- */
-- (void)output:(EZOutput *)output changedDevice:(EZAudioDevice *)device;
-
-//------------------------------------------------------------------------------
-
-/**
- Like the EZMicrophoneDelegate, for the EZOutput this method provides an array of float arrays of the audio received, each float array representing a channel of audio data. This occurs on the background thread so any drawing code must explicity perform its functions on the main thread.
- @param output The instance of the EZOutput that triggered the event.
- @param buffer           The audio data as an array of float arrays. In a stereo signal buffer[0] represents the left channel while buffer[1] would represent the right channel.
- @param bufferSize       A UInt32 representing the size of each of the buffers (the length of each float array).
- @param numberOfChannels A UInt32 representing the number of channels (you can use this to know how many float arrays are in the `buffer` parameter.
- @warning This function executes on a background thread to avoid blocking any audio operations. If operations should be performed on any other thread (like the main thread) it should be performed within a dispatch block like so: dispatch_async(dispatch_get_main_queue(), ^{ ...Your Code... })
- */
-- (void)       output:(EZOutput *)output
-          playedAudio:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels;
-
-//------------------------------------------------------------------------------
-
-@end
-
-/**
- The EZOutput component provides a generic output to glue all the other EZAudio components together and push whatever sound you've created to the default output device (think opposite of the microphone). The EZOutputDataSource provides the required AudioBufferList needed to populate the output buffer while the EZOutputDelegate provides the same kind of mechanism as the EZMicrophoneDelegate or EZAudioFileDelegate in that you will receive a callback that provides non-interleaved, float data for visualizing the output (done using an internal float converter). As of 0.4.0 the EZOutput has been simplified to a single EZOutputDataSource method and now uses an AUGraph to provide format conversion from the `inputFormat` to the playback graph's `clientFormat` linear PCM formats, mixer controls for setting volume and pan settings, hooks to add in any number of effect audio units (see the `connectOutputOfSourceNode:sourceNodeOutputBus:toDestinationNode:destinationNodeInputBus:inGraph:` subclass method), and hardware device toggling (via EZAudioDevice).
- */
-@interface EZOutput : NSObject
-
-//------------------------------------------------------------------------------
-#pragma mark - Initializers
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Initializers
-///-----------------------------------------------------------
-
-/**
- Creates a new instance of the EZOutput and allows the caller to specify an EZOutputDataSource.
- @param dataSource The EZOutputDataSource that will be used to pull the audio data for the output callback.
- @return A newly created instance of the EZOutput class.
- */
-- (instancetype)initWithDataSource:(id<EZOutputDataSource>)dataSource;
-
-/**
- Creates a new instance of the EZOutput and allows the caller to specify an EZOutputDataSource.
- @param dataSource The EZOutputDataSource that will be used to pull the audio data for the output callback.
- @param inputFormat The AudioStreamBasicDescription of the EZOutput.
- @warning AudioStreamBasicDescription input formats must be linear PCM!
- @return A newly created instance of the EZOutput class.
- */
-- (instancetype)initWithDataSource:(id<EZOutputDataSource>)dataSource
-                       inputFormat:(AudioStreamBasicDescription)inputFormat;
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initializers
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Class Initializers
-///-----------------------------------------------------------
-
-/**
- Class method to create a new instance of the EZOutput
- @return A newly created instance of the EZOutput class.
- */
-+ (instancetype)output;
-
-/**
- Class method to create a new instance of the EZOutput and allows the caller to specify an EZOutputDataSource.
- @param dataSource The EZOutputDataSource that will be used to pull the audio data for the output callback.
- @return A newly created instance of the EZOutput class.
- */
-+ (instancetype)outputWithDataSource:(id<EZOutputDataSource>)dataSource;
-
-/**
- Class method to create a new instance of the EZOutput and allows the caller to specify an EZOutputDataSource.
- @param dataSource The EZOutputDataSource that will be used to pull the audio data for the output callback.
- @param audioStreamBasicDescription The AudioStreamBasicDescription of the EZOutput.
- @warning AudioStreamBasicDescriptions that are invalid will cause the EZOutput to fail to initialize
- @return A newly created instance of the EZOutput class.
- */
-+ (instancetype)outputWithDataSource:(id<EZOutputDataSource>)dataSource
-                         inputFormat:(AudioStreamBasicDescription)inputFormat;
-
-//------------------------------------------------------------------------------
-#pragma mark - Singleton
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Shared Instance
-///-----------------------------------------------------------
-
-/**
- Creates a shared instance of the EZOutput (one app will usually only need one output and share the role of the EZOutputDataSource).
- @return The shared instance of the EZOutput class.
- */
-+ (instancetype)sharedOutput;
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Setting/Getting The Stream Formats
-///-----------------------------------------------------------
-
-/**
- Provides the AudioStreamBasicDescription structure used at the beginning of the playback graph which is then converted into the `clientFormat` using the AUConverter audio unit.
-  @warning The AudioStreamBasicDescription set here must be linear PCM. Compressed formats are not supported...the EZAudioFile's clientFormat performs the audio conversion on the fly from compressed to linear PCM so there is no additional work to be done there.
- @return An AudioStreamBasicDescription structure describing
- */
-@property (nonatomic, readwrite) AudioStreamBasicDescription inputFormat;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the AudioStreamBasicDescription structure that serves as the common format used throughout the playback graph (similar to how the EZAudioFile as a clientFormat that is linear PCM to be shared amongst other components). The `inputFormat` is converted into this format at the beginning of the playback graph using an AUConverter audio unit. Defaults to the whatever the `defaultClientFormat` method returns is if a custom one isn't explicitly set.
- @warning The AudioStreamBasicDescription set here must be linear PCM. Compressed formats are not supported by Audio Units.
- @return An AudioStreamBasicDescription structure describing the common client format for the playback graph.
- */
-@property (nonatomic, readwrite) AudioStreamBasicDescription clientFormat;
-
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Setting/Getting The Data Source and Delegate
-///-----------------------------------------------------------
-
-/**
- The EZOutputDataSource that provides the audio data in the `inputFormat` for the EZOutput to play. If an EZOutputDataSource is not specified then the EZOutput will just output silence.
- */
-@property (nonatomic, weak) id<EZOutputDataSource> dataSource;
-
-//------------------------------------------------------------------------------
-
-/**
- The EZOutputDelegate for which to handle the output callbacks
- */
-@property (nonatomic, weak) id<EZOutputDelegate> delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides a flag indicating whether the EZOutput is pulling audio data from the EZOutputDataSource for playback.
- @return YES if the EZOutput is running, NO if it is stopped
- */
-@property (readonly) BOOL isPlaying;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the current pan from the audio player's mixer audio unit in the playback graph. Setting the pan adjusts the direction of the audio signal from left (0) to right (1). Default is 0.5 (middle).
- */
-@property (nonatomic, assign) float pan;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the current volume from the audio player's mixer audio unit in the playback graph. Setting the volume adjusts the gain of the output between 0 and 1. Default is 1.
- */
-@property (nonatomic, assign) float volume;
-
-//------------------------------------------------------------------------------
-#pragma mark - Core Audio Properties
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Core Audio Properties
-///-----------------------------------------------------------
-
-/**
- The AUGraph used to chain together the converter, mixer, and output audio units.
- */
-@property (readonly) AUGraph graph;
-
-//------------------------------------------------------------------------------
-
-/**
- The AudioUnit that is being used to convert the audio data coming into the output's playback graph.
- */
-@property (readonly) AudioUnit converterAudioUnit;
-
-//------------------------------------------------------------------------------
-
-/**
- The AudioUnit that is being used as the mixer to adjust the volume on the output's playback graph.
- */
-@property (readonly) AudioUnit mixerAudioUnit;
-
-//------------------------------------------------------------------------------
-
-/**
- The AudioUnit that is being used as the hardware output for the output's playback graph.
- */
-@property (readonly) AudioUnit outputAudioUnit;
-
-//------------------------------------------------------------------------------
-#pragma mark - Setters
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Getting/Setting The Output's Hardware Device
-///-----------------------------------------------------------
-
-/**
- An EZAudioDevice instance that is used to route the audio data out to the speaker. To find a list of available output devices see the EZAudioDevice `outputDevices` method.
- */
-@property (nonatomic, strong, readwrite) EZAudioDevice *device;
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Starting/Stopping The Output
-///-----------------------------------------------------------
-
-/**
- Starts pulling audio data from the EZOutputDataSource to the default device output.
- */
-- (void)startPlayback;
-
-///-----------------------------------------------------------
-
-/**
- Stops pulling audio data from the EZOutputDataSource to the default device output.
- */
-- (void)stopPlayback;
-
-//------------------------------------------------------------------------------
-#pragma mark - Subclass
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Subclass
-///-----------------------------------------------------------
-
-/**
- This method handles connecting the converter node to the mixer node within the AUGraph that is being used as the playback graph. Subclasses can override this method and insert their custom nodes to perform effects processing on the audio data being rendered. 
- 
- This was inspired by Daniel Kennett's blog post on how to add a custom equalizer to a CocoaLibSpotify SPCoreAudioController's AUGraph. For more information see Daniel's post and example code here: http://ikennd.ac/blog/2012/04/augraph-basics-in-cocoalibspotify/.
- @param sourceNode              An AUNode representing the node the audio data is coming from.
- @param sourceNodeOutputBus     A UInt32 representing the output bus from the source node that should be connected into the next node's input bus.
- @param destinationNode         An AUNode representing the node the audio data should be connected to.
- @param destinationNodeInputBus A UInt32 representing the input bus the source node's output bus should be connecting to.
- @param graph                   The AUGraph that is being used to hold the playback graph. Same as from the `graph` property.
- @return An OSStatus code. For no error return back `noErr`.
- */
-- (OSStatus)connectOutputOfSourceNode:(AUNode)sourceNode
-                  sourceNodeOutputBus:(UInt32)sourceNodeOutputBus
-                    toDestinationNode:(AUNode)destinationNode
-              destinationNodeInputBus:(UInt32)destinationNodeInputBus
-                              inGraph:(AUGraph)graph;
-
-//------------------------------------------------------------------------------
-
-/**
- The default AudioStreamBasicDescription set as the client format of the output if no custom `clientFormat` is set. Defaults to a 44.1 kHz stereo, non-interleaved, float format.
- @return An AudioStreamBasicDescription that will be used as the default stream format.
- */
-- (AudioStreamBasicDescription)defaultClientFormat;
-
-//------------------------------------------------------------------------------
-
-/**
- The default AudioStreamBasicDescription set as the `inputFormat` of the output if no custom `inputFormat` is set. Defaults to a 44.1 kHz stereo, non-interleaved, float format.
- @return An AudioStreamBasicDescription that will be used as the default stream format.
- */
-- (AudioStreamBasicDescription)defaultInputFormat;
-
-//------------------------------------------------------------------------------
-
-/**
- The default value used as the AudioUnit subtype when creating the hardware output component. By default this is kAudioUnitSubType_RemoteIO for iOS and kAudioUnitSubType_HALOutput for OSX. 
- @warning If you change this to anything other than kAudioUnitSubType_HALOutput for OSX you will get a failed assertion because devices can only be set when using the HAL audio unit.
- @return An OSType that represents the AudioUnit subtype for the hardware output component.
- */
-- (OSType)outputAudioUnitSubType;
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZOutput.m b/document/EZAudio-master/EZAudio/EZOutput.m
deleted file mode 100644 (file)
index 0d660d6..0000000
+++ /dev/null
@@ -1,753 +0,0 @@
-//
-//  EZOutput.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 12/2/13.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZOutput.h"
-#import "EZAudioDevice.h"
-#import "EZAudioFloatConverter.h"
-#import "EZAudioUtilities.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - Constants
-//------------------------------------------------------------------------------
-
-UInt32  const EZOutputMaximumFramesPerSlice = 4096;
-Float64 const EZOutputDefaultSampleRate     = 44100.0f;
-
-//------------------------------------------------------------------------------
-#pragma mark - Data Structures
-//------------------------------------------------------------------------------
-
-typedef struct
-{
-    // stream format params
-    AudioStreamBasicDescription inputFormat;
-    AudioStreamBasicDescription clientFormat;
-    
-    // float converted data
-    float **floatData;
-    
-    // nodes
-    EZAudioNodeInfo converterNodeInfo;
-    EZAudioNodeInfo mixerNodeInfo;
-    EZAudioNodeInfo outputNodeInfo;
-    
-    // audio graph
-    AUGraph graph;
-} EZOutputInfo;
-
-//------------------------------------------------------------------------------
-#pragma mark - Callbacks (Declaration)
-//------------------------------------------------------------------------------
-
-OSStatus EZOutputConverterInputCallback(void                       *inRefCon,
-                                        AudioUnitRenderActionFlags *ioActionFlags,
-                                        const AudioTimeStamp       *inTimeStamp,
-                                        UInt32                                     inBusNumber,
-                                        UInt32                                     inNumberFrames,
-                                        AudioBufferList            *ioData);
-
-//------------------------------------------------------------------------------
-
-OSStatus EZOutputGraphRenderCallback(void                       *inRefCon,
-                                     AudioUnitRenderActionFlags *ioActionFlags,
-                                     const AudioTimeStamp       *inTimeStamp,
-                                     UInt32                                         inBusNumber,
-                                     UInt32                      inNumberFrames,
-                                     AudioBufferList            *ioData);
-
-//------------------------------------------------------------------------------
-#pragma mark - EZOutput (Interface Extension)
-//------------------------------------------------------------------------------
-
-@interface EZOutput ()
-@property (nonatomic, strong) EZAudioFloatConverter *floatConverter;
-@property (nonatomic, assign) EZOutputInfo *info;
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZOutput (Implementation)
-//------------------------------------------------------------------------------
-
-@implementation EZOutput
-
-//------------------------------------------------------------------------------
-#pragma mark - Dealloc
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-    if (self.floatConverter)
-    {
-        self.floatConverter = nil;
-        [EZAudioUtilities freeFloatBuffers:self.info->floatData
-                          numberOfChannels:self.info->clientFormat.mChannelsPerFrame];
-    }
-    [EZAudioUtilities checkResult:AUGraphStop(self.info->graph)
-                        operation:"Failed to stop graph"];
-    [EZAudioUtilities checkResult:AUGraphClose(self.info->graph)
-                        operation:"Failed to close graph"];
-    [EZAudioUtilities checkResult:DisposeAUGraph(self.info->graph)
-                        operation:"Failed to dispose of graph"];
-    free(self.info);
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Initialization
-//------------------------------------------------------------------------------
-
-- (instancetype) init
-{
-    self = [super init];
-    if (self)
-    {
-        [self setup];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithDataSource:(id<EZOutputDataSource>)dataSource
-{
-    self = [self init];
-    if (self)
-    {
-        self.dataSource = dataSource;
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithDataSource:(id<EZOutputDataSource>)dataSource
-                       inputFormat:(AudioStreamBasicDescription)inputFormat
-{
-    self = [self initWithDataSource:dataSource];
-    if (self)
-    {
-        self.inputFormat = inputFormat;
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initializers
-//------------------------------------------------------------------------------
-
-+ (instancetype)output
-{
-    return [[self alloc] init];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)outputWithDataSource:(id<EZOutputDataSource>)dataSource
-{
-    return [[self alloc] initWithDataSource:dataSource];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)outputWithDataSource:(id<EZOutputDataSource>)dataSource
-                         inputFormat:(AudioStreamBasicDescription)inputFormat
-{
-    return [[self alloc] initWithDataSource:dataSource
-                                inputFormat:inputFormat];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Singleton
-//------------------------------------------------------------------------------
-
-+ (instancetype)sharedOutput
-{
-    static EZOutput *output;
-    static dispatch_once_t onceToken;
-    dispatch_once(&onceToken, ^
-    {
-        output = [[self alloc] init];
-    });
-    return output;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void)setup
-{
-    //
-    // Create structure to hold state data
-    //
-    self.info = (EZOutputInfo *)malloc(sizeof(EZOutputInfo));
-    memset(self.info, 0, sizeof(EZOutputInfo));
-    
-    //
-    // Setup the audio graph
-    //
-    [EZAudioUtilities checkResult:NewAUGraph(&self.info->graph)
-                        operation:"Failed to create graph"];
-    
-    //
-    // Add converter node
-    //
-    AudioComponentDescription converterDescription;
-    converterDescription.componentType = kAudioUnitType_FormatConverter;
-    converterDescription.componentSubType = kAudioUnitSubType_AUConverter;
-    converterDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
-    [EZAudioUtilities checkResult:AUGraphAddNode(self.info->graph,
-                                                 &converterDescription,
-                                                 &self.info->converterNodeInfo.node)
-                        operation:"Failed to add converter node to audio graph"];
-    
-    //
-    // Add mixer node
-    //
-    AudioComponentDescription mixerDescription;
-    mixerDescription.componentType = kAudioUnitType_Mixer;
-#if TARGET_OS_IPHONE
-    mixerDescription.componentSubType = kAudioUnitSubType_MultiChannelMixer;
-#elif TARGET_OS_MAC
-    mixerDescription.componentSubType = kAudioUnitSubType_StereoMixer;
-#endif
-    mixerDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
-    [EZAudioUtilities checkResult:AUGraphAddNode(self.info->graph,
-                                                 &mixerDescription,
-                                                 &self.info->mixerNodeInfo.node)
-                        operation:"Failed to add mixer node to audio graph"];
-    
-    //
-    // Add output node
-    //
-    AudioComponentDescription outputDescription;
-    outputDescription.componentType = kAudioUnitType_Output;
-    outputDescription.componentSubType = [self outputAudioUnitSubType];
-    outputDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
-    [EZAudioUtilities checkResult:AUGraphAddNode(self.info->graph,
-                                                 &outputDescription,
-                                                 &self.info->outputNodeInfo.node)
-                        operation:"Failed to add output node to audio graph"];
-    
-    //
-    // Open the graph
-    //
-    [EZAudioUtilities checkResult:AUGraphOpen(self.info->graph)
-                        operation:"Failed to open graph"];
-    
-    //
-    // Make node connections
-    //
-    OSStatus status = [self connectOutputOfSourceNode:self.info->converterNodeInfo.node
-                                  sourceNodeOutputBus:0
-                                    toDestinationNode:self.info->mixerNodeInfo.node
-                              destinationNodeInputBus:0
-                                              inGraph:self.info->graph];
-    [EZAudioUtilities checkResult:status
-                        operation:"Failed to connect output of source node to destination node in graph"];
-    
-    //
-    // Connect mixer to output
-    //
-    [EZAudioUtilities checkResult:AUGraphConnectNodeInput(self.info->graph,
-                                                          self.info->mixerNodeInfo.node,
-                                                          0,
-                                                          self.info->outputNodeInfo.node,
-                                                          0)
-                        operation:"Failed to connect mixer node to output node"];
-    
-    //
-    // Get the audio units
-    //
-    [EZAudioUtilities checkResult:AUGraphNodeInfo(self.info->graph,
-                                                  self.info->converterNodeInfo.node,
-                                                  &converterDescription,
-                                                  &self.info->converterNodeInfo.audioUnit)
-                        operation:"Failed to get converter audio unit"];
-    [EZAudioUtilities checkResult:AUGraphNodeInfo(self.info->graph,
-                                                  self.info->mixerNodeInfo.node,
-                                                  &mixerDescription,
-                                                  &self.info->mixerNodeInfo.audioUnit)
-                        operation:"Failed to get mixer audio unit"];
-    [EZAudioUtilities checkResult:AUGraphNodeInfo(self.info->graph,
-                                                  self.info->outputNodeInfo.node,
-                                                  &outputDescription,
-                                                  &self.info->outputNodeInfo.audioUnit)
-                        operation:"Failed to get output audio unit"];
-    
-    //
-    // Add a node input callback for the converter node
-    //
-    AURenderCallbackStruct converterCallback;
-    converterCallback.inputProc = EZOutputConverterInputCallback;
-    converterCallback.inputProcRefCon = (__bridge void *)(self);
-    [EZAudioUtilities checkResult:AUGraphSetNodeInputCallback(self.info->graph,
-                                                              self.info->converterNodeInfo.node,
-                                                              0,
-                                                              &converterCallback)
-                        operation:"Failed to set render callback on converter node"];
-    
-    //
-    // Set stream formats
-    //
-    [self setClientFormat:[self defaultClientFormat]];
-    [self setInputFormat:[self defaultInputFormat]];
-    
-    //
-    // Use the default device
-    //
-    EZAudioDevice *currentOutputDevice = [EZAudioDevice currentOutputDevice];
-    [self setDevice:currentOutputDevice];
-    
-    //
-    // Set maximum frames per slice to 4096 to allow playback during
-    // lock screen (iOS only?)
-    //
-    UInt32 maximumFramesPerSlice = EZOutputMaximumFramesPerSlice;
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->mixerNodeInfo.audioUnit,
-                                                       kAudioUnitProperty_MaximumFramesPerSlice,
-                                                       kAudioUnitScope_Global,
-                                                       0,
-                                                       &maximumFramesPerSlice,
-                                                       sizeof(maximumFramesPerSlice))
-                        operation:"Failed to set maximum frames per slice on mixer node"];
-    
-    //
-    // Initialize all the audio units in the graph
-    //
-    [EZAudioUtilities checkResult:AUGraphInitialize(self.info->graph)
-                        operation:"Failed to initialize graph"];
-    
-    //
-    // Add render callback
-    //
-    [EZAudioUtilities checkResult:AudioUnitAddRenderNotify(self.info->mixerNodeInfo.audioUnit,
-                                                           EZOutputGraphRenderCallback,
-                                                           (__bridge void *)(self))
-                        operation:"Failed to add render callback"];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)startPlayback
-{
-    //
-    // Start the AUGraph
-    //
-    [EZAudioUtilities checkResult:AUGraphStart(self.info->graph)
-                        operation:"Failed to start graph"];
-    
-    //
-    // Notify delegate
-    //
-    if ([self.delegate respondsToSelector:@selector(output:changedPlayingState:)])
-    {
-        [self.delegate output:self changedPlayingState:[self isPlaying]];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)stopPlayback
-{
-    //
-    // Stop the AUGraph
-    //
-    [EZAudioUtilities checkResult:AUGraphStop(self.info->graph)
-                        operation:"Failed to stop graph"];
-    
-    //
-    // Notify delegate
-    //
-    if ([self.delegate respondsToSelector:@selector(output:changedPlayingState:)])
-    {
-        [self.delegate output:self changedPlayingState:[self isPlaying]];
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Getters
-//------------------------------------------------------------------------------
-
-- (AudioStreamBasicDescription)clientFormat
-{
-    return self.info->clientFormat;
-}
-
-//------------------------------------------------------------------------------
-
-- (AudioStreamBasicDescription)inputFormat
-{
-    return self.info->inputFormat;
-}
-
-//------------------------------------------------------------------------------
-
-- (BOOL)isPlaying
-{
-    Boolean isPlaying;
-    [EZAudioUtilities checkResult:AUGraphIsRunning(self.info->graph,
-                                                   &isPlaying)
-                        operation:"Failed to check if graph is running"];
-    return isPlaying;
-}
-
-//------------------------------------------------------------------------------
-
-- (float)pan
-{
-    AudioUnitParameterID param;
-#if TARGET_OS_IPHONE
-    param = kMultiChannelMixerParam_Pan;
-#elif TARGET_OS_MAC
-    param = kStereoMixerParam_Pan;
-#endif
-    AudioUnitParameterValue pan;
-    [EZAudioUtilities checkResult:AudioUnitGetParameter(self.info->mixerNodeInfo.audioUnit,
-                                                        param,
-                                                        kAudioUnitScope_Input,
-                                                        0,
-                                                        &pan) operation:"Failed to get pan from mixer unit"];
-    return pan;
-}
-
-//------------------------------------------------------------------------------
-
-- (float)volume
-{
-    AudioUnitParameterID param;
-#if TARGET_OS_IPHONE
-    param = kMultiChannelMixerParam_Volume;
-#elif TARGET_OS_MAC
-    param = kStereoMixerParam_Volume;
-#endif
-    AudioUnitParameterValue volume;
-    [EZAudioUtilities checkResult:AudioUnitGetParameter(self.info->mixerNodeInfo.audioUnit,
-                                                        param,
-                                                        kAudioUnitScope_Input,
-                                                        0,
-                                                        &volume)
-                        operation:"Failed to get volume from mixer unit"];
-    return volume;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setters
-//------------------------------------------------------------------------------
-
-- (void)setClientFormat:(AudioStreamBasicDescription)clientFormat
-{
-    if (self.floatConverter)
-    {
-        self.floatConverter = nil;
-        [EZAudioUtilities freeFloatBuffers:self.info->floatData
-                          numberOfChannels:self.clientFormat.mChannelsPerFrame];
-    }
-    
-    self.info->clientFormat = clientFormat;
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->converterNodeInfo.audioUnit,
-                                                       kAudioUnitProperty_StreamFormat,
-                                                       kAudioUnitScope_Output,
-                                                       0,
-                                                       &self.info->clientFormat,
-                                                       sizeof(self.info->clientFormat))
-                        operation:"Failed to set output client format on converter audio unit"];
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->mixerNodeInfo.audioUnit,
-                                                       kAudioUnitProperty_StreamFormat,
-                                                       kAudioUnitScope_Input,
-                                                       0,
-                                                       &self.info->clientFormat,
-                                                       sizeof(self.info->clientFormat))
-                        operation:"Failed to set input client format on mixer audio unit"];
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->mixerNodeInfo.audioUnit,
-                                                       kAudioUnitProperty_StreamFormat,
-                                                       kAudioUnitScope_Output,
-                                                       0,
-                                                       &self.info->clientFormat,
-                                                       sizeof(self.info->clientFormat))
-                        operation:"Failed to set output client format on mixer audio unit"];
-    
-    self.floatConverter = [[EZAudioFloatConverter alloc] initWithInputFormat:clientFormat];
-    self.info->floatData = [EZAudioUtilities floatBuffersWithNumberOfFrames:EZOutputMaximumFramesPerSlice
-                                                           numberOfChannels:clientFormat.mChannelsPerFrame];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setDevice:(EZAudioDevice *)device
-{
-#if TARGET_OS_IPHONE
-    
-    // if the devices are equal then ignore
-    if ([device isEqual:self.device])
-    {
-        return;
-    }
-    
-    NSError *error;
-    [[AVAudioSession sharedInstance] setOutputDataSource:device.dataSource error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting output device data source (%@), reason: %@",
-              device.dataSource,
-              error.localizedDescription);
-    }
-    
-#elif TARGET_OS_MAC
-    UInt32 outputEnabled = device.outputChannelCount > 0;
-    NSAssert(outputEnabled, @"Selected EZAudioDevice does not have any output channels");
-    NSAssert([self outputAudioUnitSubType] == kAudioUnitSubType_HALOutput,
-             @"Audio device selection on OSX is only available when using the kAudioUnitSubType_HALOutput output unit subtype");
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->outputNodeInfo.audioUnit,
-                                                       kAudioOutputUnitProperty_EnableIO,
-                                                       kAudioUnitScope_Output,
-                                                       0,
-                                                       &outputEnabled,
-                                                       sizeof(outputEnabled))
-                        operation:"Failed to set flag on device output"];
-    
-    AudioDeviceID deviceId = device.deviceID;
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->outputNodeInfo.audioUnit,
-                                                       kAudioOutputUnitProperty_CurrentDevice,
-                                                       kAudioUnitScope_Global,
-                                                       0,
-                                                       &deviceId,
-                                                       sizeof(AudioDeviceID))
-                        operation:"Couldn't set default device on I/O unit"];
-#endif
-    
-    // store device
-    _device = device;
-    
-    // notify delegate
-    if ([self.delegate respondsToSelector:@selector(output:changedDevice:)])
-    {
-        [self.delegate output:self changedDevice:device];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setInputFormat:(AudioStreamBasicDescription)inputFormat
-{
-    self.info->inputFormat = inputFormat;
-    [EZAudioUtilities checkResult:AudioUnitSetProperty(self.info->converterNodeInfo.audioUnit,
-                                                       kAudioUnitProperty_StreamFormat,
-                                                       kAudioUnitScope_Input,
-                                                       0,
-                                                       &inputFormat,
-                                                       sizeof(inputFormat))
-                        operation:"Failed to set input format on converter audio unit"];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setPan:(float)pan
-{
-    AudioUnitParameterID param;
-#if TARGET_OS_IPHONE
-    param = kMultiChannelMixerParam_Pan;
-#elif TARGET_OS_MAC
-    param = kStereoMixerParam_Pan;
-#endif
-    [EZAudioUtilities checkResult:AudioUnitSetParameter(self.info->mixerNodeInfo.audioUnit,
-                                                        param,
-                                                        kAudioUnitScope_Input,
-                                                        0,
-                                                        pan,
-                                                        0)
-                        operation:"Failed to set volume on mixer unit"];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setVolume:(float)volume
-{
-    AudioUnitParameterID param;
-#if TARGET_OS_IPHONE
-    param = kMultiChannelMixerParam_Volume;
-#elif TARGET_OS_MAC
-    param = kStereoMixerParam_Volume;
-#endif
-    [EZAudioUtilities checkResult:AudioUnitSetParameter(self.info->mixerNodeInfo.audioUnit,
-                                                        param,
-                                                        kAudioUnitScope_Input,
-                                                        0,
-                                                        volume,
-                                                        0)
-                        operation:"Failed to set volume on mixer unit"];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Core Audio Properties
-//------------------------------------------------------------------------------
-
-- (AUGraph)graph
-{
-    return self.info->graph;
-}
-
-//------------------------------------------------------------------------------
-
-- (AudioUnit)converterAudioUnit
-{
-    return self.info->converterNodeInfo.audioUnit;
-}
-
-//------------------------------------------------------------------------------
-
-- (AudioUnit)mixerAudioUnit
-{
-    return self.info->mixerNodeInfo.audioUnit;
-}
-
-//------------------------------------------------------------------------------
-
-- (AudioUnit)outputAudioUnit
-{
-    return self.info->outputNodeInfo.audioUnit;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Subclass
-//------------------------------------------------------------------------------
-
-- (OSStatus)connectOutputOfSourceNode:(AUNode)sourceNode
-                  sourceNodeOutputBus:(UInt32)sourceNodeOutputBus
-                    toDestinationNode:(AUNode)destinationNode
-              destinationNodeInputBus:(UInt32)destinationNodeInputBus
-                              inGraph:(AUGraph)graph
-{
-    //
-    // Default implementation is to just connect the source to destination
-    //
-    [EZAudioUtilities checkResult:AUGraphConnectNodeInput(graph,
-                                                          sourceNode,
-                                                          sourceNodeOutputBus,
-                                                          destinationNode,
-                                                          destinationNodeInputBus)
-                        operation:"Failed to connect converter node to mixer node"];
-    return noErr;
-}
-
-//------------------------------------------------------------------------------
-
-- (AudioStreamBasicDescription)defaultClientFormat
-{
-    return [EZAudioUtilities stereoFloatNonInterleavedFormatWithSampleRate:EZOutputDefaultSampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-- (AudioStreamBasicDescription)defaultInputFormat
-{
-    return [EZAudioUtilities stereoFloatNonInterleavedFormatWithSampleRate:EZOutputDefaultSampleRate];
-}
-
-//------------------------------------------------------------------------------
-
-- (OSType)outputAudioUnitSubType
-{
-#if TARGET_OS_IPHONE
-    return kAudioUnitSubType_RemoteIO;
-#elif TARGET_OS_MAC
-    return kAudioUnitSubType_HALOutput;
-#endif
-}
-
-//------------------------------------------------------------------------------
-
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - Callbacks (Implementation)
-//------------------------------------------------------------------------------
-
-OSStatus EZOutputConverterInputCallback(void                       *inRefCon,
-                                        AudioUnitRenderActionFlags *ioActionFlags,
-                                        const AudioTimeStamp       *inTimeStamp,
-                                        UInt32                                     inBusNumber,
-                                        UInt32                                     inNumberFrames,
-                                        AudioBufferList            *ioData)
-{
-    EZOutput *output = (__bridge EZOutput *)inRefCon;
-    
-    //
-    // Try to ask the data source for audio data to fill out the output's
-    // buffer list
-    //
-    if ([output.dataSource respondsToSelector:@selector(output:shouldFillAudioBufferList:withNumberOfFrames:timestamp:)])
-    {
-        return [output.dataSource output:output
-               shouldFillAudioBufferList:ioData
-                      withNumberOfFrames:inNumberFrames
-                               timestamp:inTimeStamp];
-    }
-    else
-    {
-        //
-        // Silence if there is nothing to output
-        //
-        for (int i = 0; i < ioData->mNumberBuffers; i++)
-        {
-            memset(ioData->mBuffers[i].mData,
-                   0,
-                   ioData->mBuffers[i].mDataByteSize);
-        }
-    }
-    return noErr;
-}
-
-//------------------------------------------------------------------------------
-
-OSStatus EZOutputGraphRenderCallback(void                       *inRefCon,
-                                     AudioUnitRenderActionFlags *ioActionFlags,
-                                     const AudioTimeStamp       *inTimeStamp,
-                                     UInt32                                         inBusNumber,
-                                     UInt32                      inNumberFrames,
-                                     AudioBufferList            *ioData)
-{
-    EZOutput *output = (__bridge EZOutput *)inRefCon;
-
-    //
-    // provide the audio received delegate callback
-    //
-    if (*ioActionFlags & kAudioUnitRenderAction_PostRender)
-    {
-        if ([output.delegate respondsToSelector:@selector(output:playedAudio:withBufferSize:withNumberOfChannels:)])
-        {
-            UInt32 frames = ioData->mBuffers[0].mDataByteSize / output.info->clientFormat.mBytesPerFrame;
-            [output.floatConverter convertDataFromAudioBufferList:ioData
-                                               withNumberOfFrames:frames
-                                                   toFloatBuffers:output.info->floatData];
-            [output.delegate output:output
-                        playedAudio:output.info->floatData
-                     withBufferSize:inNumberFrames
-               withNumberOfChannels:output.info->clientFormat.mChannelsPerFrame];
-        }
-    }
-    return noErr;
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZPlot.h b/document/EZAudio-master/EZAudio/EZPlot.h
deleted file mode 100644 (file)
index bbde1f5..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-//
-//  EZPlot.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 11/24/13.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import "EZAudioUtilities.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - Enumerations
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Plot Types
-///-----------------------------------------------------------
-
-/**
- The types of plots that can be displayed in the view using the data.
- */
-typedef NS_ENUM(NSInteger, EZPlotType)
-{
-    /**
-     Plot that displays only the samples of the current buffer
-     */
-    EZPlotTypeBuffer,
-    
-    /**
-     Plot that displays a rolling history of values using the RMS calculated for each incoming buffer
-     */
-    EZPlotTypeRolling
-};
-
-/**
- EZPlot is a cross-platform (iOS and OSX) class used to subclass the default view type (either UIView or NSView, respectively).
- 
- ## Subclassing Notes
- 
- This class isn't meant to be directly used in practice, but instead establishes the default properties and behaviors subclasses should obey to provide consistent behavior accross multiple types of graphs (i.e. set background color, plot type, should fill in, etc.). Subclasses should make use of the inherited properties from this class to allow all child plots to benefit from the same 
- */
-#if TARGET_OS_IPHONE
-#import <UIKit/UIKit.h>
-@interface EZPlot : UIView
-#elif TARGET_OS_MAC
-#import <Cocoa/Cocoa.h>
-@interface EZPlot : NSView
-#endif
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Customizing The Plot's Appearance
-///-----------------------------------------------------------
-/**
- The default background color of the plot. For iOS the color is specified as a UIColor while for OSX the color is an NSColor. The default value on both platforms is black.
- */
-#if TARGET_OS_IPHONE
-@property (nonatomic, strong) IBInspectable UIColor *backgroundColor;
-#elif TARGET_OS_MAC
-@property (nonatomic, strong) IBInspectable NSColor *backgroundColor;
-#endif
-
-/**
- The default color of the plot's data (i.e. waveform, y-axis values). For iOS the color is specified as a UIColor while for OSX the color is an NSColor. The default value on both platforms is red.
- */
-#if TARGET_OS_IPHONE
-@property (nonatomic, strong) IBInspectable UIColor *color;
-#elif TARGET_OS_MAC
-@property (nonatomic, strong) IBInspectable NSColor *color;
-#endif
-
-/**
- The plot's gain value, which controls the scale of the y-axis values. The default value of the gain is 1.0f and should always be greater than 0.0f.
- */
-@property (nonatomic, assign) IBInspectable float gain;
-
-/**
- The type of plot as specified by the `EZPlotType` enumeration (i.e. a buffer or rolling plot type).
- */
-@property (nonatomic, assign) IBInspectable EZPlotType plotType;
-
-/**
- A boolean indicating whether or not to fill in the graph. A value of YES will make a filled graph (filling in the space between the x-axis and the y-value), while a value of NO will create a stroked graph (connecting the points along the y-axis).
- */
-@property (nonatomic, assign) IBInspectable BOOL shouldFill;
-
-/**
- A boolean indicating whether the graph should be rotated along the x-axis to give a mirrored reflection. This is typical for audio plots to produce the classic waveform look. A value of YES will produce a mirrored reflection of the y-values about the x-axis, while a value of NO will only plot the y-values.
- */
-@property (nonatomic, assign) IBInspectable BOOL shouldMirror;
-
-//------------------------------------------------------------------------------
-#pragma mark - Clearing
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Clearing The Plot
-///-----------------------------------------------------------
-
-/**
- Clears all data from the audio plot (includes both EZPlotTypeBuffer and EZPlotTypeRolling)
- */
--(void)clear;
-
-//------------------------------------------------------------------------------
-#pragma mark - Get Samples
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Updating The Plot
-///-----------------------------------------------------------
-
-/**
- Updates the plot with the new buffer data and tells the view to redraw itself. Caller will provide a float array with the values they expect to see on the y-axis. The plot will internally handle mapping the x-axis and y-axis to the current view port, any interpolation for fills effects, and mirroring.
- @param buffer     A float array of values to map to the y-axis.
- @param bufferSize The size of the float array that will be mapped to the y-axis.
- @warning The bufferSize is expected to be the same, constant value once initial triggered. For plots using OpenGL a vertex buffer object will be allocated with a maximum buffersize of (2 * the initial given buffer size) to account for any interpolation necessary for filling in the graph. Updates use the glBufferSubData(...) function, which will crash if the buffersize exceeds the initial maximum allocated size.
- */
--(void)updateBuffer:(float *)buffer withBufferSize:(UInt32)bufferSize;
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZPlot.m b/document/EZAudio-master/EZAudio/EZPlot.m
deleted file mode 100644 (file)
index f8ac3b0..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-//  EZPlot.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 11/24/13.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZPlot.h"
-
-@implementation EZPlot
-
-#pragma mark - Clearing
--(void)clear
-{
-  // Override in subclass
-}
-
-#pragma mark - Get Samples
--(void)updateBuffer:(float *)buffer
-     withBufferSize:(UInt32)bufferSize
-{
-  // Override in subclass
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudio/EZRecorder.h b/document/EZAudio-master/EZAudio/EZRecorder.h
deleted file mode 100644 (file)
index 95d5c05..0000000
+++ /dev/null
@@ -1,364 +0,0 @@
-//
-//  EZRecorder.h
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import <AudioToolbox/AudioToolbox.h>
-
-@class EZRecorder;
-
-//------------------------------------------------------------------------------
-#pragma mark - Data Structures
-//------------------------------------------------------------------------------
-
-/**
- To ensure valid recording formats are used when recording to a file the EZRecorderFileType describes the most common file types that a file can be encoded in. Each of these types can be used to output recordings as such:
- 
- EZRecorderFileTypeAIFF - .aif, .aiff, .aifc, .aac
- EZRecorderFileTypeM4A  - .m4a, .mp4
- EZRecorderFileTypeWAV  - .wav
- 
- */
-typedef NS_ENUM(NSInteger, EZRecorderFileType)
-{
-    /**
-     Recording format that describes AIFF file types. These are uncompressed, LPCM files that are completely lossless, but are large in file size.
-     */
-    EZRecorderFileTypeAIFF,
-    /**
-     Recording format that describes M4A file types. These are compressed, but yield great results especially when file size is an issue.
-     */
-    EZRecorderFileTypeM4A,
-    /**
-     Recording format that describes WAV file types. These are uncompressed, LPCM files that are completely lossless, but are large in file size.
-     */
-    EZRecorderFileTypeWAV
-};
-
-//------------------------------------------------------------------------------
-#pragma mark - EZRecorderDelegate
-//------------------------------------------------------------------------------
-
-/**
- The EZRecorderDelegate for the EZRecorder provides a receiver for write events, `recorderUpdatedCurrentTime:`, and the close event, `recorderDidClose:`.
- */
-@protocol EZRecorderDelegate <NSObject>
-
-@optional
-
-/**
- Triggers when the EZRecorder is explicitly closed with the `closeAudioFile` method.
- @param recorder The EZRecorder instance that triggered the action
- */
-- (void)recorderDidClose:(EZRecorder *)recorder;
-
-/**
- Triggers after the EZRecorder has successfully written audio data from the `appendDataFromBufferList:withBufferSize:` method.
- @param recorder The EZRecorder instance that triggered the action
- */
-- (void)recorderUpdatedCurrentTime:(EZRecorder *)recorder;
-
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZRecorder
-//------------------------------------------------------------------------------
-
-/**
- The EZRecorder provides a flexible way to create an audio file and append raw audio data to it. The EZRecorder will convert the incoming audio on the fly to the destination format so no conversion is needed between this and any other component. Right now the only supported output format is 'caf'. Each output file should have its own EZRecorder instance (think 1 EZRecorder = 1 audio file).
- */
-@interface EZRecorder : NSObject
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-/**
- An EZRecorderDelegate to listen for the write and close events.
- */
-@property (nonatomic, weak) id<EZRecorderDelegate> delegate;
-
-//------------------------------------------------------------------------------
-#pragma mark - Initializers
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Initializers
-///-----------------------------------------------------------
-
-/**
- Creates an instance of the EZRecorder with a file path URL to write out the file to, a client format describing the in-application common format (see `clientFormat` for more info), and a file type (see `EZRecorderFileType`) that will automatically create an internal `fileFormat` and audio file type hint.
- @param url             An NSURL representing the file path the output file should be written
- @param clientFormat    An AudioStreamBasicDescription describing the in-applciation common format (always linear PCM)
- @param fileType A constant described by the EZRecorderFileType that corresponds to the type of destination file that should be written. For instance, an AAC file written using an '.m4a' extension would correspond to EZRecorderFileTypeM4A. See EZRecorderFileType for all the constants and mapping combinations.
- @return A newly created EZRecorder instance.
- */
-- (instancetype)initWithURL:(NSURL *)url
-               clientFormat:(AudioStreamBasicDescription)clientFormat
-                   fileType:(EZRecorderFileType)fileType;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an instance of the EZRecorder with a file path URL to write out the file to, a client format describing the in-application common format (see `clientFormat` for more info), and a file type (see `EZRecorderFileType`) that will automatically create an internal `fileFormat` and audio file type hint, as well as a delegate to respond to the recorder's write and close events.
- @param url             An NSURL representing the file path the output file should be written
- @param clientFormat    An AudioStreamBasicDescription describing the in-applciation common format (always linear PCM)
- @param fileType A constant described by the EZRecorderFileType that corresponds to the type of destination file that should be written. For instance, an AAC file written using an '.m4a' extension would correspond to EZRecorderFileTypeM4A. See EZRecorderFileType for all the constants and mapping combinations.
- @param delegate        An EZRecorderDelegate to listen for the recorder's write and close events.
- @return A newly created EZRecorder instance.
- */
-- (instancetype)initWithURL:(NSURL *)url
-               clientFormat:(AudioStreamBasicDescription)clientFormat
-                   fileType:(EZRecorderFileType)fileType
-                   delegate:(id<EZRecorderDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an instance of the EZRecorder with a file path URL to write out the file to, a client format describing the in-application common format (see `clientFormat` for more info), a file format describing the destination format on disk (see `fileFormat` for more info), and an audio file type (an AudioFileTypeID for Core Audio, not a EZRecorderFileType).
- @param url             An NSURL representing the file path the output file should be written
- @param clientFormat    An AudioStreamBasicDescription describing the in-applciation common format (always linear PCM)
- @param fileFormat      An AudioStreamBasicDescription describing the format of the audio being written to disk (MP3, AAC, WAV, etc)
- @param audioFileTypeID An AudioFileTypeID that matches your fileFormat (i.e. kAudioFileM4AType for an M4A format)
- @return A newly created EZRecorder instance.
- */
-- (instancetype)initWithURL:(NSURL *)url
-               clientFormat:(AudioStreamBasicDescription)clientFormat
-                 fileFormat:(AudioStreamBasicDescription)fileFormat
-            audioFileTypeID:(AudioFileTypeID)audioFileTypeID;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates an instance of the EZRecorder with a file path URL to write out the file to, a client format describing the in-application common format (see `clientFormat` for more info), a file format describing the destination format on disk (see `fileFormat` for more info), an audio file type (an AudioFileTypeID for Core Audio, not a EZRecorderFileType), and delegate to respond to the recorder's write and close events.
- @param url             An NSURL representing the file path the output file should be written
- @param clientFormat    An AudioStreamBasicDescription describing the in-applciation common format (always linear PCM)
- @param fileFormat      An AudioStreamBasicDescription describing the format of the audio being written to disk (MP3, AAC, WAV, etc)
- @param audioFileTypeID An AudioFileTypeID that matches your fileFormat (i.e. kAudioFileM4AType for an M4A format)
- @param delegate        An EZRecorderDelegate to listen for the recorder's write and close events.
- @return A newly created EZRecorder instance.
- */
-- (instancetype)initWithURL:(NSURL *)url
-               clientFormat:(AudioStreamBasicDescription)clientFormat
-                 fileFormat:(AudioStreamBasicDescription)fileFormat
-            audioFileTypeID:(AudioFileTypeID)audioFileTypeID
-                   delegate:(id<EZRecorderDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Creates a new instance of an EZRecorder using a destination file path URL and the source format of the incoming audio.
- @param url                 An NSURL specifying the file path location of where the audio file should be written to.
- @param sourceFormat        The AudioStreamBasicDescription for the incoming audio that will be written to the file.
- @param destinationFileType A constant described by the EZRecorderFileType that corresponds to the type of destination file that should be written. For instance, an AAC file written using an '.m4a' extension would correspond to EZRecorderFileTypeM4A. See EZRecorderFileType for all the constants and mapping combinations.
- @deprecated This property is deprecated starting in version 0.8.0.
- @note Please use `initWithURL:clientFormat:fileType:` initializer instead.
- @return The newly created EZRecorder instance.
- */
-- (instancetype)initWithDestinationURL:(NSURL*)url
-                        sourceFormat:(AudioStreamBasicDescription)sourceFormat
-                 destinationFileType:(EZRecorderFileType)destinationFileType __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initializers
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Class Initializers
-///-----------------------------------------------------------
-
-/**
- Class method to create an instance of the EZRecorder with a file path URL to write out the file to, a client format describing the in-application common format (see `clientFormat` for more info), and a file type (see `EZRecorderFileType`) that will automatically create an internal `fileFormat` and audio file type hint.
- @param url             An NSURL representing the file path the output file should be written
- @param clientFormat    An AudioStreamBasicDescription describing the in-applciation common format (always linear PCM)
- @param fileType A constant described by the EZRecorderFileType that corresponds to the type of destination file that should be written. For instance, an AAC file written using an '.m4a' extension would correspond to EZRecorderFileTypeM4A. See EZRecorderFileType for all the constants and mapping combinations.
- @return A newly created EZRecorder instance.
- */
-+ (instancetype)recorderWithURL:(NSURL *)url
-                   clientFormat:(AudioStreamBasicDescription)clientFormat
-                       fileType:(EZRecorderFileType)fileType;
-
-//------------------------------------------------------------------------------
-
-/**
- Class method to create an instance of the EZRecorder with a file path URL to write out the file to, a client format describing the in-application common format (see `clientFormat` for more info), and a file type (see `EZRecorderFileType`) that will automatically create an internal `fileFormat` and audio file type hint, as well as a delegate to respond to the recorder's write and close events.
- @param url             An NSURL representing the file path the output file should be written
- @param clientFormat    An AudioStreamBasicDescription describing the in-applciation common format (always linear PCM)
- @param fileType A constant described by the EZRecorderFileType that corresponds to the type of destination file that should be written. For instance, an AAC file written using an '.m4a' extension would correspond to EZRecorderFileTypeM4A. See EZRecorderFileType for all the constants and mapping combinations.
- @param delegate        An EZRecorderDelegate to listen for the recorder's write and close events.
- @return A newly created EZRecorder instance.
- */
-+ (instancetype)recorderWithURL:(NSURL *)url
-                   clientFormat:(AudioStreamBasicDescription)clientFormat
-                       fileType:(EZRecorderFileType)fileType
-                       delegate:(id<EZRecorderDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Class method to create an instance of the EZRecorder with a file path URL to write out the file to, a client format describing the in-application common format (see `clientFormat` for more info), a file format describing the destination format on disk (see `fileFormat` for more info), and an audio file type (an AudioFileTypeID for Core Audio, not a EZRecorderFileType).
- @param url             An NSURL representing the file path the output file should be written
- @param clientFormat    An AudioStreamBasicDescription describing the in-applciation common format (always linear PCM)
- @param fileFormat      An AudioStreamBasicDescription describing the format of the audio being written to disk (MP3, AAC, WAV, etc)
- @param audioFileTypeID An AudioFileTypeID that matches your fileFormat (i.e. kAudioFileM4AType for an M4A format)
- @return A newly created EZRecorder instance.
- */
-+ (instancetype)recorderWithURL:(NSURL *)url
-                   clientFormat:(AudioStreamBasicDescription)clientFormat
-                     fileFormat:(AudioStreamBasicDescription)fileFormat
-                audioFileTypeID:(AudioFileTypeID)audioFileTypeID;
-
-//------------------------------------------------------------------------------
-
-/**
- Class method to create an instance of the EZRecorder with a file path URL to write out the file to, a client format describing the in-application common format (see `clientFormat` for more info), a file format describing the destination format on disk (see `fileFormat` for more info), an audio file type (an AudioFileTypeID for Core Audio, not a EZRecorderFileType), and delegate to respond to the recorder's write and close events.
- @param url             An NSURL representing the file path the output file should be written
- @param clientFormat    An AudioStreamBasicDescription describing the in-applciation common format (always linear PCM)
- @param fileFormat      An AudioStreamBasicDescription describing the format of the audio being written to disk (MP3, AAC, WAV, etc)
- @param audioFileTypeID An AudioFileTypeID that matches your fileFormat (i.e. kAudioFileM4AType for an M4A format)
- @param delegate        An EZRecorderDelegate to listen for the recorder's write and close events.
- @return A newly created EZRecorder instance.
- */
-+ (instancetype)recorderWithURL:(NSURL *)url
-                   clientFormat:(AudioStreamBasicDescription)clientFormat
-                     fileFormat:(AudioStreamBasicDescription)fileFormat
-                audioFileTypeID:(AudioFileTypeID)audioFileTypeID
-                       delegate:(id<EZRecorderDelegate>)delegate;
-
-//------------------------------------------------------------------------------
-
-/**
- Class method to create a new instance of an EZRecorder using a destination file path URL and the source format of the incoming audio.
- @param url                 An NSURL specifying the file path location of where the audio file should be written to.
- @param sourceFormat        The AudioStreamBasicDescription for the incoming audio that will be written to the file (also called the `clientFormat`).
- @param destinationFileType A constant described by the EZRecorderFileType that corresponds to the type of destination file that should be written. For instance, an AAC file written using an '.m4a' extension would correspond to EZRecorderFileTypeM4A. See EZRecorderFileType for all the constants and mapping combinations.
- @return The newly created EZRecorder instance.
- */
-+ (instancetype)recorderWithDestinationURL:(NSURL*)url
-                             sourceFormat:(AudioStreamBasicDescription)sourceFormat
-                      destinationFileType:(EZRecorderFileType)destinationFileType __attribute__((deprecated));
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Getting The Recorder's Properties
-///-----------------------------------------------------------
-
-/**
- Provides the common AudioStreamBasicDescription that will be used for in-app interaction. The recorder's format will be converted from this format to the `fileFormat`. For instance, the file on disk could be a 22.5 kHz, float format, but we might have an audio processing graph that has a 44.1 kHz, signed integer format that we'd like to interact with. The client format lets us set that 44.1 kHz format on the recorder to properly write samples from the graph out to the file in the desired destination format.
- @warning This must be a linear PCM format!
- @return An AudioStreamBasicDescription structure describing the format of the audio file.
- */
-@property (readwrite) AudioStreamBasicDescription clientFormat;
-//------------------------------------------------------------------------------
-
-/**
- Provides the current write offset in the audio file as an NSTimeInterval (i.e. in seconds).  When setting this it will determine the correct frame offset and perform a `seekToFrame` to the new time offset.
- @warning Make sure the new current time offset is less than the `duration` or you will receive an invalid seek assertion.
- */
-@property (readonly) NSTimeInterval currentTime;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the duration of the audio file in seconds.
- */
-@property (readonly) NSTimeInterval duration;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the AudioStreamBasicDescription structure containing the format of the recorder's audio file.
- @return An AudioStreamBasicDescription structure describing the format of the audio file.
- */
-@property (readonly) AudioStreamBasicDescription fileFormat;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the current time as an NSString with the time format MM:SS.
- */
-@property (readonly) NSString *formattedCurrentTime;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the duration as an NSString with the time format MM:SS.
- */
-@property (readonly) NSString *formattedDuration;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the frame index (a.k.a the write positon) within the audio file as SInt64. This can be helpful when seeking through the audio file.
- @return The current frame index within the audio file as a SInt64.
- */
-@property (readonly) SInt64 frameIndex;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the total frame count of the recorder's audio file in the file format.
- @return The total number of frames in the recorder in the AudioStreamBasicDescription representing the file format as a SInt64.
- */
-@property (readonly) SInt64 totalFrames;
-
-//------------------------------------------------------------------------------
-
-/**
- Provides the file path that's currently being used by the recorder.
- @return  The NSURL representing the file path of the recorder path being used for recording.
- */
-- (NSURL *)url;
-
-//------------------------------------------------------------------------------
-#pragma mark - Events
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Appending Data To The Recorder
-///-----------------------------------------------------------
-
-/**
- Appends audio data to the tail of the output file from an AudioBufferList.
- @param bufferList The AudioBufferList holding the audio data to append
- @param bufferSize The size of each of the buffers in the buffer list.
- */
-- (void)appendDataFromBufferList:(AudioBufferList *)bufferList
-                  withBufferSize:(UInt32)bufferSize;
-
-//------------------------------------------------------------------------------
-
-///-----------------------------------------------------------
-/// @name Closing The Recorder
-///-----------------------------------------------------------
-
-/**
- Finishes writes to the recorder's audio file and closes it.
- */
-- (void)closeAudioFile;
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/EZRecorder.m b/document/EZAudio-master/EZAudio/EZRecorder.m
deleted file mode 100644 (file)
index 494943e..0000000
+++ /dev/null
@@ -1,456 +0,0 @@
-//
-//  EZRecorder.m
-//  EZAudio
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Copyright (c) 2015 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "EZRecorder.h"
-#import "EZAudioUtilities.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - Data Structures
-//------------------------------------------------------------------------------
-
-typedef struct
-{
-    AudioFileTypeID             audioFileTypeID;
-    ExtAudioFileRef             extAudioFileRef;
-    AudioStreamBasicDescription clientFormat;
-    BOOL                        closed;
-    CFURLRef                    fileURL;
-    AudioStreamBasicDescription fileFormat;
-} EZRecorderInfo;
-
-//------------------------------------------------------------------------------
-#pragma mark - EZRecorder (Interface Extension)
-//------------------------------------------------------------------------------
-
-@interface EZRecorder ()
-@property (nonatomic, assign) EZRecorderInfo *info;
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - EZRecorder (Implementation)
-//------------------------------------------------------------------------------
-
-@implementation EZRecorder
-
-//------------------------------------------------------------------------------
-#pragma mark - Dealloc
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-    if (!self.info->closed)
-    {
-        [self closeAudioFile];
-    }
-    free(self.info);
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Initializers
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithURL:(NSURL *)url
-               clientFormat:(AudioStreamBasicDescription)clientFormat
-                   fileType:(EZRecorderFileType)fileType
-{
-    return [self initWithURL:url
-                clientFormat:clientFormat
-                    fileType:fileType
-                    delegate:nil];
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithURL:(NSURL *)url
-               clientFormat:(AudioStreamBasicDescription)clientFormat
-                   fileType:(EZRecorderFileType)fileType
-                   delegate:(id<EZRecorderDelegate>)delegate
-{
-    AudioStreamBasicDescription fileFormat = [EZRecorder formatForFileType:fileType
-                                                          withSourceFormat:clientFormat];
-    AudioFileTypeID audioFileTypeID = [EZRecorder fileTypeIdForFileType:fileType
-                                                       withSourceFormat:clientFormat];
-    return [self initWithURL:url
-                clientFormat:clientFormat
-                  fileFormat:fileFormat
-             audioFileTypeID:audioFileTypeID
-                    delegate:delegate];
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithURL:(NSURL *)url
-               clientFormat:(AudioStreamBasicDescription)clientFormat
-                 fileFormat:(AudioStreamBasicDescription)fileFormat
-            audioFileTypeID:(AudioFileTypeID)audioFileTypeID
-{
-    return [self initWithURL:url
-                clientFormat:clientFormat
-                  fileFormat:fileFormat
-             audioFileTypeID:audioFileTypeID
-                    delegate:nil];
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithURL:(NSURL *)url
-               clientFormat:(AudioStreamBasicDescription)clientFormat
-                 fileFormat:(AudioStreamBasicDescription)fileFormat
-            audioFileTypeID:(AudioFileTypeID)audioFileTypeID
-                   delegate:(id<EZRecorderDelegate>)delegate
-{
-    
-    self = [super init];
-    if (self)
-    {
-        // Set defaults
-        self.info = (EZRecorderInfo *)calloc(1, sizeof(EZRecorderInfo));
-        self.info->audioFileTypeID  = audioFileTypeID;
-        self.info->fileURL = (__bridge CFURLRef)url;
-        self.info->clientFormat = clientFormat;
-        self.info->fileFormat = fileFormat;
-        self.delegate = delegate;
-        [self setup];
-    }
-    return self;
-}
-
-//------------------------------------------------------------------------------
-
-- (instancetype)initWithDestinationURL:(NSURL*)url
-                        sourceFormat:(AudioStreamBasicDescription)sourceFormat
-                 destinationFileType:(EZRecorderFileType)destinationFileType
-{
-    return [self initWithURL:url
-                clientFormat:sourceFormat
-                    fileType:destinationFileType];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Initializers
-//------------------------------------------------------------------------------
-
-+ (instancetype)recorderWithURL:(NSURL *)url
-                   clientFormat:(AudioStreamBasicDescription)clientFormat
-                       fileType:(EZRecorderFileType)fileType
-{
-    return [[self alloc] initWithURL:url
-                        clientFormat:clientFormat
-                            fileType:fileType];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)recorderWithURL:(NSURL *)url
-                   clientFormat:(AudioStreamBasicDescription)clientFormat
-                       fileType:(EZRecorderFileType)fileType
-                       delegate:(id<EZRecorderDelegate>)delegate
-{
-    return [[self alloc] initWithURL:url
-                        clientFormat:clientFormat
-                            fileType:fileType
-                            delegate:delegate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)recorderWithURL:(NSURL *)url
-                   clientFormat:(AudioStreamBasicDescription)clientFormat
-                     fileFormat:(AudioStreamBasicDescription)fileFormat
-                audioFileTypeID:(AudioFileTypeID)audioFileTypeID
-{
-    return [[self alloc] initWithURL:url
-                        clientFormat:clientFormat
-                          fileFormat:fileFormat
-                     audioFileTypeID:audioFileTypeID];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)recorderWithURL:(NSURL *)url
-                   clientFormat:(AudioStreamBasicDescription)clientFormat
-                     fileFormat:(AudioStreamBasicDescription)fileFormat
-                audioFileTypeID:(AudioFileTypeID)audioFileTypeID
-                       delegate:(id<EZRecorderDelegate>)delegate
-{
-    return [[self alloc] initWithURL:url
-                        clientFormat:clientFormat
-                          fileFormat:fileFormat
-                     audioFileTypeID:audioFileTypeID
-                            delegate:delegate];
-}
-
-//------------------------------------------------------------------------------
-
-+ (instancetype)recorderWithDestinationURL:(NSURL*)url
-                             sourceFormat:(AudioStreamBasicDescription)sourceFormat
-                      destinationFileType:(EZRecorderFileType)destinationFileType
-{
-    return [[EZRecorder alloc] initWithDestinationURL:url
-                                         sourceFormat:sourceFormat
-                                  destinationFileType:destinationFileType];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Class Methods
-//------------------------------------------------------------------------------
-
-+ (AudioStreamBasicDescription)formatForFileType:(EZRecorderFileType)fileType
-                                withSourceFormat:(AudioStreamBasicDescription)sourceFormat
-{
-    AudioStreamBasicDescription asbd;
-    switch (fileType)
-    {
-        case EZRecorderFileTypeAIFF:
-            asbd = [EZAudioUtilities AIFFFormatWithNumberOfChannels:sourceFormat.mChannelsPerFrame
-                                                         sampleRate:sourceFormat.mSampleRate];
-            break;
-        case EZRecorderFileTypeM4A:
-            asbd = [EZAudioUtilities M4AFormatWithNumberOfChannels:sourceFormat.mChannelsPerFrame
-                                                        sampleRate:sourceFormat.mSampleRate];
-            break;
-            
-        case EZRecorderFileTypeWAV:
-            asbd = [EZAudioUtilities stereoFloatInterleavedFormatWithSampleRate:sourceFormat.mSampleRate];
-            break;
-            
-        default:
-            asbd = [EZAudioUtilities stereoCanonicalNonInterleavedFormatWithSampleRate:sourceFormat.mSampleRate];
-            break;
-    }
-    return asbd;
-}
-
-//------------------------------------------------------------------------------
-
-+ (AudioFileTypeID)fileTypeIdForFileType:(EZRecorderFileType)fileType
-                        withSourceFormat:(AudioStreamBasicDescription)sourceFormat
-{
-    AudioFileTypeID audioFileTypeID;
-    switch (fileType)
-    {
-        case EZRecorderFileTypeAIFF:
-            audioFileTypeID = kAudioFileAIFFType;
-            break;
-            
-        case EZRecorderFileTypeM4A:
-            audioFileTypeID = kAudioFileM4AType;
-            break;
-            
-        case EZRecorderFileTypeWAV:
-            audioFileTypeID = kAudioFileWAVEType;
-            break;
-            
-        default:
-            audioFileTypeID = kAudioFileWAVEType;
-            break;
-    }
-    return audioFileTypeID;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setup
-{
-    // Finish filling out the destination format description
-    UInt32 propSize = sizeof(self.info->fileFormat);
-    [EZAudioUtilities checkResult:AudioFormatGetProperty(kAudioFormatProperty_FormatInfo,
-                                                         0,
-                                                         NULL,
-                                                         &propSize,
-                                                         &self.info->fileFormat)
-                        operation:"Failed to fill out rest of destination format"];
-    
-    //
-    // Create the audio file
-    //
-    [EZAudioUtilities checkResult:ExtAudioFileCreateWithURL(self.info->fileURL,
-                                                            self.info->audioFileTypeID,
-                                                            &self.info->fileFormat,
-                                                            NULL,
-                                                            kAudioFileFlags_EraseFile,
-                                                            &self.info->extAudioFileRef)
-                        operation:"Failed to create audio file"];
-    
-    //
-    // Set the client format
-    //
-    [self setClientFormat:self.info->clientFormat];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Events
-//------------------------------------------------------------------------------
-
-- (void)appendDataFromBufferList:(AudioBufferList *)bufferList
-                  withBufferSize:(UInt32)bufferSize
-{
-    //
-    // Make sure the audio file is not closed
-    //
-    NSAssert(!self.info->closed, @"Cannot append data when EZRecorder has been closed. You must create a new instance.;");
-    
-    //
-    // Perform the write
-    //    
-    [EZAudioUtilities checkResult:ExtAudioFileWrite(self.info->extAudioFileRef,
-                                                    bufferSize,
-                                                    bufferList)
-                        operation:"Failed to write audio data to recorded audio file"];
-    
-    //
-    // Notify delegate
-    //
-    if ([self.delegate respondsToSelector:@selector(recorderUpdatedCurrentTime:)])
-    {
-        [self.delegate recorderUpdatedCurrentTime:self];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)closeAudioFile
-{
-    if (!self.info->closed)
-    {
-        //
-        // Close, audio file can no longer be written to
-        //
-        [EZAudioUtilities checkResult:ExtAudioFileDispose(self.info->extAudioFileRef)
-                            operation:"Failed to close audio file"];
-        self.info->closed = YES;
-        
-        //
-        // Notify delegate
-        //
-        if ([self.delegate respondsToSelector:@selector(recorderDidClose:)])
-        {
-            [self.delegate recorderDidClose:self];
-        }
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Getters
-//------------------------------------------------------------------------------
-
-- (AudioStreamBasicDescription)clientFormat
-{
-    return self.info->clientFormat;
-}
-
-//-----------------------------------------------------------------------------
-
-- (NSTimeInterval)currentTime
-{
-    NSTimeInterval currentTime = 0.0;
-    NSTimeInterval duration = [self duration];
-    if (duration != 0.0)
-    {
-        currentTime = (NSTimeInterval)[EZAudioUtilities MAP:(float)[self frameIndex]
-                                                    leftMin:0.0f
-                                                    leftMax:(float)[self totalFrames]
-                                                   rightMin:0.0f
-                                                   rightMax:duration];
-    }
-    return currentTime;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSTimeInterval)duration
-{
-    NSTimeInterval frames = (NSTimeInterval)[self totalFrames];
-    return (NSTimeInterval) frames / self.info->fileFormat.mSampleRate;
-}
-
-//------------------------------------------------------------------------------
-
-- (AudioStreamBasicDescription)fileFormat
-{
-    return self.info->fileFormat;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSString *)formattedCurrentTime
-{
-    return [EZAudioUtilities displayTimeStringFromSeconds:[self currentTime]];
-}
-
-//------------------------------------------------------------------------------
-
-- (NSString *)formattedDuration
-{
-    return [EZAudioUtilities displayTimeStringFromSeconds:[self duration]];
-}
-
-//------------------------------------------------------------------------------
-
-- (SInt64)frameIndex
-{
-    SInt64 frameIndex;
-    [EZAudioUtilities checkResult:ExtAudioFileTell(self.info->extAudioFileRef,
-                                                   &frameIndex)
-                        operation:"Failed to get frame index"];
-    return frameIndex;
-}
-
-//------------------------------------------------------------------------------
-
-- (SInt64)totalFrames
-{
-    SInt64 totalFrames;
-    UInt32 propSize = sizeof(SInt64);
-    [EZAudioUtilities checkResult:ExtAudioFileGetProperty(self.info->extAudioFileRef,
-                                                          kExtAudioFileProperty_FileLengthFrames,
-                                                          &propSize,
-                                                          &totalFrames)
-                        operation:"Recorder failed to get total frames."];
-    return totalFrames;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSURL *)url
-{
-    return (__bridge NSURL*)self.info->fileURL;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setters
-//------------------------------------------------------------------------------
-
-- (void)setClientFormat:(AudioStreamBasicDescription)clientFormat
-{
-    [EZAudioUtilities checkResult:ExtAudioFileSetProperty(self.info->extAudioFileRef,
-                                                          kExtAudioFileProperty_ClientDataFormat,
-                                                          sizeof(clientFormat),
-                                                          &clientFormat)
-                        operation:"Failed to set client format on recorded audio file"];
-    self.info->clientFormat = clientFormat;
-}
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudio/Info.plist b/document/EZAudio-master/EZAudio/Info.plist
deleted file mode 100644 (file)
index d3de8ee..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>en</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>FMWK</string>
-       <key>CFBundleShortVersionString</key>
-       <string>1.0</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>$(CURRENT_PROJECT_VERSION)</string>
-       <key>NSPrincipalClass</key>
-       <string></string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudio/TPCircularBuffer.c b/document/EZAudio-master/EZAudio/TPCircularBuffer.c
deleted file mode 100644 (file)
index 1d85d6c..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-//
-//  TPCircularBuffer.c
-//  Circular/Ring buffer implementation
-//
-//  https://github.com/michaeltyson/TPCircularBuffer
-//
-//  Created by Michael Tyson on 10/12/2011.
-//
-//  Copyright (C) 2012-2013 A Tasty Pixel
-//
-//  This software is provided 'as-is', without any express or implied
-//  warranty.  In no event will the authors be held liable for any damages
-//  arising from the use of this software.
-//
-//  Permission is granted to anyone to use this software for any purpose,
-//  including commercial applications, and to alter it and redistribute it
-//  freely, subject to the following restrictions:
-//
-//  1. The origin of this software must not be misrepresented; you must not
-//     claim that you wrote the original software. If you use this software
-//     in a product, an acknowledgment in the product documentation would be
-//     appreciated but is not required.
-//
-//  2. Altered source versions must be plainly marked as such, and must not be
-//     misrepresented as being the original software.
-//
-//  3. This notice may not be removed or altered from any source distribution.
-//
-
-#include "TPCircularBuffer.h"
-#include <mach/mach.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#define reportResult(result,operation) (_reportResult((result),(operation),strrchr(__FILE__, '/')+1,__LINE__))
-static inline bool _reportResult(kern_return_t result, const char *operation, const char* file, int line) {
-    if ( result != ERR_SUCCESS ) {
-        printf("%s:%d: %s: %s\n", file, line, operation, mach_error_string(result)); 
-        return false;
-    }
-    return true;
-}
-
-bool _TPCircularBufferInit(TPCircularBuffer *buffer, int32_t length, size_t structSize) {
-    
-    assert(length > 0);
-    
-    if ( structSize != sizeof(TPCircularBuffer) ) {
-        fprintf(stderr, "TPCircularBuffer: Header version mismatch. Check for old versions of TPCircularBuffer in your project\n");
-        abort();
-    }
-    
-    // Keep trying until we get our buffer, needed to handle race conditions
-    int retries = 3;
-    while ( true ) {
-
-        buffer->length = (int32_t)round_page(length);    // We need whole page sizes
-
-        // Temporarily allocate twice the length, so we have the contiguous address space to
-        // support a second instance of the buffer directly after
-        vm_address_t bufferAddress;
-        kern_return_t result = vm_allocate(mach_task_self(),
-                                           &bufferAddress,
-                                           buffer->length * 2,
-                                           VM_FLAGS_ANYWHERE); // allocate anywhere it'll fit
-        if ( result != ERR_SUCCESS ) {
-            if ( retries-- == 0 ) {
-                reportResult(result, "Buffer allocation");
-                return false;
-            }
-            // Try again if we fail
-            continue;
-        }
-        
-        // Now replace the second half of the allocation with a virtual copy of the first half. Deallocate the second half...
-        result = vm_deallocate(mach_task_self(),
-                               bufferAddress + buffer->length,
-                               buffer->length);
-        if ( result != ERR_SUCCESS ) {
-            if ( retries-- == 0 ) {
-                reportResult(result, "Buffer deallocation");
-                return false;
-            }
-            // If this fails somehow, deallocate the whole region and try again
-            vm_deallocate(mach_task_self(), bufferAddress, buffer->length);
-            continue;
-        }
-        
-        // Re-map the buffer to the address space immediately after the buffer
-        vm_address_t virtualAddress = bufferAddress + buffer->length;
-        vm_prot_t cur_prot, max_prot;
-        result = vm_remap(mach_task_self(),
-                          &virtualAddress,   // mirror target
-                          buffer->length,    // size of mirror
-                          0,                 // auto alignment
-                          0,                 // force remapping to virtualAddress
-                          mach_task_self(),  // same task
-                          bufferAddress,     // mirror source
-                          0,                 // MAP READ-WRITE, NOT COPY
-                          &cur_prot,         // unused protection struct
-                          &max_prot,         // unused protection struct
-                          VM_INHERIT_DEFAULT);
-        if ( result != ERR_SUCCESS ) {
-            if ( retries-- == 0 ) {
-                reportResult(result, "Remap buffer memory");
-                return false;
-            }
-            // If this remap failed, we hit a race condition, so deallocate and try again
-            vm_deallocate(mach_task_self(), bufferAddress, buffer->length);
-            continue;
-        }
-        
-        if ( virtualAddress != bufferAddress+buffer->length ) {
-            // If the memory is not contiguous, clean up both allocated buffers and try again
-            if ( retries-- == 0 ) {
-                printf("Couldn't map buffer memory to end of buffer\n");
-                return false;
-            }
-
-            vm_deallocate(mach_task_self(), virtualAddress, buffer->length);
-            vm_deallocate(mach_task_self(), bufferAddress, buffer->length);
-            continue;
-        }
-        
-        buffer->buffer = (void*)bufferAddress;
-        buffer->fillCount = 0;
-        buffer->head = buffer->tail = 0;
-        buffer->atomic = true;
-        
-        return true;
-    }
-    return false;
-}
-
-void TPCircularBufferCleanup(TPCircularBuffer *buffer) {
-    vm_deallocate(mach_task_self(), (vm_address_t)buffer->buffer, buffer->length * 2);
-    memset(buffer, 0, sizeof(TPCircularBuffer));
-}
-
-void TPCircularBufferClear(TPCircularBuffer *buffer) {
-    int32_t fillCount;
-    if ( TPCircularBufferTail(buffer, &fillCount) ) {
-        TPCircularBufferConsume(buffer, fillCount);
-    }
-}
-
-void  TPCircularBufferSetAtomic(TPCircularBuffer *buffer, bool atomic) {
-    buffer->atomic = atomic;
-}
diff --git a/document/EZAudio-master/EZAudio/TPCircularBuffer.h b/document/EZAudio-master/EZAudio/TPCircularBuffer.h
deleted file mode 100644 (file)
index b19bc6a..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-//
-//  TPCircularBuffer.h
-//  Circular/Ring buffer implementation
-//
-//  https://github.com/michaeltyson/TPCircularBuffer
-//
-//  Created by Michael Tyson on 10/12/2011.
-//
-//
-//  This implementation makes use of a virtual memory mapping technique that inserts a virtual copy
-//  of the buffer memory directly after the buffer's end, negating the need for any buffer wrap-around
-//  logic. Clients can simply use the returned memory address as if it were contiguous space.
-//  
-//  The implementation is thread-safe in the case of a single producer and single consumer.
-//
-//  Virtual memory technique originally proposed by Philip Howard (http://vrb.slashusr.org/), and
-//  adapted to Darwin by Kurt Revis (http://www.snoize.com,
-//  http://www.snoize.com/Code/PlayBufferedSoundFile.tar.gz)
-//
-//
-//  Copyright (C) 2012-2013 A Tasty Pixel
-//
-//  This software is provided 'as-is', without any express or implied
-//  warranty.  In no event will the authors be held liable for any damages
-//  arising from the use of this software.
-//
-//  Permission is granted to anyone to use this software for any purpose,
-//  including commercial applications, and to alter it and redistribute it
-//  freely, subject to the following restrictions:
-//
-//  1. The origin of this software must not be misrepresented; you must not
-//     claim that you wrote the original software. If you use this software
-//     in a product, an acknowledgment in the product documentation would be
-//     appreciated but is not required.
-//
-//  2. Altered source versions must be plainly marked as such, and must not be
-//     misrepresented as being the original software.
-//
-//  3. This notice may not be removed or altered from any source distribution.
-//
-
-#ifndef TPCircularBuffer_h
-#define TPCircularBuffer_h
-
-#include <libkern/OSAtomic.h>
-#include <string.h>
-#include <assert.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-    
-typedef struct {
-    void             *buffer;
-    int32_t           length;
-    int32_t           tail;
-    int32_t           head;
-    volatile int32_t  fillCount;
-    bool              atomic;
-} TPCircularBuffer;
-
-/*!
- * Initialise buffer
- *
- *  Note that the length is advisory only: Because of the way the
- *  memory mirroring technique works, the true buffer length will
- *  be multiples of the device page size (e.g. 4096 bytes)
- *
- * @param buffer Circular buffer
- * @param length Length of buffer
- */
-#define TPCircularBufferInit(buffer, length) \
-    _TPCircularBufferInit(buffer, length, sizeof(*buffer))
-bool _TPCircularBufferInit(TPCircularBuffer *buffer, int32_t length, size_t structSize);
-
-/*!
- * Cleanup buffer
- *
- *  Releases buffer resources.
- */
-void  TPCircularBufferCleanup(TPCircularBuffer *buffer);
-
-/*!
- * Clear buffer
- *
- *  Resets buffer to original, empty state.
- *
- *  This is safe for use by consumer while producer is accessing 
- *  buffer.
- */
-void  TPCircularBufferClear(TPCircularBuffer *buffer);
-    
-/*!
- * Set the atomicity
- *
- *  If you set the atomiticy to false using this method, the buffer will
- *  not use atomic operations. This can be used to give the compiler a little
- *  more optimisation opportunities when the buffer is only used on one thread.
- *
- *  Important note: Only set this to false if you know what you're doing!
- *
- *  The default value is true (the buffer will use atomic operations)
- *
- * @param buffer Circular buffer
- * @param atomic Whether the buffer is atomic (default true)
- */
-void  TPCircularBufferSetAtomic(TPCircularBuffer *buffer, bool atomic);
-
-// Reading (consuming)
-
-/*!
- * Access end of buffer
- *
- *  This gives you a pointer to the end of the buffer, ready
- *  for reading, and the number of available bytes to read.
- *
- * @param buffer Circular buffer
- * @param availableBytes On output, the number of bytes ready for reading
- * @return Pointer to the first bytes ready for reading, or NULL if buffer is empty
- */
-static __inline__ __attribute__((always_inline)) void* TPCircularBufferTail(TPCircularBuffer *buffer, int32_t* availableBytes) {
-    *availableBytes = buffer->fillCount;
-    if ( *availableBytes == 0 ) return NULL;
-    return (void*)((char*)buffer->buffer + buffer->tail);
-}
-
-/*!
- * Consume bytes in buffer
- *
- *  This frees up the just-read bytes, ready for writing again.
- *
- * @param buffer Circular buffer
- * @param amount Number of bytes to consume
- */
-static __inline__ __attribute__((always_inline)) void TPCircularBufferConsume(TPCircularBuffer *buffer, int32_t amount) {
-    buffer->tail = (buffer->tail + amount) % buffer->length;
-    if ( buffer->atomic ) {
-        OSAtomicAdd32Barrier(-amount, &buffer->fillCount);
-    } else {
-        buffer->fillCount -= amount;
-    }
-    assert(buffer->fillCount >= 0);
-}
-
-/*!
- * Access front of buffer
- *
- *  This gives you a pointer to the front of the buffer, ready
- *  for writing, and the number of available bytes to write.
- *
- * @param buffer Circular buffer
- * @param availableBytes On output, the number of bytes ready for writing
- * @return Pointer to the first bytes ready for writing, or NULL if buffer is full
- */
-static __inline__ __attribute__((always_inline)) void* TPCircularBufferHead(TPCircularBuffer *buffer, int32_t* availableBytes) {
-    *availableBytes = (buffer->length - buffer->fillCount);
-    if ( *availableBytes == 0 ) return NULL;
-    return (void*)((char*)buffer->buffer + buffer->head);
-}
-    
-// Writing (producing)
-
-/*!
- * Produce bytes in buffer
- *
- *  This marks the given section of the buffer ready for reading.
- *
- * @param buffer Circular buffer
- * @param amount Number of bytes to produce
- */
-static __inline__ __attribute__((always_inline)) void TPCircularBufferProduce(TPCircularBuffer *buffer, int32_t amount) {
-    buffer->head = (buffer->head + amount) % buffer->length;
-    if ( buffer->atomic ) {
-        OSAtomicAdd32Barrier(amount, &buffer->fillCount);
-    } else {
-        buffer->fillCount += amount;
-    }
-    assert(buffer->fillCount <= buffer->length);
-}
-
-/*!
- * Helper routine to copy bytes to buffer
- *
- *  This copies the given bytes to the buffer, and marks them ready for reading.
- *
- * @param buffer Circular buffer
- * @param src Source buffer
- * @param len Number of bytes in source buffer
- * @return true if bytes copied, false if there was insufficient space
- */
-static __inline__ __attribute__((always_inline)) bool TPCircularBufferProduceBytes(TPCircularBuffer *buffer, const void* src, int32_t len) {
-    int32_t space;
-    void *ptr = TPCircularBufferHead(buffer, &space);
-    if ( space < len ) return false;
-    memcpy(ptr, src, len);
-    TPCircularBufferProduce(buffer, len);
-    return true;
-}
-
-/*!
- * Deprecated method
- */
-static __inline__ __attribute__((always_inline)) __deprecated_msg("use TPCircularBufferSetAtomic(false) and TPCircularBufferConsume instead")
-void TPCircularBufferConsumeNoBarrier(TPCircularBuffer *buffer, int32_t amount) {
-    buffer->tail = (buffer->tail + amount) % buffer->length;
-    buffer->fillCount -= amount;
-    assert(buffer->fillCount >= 0);
-}
-
-/*!
- * Deprecated method
- */
-static __inline__ __attribute__((always_inline)) __deprecated_msg("use TPCircularBufferSetAtomic(false) and TPCircularBufferProduce instead")
-void TPCircularBufferProduceNoBarrier(TPCircularBuffer *buffer, int32_t amount) {
-    buffer->head = (buffer->head + amount) % buffer->length;
-    buffer->fillCount += amount;
-    assert(buffer->fillCount <= buffer->length);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index 23efb3b..0000000
+++ /dev/null
@@ -1,356 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               666062361C5421A400FB99FA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 666062351C5421A400FB99FA /* AppDelegate.m */; };
-               666062391C5421A400FB99FA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 666062381C5421A400FB99FA /* main.m */; };
-               6660623B1C5421A400FB99FA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6660623A1C5421A400FB99FA /* Assets.xcassets */; };
-               6660623E1C5421A400FB99FA /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6660623C1C5421A400FB99FA /* MainMenu.xib */; };
-               6660624B1C54242100FB99FA /* EZAudioOSX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6660624A1C54242100FB99FA /* EZAudioOSX.framework */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374DC41C54530A000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DBF1C54530A000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374DC61C54530A000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DBF1C54530A000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-               66374DBF1C54530A000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-               666062311C5421A400FB99FA /* CoreGraphicsWaveform.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CoreGraphicsWaveform.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               666062341C5421A400FB99FA /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
-               666062351C5421A400FB99FA /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
-               666062381C5421A400FB99FA /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
-               6660623A1C5421A400FB99FA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               6660623D1C5421A400FB99FA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
-               6660623F1C5421A400FB99FA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               6660624A1C54242100FB99FA /* EZAudioOSX.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EZAudioOSX.framework; path = ../../../build/Debug/EZAudioOSX.framework; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               6660622E1C5421A400FB99FA /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               6660624B1C54242100FB99FA /* EZAudioOSX.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               66374DC01C54530A000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DC51C54530A000B19D0 /* EZAudioiOS.framework */,
-                               66374DC71C54530A000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               666062281C5421A400FB99FA = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DBF1C54530A000B19D0 /* EZAudio.xcodeproj */,
-                               666062331C5421A400FB99FA /* CoreGraphicsWaveform */,
-                               6660624C1C54244900FB99FA /* Frameworks */,
-                               666062321C5421A400FB99FA /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               666062321C5421A400FB99FA /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               666062311C5421A400FB99FA /* CoreGraphicsWaveform.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               666062331C5421A400FB99FA /* CoreGraphicsWaveform */ = {
-                       isa = PBXGroup;
-                       children = (
-                               666062341C5421A400FB99FA /* AppDelegate.h */,
-                               666062351C5421A400FB99FA /* AppDelegate.m */,
-                               6660623A1C5421A400FB99FA /* Assets.xcassets */,
-                               6660623C1C5421A400FB99FA /* MainMenu.xib */,
-                               6660623F1C5421A400FB99FA /* Info.plist */,
-                               666062371C5421A400FB99FA /* Supporting Files */,
-                       );
-                       path = CoreGraphicsWaveform;
-                       sourceTree = "<group>";
-               };
-               666062371C5421A400FB99FA /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               666062381C5421A400FB99FA /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-               6660624C1C54244900FB99FA /* Frameworks */ = {
-                       isa = PBXGroup;
-                       children = (
-                               6660624A1C54242100FB99FA /* EZAudioOSX.framework */,
-                       );
-                       name = Frameworks;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               666062301C5421A400FB99FA /* CoreGraphicsWaveform */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 666062421C5421A400FB99FA /* Build configuration list for PBXNativeTarget "CoreGraphicsWaveform" */;
-                       buildPhases = (
-                               6660622D1C5421A400FB99FA /* Sources */,
-                               6660622E1C5421A400FB99FA /* Frameworks */,
-                               6660622F1C5421A400FB99FA /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = CoreGraphicsWaveform;
-                       productName = CoreGraphicsWaveform;
-                       productReference = 666062311C5421A400FB99FA /* CoreGraphicsWaveform.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               666062291C5421A400FB99FA /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       666062301C5421A400FB99FA = {
-                                               CreatedOnToolsVersion = 7.2;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 6660622C1C5421A400FB99FA /* Build configuration list for PBXProject "CoreGraphicsWaveform" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               en,
-                               Base,
-                       );
-                       mainGroup = 666062281C5421A400FB99FA;
-                       productRefGroup = 666062321C5421A400FB99FA /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374DC01C54530A000B19D0 /* Products */;
-                                       ProjectRef = 66374DBF1C54530A000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               666062301C5421A400FB99FA /* CoreGraphicsWaveform */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374DC51C54530A000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374DC41C54530A000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374DC71C54530A000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374DC61C54530A000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               6660622F1C5421A400FB99FA /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               6660623B1C5421A400FB99FA /* Assets.xcassets in Resources */,
-                               6660623E1C5421A400FB99FA /* MainMenu.xib in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               6660622D1C5421A400FB99FA /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               666062391C5421A400FB99FA /* main.m in Sources */,
-                               666062361C5421A400FB99FA /* AppDelegate.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
-               6660623C1C5421A400FB99FA /* MainMenu.xib */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               6660623D1C5421A400FB99FA /* Base */,
-                       );
-                       name = MainMenu.xib;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               666062401C5421A400FB99FA /* 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 = "-";
-                               COPY_PHASE_STRIP = NO;
-                               DEBUG_INFORMATION_FORMAT = dwarf;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               MACOSX_DEPLOYMENT_TARGET = 10.11;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = macosx;
-                       };
-                       name = Debug;
-               };
-               666062411C5421A400FB99FA /* 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 = "-";
-                               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;
-                               MACOSX_DEPLOYMENT_TARGET = 10.11;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = macosx;
-                       };
-                       name = Release;
-               };
-               666062431C5421A400FB99FA /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               INFOPLIST_FILE = CoreGraphicsWaveform/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.CoreGraphicsWaveform;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               666062441C5421A400FB99FA /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               INFOPLIST_FILE = CoreGraphicsWaveform/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.CoreGraphicsWaveform;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               6660622C1C5421A400FB99FA /* Build configuration list for PBXProject "CoreGraphicsWaveform" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               666062401C5421A400FB99FA /* Debug */,
-                               666062411C5421A400FB99FA /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               666062421C5421A400FB99FA /* Build configuration list for PBXNativeTarget "CoreGraphicsWaveform" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               666062431C5421A400FB99FA /* Debug */,
-                               666062441C5421A400FB99FA /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 666062291C5421A400FB99FA /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index 919434a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:">
-   </FileRef>
-</Workspace>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/AppDelegate.h
deleted file mode 100644 (file)
index 98c32ac..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-//
-//  AppDelegate.h
-//  CoreGraphicsWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Cocoa/Cocoa.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//------------------------------------------------------------------------------
-#pragma mark - AppDelegate
-//------------------------------------------------------------------------------
-
-@interface AppDelegate : NSObject <EZMicrophoneDelegate, NSApplicationDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-@property (assign) IBOutlet NSWindow *window;
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-//
-// The CoreGraphics based audio plot
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlot *audioPlot;
-
-//
-// The microphone
-//
-@property (nonatomic, strong) EZMicrophone *microphone;
-
-//
-// The microphone pop up button (contains the menu for choosing a microphone
-// input)
-//
-@property (nonatomic, weak) IBOutlet NSPopUpButton *microphoneInputPopUpButton;
-
-//
-// The microphone input channel pop up button (contains the menu for choosing a
-// microphone input channel)
-//
-@property (nonatomic, weak) IBOutlet NSPopUpButton *microphoneInputChannelPopUpButton;
-
-//
-// The checkbox button used to turn the microphone off/on
-//
-@property (nonatomic, weak) IBOutlet NSButton *microphoneSwitch;
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-//
-// Switches the plot drawing type between a buffer plot (visualizes the current
-// stream of audio data from the update function) or a rolling plot (visualizes
-// the audio data over time, this is the classic waveform look)
-//
--(IBAction)changePlotType:(id)sender;
-
-//
-// Toggles the microphone on and off. When the microphone is on it will send its
-// delegate (aka this view controller) the audio data in various ways (check out
-// the EZMicrophoneDelegate documentation for more details)
-//
--(IBAction)toggleMicrophone:(id)sender;
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/AppDelegate.m
deleted file mode 100644 (file)
index 8168e85..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-//
-//  AppDelegate.m
-//  CoreGraphicsWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "AppDelegate.h"
-
-@implementation AppDelegate
-
-//------------------------------------------------------------------------------
-#pragma mark - Customize The Plot's Appearance
-//------------------------------------------------------------------------------
-
-- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
-{
-    //
-    // Set plot's background color
-    //
-    self.audioPlot.backgroundColor = [NSColor colorWithCalibratedRed: 0.984 green: 0.471 blue: 0.525 alpha: 1];
-    
-    //
-    // Set plot's waveform color
-    //
-    self.audioPlot.color = [NSColor colorWithCalibratedRed: 1.000 green: 1.000 blue: 1.000 alpha: 1];
-    
-    //
-    // Plot type (buffer means real-time, rolling is over time)
-    //
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    
-    //
-    // Create the microphone
-    //
-    self.microphone = [EZMicrophone microphoneWithDelegate:self];
-    
-    //
-    // Start the microphone
-    //
-    [self.microphone startFetchingAudio];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void) reloadMicrophoneInputPopUpButtonMenu
-{
-    NSArray *inputDevices = [EZAudioDevice inputDevices];
-    NSMenu *menu = [[NSMenu alloc] init];
-    NSMenuItem *defaultInputMenuItem;
-    for (EZAudioDevice *device in inputDevices)
-    {
-        NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:device.name
-                                                      action:@selector(changedInput:)
-                                               keyEquivalent:@""];
-        item.representedObject = device;
-        item.target = self;
-        [menu addItem:item];
-        
-        // If this device is the same one the microphone is using then
-        // we will use this menu item as the currently selected item
-        // in the microphone input popup button's list of items. For instance,
-        // if you are connected to an external display by default the external
-        // display's microphone might be used instead of the mac's built in
-        // mic.
-        if ([device isEqual:self.microphone.device])
-        {
-            defaultInputMenuItem = item;
-        }
-    }
-    self.microphoneInputPopUpButton.menu = menu;
-    
-    //
-    // Set the selected device to the current selection on the
-    // microphone input popup button
-    //
-    [self.microphoneInputPopUpButton selectItem:defaultInputMenuItem];
-}
-
-//------------------------------------------------------------------------------
-
-- (void) reloadMicrophoneInputChannelPopUpButtonMenu
-{
-    NSMenu *menu = [[NSMenu alloc] init];
-    for (int i = 0; i < self.microphone.device.inputChannelCount; i++)
-    {
-        NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:@(i).stringValue
-                                                      action:nil
-                                               keyEquivalent:@""];
-        [menu addItem:item];
-    }
-    self.microphoneInputChannelPopUpButton.menu = menu;
-    [self.microphoneInputChannelPopUpButton selectItemAtIndex:0];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)changedInput:(id)sender
-{
-    EZAudioDevice *device = [sender representedObject];
-    [self.microphone setDevice:device];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)changePlotType:(id)sender
-{
-    NSInteger selectedSegment = [sender selectedSegment];
-    switch(selectedSegment)
-    {
-        case 0:
-            [self drawBufferPlot];
-            break;
-        case 1:
-            [self drawRollingPlot];
-            break;
-        default:
-            break;
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)toggleMicrophone:(id)sender
-{
-    switch([sender state])
-    {
-        case NSOffState:
-            [self.microphone stopFetchingAudio];
-            break;
-        case NSOnState:
-            [self.microphone startFetchingAudio];
-            break;
-        default:
-            break;
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Action Extensions
-//------------------------------------------------------------------------------
-
-/*
- Give the visualization of the current buffer (this is almost exactly the openFrameworks audio input eample)
- */
-- (void)drawBufferPlot
-{
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    self.audioPlot.shouldMirror = NO;
-    self.audioPlot.shouldFill = NO;
-}
-
-//------------------------------------------------------------------------------
-
-/*
- Give the classic mirrored, rolling waveform look
- */
-- (void)drawRollingPlot
-{
-    self.audioPlot.plotType = EZPlotTypeRolling;
-    self.audioPlot.shouldFill = YES;
-    self.audioPlot.shouldMirror = YES;
-}
-
-#pragma mark - EZMicrophoneDelegate
-#warning Thread Safety
-//
-// Note that any callback that provides streamed audio data (like streaming
-// microphone input) happens on a separate audio thread that should not be
-// blocked. When we feed audio data into any of the UI components we need to
-// explicity create a GCD block on the main thread to properly get the UI to
-// work.
-//
-- (void)   microphone:(EZMicrophone *)microphone
-     hasAudioReceived:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    //
-    // See the Thread Safety warning above, but in a nutshell these callbacks
-    // happen on a separate audio thread. We wrap any UI updating in a GCD block
-    // on the main thread to avoid blocking that audio flow.
-    //
-    __weak typeof(self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(),^{
-        //
-        // All the audio plot needs is the buffer data (float *) and the size.
-        // Internally the audio plot will handle all the drawing related code,
-        // history management, and freeing its own resources. Hence, one badass
-        // line of code gets you a pretty plot :)
-        //
-        NSInteger channel = [weakSelf.microphoneInputChannelPopUpButton indexOfSelectedItem];
-        [weakSelf.audioPlot updateBuffer:buffer[channel] withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone hasAudioStreamBasicDescription:(AudioStreamBasicDescription)audioStreamBasicDescription
-{
-    // The AudioStreamBasicDescription of the microphone stream. This is useful
-    // when configuring the EZRecorder or telling another component what audio
-    // format type to expect.
-    
-    //
-    // Here's a print function to allow you to inspect it a little easier.
-    //
-    [EZAudioUtilities printASBD:audioStreamBasicDescription];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone
-     hasBufferList:(AudioBufferList *)bufferList
-    withBufferSize:(UInt32)bufferSize
-withNumberOfChannels:(UInt32)numberOfChannels
-{
-    //
-    // Getting audio data as a buffer list that can be directly fed into
-    // the EZRecorder or EZOutput. Say whattt...
-    //
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone
-     changedDevice:(EZAudioDevice *)device
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        //
-        // Set up the microphone input popup button's items to select
-        // between different microphone inputs
-        //
-        [weakSelf reloadMicrophoneInputPopUpButtonMenu];
-        
-        //
-        // Set up the microphone input popup button's items to select
-        // between different microphone input channels
-        //
-        [weakSelf reloadMicrophoneInputChannelPopUpButtonMenu];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone changedPlayingState:(BOOL)isPlaying
-{
-    NSString *title = isPlaying ? @"Microphone On" : @"Microphone Off";
-    [self setTitle:title forButton:self.microphoneSwitch];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Utility
-//------------------------------------------------------------------------------
-
-- (void)setTitle:(NSString *)title forButton:(NSButton *)button
-{
-    NSDictionary *attributes = @{ NSForegroundColorAttributeName : [NSColor whiteColor] };
-    NSAttributedString *attributedTitle = [[NSAttributedString alloc] initWithString:title
-                                                                          attributes:attributes];
-    button.attributedTitle = attributedTitle;
-    button.attributedAlternateTitle = attributedTitle;
-}
-
-//------------------------------------------------------------------------------
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index 7cd4f8e..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128.png b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128.png
deleted file mode 100644 (file)
index da54d05..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png
deleted file mode 100644 (file)
index 7771cb0..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16.png b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16.png
deleted file mode 100644 (file)
index 278ae3a..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png
deleted file mode 100644 (file)
index 418af75..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256.png b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256.png
deleted file mode 100644 (file)
index 7771cb0..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png
deleted file mode 100644 (file)
index 8ac3b0d..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32.png b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32.png
deleted file mode 100644 (file)
index 418af75..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png
deleted file mode 100644 (file)
index 345a233..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512.png b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512.png
deleted file mode 100644 (file)
index 8ac3b0d..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png
deleted file mode 100644 (file)
index 2a0715a..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Base.lproj/MainMenu.xib b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Base.lproj/MainMenu.xib
deleted file mode 100644 (file)
index 9a2ead3..0000000
+++ /dev/null
@@ -1,790 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
-            <connections>
-                <outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customObject id="Voe-Tx-rLC" customClass="AppDelegate">
-            <connections>
-                <outlet property="audioPlot" destination="UKU-Zt-VNI" id="VZE-Q5-pWX"/>
-                <outlet property="microphoneInputChannelPopUpButton" destination="eQn-G8-sEy" id="t6L-MA-Ir9"/>
-                <outlet property="microphoneInputPopUpButton" destination="iw4-UD-y2x" id="u5y-KI-fWu"/>
-                <outlet property="microphoneSwitch" destination="OcB-2r-09B" id="S6J-CM-twc"/>
-                <outlet property="window" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
-            </connections>
-        </customObject>
-        <customObject id="YLy-65-1bz" customClass="NSFontManager"/>
-        <menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
-            <items>
-                <menuItem title="CoreGraphicsWaveform" id="1Xt-HY-uBw">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="CoreGraphicsWaveform" systemMenu="apple" id="uQy-DD-JDr">
-                        <items>
-                            <menuItem title="About CoreGraphicsWaveform" id="5kV-Vb-QxS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
-                            <menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
-                            <menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
-                            <menuItem title="Services" id="NMo-om-nkz">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
-                            <menuItem title="Hide CoreGraphicsWaveform" keyEquivalent="h" id="Olw-nP-bQN">
-                                <connections>
-                                    <action selector="hide:" target="-1" id="PnN-Uc-m68"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Show All" id="Kd2-mp-pUS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
-                            <menuItem title="Quit CoreGraphicsWaveform" keyEquivalent="q" id="4sb-4s-VLi">
-                                <connections>
-                                    <action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="File" id="dMs-cI-mzQ">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="File" id="bib-Uj-vzu">
-                        <items>
-                            <menuItem title="New" keyEquivalent="n" id="Was-JA-tGl">
-                                <connections>
-                                    <action selector="newDocument:" target="-1" id="4Si-XN-c54"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open…" keyEquivalent="o" id="IAo-SY-fd9">
-                                <connections>
-                                    <action selector="openDocument:" target="-1" id="bVn-NM-KNZ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open Recent" id="tXI-mr-wws">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="oas-Oc-fiZ">
-                                    <items>
-                                        <menuItem title="Clear Menu" id="vNY-rz-j42">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="clearRecentDocuments:" target="-1" id="Daa-9d-B3U"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="m54-Is-iLE"/>
-                            <menuItem title="Close" keyEquivalent="w" id="DVo-aG-piG">
-                                <connections>
-                                    <action selector="performClose:" target="-1" id="HmO-Ls-i7Q"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save…" keyEquivalent="s" id="pxx-59-PXV">
-                                <connections>
-                                    <action selector="saveDocument:" target="-1" id="teZ-XB-qJY"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save As…" keyEquivalent="S" id="Bw7-FT-i3A">
-                                <connections>
-                                    <action selector="saveDocumentAs:" target="-1" id="mDf-zr-I0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Revert to Saved" id="KaW-ft-85H">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="revertDocumentToSaved:" target="-1" id="iJ3-Pv-kwq"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="aJh-i4-bef"/>
-                            <menuItem title="Page Setup…" keyEquivalent="P" id="qIS-W8-SiK">
-                                <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
-                                <connections>
-                                    <action selector="runPageLayout:" target="-1" id="Din-rz-gC5"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Print…" keyEquivalent="p" id="aTl-1u-JFS">
-                                <connections>
-                                    <action selector="print:" target="-1" id="qaZ-4w-aoO"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Edit" id="5QF-Oa-p0T">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Edit" id="W48-6f-4Dl">
-                        <items>
-                            <menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
-                                <connections>
-                                    <action selector="undo:" target="-1" id="M6e-cu-g7V"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
-                                <connections>
-                                    <action selector="redo:" target="-1" id="oIA-Rs-6OD"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
-                            <menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
-                                <connections>
-                                    <action selector="cut:" target="-1" id="YJe-68-I9s"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
-                                <connections>
-                                    <action selector="copy:" target="-1" id="G1f-GL-Joy"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
-                                <connections>
-                                    <action selector="paste:" target="-1" id="UvS-8e-Qdg"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Delete" id="pa3-QI-u2k">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="delete:" target="-1" id="0Mk-Ml-PaM"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
-                                <connections>
-                                    <action selector="selectAll:" target="-1" id="VNm-Mi-diN"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
-                            <menuItem title="Find" id="4EN-yA-p0u">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Find" id="1b7-l0-nxx">
-                                    <items>
-                                        <menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
-                                            <connections>
-                                                <action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
-                                    <items>
-                                        <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
-                                            <connections>
-                                                <action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
-                                            <connections>
-                                                <action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
-                                        <menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Substitutions" id="9ic-FL-obx">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
-                                    <items>
-                                        <menuItem title="Show Substitutions" id="z6F-FW-3nz">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
-                                        <menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Quotes" id="hQb-2v-fYv">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Dashes" id="rgM-f4-ycn">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Links" id="cwL-P1-jid">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Data Detectors" id="tRr-pd-1PS">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Text Replacement" id="HFQ-gK-NFA">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Transformations" id="2oI-Rn-ZJC">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Transformations" id="c8a-y6-VQd">
-                                    <items>
-                                        <menuItem title="Make Upper Case" id="vmV-6d-7jI">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Make Lower Case" id="d9M-CD-aMd">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Capitalize" id="UEZ-Bs-lqG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Speech" id="xrE-MZ-jX0">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Speech" id="3rS-ZA-NoH">
-                                    <items>
-                                        <menuItem title="Start Speaking" id="Ynk-f8-cLZ">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Stop Speaking" id="Oyz-dy-DGm">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Format" id="jxT-CU-nIS">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Format" id="GEO-Iw-cKr">
-                        <items>
-                            <menuItem title="Font" id="Gi5-1S-RQB">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq">
-                                    <items>
-                                        <menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq">
-                                            <connections>
-                                                <action selector="orderFrontFontPanel:" target="YLy-65-1bz" id="WHr-nq-2xA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="hqk-hr-sYV"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="IHV-OB-c03"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S">
-                                            <connections>
-                                                <action selector="underline:" target="-1" id="FYS-2b-JAY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/>
-                                        <menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="Uc7-di-UnL"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="HcX-Lf-eNd"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/>
-                                        <menuItem title="Kern" id="jBQ-r6-VK2">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Kern" id="tlD-Oa-oAM">
-                                                <items>
-                                                    <menuItem title="Use Default" id="GUa-eO-cwY">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardKerning:" target="-1" id="6dk-9l-Ckg"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="cDB-IK-hbR">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffKerning:" target="-1" id="U8a-gz-Maa"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Tighten" id="46P-cB-AYj">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="tightenKerning:" target="-1" id="hr7-Nz-8ro"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Loosen" id="ogc-rX-tC1">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="loosenKerning:" target="-1" id="8i4-f9-FKE"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Ligatures" id="o6e-r0-MWq">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Ligatures" id="w0m-vy-SC9">
-                                                <items>
-                                                    <menuItem title="Use Default" id="agt-UL-0e3">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardLigatures:" target="-1" id="7uR-wd-Dx6"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="J7y-lM-qPV">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffLigatures:" target="-1" id="iX2-gA-Ilz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use All" id="xQD-1f-W4t">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useAllLigatures:" target="-1" id="KcB-kA-TuK"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Baseline" id="OaQ-X3-Vso">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Baseline" id="ijk-EB-dga">
-                                                <items>
-                                                    <menuItem title="Use Default" id="3Om-Ey-2VK">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="unscript:" target="-1" id="0vZ-95-Ywn"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Superscript" id="Rqc-34-cIF">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="superscript:" target="-1" id="3qV-fo-wpU"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Subscript" id="I0S-gh-46l">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="subscript:" target="-1" id="Q6W-4W-IGz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Raise" id="2h7-ER-AoG">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="raiseBaseline:" target="-1" id="4sk-31-7Q9"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Lower" id="1tx-W0-xDw">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="lowerBaseline:" target="-1" id="OF1-bc-KW4"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/>
-                                        <menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk">
-                                            <connections>
-                                                <action selector="orderFrontColorPanel:" target="-1" id="mSX-Xz-DV3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/>
-                                        <menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyFont:" target="-1" id="GJO-xA-L4q"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteFont:" target="-1" id="JfD-CL-leO"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Text" id="Fal-I4-PZk">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Text" id="d9c-me-L2H">
-                                    <items>
-                                        <menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1">
-                                            <connections>
-                                                <action selector="alignLeft:" target="-1" id="zUv-R1-uAa"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb">
-                                            <connections>
-                                                <action selector="alignCenter:" target="-1" id="spX-mk-kcS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Justify" id="J5U-5w-g23">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="alignJustified:" target="-1" id="ljL-7U-jND"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4">
-                                            <connections>
-                                                <action selector="alignRight:" target="-1" id="r48-bG-YeY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/>
-                                        <menuItem title="Writing Direction" id="H1b-Si-o9J">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd">
-                                                <items>
-                                                    <menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="YGs-j5-SAR">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionNatural:" target="-1" id="qtV-5e-UBP"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="Lbh-J2-qVU">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionLeftToRight:" target="-1" id="S0X-9S-QSf"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="jFq-tB-4Kx">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionRightToLeft:" target="-1" id="5fk-qB-AqJ"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem isSeparatorItem="YES" id="swp-gr-a21"/>
-                                                    <menuItem title="Selection" enabled="NO" id="cqv-fj-IhA">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="Nop-cj-93Q">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionNatural:" target="-1" id="lPI-Se-ZHp"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="BgM-ve-c93">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionLeftToRight:" target="-1" id="caW-Bv-w94"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="RB4-Sm-HuC">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionRightToLeft:" target="-1" id="EXD-6r-ZUu"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/>
-                                        <menuItem title="Show Ruler" id="vLm-3I-IUL">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleRuler:" target="-1" id="FOx-HJ-KwY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyRuler:" target="-1" id="71i-fW-3W2"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteRuler:" target="-1" id="cSh-wd-qM2"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="View" id="H8h-7b-M4v">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="View" id="HyV-fh-RgO">
-                        <items>
-                            <menuItem title="Show Toolbar" keyEquivalent="t" id="snW-S8-Cw5">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="toggleToolbarShown:" target="-1" id="BXY-wc-z0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Customize Toolbar…" id="1UK-8n-QPP">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="runToolbarCustomizationPalette:" target="-1" id="pQI-g3-MTW"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Window" id="aUF-d1-5bR">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
-                        <items>
-                            <menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
-                                <connections>
-                                    <action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Zoom" id="R4o-n2-Eq4">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
-                            <menuItem title="Bring All to Front" id="LE2-aR-0XJ">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Help" id="wpr-3q-Mcd">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
-                        <items>
-                            <menuItem title="CoreGraphicsWaveform Help" keyEquivalent="?" id="FKE-Sm-Kum">
-                                <connections>
-                                    <action selector="showHelp:" target="-1" id="y7X-2Q-9no"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-            </items>
-        </menu>
-        <window title="CoreGraphicsWaveform" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g">
-            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
-            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
-            <rect key="contentRect" x="335" y="390" width="480" height="272"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
-            <view key="contentView" id="EiT-Mj-1SZ">
-                <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-                <autoresizingMask key="autoresizingMask"/>
-                <subviews>
-                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="UKU-Zt-VNI" customClass="EZAudioPlot">
-                        <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-                        <subviews>
-                            <button translatesAutoresizingMaskIntoConstraints="NO" id="OcB-2r-09B">
-                                <rect key="frame" x="339" y="44" width="123" height="18"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="119" id="IYG-tU-wTC"/>
-                                </constraints>
-                                <buttonCell key="cell" type="check" title="Microphone On" bezelStyle="regularSquare" imagePosition="right" state="on" inset="2" id="nLI-9n-Lq4">
-                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                    <font key="font" metaFont="system"/>
-                                </buttonCell>
-                                <connections>
-                                    <action selector="toggleMicrophone:" target="Voe-Tx-rLC" id="owY-ee-pxT"/>
-                                </connections>
-                            </button>
-                            <segmentedControl verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vg4-nF-3aC">
-                                <rect key="frame" x="336" y="15" width="126" height="24"/>
-                                <segmentedCell key="cell" borderStyle="border" alignment="left" style="rounded" trackingMode="selectOne" id="izG-Ud-yhj">
-                                    <font key="font" metaFont="system"/>
-                                    <segments>
-                                        <segment label="Buffer" selected="YES"/>
-                                        <segment label="Rolling" tag="1"/>
-                                    </segments>
-                                </segmentedCell>
-                                <connections>
-                                    <action selector="changePlotType:" target="Voe-Tx-rLC" id="tpI-pn-CXh"/>
-                                </connections>
-                            </segmentedControl>
-                            <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="iw4-UD-y2x" userLabel="microphoneInputPopUpButton">
-                                <rect key="frame" x="18" y="14" width="180" height="26"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="175" id="pXT-MN-bhv"/>
-                                </constraints>
-                                <popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="NAH-si-Cz7" id="iUB-oI-R1w">
-                                    <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
-                                    <font key="font" metaFont="menu"/>
-                                    <menu key="menu" id="qYP-H1-Bk6">
-                                        <items>
-                                            <menuItem title="Item 1" state="on" id="NAH-si-Cz7"/>
-                                            <menuItem title="Item 2" id="BXf-ml-R0L"/>
-                                            <menuItem title="Item 3" id="K8l-2q-4fM"/>
-                                        </items>
-                                    </menu>
-                                </popUpButtonCell>
-                            </popUpButton>
-                            <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eQn-G8-sEy" userLabel="microphoneInputChannelPopUpButton">
-                                <rect key="frame" x="204" y="14" width="79" height="26"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="74" id="YOF-2X-UV4"/>
-                                </constraints>
-                                <popUpButtonCell key="cell" type="push" title="1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="xFp-40-Dr9" id="BFV-5e-q9Y">
-                                    <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
-                                    <font key="font" metaFont="menu"/>
-                                    <menu key="menu" id="iMm-fx-yJb">
-                                        <items>
-                                            <menuItem title="1" state="on" id="xFp-40-Dr9"/>
-                                            <menuItem title="Item 2" id="h5D-tQ-aWj"/>
-                                            <menuItem title="Item 3" id="KIX-gW-QNf"/>
-                                        </items>
-                                    </menu>
-                                </popUpButtonCell>
-                            </popUpButton>
-                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hQY-oe-OzP">
-                                <rect key="frame" x="18" y="43" width="35" height="17"/>
-                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Input" id="bY0-Zl-AT5">
-                                    <font key="font" metaFont="system"/>
-                                    <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                </textFieldCell>
-                            </textField>
-                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ve4-EX-2la">
-                                <rect key="frame" x="204" y="43" width="54" height="17"/>
-                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Channel" id="suO-Th-3jL">
-                                    <font key="font" metaFont="system"/>
-                                    <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                </textFieldCell>
-                            </textField>
-                        </subviews>
-                        <constraints>
-                            <constraint firstAttribute="bottom" secondItem="eQn-G8-sEy" secondAttribute="bottom" constant="17" id="3cy-PJ-m0Y"/>
-                            <constraint firstItem="vg4-nF-3aC" firstAttribute="top" secondItem="OcB-2r-09B" secondAttribute="bottom" constant="8" id="9k9-TY-Bjf"/>
-                            <constraint firstItem="vg4-nF-3aC" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="eQn-G8-sEy" secondAttribute="trailing" constant="11" id="M6I-rI-pcs"/>
-                            <constraint firstAttribute="bottom" secondItem="iw4-UD-y2x" secondAttribute="bottom" constant="17" id="NZe-J3-FGY"/>
-                            <constraint firstItem="eQn-G8-sEy" firstAttribute="leading" secondItem="ve4-EX-2la" secondAttribute="leading" id="URh-po-xQb"/>
-                            <constraint firstItem="iw4-UD-y2x" firstAttribute="leading" secondItem="UKU-Zt-VNI" secondAttribute="leading" constant="20" id="YeT-tO-rG3"/>
-                            <constraint firstAttribute="bottom" secondItem="vg4-nF-3aC" secondAttribute="bottom" constant="17" id="aid-He-3CY"/>
-                            <constraint firstAttribute="trailing" secondItem="OcB-2r-09B" secondAttribute="trailing" constant="20" id="ceh-Ub-H3g"/>
-                            <constraint firstItem="eQn-G8-sEy" firstAttribute="top" secondItem="ve4-EX-2la" secondAttribute="bottom" constant="5" id="enm-hh-fpR"/>
-                            <constraint firstAttribute="trailing" secondItem="vg4-nF-3aC" secondAttribute="trailing" constant="20" id="kkp-oh-PX1"/>
-                            <constraint firstItem="hQY-oe-OzP" firstAttribute="leading" secondItem="UKU-Zt-VNI" secondAttribute="leading" constant="20" id="ptg-v2-mao"/>
-                            <constraint firstItem="eQn-G8-sEy" firstAttribute="leading" secondItem="iw4-UD-y2x" secondAttribute="trailing" constant="11" id="waP-mh-dlK"/>
-                            <constraint firstItem="iw4-UD-y2x" firstAttribute="top" secondItem="hQY-oe-OzP" secondAttribute="bottom" constant="5" id="wzU-X6-aEB"/>
-                        </constraints>
-                    </customView>
-                </subviews>
-                <constraints>
-                    <constraint firstItem="UKU-Zt-VNI" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" id="AgR-SX-Oic"/>
-                    <constraint firstAttribute="bottom" secondItem="UKU-Zt-VNI" secondAttribute="bottom" id="XJr-UI-i7d"/>
-                    <constraint firstItem="UKU-Zt-VNI" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" id="gOP-bJ-FcC"/>
-                    <constraint firstAttribute="trailing" secondItem="UKU-Zt-VNI" secondAttribute="trailing" id="yV6-Vo-HHU"/>
-                </constraints>
-            </view>
-            <point key="canvasLocation" x="414" y="327"/>
-        </window>
-    </objects>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Info.plist b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/Info.plist
deleted file mode 100644 (file)
index 1af7e37..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>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 © 2016 Syed Haris Ali. All rights reserved.</string>
-       <key>NSMainNibFile</key>
-       <string>MainMenu</string>
-       <key>NSPrincipalClass</key>
-       <string>NSApplication</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/main.m b/document/EZAudio-master/EZAudioExamples/OSX/CoreGraphicsWaveform/CoreGraphicsWaveform/main.m
deleted file mode 100644 (file)
index f754f1c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-//  main.m
-//  CoreGraphicsWaveform
-//
-//  Created by Syed Haris Ali on 1/23/16.
-//  Copyright © 2016 Syed Haris Ali. All rights reserved.
-//
-
-#import <Cocoa/Cocoa.h>
-
-int main(int argc, const char * argv[]) {
-    return NSApplicationMain(argc, argv);
-}
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/ExamplesOSX.xcworkspace/contents.xcworkspacedata b/document/EZAudio-master/EZAudioExamples/OSX/ExamplesOSX.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index bf2d3b8..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "group:CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:OpenGLWaveform/OpenGLWaveform.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:PlayFile/PlayFile.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:RecordFile/RecordFile.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:WaveformFromFile/WaveformFromFile.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:FFT/FFT.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:PassThrough/PassThrough.xcodeproj">
-   </FileRef>
-</Workspace>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index b8bfa3d..0000000
+++ /dev/null
@@ -1,356 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               66374D8D1C544D2E000B19D0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374D8C1C544D2E000B19D0 /* AppDelegate.m */; };
-               66374D901C544D2E000B19D0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374D8F1C544D2E000B19D0 /* main.m */; };
-               66374D921C544D2E000B19D0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 66374D911C544D2E000B19D0 /* Assets.xcassets */; };
-               66374D951C544D2E000B19D0 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 66374D931C544D2E000B19D0 /* MainMenu.xib */; };
-               66374D9D1C544D3F000B19D0 /* EZAudioOSX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66374D9C1C544D3F000B19D0 /* EZAudioOSX.framework */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374DE81C545318000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DE31C545318000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374DEA1C545318000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DE31C545318000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-               66374D881C544D2E000B19D0 /* FFT.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FFT.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               66374D8B1C544D2E000B19D0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
-               66374D8C1C544D2E000B19D0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
-               66374D8F1C544D2E000B19D0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
-               66374D911C544D2E000B19D0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               66374D941C544D2E000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
-               66374D961C544D2E000B19D0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               66374D9C1C544D3F000B19D0 /* EZAudioOSX.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EZAudioOSX.framework; path = ../../../build/Debug/EZAudioOSX.framework; sourceTree = "<group>"; };
-               66374DE31C545318000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               66374D851C544D2E000B19D0 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374D9D1C544D3F000B19D0 /* EZAudioOSX.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               66374D7F1C544D2E000B19D0 = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DE31C545318000B19D0 /* EZAudio.xcodeproj */,
-                               66374D8A1C544D2E000B19D0 /* FFT */,
-                               66374D9E1C544E82000B19D0 /* Frameworks */,
-                               66374D891C544D2E000B19D0 /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               66374D891C544D2E000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D881C544D2E000B19D0 /* FFT.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               66374D8A1C544D2E000B19D0 /* FFT */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D8B1C544D2E000B19D0 /* AppDelegate.h */,
-                               66374D8C1C544D2E000B19D0 /* AppDelegate.m */,
-                               66374D911C544D2E000B19D0 /* Assets.xcassets */,
-                               66374D931C544D2E000B19D0 /* MainMenu.xib */,
-                               66374D961C544D2E000B19D0 /* Info.plist */,
-                               66374D8E1C544D2E000B19D0 /* Supporting Files */,
-                       );
-                       path = FFT;
-                       sourceTree = "<group>";
-               };
-               66374D8E1C544D2E000B19D0 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D8F1C544D2E000B19D0 /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-               66374D9E1C544E82000B19D0 /* Frameworks */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D9C1C544D3F000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Frameworks;
-                       sourceTree = "<group>";
-               };
-               66374DE41C545318000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DE91C545318000B19D0 /* EZAudioiOS.framework */,
-                               66374DEB1C545318000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               66374D871C544D2E000B19D0 /* FFT */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 66374D991C544D2E000B19D0 /* Build configuration list for PBXNativeTarget "FFT" */;
-                       buildPhases = (
-                               66374D841C544D2E000B19D0 /* Sources */,
-                               66374D851C544D2E000B19D0 /* Frameworks */,
-                               66374D861C544D2E000B19D0 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = FFT;
-                       productName = FFT;
-                       productReference = 66374D881C544D2E000B19D0 /* FFT.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               66374D801C544D2E000B19D0 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       66374D871C544D2E000B19D0 = {
-                                               CreatedOnToolsVersion = 7.2;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 66374D831C544D2E000B19D0 /* Build configuration list for PBXProject "FFT" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               en,
-                               Base,
-                       );
-                       mainGroup = 66374D7F1C544D2E000B19D0;
-                       productRefGroup = 66374D891C544D2E000B19D0 /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374DE41C545318000B19D0 /* Products */;
-                                       ProjectRef = 66374DE31C545318000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               66374D871C544D2E000B19D0 /* FFT */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374DE91C545318000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374DE81C545318000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374DEB1C545318000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374DEA1C545318000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               66374D861C544D2E000B19D0 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374D921C544D2E000B19D0 /* Assets.xcassets in Resources */,
-                               66374D951C544D2E000B19D0 /* MainMenu.xib in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               66374D841C544D2E000B19D0 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374D901C544D2E000B19D0 /* main.m in Sources */,
-                               66374D8D1C544D2E000B19D0 /* AppDelegate.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
-               66374D931C544D2E000B19D0 /* MainMenu.xib */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374D941C544D2E000B19D0 /* Base */,
-                       );
-                       name = MainMenu.xib;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               66374D971C544D2E000B19D0 /* 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 = "-";
-                               COPY_PHASE_STRIP = NO;
-                               DEBUG_INFORMATION_FORMAT = dwarf;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               MACOSX_DEPLOYMENT_TARGET = 10.11;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = macosx;
-                       };
-                       name = Debug;
-               };
-               66374D981C544D2E000B19D0 /* 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 = "-";
-                               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;
-                               MACOSX_DEPLOYMENT_TARGET = 10.11;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = macosx;
-                       };
-                       name = Release;
-               };
-               66374D9A1C544D2E000B19D0 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               INFOPLIST_FILE = FFT/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.FFT;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               66374D9B1C544D2E000B19D0 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               INFOPLIST_FILE = FFT/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.FFT;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               66374D831C544D2E000B19D0 /* Build configuration list for PBXProject "FFT" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374D971C544D2E000B19D0 /* Debug */,
-                               66374D981C544D2E000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               66374D991C544D2E000B19D0 /* Build configuration list for PBXNativeTarget "FFT" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374D9A1C544D2E000B19D0 /* Debug */,
-                               66374D9B1C544D2E000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 66374D801C544D2E000B19D0 /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index 919434a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:">
-   </FileRef>
-</Workspace>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/AppDelegate.h
deleted file mode 100644 (file)
index 628ef46..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-//  AppDelegate.h
-//  FFT
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Cocoa/Cocoa.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//------------------------------------------------------------------------------
-#pragma mark - AppDelegate
-//------------------------------------------------------------------------------
-
-@interface AppDelegate : NSObject <EZMicrophoneDelegate, EZAudioFFTDelegate, NSApplicationDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-@property (weak) IBOutlet NSWindow *window;
-
-//
-// EZAudioPlot for frequency plot
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlot *audioPlotFreq;
-
-//
-// EZAudioPlot for time plot
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlot *audioPlotTime;
-
-//
-// A label used to display the maximum frequency (i.e. the frequency with
-// the highest energy) calculated from the FFT.
-//
-@property (nonatomic, weak) IBOutlet NSTextField *maxFrequencyLabel;
-
-//
-// The microphone used to get input.
-//
-@property (nonatomic, strong) EZMicrophone *microphone;
-
-//
-// Used to calculate a rolling FFT of the incoming audio data.
-//
-@property (nonatomic, strong) EZAudioFFTRolling *fft;
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/AppDelegate.m
deleted file mode 100644 (file)
index 765846e..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-//
-//  AppDelegate.m
-//  FFT
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "AppDelegate.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - Constants
-//------------------------------------------------------------------------------
-
-static vDSP_Length const FFTViewControllerFFTWindowSize = 4096;
-
-//------------------------------------------------------------------------------
-#pragma mark - AppDelegate (Implementation)
-//------------------------------------------------------------------------------
-
-@implementation AppDelegate
-
-//------------------------------------------------------------------------------
-#pragma mark - Customize the Audio Plot
-//------------------------------------------------------------------------------
-
-- (void)awakeFromNib
-{
-    //
-    // Setup time domain audio plot
-    //
-    self.audioPlotTime.plotType = EZPlotTypeBuffer;
-    
-    //
-    // Setup frequency domain audio plot
-    //
-    self.audioPlotFreq.shouldFill = YES;
-    self.audioPlotFreq.plotType = EZPlotTypeBuffer;
-    self.audioPlotFreq.shouldCenterYAxis = NO;
-    
-    //
-    // Create an instance of the microphone and tell it to use this view controller instance as the delegate
-    //
-    self.microphone = [EZMicrophone microphoneWithDelegate:self];
-    
-    //
-    // Create an instance of the EZAudioFFTRolling to keep a history of the incoming audio data and calculate the FFT.
-    //
-    self.fft = [EZAudioFFTRolling fftWithWindowSize:FFTViewControllerFFTWindowSize
-                                         sampleRate:self.microphone.audioStreamBasicDescription.mSampleRate
-                                           delegate:self];
-    
-    //
-    // Start the mic
-    //
-    [self.microphone startFetchingAudio];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZMicrophoneDelegate
-//------------------------------------------------------------------------------
-
--(void)    microphone:(EZMicrophone *)microphone
-     hasAudioReceived:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    //
-    // Calculate the FFT, will trigger EZAudioFFTDelegate
-    //
-    [self.fft computeFFTWithBuffer:buffer[0] withBufferSize:bufferSize];
-    
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [weakSelf.audioPlotTime updateBuffer:buffer[0]
-                              withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFFTDelegate
-//------------------------------------------------------------------------------
-
-- (void)        fft:(EZAudioFFT *)fft
- updatedWithFFTData:(float *)fftData
-         bufferSize:(vDSP_Length)bufferSize
-{
-    float maxFrequency = [fft maxFrequency];
-    NSString *noteName = [EZAudioUtilities noteNameStringForFrequency:maxFrequency
-                                                        includeOctave:YES];
-    
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        weakSelf.maxFrequencyLabel.stringValue = [NSString stringWithFormat:@"Highest Note: %@,\nFrequency: %.2f", noteName, maxFrequency];
-        [weakSelf.audioPlotFreq updateBuffer:fftData withBufferSize:(UInt32)bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index 7cd4f8e..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_128x128.png b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_128x128.png
deleted file mode 100644 (file)
index ef30f13..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_128x128.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png
deleted file mode 100644 (file)
index 4c7408c..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_16x16.png b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_16x16.png
deleted file mode 100644 (file)
index d122753..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_16x16.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png
deleted file mode 100644 (file)
index 01d50b3..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_256x256.png b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_256x256.png
deleted file mode 100644 (file)
index 4c7408c..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_256x256.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png
deleted file mode 100644 (file)
index edceab5..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_32x32.png b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_32x32.png
deleted file mode 100644 (file)
index 01d50b3..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_32x32.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png
deleted file mode 100644 (file)
index 1fafd97..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_512x512.png b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_512x512.png
deleted file mode 100644 (file)
index edceab5..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_512x512.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png
deleted file mode 100644 (file)
index 1f1cfef..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Base.lproj/MainMenu.xib b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Base.lproj/MainMenu.xib
deleted file mode 100644 (file)
index 9c55479..0000000
+++ /dev/null
@@ -1,732 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
-            <connections>
-                <outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customObject id="Voe-Tx-rLC" customClass="AppDelegate">
-            <connections>
-                <outlet property="audioPlotFreq" destination="bYU-wY-hDo" id="GIp-Pk-HtM"/>
-                <outlet property="audioPlotTime" destination="SUJ-Np-jlL" id="Dt9-qz-RbQ"/>
-                <outlet property="maxFrequencyLabel" destination="Vjf-P4-Me7" id="5Lx-gm-QId"/>
-                <outlet property="window" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
-            </connections>
-        </customObject>
-        <customObject id="YLy-65-1bz" customClass="NSFontManager"/>
-        <menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
-            <items>
-                <menuItem title="FFT" id="1Xt-HY-uBw">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="FFT" systemMenu="apple" id="uQy-DD-JDr">
-                        <items>
-                            <menuItem title="About FFT" id="5kV-Vb-QxS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
-                            <menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
-                            <menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
-                            <menuItem title="Services" id="NMo-om-nkz">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
-                            <menuItem title="Hide FFT" keyEquivalent="h" id="Olw-nP-bQN">
-                                <connections>
-                                    <action selector="hide:" target="-1" id="PnN-Uc-m68"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Show All" id="Kd2-mp-pUS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
-                            <menuItem title="Quit FFT" keyEquivalent="q" id="4sb-4s-VLi">
-                                <connections>
-                                    <action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="File" id="dMs-cI-mzQ">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="File" id="bib-Uj-vzu">
-                        <items>
-                            <menuItem title="New" keyEquivalent="n" id="Was-JA-tGl">
-                                <connections>
-                                    <action selector="newDocument:" target="-1" id="4Si-XN-c54"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open…" keyEquivalent="o" id="IAo-SY-fd9">
-                                <connections>
-                                    <action selector="openDocument:" target="-1" id="bVn-NM-KNZ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open Recent" id="tXI-mr-wws">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="oas-Oc-fiZ">
-                                    <items>
-                                        <menuItem title="Clear Menu" id="vNY-rz-j42">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="clearRecentDocuments:" target="-1" id="Daa-9d-B3U"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="m54-Is-iLE"/>
-                            <menuItem title="Close" keyEquivalent="w" id="DVo-aG-piG">
-                                <connections>
-                                    <action selector="performClose:" target="-1" id="HmO-Ls-i7Q"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save…" keyEquivalent="s" id="pxx-59-PXV">
-                                <connections>
-                                    <action selector="saveDocument:" target="-1" id="teZ-XB-qJY"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save As…" keyEquivalent="S" id="Bw7-FT-i3A">
-                                <connections>
-                                    <action selector="saveDocumentAs:" target="-1" id="mDf-zr-I0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Revert to Saved" id="KaW-ft-85H">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="revertDocumentToSaved:" target="-1" id="iJ3-Pv-kwq"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="aJh-i4-bef"/>
-                            <menuItem title="Page Setup…" keyEquivalent="P" id="qIS-W8-SiK">
-                                <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
-                                <connections>
-                                    <action selector="runPageLayout:" target="-1" id="Din-rz-gC5"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Print…" keyEquivalent="p" id="aTl-1u-JFS">
-                                <connections>
-                                    <action selector="print:" target="-1" id="qaZ-4w-aoO"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Edit" id="5QF-Oa-p0T">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Edit" id="W48-6f-4Dl">
-                        <items>
-                            <menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
-                                <connections>
-                                    <action selector="undo:" target="-1" id="M6e-cu-g7V"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
-                                <connections>
-                                    <action selector="redo:" target="-1" id="oIA-Rs-6OD"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
-                            <menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
-                                <connections>
-                                    <action selector="cut:" target="-1" id="YJe-68-I9s"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
-                                <connections>
-                                    <action selector="copy:" target="-1" id="G1f-GL-Joy"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
-                                <connections>
-                                    <action selector="paste:" target="-1" id="UvS-8e-Qdg"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Delete" id="pa3-QI-u2k">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="delete:" target="-1" id="0Mk-Ml-PaM"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
-                                <connections>
-                                    <action selector="selectAll:" target="-1" id="VNm-Mi-diN"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
-                            <menuItem title="Find" id="4EN-yA-p0u">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Find" id="1b7-l0-nxx">
-                                    <items>
-                                        <menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
-                                            <connections>
-                                                <action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
-                                    <items>
-                                        <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
-                                            <connections>
-                                                <action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
-                                            <connections>
-                                                <action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
-                                        <menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Substitutions" id="9ic-FL-obx">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
-                                    <items>
-                                        <menuItem title="Show Substitutions" id="z6F-FW-3nz">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
-                                        <menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Quotes" id="hQb-2v-fYv">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Dashes" id="rgM-f4-ycn">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Links" id="cwL-P1-jid">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Data Detectors" id="tRr-pd-1PS">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Text Replacement" id="HFQ-gK-NFA">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Transformations" id="2oI-Rn-ZJC">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Transformations" id="c8a-y6-VQd">
-                                    <items>
-                                        <menuItem title="Make Upper Case" id="vmV-6d-7jI">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Make Lower Case" id="d9M-CD-aMd">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Capitalize" id="UEZ-Bs-lqG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Speech" id="xrE-MZ-jX0">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Speech" id="3rS-ZA-NoH">
-                                    <items>
-                                        <menuItem title="Start Speaking" id="Ynk-f8-cLZ">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Stop Speaking" id="Oyz-dy-DGm">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Format" id="jxT-CU-nIS">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Format" id="GEO-Iw-cKr">
-                        <items>
-                            <menuItem title="Font" id="Gi5-1S-RQB">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq">
-                                    <items>
-                                        <menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq">
-                                            <connections>
-                                                <action selector="orderFrontFontPanel:" target="YLy-65-1bz" id="WHr-nq-2xA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="hqk-hr-sYV"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="IHV-OB-c03"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S">
-                                            <connections>
-                                                <action selector="underline:" target="-1" id="FYS-2b-JAY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/>
-                                        <menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="Uc7-di-UnL"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="HcX-Lf-eNd"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/>
-                                        <menuItem title="Kern" id="jBQ-r6-VK2">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Kern" id="tlD-Oa-oAM">
-                                                <items>
-                                                    <menuItem title="Use Default" id="GUa-eO-cwY">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardKerning:" target="-1" id="6dk-9l-Ckg"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="cDB-IK-hbR">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffKerning:" target="-1" id="U8a-gz-Maa"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Tighten" id="46P-cB-AYj">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="tightenKerning:" target="-1" id="hr7-Nz-8ro"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Loosen" id="ogc-rX-tC1">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="loosenKerning:" target="-1" id="8i4-f9-FKE"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Ligatures" id="o6e-r0-MWq">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Ligatures" id="w0m-vy-SC9">
-                                                <items>
-                                                    <menuItem title="Use Default" id="agt-UL-0e3">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardLigatures:" target="-1" id="7uR-wd-Dx6"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="J7y-lM-qPV">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffLigatures:" target="-1" id="iX2-gA-Ilz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use All" id="xQD-1f-W4t">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useAllLigatures:" target="-1" id="KcB-kA-TuK"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Baseline" id="OaQ-X3-Vso">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Baseline" id="ijk-EB-dga">
-                                                <items>
-                                                    <menuItem title="Use Default" id="3Om-Ey-2VK">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="unscript:" target="-1" id="0vZ-95-Ywn"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Superscript" id="Rqc-34-cIF">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="superscript:" target="-1" id="3qV-fo-wpU"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Subscript" id="I0S-gh-46l">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="subscript:" target="-1" id="Q6W-4W-IGz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Raise" id="2h7-ER-AoG">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="raiseBaseline:" target="-1" id="4sk-31-7Q9"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Lower" id="1tx-W0-xDw">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="lowerBaseline:" target="-1" id="OF1-bc-KW4"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/>
-                                        <menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk">
-                                            <connections>
-                                                <action selector="orderFrontColorPanel:" target="-1" id="mSX-Xz-DV3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/>
-                                        <menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyFont:" target="-1" id="GJO-xA-L4q"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteFont:" target="-1" id="JfD-CL-leO"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Text" id="Fal-I4-PZk">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Text" id="d9c-me-L2H">
-                                    <items>
-                                        <menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1">
-                                            <connections>
-                                                <action selector="alignLeft:" target="-1" id="zUv-R1-uAa"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb">
-                                            <connections>
-                                                <action selector="alignCenter:" target="-1" id="spX-mk-kcS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Justify" id="J5U-5w-g23">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="alignJustified:" target="-1" id="ljL-7U-jND"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4">
-                                            <connections>
-                                                <action selector="alignRight:" target="-1" id="r48-bG-YeY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/>
-                                        <menuItem title="Writing Direction" id="H1b-Si-o9J">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd">
-                                                <items>
-                                                    <menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="YGs-j5-SAR">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionNatural:" target="-1" id="qtV-5e-UBP"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="Lbh-J2-qVU">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionLeftToRight:" target="-1" id="S0X-9S-QSf"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="jFq-tB-4Kx">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionRightToLeft:" target="-1" id="5fk-qB-AqJ"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem isSeparatorItem="YES" id="swp-gr-a21"/>
-                                                    <menuItem title="Selection" enabled="NO" id="cqv-fj-IhA">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="Nop-cj-93Q">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionNatural:" target="-1" id="lPI-Se-ZHp"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="BgM-ve-c93">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionLeftToRight:" target="-1" id="caW-Bv-w94"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="RB4-Sm-HuC">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionRightToLeft:" target="-1" id="EXD-6r-ZUu"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/>
-                                        <menuItem title="Show Ruler" id="vLm-3I-IUL">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleRuler:" target="-1" id="FOx-HJ-KwY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyRuler:" target="-1" id="71i-fW-3W2"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteRuler:" target="-1" id="cSh-wd-qM2"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="View" id="H8h-7b-M4v">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="View" id="HyV-fh-RgO">
-                        <items>
-                            <menuItem title="Show Toolbar" keyEquivalent="t" id="snW-S8-Cw5">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="toggleToolbarShown:" target="-1" id="BXY-wc-z0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Customize Toolbar…" id="1UK-8n-QPP">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="runToolbarCustomizationPalette:" target="-1" id="pQI-g3-MTW"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Window" id="aUF-d1-5bR">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
-                        <items>
-                            <menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
-                                <connections>
-                                    <action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Zoom" id="R4o-n2-Eq4">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
-                            <menuItem title="Bring All to Front" id="LE2-aR-0XJ">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Help" id="wpr-3q-Mcd">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
-                        <items>
-                            <menuItem title="FFT Help" keyEquivalent="?" id="FKE-Sm-Kum">
-                                <connections>
-                                    <action selector="showHelp:" target="-1" id="y7X-2Q-9no"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-            </items>
-        </menu>
-        <window title="FFT" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g">
-            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
-            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
-            <rect key="contentRect" x="335" y="390" width="480" height="272"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
-            <view key="contentView" id="EiT-Mj-1SZ">
-                <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-                <autoresizingMask key="autoresizingMask"/>
-                <subviews>
-                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="bYU-wY-hDo" customClass="EZAudioPlot">
-                        <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-                        <subviews>
-                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="SUJ-Np-jlL" customClass="EZAudioPlot">
-                                <rect key="frame" x="18" y="190" width="444" height="64"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="64" id="0kl-Pj-Sge"/>
-                                </constraints>
-                                <userDefinedRuntimeAttributes>
-                                    <userDefinedRuntimeAttribute type="color" keyPath="color">
-                                        <color key="value" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                    </userDefinedRuntimeAttribute>
-                                </userDefinedRuntimeAttributes>
-                            </customView>
-                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Vjf-P4-Me7">
-                                <rect key="frame" x="16" y="159" width="4" height="22"/>
-                                <textFieldCell key="cell" sendsActionOnEndEditing="YES" id="V1O-MR-dks">
-                                    <font key="font" size="18" name="HelveticaNeue-Light"/>
-                                    <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                </textFieldCell>
-                            </textField>
-                        </subviews>
-                        <constraints>
-                            <constraint firstAttribute="trailing" secondItem="SUJ-Np-jlL" secondAttribute="trailing" constant="18" id="8e6-wa-2iS"/>
-                            <constraint firstItem="Vjf-P4-Me7" firstAttribute="leading" secondItem="bYU-wY-hDo" secondAttribute="leading" constant="18" id="8iO-u0-Hif"/>
-                            <constraint firstItem="Vjf-P4-Me7" firstAttribute="top" secondItem="SUJ-Np-jlL" secondAttribute="bottom" constant="9" id="IoR-eV-hfX"/>
-                            <constraint firstItem="SUJ-Np-jlL" firstAttribute="leading" secondItem="bYU-wY-hDo" secondAttribute="leading" constant="18" id="cjI-VW-eMW"/>
-                            <constraint firstItem="SUJ-Np-jlL" firstAttribute="top" secondItem="bYU-wY-hDo" secondAttribute="top" constant="18" id="m9C-bU-rjo"/>
-                        </constraints>
-                        <userDefinedRuntimeAttributes>
-                            <userDefinedRuntimeAttribute type="color" keyPath="backgroundColor">
-                                <color key="value" red="0.0078431372550000003" green="0.72156862749999995" blue="0.96078431369999995" alpha="1" colorSpace="calibratedRGB"/>
-                            </userDefinedRuntimeAttribute>
-                            <userDefinedRuntimeAttribute type="color" keyPath="color">
-                                <color key="value" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                            </userDefinedRuntimeAttribute>
-                        </userDefinedRuntimeAttributes>
-                    </customView>
-                </subviews>
-                <constraints>
-                    <constraint firstItem="bYU-wY-hDo" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" id="5z4-1k-1AB"/>
-                    <constraint firstItem="bYU-wY-hDo" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" id="DTD-Tg-LKd"/>
-                    <constraint firstAttribute="trailing" secondItem="bYU-wY-hDo" secondAttribute="trailing" id="dXG-Z8-3Xu"/>
-                    <constraint firstAttribute="bottom" secondItem="bYU-wY-hDo" secondAttribute="bottom" id="tJa-lp-h1P"/>
-                </constraints>
-            </view>
-            <point key="canvasLocation" x="252" y="239"/>
-        </window>
-    </objects>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Info.plist b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/Info.plist
deleted file mode 100644 (file)
index 1af7e37..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>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 © 2016 Syed Haris Ali. All rights reserved.</string>
-       <key>NSMainNibFile</key>
-       <string>MainMenu</string>
-       <key>NSPrincipalClass</key>
-       <string>NSApplication</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/main.m b/document/EZAudio-master/EZAudioExamples/OSX/FFT/FFT/main.m
deleted file mode 100644 (file)
index c98f57b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-//  main.m
-//  FFT
-//
-//  Created by Syed Haris Ali on 1/23/16.
-//  Copyright © 2016 Syed Haris Ali. All rights reserved.
-//
-
-#import <Cocoa/Cocoa.h>
-
-int main(int argc, const char * argv[]) {
-    return NSApplicationMain(argc, argv);
-}
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index 877ac1e..0000000
+++ /dev/null
@@ -1,356 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               6660627E1C5427CC00FB99FA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6660627D1C5427CC00FB99FA /* AppDelegate.m */; };
-               666062811C5427CC00FB99FA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 666062801C5427CC00FB99FA /* main.m */; };
-               666062831C5427CC00FB99FA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 666062821C5427CC00FB99FA /* Assets.xcassets */; };
-               666062861C5427CC00FB99FA /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 666062841C5427CC00FB99FA /* MainMenu.xib */; };
-               6660629A1C5427F500FB99FA /* EZAudioOSX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 666062991C5427F500FB99FA /* EZAudioOSX.framework */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374DCD1C545312000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DC81C545312000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374DCF1C545312000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DC81C545312000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-               66374DC81C545312000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-               666062791C5427CC00FB99FA /* OpenGLWaveform.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenGLWaveform.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               6660627C1C5427CC00FB99FA /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
-               6660627D1C5427CC00FB99FA /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
-               666062801C5427CC00FB99FA /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
-               666062821C5427CC00FB99FA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               666062851C5427CC00FB99FA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
-               666062871C5427CC00FB99FA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               666062991C5427F500FB99FA /* EZAudioOSX.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EZAudioOSX.framework; path = ../../../build/Debug/EZAudioOSX.framework; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               666062761C5427CC00FB99FA /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               6660629A1C5427F500FB99FA /* EZAudioOSX.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               662B6C4D1C542C4400353D48 /* Frameworks */ = {
-                       isa = PBXGroup;
-                       children = (
-                               666062991C5427F500FB99FA /* EZAudioOSX.framework */,
-                       );
-                       name = Frameworks;
-                       sourceTree = "<group>";
-               };
-               66374DC91C545312000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DCE1C545312000B19D0 /* EZAudioiOS.framework */,
-                               66374DD01C545312000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               666062701C5427CC00FB99FA = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DC81C545312000B19D0 /* EZAudio.xcodeproj */,
-                               6660627B1C5427CC00FB99FA /* OpenGLWaveform */,
-                               662B6C4D1C542C4400353D48 /* Frameworks */,
-                               6660627A1C5427CC00FB99FA /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               6660627A1C5427CC00FB99FA /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               666062791C5427CC00FB99FA /* OpenGLWaveform.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               6660627B1C5427CC00FB99FA /* OpenGLWaveform */ = {
-                       isa = PBXGroup;
-                       children = (
-                               6660627C1C5427CC00FB99FA /* AppDelegate.h */,
-                               6660627D1C5427CC00FB99FA /* AppDelegate.m */,
-                               666062821C5427CC00FB99FA /* Assets.xcassets */,
-                               666062841C5427CC00FB99FA /* MainMenu.xib */,
-                               666062871C5427CC00FB99FA /* Info.plist */,
-                               6660627F1C5427CC00FB99FA /* Supporting Files */,
-                       );
-                       path = OpenGLWaveform;
-                       sourceTree = "<group>";
-               };
-               6660627F1C5427CC00FB99FA /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               666062801C5427CC00FB99FA /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               666062781C5427CC00FB99FA /* OpenGLWaveform */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 6660628A1C5427CC00FB99FA /* Build configuration list for PBXNativeTarget "OpenGLWaveform" */;
-                       buildPhases = (
-                               666062751C5427CC00FB99FA /* Sources */,
-                               666062761C5427CC00FB99FA /* Frameworks */,
-                               666062771C5427CC00FB99FA /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = OpenGLWaveform;
-                       productName = OpenGLWaveform;
-                       productReference = 666062791C5427CC00FB99FA /* OpenGLWaveform.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               666062711C5427CC00FB99FA /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       666062781C5427CC00FB99FA = {
-                                               CreatedOnToolsVersion = 7.2;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 666062741C5427CC00FB99FA /* Build configuration list for PBXProject "OpenGLWaveform" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               en,
-                               Base,
-                       );
-                       mainGroup = 666062701C5427CC00FB99FA;
-                       productRefGroup = 6660627A1C5427CC00FB99FA /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374DC91C545312000B19D0 /* Products */;
-                                       ProjectRef = 66374DC81C545312000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               666062781C5427CC00FB99FA /* OpenGLWaveform */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374DCE1C545312000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374DCD1C545312000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374DD01C545312000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374DCF1C545312000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               666062771C5427CC00FB99FA /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               666062831C5427CC00FB99FA /* Assets.xcassets in Resources */,
-                               666062861C5427CC00FB99FA /* MainMenu.xib in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               666062751C5427CC00FB99FA /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               666062811C5427CC00FB99FA /* main.m in Sources */,
-                               6660627E1C5427CC00FB99FA /* AppDelegate.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
-               666062841C5427CC00FB99FA /* MainMenu.xib */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               666062851C5427CC00FB99FA /* Base */,
-                       );
-                       name = MainMenu.xib;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               666062881C5427CC00FB99FA /* 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 = "-";
-                               COPY_PHASE_STRIP = NO;
-                               DEBUG_INFORMATION_FORMAT = dwarf;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               MACOSX_DEPLOYMENT_TARGET = 10.11;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = macosx;
-                       };
-                       name = Debug;
-               };
-               666062891C5427CC00FB99FA /* 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 = "-";
-                               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;
-                               MACOSX_DEPLOYMENT_TARGET = 10.11;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = macosx;
-                       };
-                       name = Release;
-               };
-               6660628B1C5427CC00FB99FA /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               INFOPLIST_FILE = OpenGLWaveform/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.OpenGLWaveform;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               6660628C1C5427CC00FB99FA /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               INFOPLIST_FILE = OpenGLWaveform/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.OpenGLWaveform;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               666062741C5427CC00FB99FA /* Build configuration list for PBXProject "OpenGLWaveform" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               666062881C5427CC00FB99FA /* Debug */,
-                               666062891C5427CC00FB99FA /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               6660628A1C5427CC00FB99FA /* Build configuration list for PBXNativeTarget "OpenGLWaveform" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               6660628B1C5427CC00FB99FA /* Debug */,
-                               6660628C1C5427CC00FB99FA /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 666062711C5427CC00FB99FA /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index 919434a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:">
-   </FileRef>
-</Workspace>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/AppDelegate.h
deleted file mode 100644 (file)
index c6de588..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-//
-//  AppDelegate.h
-//  OpenGLWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Cocoa/Cocoa.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//------------------------------------------------------------------------------
-#pragma mark - AppDelegate
-//------------------------------------------------------------------------------
-
-@interface AppDelegate : NSObject <EZMicrophoneDelegate, NSApplicationDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-@property (weak) IBOutlet NSWindow *window;
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-//
-// The OpenGL based audio plot
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlotGL *audioPlot;
-
-//
-// The microphone
-//
-@property (nonatomic, strong) EZMicrophone *microphone;
-
-//
-// The microphone pop up button (contains the menu for choosing a microphone
-// input)
-//
-@property (nonatomic, weak) IBOutlet NSPopUpButton *microphoneInputPopUpButton;
-
-//
-// The microphone input channel pop up button (contains the menu for choosing a
-// microphone input channel)
-//
-@property (nonatomic, weak) IBOutlet NSPopUpButton *microphoneInputChannelPopUpButton;
-
-//
-// The checkbox button used to turn the microphone off/on
-//
-@property (nonatomic, weak) IBOutlet NSButton *microphoneSwitch;
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-//
-// Switches the plot drawing type between a buffer plot (visualizes the current
-// stream of audio data from the update function) or a rolling plot (visualizes
-// the audio data over time, this is the classic waveform look)
-//
--(IBAction)changePlotType:(id)sender;
-
-//
-// Toggles the microphone on and off. When the microphone is on it will send its
-// delegate (aka this view controller) the audio data in various ways (check out
-// the EZMicrophoneDelegate documentation for more details)
-//
--(IBAction)toggleMicrophone:(id)sender;
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/AppDelegate.m
deleted file mode 100644 (file)
index 3539b8b..0000000
+++ /dev/null
@@ -1,290 +0,0 @@
-//
-//  AppDelegate.m
-//  OpenGLWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "AppDelegate.h"
-
-@implementation AppDelegate
-
-//------------------------------------------------------------------------------
-#pragma mark - Customize The Plot's Appearance
-//------------------------------------------------------------------------------
-
-- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
-{
-    //
-    // Set plot's background color
-    //
-    self.audioPlot.backgroundColor = [NSColor colorWithCalibratedRed: 0.569 green: 0.82 blue: 0.478 alpha: 1];
-    
-    //
-    // Set plot's waveform color
-    //
-    self.audioPlot.color = [NSColor colorWithCalibratedRed: 1.000 green: 1.000 blue: 1.000 alpha: 1];
-    
-    //
-    // Plot type (buffer means real-time, rolling is over time)
-    //
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    
-    //
-    // Create the microphone
-    //
-    self.microphone = [EZMicrophone microphoneWithDelegate:self];
-    
-    //
-    // Start the microphone
-    //
-    [self.microphone startFetchingAudio];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void) reloadMicrophoneInputPopUpButtonMenu
-{
-    NSArray *inputDevices = [EZAudioDevice inputDevices];
-    NSMenu *menu = [[NSMenu alloc] init];
-    NSMenuItem *defaultInputMenuItem;
-    for (EZAudioDevice *device in inputDevices)
-    {
-        NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:device.name
-                                                      action:@selector(changedInput:)
-                                               keyEquivalent:@""];
-        item.representedObject = device;
-        item.target = self;
-        [menu addItem:item];
-        
-        // If this device is the same one the microphone is using then
-        // we will use this menu item as the currently selected item
-        // in the microphone input popup button's list of items. For instance,
-        // if you are connected to an external display by default the external
-        // display's microphone might be used instead of the mac's built in
-        // mic.
-        if ([device isEqual:self.microphone.device])
-        {
-            defaultInputMenuItem = item;
-        }
-    }
-    self.microphoneInputPopUpButton.menu = menu;
-    
-    //
-    // Set the selected device to the current selection on the
-    // microphone input popup button
-    //
-    [self.microphoneInputPopUpButton selectItem:defaultInputMenuItem];
-}
-
-//------------------------------------------------------------------------------
-
-- (void) reloadMicrophoneInputChannelPopUpButtonMenu
-{
-    NSMenu *menu = [[NSMenu alloc] init];
-    for (int i = 0; i < self.microphone.device.inputChannelCount; i++)
-    {
-        NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:@(i).stringValue
-                                                      action:nil
-                                               keyEquivalent:@""];
-        [menu addItem:item];
-    }
-    self.microphoneInputChannelPopUpButton.menu = menu;
-    [self.microphoneInputChannelPopUpButton selectItemAtIndex:0];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)changedInput:(id)sender
-{
-    EZAudioDevice *device = [sender representedObject];
-    [self.microphone setDevice:device];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)changePlotType:(id)sender
-{
-    NSInteger selectedSegment = [sender selectedSegment];
-    switch(selectedSegment)
-    {
-        case 0:
-            [self drawBufferPlot];
-            break;
-        case 1:
-            [self drawRollingPlot];
-            break;
-        default:
-            break;
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)toggleMicrophone:(id)sender
-{
-    switch([sender state])
-    {
-        case NSOffState:
-            [self.microphone stopFetchingAudio];
-            break;
-        case NSOnState:
-            [self.microphone startFetchingAudio];
-            break;
-        default:
-            break;
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Action Extensions
-//------------------------------------------------------------------------------
-
-/*
- Give the visualization of the current buffer (this is almost exactly the openFrameworks audio input eample)
- */
-- (void)drawBufferPlot
-{
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    self.audioPlot.shouldMirror = NO;
-    self.audioPlot.shouldFill = NO;
-}
-
-//------------------------------------------------------------------------------
-
-/*
- Give the classic mirrored, rolling waveform look
- */
-- (void)drawRollingPlot
-{
-    self.audioPlot.plotType = EZPlotTypeRolling;
-    self.audioPlot.shouldFill = YES;
-    self.audioPlot.shouldMirror = YES;
-}
-
-#pragma mark - EZMicrophoneDelegate
-#warning Thread Safety
-//
-// Note that any callback that provides streamed audio data (like streaming
-// microphone input) happens on a separate audio thread that should not be
-// blocked. When we feed audio data into any of the UI components we need to
-// explicity create a GCD block on the main thread to properly get the UI to
-// work.
-- (void)   microphone:(EZMicrophone *)microphone
-     hasAudioReceived:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    //
-    // See the Thread Safety warning above, but in a nutshell these callbacks
-    // happen on a separate audio thread. We wrap any UI updating in a GCD block
-    // on the main thread to avoid blocking that audio flow.
-    //
-    __weak typeof(self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(),^{
-        //
-        // All the audio plot needs is the buffer data (float *) and the size.
-        // Internally the audio plot will handle all the drawing related code,
-        // history management, and freeing its own resources. Hence, one badass
-        // line of code gets you a pretty plot :)
-        //
-        NSInteger channel = [weakSelf.microphoneInputChannelPopUpButton indexOfSelectedItem];
-        [weakSelf.audioPlot updateBuffer:buffer[channel] withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone hasAudioStreamBasicDescription:(AudioStreamBasicDescription)audioStreamBasicDescription
-{
-    // The AudioStreamBasicDescription of the microphone stream. This is useful
-    // when configuring the EZRecorder or telling another component what audio
-    // format type to expect.
-    
-    //
-    // Here's a print function to allow you to inspect it a little easier.
-    //
-    [EZAudioUtilities printASBD:audioStreamBasicDescription];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone
-     hasBufferList:(AudioBufferList *)bufferList
-    withBufferSize:(UInt32)bufferSize
-withNumberOfChannels:(UInt32)numberOfChannels
-{
-    //
-    // Getting audio data as a buffer list that can be directly fed into
-    // the EZRecorder or EZOutput. Say whattt...
-    //
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone
-     changedDevice:(EZAudioDevice *)device
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        //
-        // Set up the microphone input popup button's items to select
-        // between different microphone inputs
-        //
-        [weakSelf reloadMicrophoneInputPopUpButtonMenu];
-        
-        //
-        // Set up the microphone input popup button's items to select
-        // between different microphone input channels
-        //
-        [weakSelf reloadMicrophoneInputChannelPopUpButtonMenu];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone changedPlayingState:(BOOL)isPlaying
-{
-    NSString *title = isPlaying ? @"Microphone On" : @"Microphone Off";
-    [self setTitle:title forButton:self.microphoneSwitch];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Utility
-//------------------------------------------------------------------------------
-
-- (void)setTitle:(NSString *)title forButton:(NSButton *)button
-{
-    NSDictionary *attributes = @{ NSForegroundColorAttributeName : [NSColor whiteColor] };
-    NSAttributedString *attributedTitle = [[NSAttributedString alloc] initWithString:title
-                                                                          attributes:attributes];
-    button.attributedTitle = attributedTitle;
-    button.attributedAlternateTitle = attributedTitle;
-}
-
-//------------------------------------------------------------------------------
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index 7cd4f8e..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128.png b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128.png
deleted file mode 100644 (file)
index 8ce765b..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png
deleted file mode 100644 (file)
index 65d03c3..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16.png b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16.png
deleted file mode 100644 (file)
index 285f9a6..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png
deleted file mode 100644 (file)
index 1029159..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256.png b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256.png
deleted file mode 100644 (file)
index 65d03c3..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png
deleted file mode 100644 (file)
index 5f77e29..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32.png b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32.png
deleted file mode 100644 (file)
index 1029159..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png
deleted file mode 100644 (file)
index 5079f41..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512.png b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512.png
deleted file mode 100644 (file)
index 5f77e29..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png
deleted file mode 100644 (file)
index 73905e6..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Base.lproj/MainMenu.xib b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Base.lproj/MainMenu.xib
deleted file mode 100644 (file)
index 46c775d..0000000
+++ /dev/null
@@ -1,783 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
-            <connections>
-                <outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customObject id="Voe-Tx-rLC" customClass="AppDelegate">
-            <connections>
-                <outlet property="audioPlot" destination="9NH-Rm-uCu" id="mOV-PE-eaU"/>
-                <outlet property="microphoneInputChannelPopUpButton" destination="3xi-d5-sVw" id="tbg-Sb-Vaa"/>
-                <outlet property="microphoneInputPopUpButton" destination="IVu-IX-YDR" id="UWQ-yh-Elg"/>
-                <outlet property="microphoneSwitch" destination="CoM-zD-tS8" id="QTf-6I-8BZ"/>
-                <outlet property="window" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
-            </connections>
-        </customObject>
-        <customObject id="YLy-65-1bz" customClass="NSFontManager"/>
-        <menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
-            <items>
-                <menuItem title="OpenGLWaveform" id="1Xt-HY-uBw">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="OpenGLWaveform" systemMenu="apple" id="uQy-DD-JDr">
-                        <items>
-                            <menuItem title="About OpenGLWaveform" id="5kV-Vb-QxS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
-                            <menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
-                            <menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
-                            <menuItem title="Services" id="NMo-om-nkz">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
-                            <menuItem title="Hide OpenGLWaveform" keyEquivalent="h" id="Olw-nP-bQN">
-                                <connections>
-                                    <action selector="hide:" target="-1" id="PnN-Uc-m68"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Show All" id="Kd2-mp-pUS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
-                            <menuItem title="Quit OpenGLWaveform" keyEquivalent="q" id="4sb-4s-VLi">
-                                <connections>
-                                    <action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="File" id="dMs-cI-mzQ">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="File" id="bib-Uj-vzu">
-                        <items>
-                            <menuItem title="New" keyEquivalent="n" id="Was-JA-tGl">
-                                <connections>
-                                    <action selector="newDocument:" target="-1" id="4Si-XN-c54"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open…" keyEquivalent="o" id="IAo-SY-fd9">
-                                <connections>
-                                    <action selector="openDocument:" target="-1" id="bVn-NM-KNZ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open Recent" id="tXI-mr-wws">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="oas-Oc-fiZ">
-                                    <items>
-                                        <menuItem title="Clear Menu" id="vNY-rz-j42">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="clearRecentDocuments:" target="-1" id="Daa-9d-B3U"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="m54-Is-iLE"/>
-                            <menuItem title="Close" keyEquivalent="w" id="DVo-aG-piG">
-                                <connections>
-                                    <action selector="performClose:" target="-1" id="HmO-Ls-i7Q"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save…" keyEquivalent="s" id="pxx-59-PXV">
-                                <connections>
-                                    <action selector="saveDocument:" target="-1" id="teZ-XB-qJY"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save As…" keyEquivalent="S" id="Bw7-FT-i3A">
-                                <connections>
-                                    <action selector="saveDocumentAs:" target="-1" id="mDf-zr-I0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Revert to Saved" id="KaW-ft-85H">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="revertDocumentToSaved:" target="-1" id="iJ3-Pv-kwq"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="aJh-i4-bef"/>
-                            <menuItem title="Page Setup…" keyEquivalent="P" id="qIS-W8-SiK">
-                                <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
-                                <connections>
-                                    <action selector="runPageLayout:" target="-1" id="Din-rz-gC5"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Print…" keyEquivalent="p" id="aTl-1u-JFS">
-                                <connections>
-                                    <action selector="print:" target="-1" id="qaZ-4w-aoO"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Edit" id="5QF-Oa-p0T">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Edit" id="W48-6f-4Dl">
-                        <items>
-                            <menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
-                                <connections>
-                                    <action selector="undo:" target="-1" id="M6e-cu-g7V"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
-                                <connections>
-                                    <action selector="redo:" target="-1" id="oIA-Rs-6OD"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
-                            <menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
-                                <connections>
-                                    <action selector="cut:" target="-1" id="YJe-68-I9s"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
-                                <connections>
-                                    <action selector="copy:" target="-1" id="G1f-GL-Joy"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
-                                <connections>
-                                    <action selector="paste:" target="-1" id="UvS-8e-Qdg"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Delete" id="pa3-QI-u2k">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="delete:" target="-1" id="0Mk-Ml-PaM"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
-                                <connections>
-                                    <action selector="selectAll:" target="-1" id="VNm-Mi-diN"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
-                            <menuItem title="Find" id="4EN-yA-p0u">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Find" id="1b7-l0-nxx">
-                                    <items>
-                                        <menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
-                                            <connections>
-                                                <action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
-                                    <items>
-                                        <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
-                                            <connections>
-                                                <action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
-                                            <connections>
-                                                <action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
-                                        <menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Substitutions" id="9ic-FL-obx">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
-                                    <items>
-                                        <menuItem title="Show Substitutions" id="z6F-FW-3nz">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
-                                        <menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Quotes" id="hQb-2v-fYv">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Dashes" id="rgM-f4-ycn">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Links" id="cwL-P1-jid">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Data Detectors" id="tRr-pd-1PS">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Text Replacement" id="HFQ-gK-NFA">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Transformations" id="2oI-Rn-ZJC">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Transformations" id="c8a-y6-VQd">
-                                    <items>
-                                        <menuItem title="Make Upper Case" id="vmV-6d-7jI">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Make Lower Case" id="d9M-CD-aMd">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Capitalize" id="UEZ-Bs-lqG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Speech" id="xrE-MZ-jX0">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Speech" id="3rS-ZA-NoH">
-                                    <items>
-                                        <menuItem title="Start Speaking" id="Ynk-f8-cLZ">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Stop Speaking" id="Oyz-dy-DGm">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Format" id="jxT-CU-nIS">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Format" id="GEO-Iw-cKr">
-                        <items>
-                            <menuItem title="Font" id="Gi5-1S-RQB">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq">
-                                    <items>
-                                        <menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq">
-                                            <connections>
-                                                <action selector="orderFrontFontPanel:" target="YLy-65-1bz" id="WHr-nq-2xA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="hqk-hr-sYV"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="IHV-OB-c03"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S">
-                                            <connections>
-                                                <action selector="underline:" target="-1" id="FYS-2b-JAY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/>
-                                        <menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="Uc7-di-UnL"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="HcX-Lf-eNd"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/>
-                                        <menuItem title="Kern" id="jBQ-r6-VK2">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Kern" id="tlD-Oa-oAM">
-                                                <items>
-                                                    <menuItem title="Use Default" id="GUa-eO-cwY">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardKerning:" target="-1" id="6dk-9l-Ckg"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="cDB-IK-hbR">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffKerning:" target="-1" id="U8a-gz-Maa"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Tighten" id="46P-cB-AYj">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="tightenKerning:" target="-1" id="hr7-Nz-8ro"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Loosen" id="ogc-rX-tC1">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="loosenKerning:" target="-1" id="8i4-f9-FKE"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Ligatures" id="o6e-r0-MWq">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Ligatures" id="w0m-vy-SC9">
-                                                <items>
-                                                    <menuItem title="Use Default" id="agt-UL-0e3">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardLigatures:" target="-1" id="7uR-wd-Dx6"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="J7y-lM-qPV">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffLigatures:" target="-1" id="iX2-gA-Ilz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use All" id="xQD-1f-W4t">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useAllLigatures:" target="-1" id="KcB-kA-TuK"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Baseline" id="OaQ-X3-Vso">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Baseline" id="ijk-EB-dga">
-                                                <items>
-                                                    <menuItem title="Use Default" id="3Om-Ey-2VK">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="unscript:" target="-1" id="0vZ-95-Ywn"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Superscript" id="Rqc-34-cIF">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="superscript:" target="-1" id="3qV-fo-wpU"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Subscript" id="I0S-gh-46l">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="subscript:" target="-1" id="Q6W-4W-IGz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Raise" id="2h7-ER-AoG">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="raiseBaseline:" target="-1" id="4sk-31-7Q9"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Lower" id="1tx-W0-xDw">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="lowerBaseline:" target="-1" id="OF1-bc-KW4"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/>
-                                        <menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk">
-                                            <connections>
-                                                <action selector="orderFrontColorPanel:" target="-1" id="mSX-Xz-DV3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/>
-                                        <menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyFont:" target="-1" id="GJO-xA-L4q"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteFont:" target="-1" id="JfD-CL-leO"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Text" id="Fal-I4-PZk">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Text" id="d9c-me-L2H">
-                                    <items>
-                                        <menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1">
-                                            <connections>
-                                                <action selector="alignLeft:" target="-1" id="zUv-R1-uAa"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb">
-                                            <connections>
-                                                <action selector="alignCenter:" target="-1" id="spX-mk-kcS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Justify" id="J5U-5w-g23">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="alignJustified:" target="-1" id="ljL-7U-jND"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4">
-                                            <connections>
-                                                <action selector="alignRight:" target="-1" id="r48-bG-YeY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/>
-                                        <menuItem title="Writing Direction" id="H1b-Si-o9J">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd">
-                                                <items>
-                                                    <menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="YGs-j5-SAR">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionNatural:" target="-1" id="qtV-5e-UBP"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="Lbh-J2-qVU">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionLeftToRight:" target="-1" id="S0X-9S-QSf"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="jFq-tB-4Kx">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionRightToLeft:" target="-1" id="5fk-qB-AqJ"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem isSeparatorItem="YES" id="swp-gr-a21"/>
-                                                    <menuItem title="Selection" enabled="NO" id="cqv-fj-IhA">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="Nop-cj-93Q">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionNatural:" target="-1" id="lPI-Se-ZHp"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="BgM-ve-c93">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionLeftToRight:" target="-1" id="caW-Bv-w94"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="RB4-Sm-HuC">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionRightToLeft:" target="-1" id="EXD-6r-ZUu"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/>
-                                        <menuItem title="Show Ruler" id="vLm-3I-IUL">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleRuler:" target="-1" id="FOx-HJ-KwY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyRuler:" target="-1" id="71i-fW-3W2"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteRuler:" target="-1" id="cSh-wd-qM2"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="View" id="H8h-7b-M4v">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="View" id="HyV-fh-RgO">
-                        <items>
-                            <menuItem title="Show Toolbar" keyEquivalent="t" id="snW-S8-Cw5">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="toggleToolbarShown:" target="-1" id="BXY-wc-z0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Customize Toolbar…" id="1UK-8n-QPP">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="runToolbarCustomizationPalette:" target="-1" id="pQI-g3-MTW"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Window" id="aUF-d1-5bR">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
-                        <items>
-                            <menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
-                                <connections>
-                                    <action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Zoom" id="R4o-n2-Eq4">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
-                            <menuItem title="Bring All to Front" id="LE2-aR-0XJ">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Help" id="wpr-3q-Mcd">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
-                        <items>
-                            <menuItem title="OpenGLWaveform Help" keyEquivalent="?" id="FKE-Sm-Kum">
-                                <connections>
-                                    <action selector="showHelp:" target="-1" id="y7X-2Q-9no"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-            </items>
-        </menu>
-        <window title="OpenGLWaveform" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g">
-            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
-            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
-            <rect key="contentRect" x="335" y="390" width="480" height="272"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
-            <view key="contentView" id="EiT-Mj-1SZ">
-                <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-                <autoresizingMask key="autoresizingMask"/>
-                <subviews>
-                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="9NH-Rm-uCu" customClass="EZAudioPlotGL">
-                        <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-                        <subviews>
-                            <button translatesAutoresizingMaskIntoConstraints="NO" id="CoM-zD-tS8">
-                                <rect key="frame" x="339" y="47" width="123" height="18"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="119" id="Oho-fd-7LV"/>
-                                </constraints>
-                                <buttonCell key="cell" type="check" title="Microphone On" bezelStyle="regularSquare" imagePosition="right" state="on" inset="2" id="eRJ-le-Yky">
-                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                    <font key="font" metaFont="system"/>
-                                </buttonCell>
-                            </button>
-                            <segmentedControl verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bZa-Zb-t7u">
-                                <rect key="frame" x="336" y="18" width="126" height="24"/>
-                                <segmentedCell key="cell" borderStyle="border" alignment="left" style="rounded" trackingMode="selectOne" id="lgi-Ks-a8r">
-                                    <font key="font" metaFont="system"/>
-                                    <segments>
-                                        <segment label="Buffer" selected="YES"/>
-                                        <segment label="Rolling" tag="1"/>
-                                    </segments>
-                                </segmentedCell>
-                            </segmentedControl>
-                            <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="IVu-IX-YDR" userLabel="microphoneInputPopUpButton">
-                                <rect key="frame" x="18" y="17" width="180" height="26"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="175" id="ioq-M7-ELj"/>
-                                </constraints>
-                                <popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="gkh-2L-Rcb" id="sly-u2-g4x">
-                                    <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
-                                    <font key="font" metaFont="menu"/>
-                                    <menu key="menu" id="Utg-Gp-vQm">
-                                        <items>
-                                            <menuItem title="Item 1" state="on" id="gkh-2L-Rcb"/>
-                                            <menuItem title="Item 2" id="2rH-JK-a4y"/>
-                                            <menuItem title="Item 3" id="dw1-Dc-qxo"/>
-                                        </items>
-                                    </menu>
-                                </popUpButtonCell>
-                            </popUpButton>
-                            <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3xi-d5-sVw" userLabel="microphoneInputChannelPopUpButton">
-                                <rect key="frame" x="204" y="17" width="79" height="26"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="74" id="Kp2-s0-j9I"/>
-                                </constraints>
-                                <popUpButtonCell key="cell" type="push" title="1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="NCM-Lf-fXx" id="6eJ-Sd-amW">
-                                    <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
-                                    <font key="font" metaFont="menu"/>
-                                    <menu key="menu" id="49c-2g-wMD">
-                                        <items>
-                                            <menuItem title="1" state="on" id="NCM-Lf-fXx"/>
-                                            <menuItem title="Item 2" id="OI0-T8-cpO"/>
-                                            <menuItem title="Item 3" id="AeX-Wz-vdf"/>
-                                        </items>
-                                    </menu>
-                                </popUpButtonCell>
-                            </popUpButton>
-                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lqr-DS-FFh">
-                                <rect key="frame" x="18" y="46" width="35" height="17"/>
-                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Input" id="rIj-Yx-v99">
-                                    <font key="font" metaFont="system"/>
-                                    <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                </textFieldCell>
-                            </textField>
-                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vYb-ju-IqC">
-                                <rect key="frame" x="203" y="46" width="54" height="17"/>
-                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Channel" id="9KG-Wr-jCD">
-                                    <font key="font" metaFont="system"/>
-                                    <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                </textFieldCell>
-                            </textField>
-                        </subviews>
-                        <constraints>
-                            <constraint firstAttribute="bottom" secondItem="IVu-IX-YDR" secondAttribute="bottom" constant="20" id="AIm-kA-FKJ"/>
-                            <constraint firstItem="3xi-d5-sVw" firstAttribute="top" secondItem="vYb-ju-IqC" secondAttribute="bottom" constant="5" id="J6P-eu-GlB"/>
-                            <constraint firstAttribute="bottom" secondItem="3xi-d5-sVw" secondAttribute="bottom" constant="20" id="K1Q-VW-2Yi"/>
-                            <constraint firstItem="IVu-IX-YDR" firstAttribute="top" secondItem="lqr-DS-FFh" secondAttribute="bottom" constant="5" id="KQk-cx-NEh"/>
-                            <constraint firstItem="vYb-ju-IqC" firstAttribute="leading" secondItem="lqr-DS-FFh" secondAttribute="trailing" constant="154" id="KXq-hs-esD"/>
-                            <constraint firstAttribute="bottom" secondItem="bZa-Zb-t7u" secondAttribute="bottom" constant="20" id="O1D-2X-1hG"/>
-                            <constraint firstItem="bZa-Zb-t7u" firstAttribute="top" secondItem="CoM-zD-tS8" secondAttribute="bottom" constant="8" id="P3j-y3-DNM"/>
-                            <constraint firstItem="IVu-IX-YDR" firstAttribute="leading" secondItem="9NH-Rm-uCu" secondAttribute="leading" constant="20" id="bIV-pc-Kvu"/>
-                            <constraint firstItem="3xi-d5-sVw" firstAttribute="leading" secondItem="IVu-IX-YDR" secondAttribute="trailing" constant="11" id="uLe-jO-Sag"/>
-                            <constraint firstItem="lqr-DS-FFh" firstAttribute="leading" secondItem="9NH-Rm-uCu" secondAttribute="leading" constant="20" id="uQS-RP-OVW"/>
-                            <constraint firstAttribute="trailing" secondItem="bZa-Zb-t7u" secondAttribute="trailing" constant="20" id="z0Q-Gj-AN7"/>
-                            <constraint firstAttribute="trailing" secondItem="CoM-zD-tS8" secondAttribute="trailing" constant="20" id="zKM-M3-25m"/>
-                        </constraints>
-                    </customView>
-                </subviews>
-                <constraints>
-                    <constraint firstAttribute="trailing" secondItem="9NH-Rm-uCu" secondAttribute="trailing" id="1hp-iA-K2z"/>
-                    <constraint firstAttribute="bottom" secondItem="9NH-Rm-uCu" secondAttribute="bottom" id="JCe-fG-hr7"/>
-                    <constraint firstItem="9NH-Rm-uCu" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" id="RCm-lm-fb8"/>
-                    <constraint firstItem="9NH-Rm-uCu" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" id="WTZ-cG-mlb"/>
-                </constraints>
-            </view>
-            <point key="canvasLocation" x="369" y="433"/>
-        </window>
-    </objects>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Info.plist b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/Info.plist
deleted file mode 100644 (file)
index 1af7e37..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>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 © 2016 Syed Haris Ali. All rights reserved.</string>
-       <key>NSMainNibFile</key>
-       <string>MainMenu</string>
-       <key>NSPrincipalClass</key>
-       <string>NSApplication</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/main.m b/document/EZAudio-master/EZAudioExamples/OSX/OpenGLWaveform/OpenGLWaveform/main.m
deleted file mode 100644 (file)
index 946b222..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-//  main.m
-//  OpenGLWaveform
-//
-//  Created by Syed Haris Ali on 1/23/16.
-//  Copyright © 2016 Syed Haris Ali. All rights reserved.
-//
-
-#import <Cocoa/Cocoa.h>
-
-int main(int argc, const char * argv[]) {
-    return NSApplicationMain(argc, argv);
-}
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index 277b3f2..0000000
+++ /dev/null
@@ -1,354 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               66374DAD1C54503E000B19D0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374DAC1C54503E000B19D0 /* AppDelegate.m */; };
-               66374DB01C54503E000B19D0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374DAF1C54503E000B19D0 /* main.m */; };
-               66374DB21C54503E000B19D0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 66374DB11C54503E000B19D0 /* Assets.xcassets */; };
-               66374DB51C54503E000B19D0 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 66374DB31C54503E000B19D0 /* MainMenu.xib */; };
-               66374DBE1C545123000B19D0 /* EZAudioOSX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66374DBD1C545123000B19D0 /* EZAudioOSX.framework */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374DF11C54531E000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DEC1C54531E000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374DF31C54531E000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DEC1C54531E000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-               66374DA81C54503E000B19D0 /* PassThrough.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PassThrough.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               66374DAB1C54503E000B19D0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
-               66374DAC1C54503E000B19D0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
-               66374DAF1C54503E000B19D0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
-               66374DB11C54503E000B19D0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               66374DB41C54503E000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
-               66374DB61C54503E000B19D0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               66374DBD1C545123000B19D0 /* EZAudioOSX.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EZAudioOSX.framework; path = ../../../build/Debug/EZAudioOSX.framework; sourceTree = "<group>"; };
-               66374DEC1C54531E000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               66374DA51C54503E000B19D0 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374DBE1C545123000B19D0 /* EZAudioOSX.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               66374D9F1C54503E000B19D0 = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DEC1C54531E000B19D0 /* EZAudio.xcodeproj */,
-                               66374DAA1C54503E000B19D0 /* PassThrough */,
-                               66374DBC1C545069000B19D0 /* Frameworks */,
-                               66374DA91C54503E000B19D0 /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               66374DA91C54503E000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DA81C54503E000B19D0 /* PassThrough.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               66374DAA1C54503E000B19D0 /* PassThrough */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DAB1C54503E000B19D0 /* AppDelegate.h */,
-                               66374DAC1C54503E000B19D0 /* AppDelegate.m */,
-                               66374DB11C54503E000B19D0 /* Assets.xcassets */,
-                               66374DB31C54503E000B19D0 /* MainMenu.xib */,
-                               66374DB61C54503E000B19D0 /* Info.plist */,
-                               66374DAE1C54503E000B19D0 /* Supporting Files */,
-                       );
-                       path = PassThrough;
-                       sourceTree = "<group>";
-               };
-               66374DAE1C54503E000B19D0 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DAF1C54503E000B19D0 /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-               66374DBC1C545069000B19D0 /* Frameworks */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DBD1C545123000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Frameworks;
-                       sourceTree = "<group>";
-               };
-               66374DED1C54531E000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DF21C54531E000B19D0 /* EZAudioiOS.framework */,
-                               66374DF41C54531E000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               66374DA71C54503E000B19D0 /* PassThrough */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 66374DB91C54503E000B19D0 /* Build configuration list for PBXNativeTarget "PassThrough" */;
-                       buildPhases = (
-                               66374DA41C54503E000B19D0 /* Sources */,
-                               66374DA51C54503E000B19D0 /* Frameworks */,
-                               66374DA61C54503E000B19D0 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = PassThrough;
-                       productName = PassThrough;
-                       productReference = 66374DA81C54503E000B19D0 /* PassThrough.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               66374DA01C54503E000B19D0 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       66374DA71C54503E000B19D0 = {
-                                               CreatedOnToolsVersion = 7.2;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 66374DA31C54503E000B19D0 /* Build configuration list for PBXProject "PassThrough" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               en,
-                               Base,
-                       );
-                       mainGroup = 66374D9F1C54503E000B19D0;
-                       productRefGroup = 66374DA91C54503E000B19D0 /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374DED1C54531E000B19D0 /* Products */;
-                                       ProjectRef = 66374DEC1C54531E000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               66374DA71C54503E000B19D0 /* PassThrough */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374DF21C54531E000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374DF11C54531E000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374DF41C54531E000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374DF31C54531E000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               66374DA61C54503E000B19D0 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374DB21C54503E000B19D0 /* Assets.xcassets in Resources */,
-                               66374DB51C54503E000B19D0 /* MainMenu.xib in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               66374DA41C54503E000B19D0 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374DB01C54503E000B19D0 /* main.m in Sources */,
-                               66374DAD1C54503E000B19D0 /* AppDelegate.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
-               66374DB31C54503E000B19D0 /* MainMenu.xib */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374DB41C54503E000B19D0 /* Base */,
-                       );
-                       name = MainMenu.xib;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               66374DB71C54503E000B19D0 /* 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 = "-";
-                               COPY_PHASE_STRIP = NO;
-                               DEBUG_INFORMATION_FORMAT = dwarf;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = macosx;
-                       };
-                       name = Debug;
-               };
-               66374DB81C54503E000B19D0 /* 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 = "-";
-                               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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = macosx;
-                       };
-                       name = Release;
-               };
-               66374DBA1C54503E000B19D0 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               INFOPLIST_FILE = PassThrough/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.PassThrough;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               66374DBB1C54503E000B19D0 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               INFOPLIST_FILE = PassThrough/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.PassThrough;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               66374DA31C54503E000B19D0 /* Build configuration list for PBXProject "PassThrough" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374DB71C54503E000B19D0 /* Debug */,
-                               66374DB81C54503E000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               66374DB91C54503E000B19D0 /* Build configuration list for PBXNativeTarget "PassThrough" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374DBA1C54503E000B19D0 /* Debug */,
-                               66374DBB1C54503E000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 66374DA01C54503E000B19D0 /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index 919434a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:">
-   </FileRef>
-</Workspace>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/AppDelegate.h
deleted file mode 100644 (file)
index 1051de0..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-//  AppDelegate.h
-//  PassThrough
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Cocoa/Cocoa.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//------------------------------------------------------------------------------
-#pragma mark - AppDelegate
-//------------------------------------------------------------------------------
-
-@interface AppDelegate : NSObject <EZMicrophoneDelegate, NSApplicationDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-@property (weak) IBOutlet NSWindow *window;
-
-//
-// The OpenGL based audio plot
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlotGL *audioPlot;
-
-//------------------------------------------------------------------------------
-
-//
-// The label used to display the microphone state
-//
-@property (nonatomic, weak) IBOutlet NSButton *microphoneSwitch;
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-//
-// Switches the plot drawing type between a buffer plot (visualizes the current
-// stream of audio data from the update function) or a rolling plot (visualizes
-// the audio data over time, this is the classic waveform look)
-//
--(IBAction)changePlotType:(id)sender;
-
-//------------------------------------------------------------------------------
-
-//
-// Toggles the microphone on and off. When the microphone is on it will send
-// its delegate (aka this view controller) the audio data in various ways
-// (check out the EZMicrophoneDelegate documentation for more details)
-//
--(IBAction)toggleMicrophone:(id)sender;
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/AppDelegate.m
deleted file mode 100644 (file)
index af70244..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-//
-//  AppDelegate.m
-//  PassThrough
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "AppDelegate.h"
-
-@implementation AppDelegate
-
-//------------------------------------------------------------------------------
-#pragma mark - Customize the Audio Plot
-//------------------------------------------------------------------------------
-
-- (void)applicationDidFinishLaunching:(NSNotification *)notification
-{
-    //
-    // Customizing the audio plot's look
-    //
-    
-    //
-    // Background color
-    //
-    self.audioPlot.backgroundColor = [NSColor colorWithCalibratedRed: 0.569 green: 0.82 blue: 0.478 alpha: 1];
-    
-    //
-    // Waveform color
-    //
-    self.audioPlot.color = [NSColor colorWithCalibratedRed: 1.000 green: 1.000 blue: 1.000 alpha: 1];
-    
-    //
-    // Plot type
-    //
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    
-    //
-    // Start the microphone
-    //
-    [EZMicrophone sharedMicrophone].delegate = self;
-    [[EZMicrophone sharedMicrophone] startFetchingAudio];
-    
-    //
-    // Print out the input device being used
-    //
-    NSLog(@"Using input device: %@", [[EZMicrophone sharedMicrophone] device]);
-    
-    //
-    // Use the microphone as the EZOutputDataSource
-    //
-    [[EZMicrophone sharedMicrophone] setOutput:[EZOutput sharedOutput]];
-    
-    /**
-     Start the output
-     */
-    [[EZOutput sharedOutput] startPlayback];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)changePlotType:(id)sender
-{
-    NSInteger selectedSegment = [sender selectedSegment];
-    switch(selectedSegment)
-    {
-        case 0:
-            [self drawBufferPlot];
-            break;
-        case 1:
-            [self drawRollingPlot];
-            break;
-        default:
-            break;
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)toggleMicrophone:(id)sender
-{
-    switch([sender state])
-    {
-        case NSOffState:
-            [[EZMicrophone sharedMicrophone] stopFetchingAudio];
-            break;
-        case NSOnState:
-            [[EZMicrophone sharedMicrophone] startFetchingAudio];
-            break;
-        default:
-            break;
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Action Extensions
-//------------------------------------------------------------------------------
-
-//
-// Give the visualization of the current buffer (this is almost exactly the openFrameworks audio input example)
-//
-- (void)drawBufferPlot
-{
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    self.audioPlot.shouldMirror = NO;
-    self.audioPlot.shouldFill = NO;
-}
-
-//------------------------------------------------------------------------------
-
-//
-// Give the classic mirrored, rolling waveform look
-//
-- (void)drawRollingPlot
-{
-    self.audioPlot.plotType = EZPlotTypeRolling;
-    self.audioPlot.shouldFill = YES;
-    self.audioPlot.shouldMirror = YES;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZMicrophoneDelegate
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone changedPlayingState:(BOOL)isPlaying
-{
-    NSString *title = isPlaying ? @"Microphone On" : @"Microphone Off";
-    [self setTitle:title forButton:self.microphoneSwitch];
-}
-
-//------------------------------------------------------------------------------
-
--(void)    microphone:(EZMicrophone *)microphone
-     hasAudioReceived:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [weakSelf.audioPlot updateBuffer:buffer[0]
-                          withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Utility
-//------------------------------------------------------------------------------
-
-- (void)setTitle:(NSString *)title forButton:(NSButton *)button
-{
-    NSDictionary *attributes = @{ NSForegroundColorAttributeName : [NSColor whiteColor] };
-    NSAttributedString *attributedTitle = [[NSAttributedString alloc] initWithString:title
-                                                                          attributes:attributes];
-    button.attributedTitle = attributedTitle;
-    button.attributedAlternateTitle = attributedTitle;
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index 7cd4f8e..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_128x128.png b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_128x128.png
deleted file mode 100644 (file)
index b28b59d..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_128x128.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png
deleted file mode 100644 (file)
index 45968d3..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_16x16.png b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_16x16.png
deleted file mode 100644 (file)
index bc8bd41..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_16x16.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png
deleted file mode 100644 (file)
index 0ec7193..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_256x256.png b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_256x256.png
deleted file mode 100644 (file)
index 45968d3..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_256x256.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png
deleted file mode 100644 (file)
index a5cdd78..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_32x32.png b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_32x32.png
deleted file mode 100644 (file)
index 0ec7193..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_32x32.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png
deleted file mode 100644 (file)
index cad0af7..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_512x512.png b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_512x512.png
deleted file mode 100644 (file)
index a5cdd78..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_512x512.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png
deleted file mode 100644 (file)
index 90400d3..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Base.lproj/MainMenu.xib b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Base.lproj/MainMenu.xib
deleted file mode 100644 (file)
index 38f6f7f..0000000
+++ /dev/null
@@ -1,752 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
-        <capability name="box content view" minToolsVersion="7.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
-            <connections>
-                <outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customObject id="Voe-Tx-rLC" customClass="AppDelegate">
-            <connections>
-                <outlet property="audioPlot" destination="YXQ-h7-qe9" id="uyW-Yl-Snb"/>
-                <outlet property="microphoneSwitch" destination="urH-bi-gVf" id="zQp-7R-ueL"/>
-                <outlet property="window" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
-            </connections>
-        </customObject>
-        <customObject id="YLy-65-1bz" customClass="NSFontManager"/>
-        <menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
-            <items>
-                <menuItem title="PassThrough" id="1Xt-HY-uBw">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="PassThrough" systemMenu="apple" id="uQy-DD-JDr">
-                        <items>
-                            <menuItem title="About PassThrough" id="5kV-Vb-QxS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
-                            <menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
-                            <menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
-                            <menuItem title="Services" id="NMo-om-nkz">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
-                            <menuItem title="Hide PassThrough" keyEquivalent="h" id="Olw-nP-bQN">
-                                <connections>
-                                    <action selector="hide:" target="-1" id="PnN-Uc-m68"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Show All" id="Kd2-mp-pUS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
-                            <menuItem title="Quit PassThrough" keyEquivalent="q" id="4sb-4s-VLi">
-                                <connections>
-                                    <action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="File" id="dMs-cI-mzQ">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="File" id="bib-Uj-vzu">
-                        <items>
-                            <menuItem title="New" keyEquivalent="n" id="Was-JA-tGl">
-                                <connections>
-                                    <action selector="newDocument:" target="-1" id="4Si-XN-c54"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open…" keyEquivalent="o" id="IAo-SY-fd9">
-                                <connections>
-                                    <action selector="openDocument:" target="-1" id="bVn-NM-KNZ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open Recent" id="tXI-mr-wws">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="oas-Oc-fiZ">
-                                    <items>
-                                        <menuItem title="Clear Menu" id="vNY-rz-j42">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="clearRecentDocuments:" target="-1" id="Daa-9d-B3U"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="m54-Is-iLE"/>
-                            <menuItem title="Close" keyEquivalent="w" id="DVo-aG-piG">
-                                <connections>
-                                    <action selector="performClose:" target="-1" id="HmO-Ls-i7Q"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save…" keyEquivalent="s" id="pxx-59-PXV">
-                                <connections>
-                                    <action selector="saveDocument:" target="-1" id="teZ-XB-qJY"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save As…" keyEquivalent="S" id="Bw7-FT-i3A">
-                                <connections>
-                                    <action selector="saveDocumentAs:" target="-1" id="mDf-zr-I0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Revert to Saved" id="KaW-ft-85H">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="revertDocumentToSaved:" target="-1" id="iJ3-Pv-kwq"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="aJh-i4-bef"/>
-                            <menuItem title="Page Setup…" keyEquivalent="P" id="qIS-W8-SiK">
-                                <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
-                                <connections>
-                                    <action selector="runPageLayout:" target="-1" id="Din-rz-gC5"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Print…" keyEquivalent="p" id="aTl-1u-JFS">
-                                <connections>
-                                    <action selector="print:" target="-1" id="qaZ-4w-aoO"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Edit" id="5QF-Oa-p0T">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Edit" id="W48-6f-4Dl">
-                        <items>
-                            <menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
-                                <connections>
-                                    <action selector="undo:" target="-1" id="M6e-cu-g7V"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
-                                <connections>
-                                    <action selector="redo:" target="-1" id="oIA-Rs-6OD"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
-                            <menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
-                                <connections>
-                                    <action selector="cut:" target="-1" id="YJe-68-I9s"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
-                                <connections>
-                                    <action selector="copy:" target="-1" id="G1f-GL-Joy"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
-                                <connections>
-                                    <action selector="paste:" target="-1" id="UvS-8e-Qdg"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Delete" id="pa3-QI-u2k">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="delete:" target="-1" id="0Mk-Ml-PaM"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
-                                <connections>
-                                    <action selector="selectAll:" target="-1" id="VNm-Mi-diN"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
-                            <menuItem title="Find" id="4EN-yA-p0u">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Find" id="1b7-l0-nxx">
-                                    <items>
-                                        <menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
-                                            <connections>
-                                                <action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
-                                    <items>
-                                        <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
-                                            <connections>
-                                                <action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
-                                            <connections>
-                                                <action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
-                                        <menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Substitutions" id="9ic-FL-obx">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
-                                    <items>
-                                        <menuItem title="Show Substitutions" id="z6F-FW-3nz">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
-                                        <menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Quotes" id="hQb-2v-fYv">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Dashes" id="rgM-f4-ycn">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Links" id="cwL-P1-jid">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Data Detectors" id="tRr-pd-1PS">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Text Replacement" id="HFQ-gK-NFA">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Transformations" id="2oI-Rn-ZJC">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Transformations" id="c8a-y6-VQd">
-                                    <items>
-                                        <menuItem title="Make Upper Case" id="vmV-6d-7jI">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Make Lower Case" id="d9M-CD-aMd">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Capitalize" id="UEZ-Bs-lqG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Speech" id="xrE-MZ-jX0">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Speech" id="3rS-ZA-NoH">
-                                    <items>
-                                        <menuItem title="Start Speaking" id="Ynk-f8-cLZ">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Stop Speaking" id="Oyz-dy-DGm">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Format" id="jxT-CU-nIS">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Format" id="GEO-Iw-cKr">
-                        <items>
-                            <menuItem title="Font" id="Gi5-1S-RQB">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq">
-                                    <items>
-                                        <menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq">
-                                            <connections>
-                                                <action selector="orderFrontFontPanel:" target="YLy-65-1bz" id="WHr-nq-2xA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="hqk-hr-sYV"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="IHV-OB-c03"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S">
-                                            <connections>
-                                                <action selector="underline:" target="-1" id="FYS-2b-JAY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/>
-                                        <menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="Uc7-di-UnL"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="HcX-Lf-eNd"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/>
-                                        <menuItem title="Kern" id="jBQ-r6-VK2">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Kern" id="tlD-Oa-oAM">
-                                                <items>
-                                                    <menuItem title="Use Default" id="GUa-eO-cwY">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardKerning:" target="-1" id="6dk-9l-Ckg"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="cDB-IK-hbR">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffKerning:" target="-1" id="U8a-gz-Maa"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Tighten" id="46P-cB-AYj">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="tightenKerning:" target="-1" id="hr7-Nz-8ro"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Loosen" id="ogc-rX-tC1">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="loosenKerning:" target="-1" id="8i4-f9-FKE"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Ligatures" id="o6e-r0-MWq">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Ligatures" id="w0m-vy-SC9">
-                                                <items>
-                                                    <menuItem title="Use Default" id="agt-UL-0e3">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardLigatures:" target="-1" id="7uR-wd-Dx6"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="J7y-lM-qPV">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffLigatures:" target="-1" id="iX2-gA-Ilz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use All" id="xQD-1f-W4t">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useAllLigatures:" target="-1" id="KcB-kA-TuK"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Baseline" id="OaQ-X3-Vso">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Baseline" id="ijk-EB-dga">
-                                                <items>
-                                                    <menuItem title="Use Default" id="3Om-Ey-2VK">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="unscript:" target="-1" id="0vZ-95-Ywn"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Superscript" id="Rqc-34-cIF">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="superscript:" target="-1" id="3qV-fo-wpU"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Subscript" id="I0S-gh-46l">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="subscript:" target="-1" id="Q6W-4W-IGz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Raise" id="2h7-ER-AoG">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="raiseBaseline:" target="-1" id="4sk-31-7Q9"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Lower" id="1tx-W0-xDw">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="lowerBaseline:" target="-1" id="OF1-bc-KW4"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/>
-                                        <menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk">
-                                            <connections>
-                                                <action selector="orderFrontColorPanel:" target="-1" id="mSX-Xz-DV3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/>
-                                        <menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyFont:" target="-1" id="GJO-xA-L4q"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteFont:" target="-1" id="JfD-CL-leO"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Text" id="Fal-I4-PZk">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Text" id="d9c-me-L2H">
-                                    <items>
-                                        <menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1">
-                                            <connections>
-                                                <action selector="alignLeft:" target="-1" id="zUv-R1-uAa"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb">
-                                            <connections>
-                                                <action selector="alignCenter:" target="-1" id="spX-mk-kcS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Justify" id="J5U-5w-g23">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="alignJustified:" target="-1" id="ljL-7U-jND"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4">
-                                            <connections>
-                                                <action selector="alignRight:" target="-1" id="r48-bG-YeY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/>
-                                        <menuItem title="Writing Direction" id="H1b-Si-o9J">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd">
-                                                <items>
-                                                    <menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="YGs-j5-SAR">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionNatural:" target="-1" id="qtV-5e-UBP"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="Lbh-J2-qVU">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionLeftToRight:" target="-1" id="S0X-9S-QSf"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="jFq-tB-4Kx">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionRightToLeft:" target="-1" id="5fk-qB-AqJ"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem isSeparatorItem="YES" id="swp-gr-a21"/>
-                                                    <menuItem title="Selection" enabled="NO" id="cqv-fj-IhA">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="Nop-cj-93Q">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionNatural:" target="-1" id="lPI-Se-ZHp"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="BgM-ve-c93">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionLeftToRight:" target="-1" id="caW-Bv-w94"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="RB4-Sm-HuC">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionRightToLeft:" target="-1" id="EXD-6r-ZUu"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/>
-                                        <menuItem title="Show Ruler" id="vLm-3I-IUL">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleRuler:" target="-1" id="FOx-HJ-KwY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyRuler:" target="-1" id="71i-fW-3W2"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteRuler:" target="-1" id="cSh-wd-qM2"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="View" id="H8h-7b-M4v">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="View" id="HyV-fh-RgO">
-                        <items>
-                            <menuItem title="Show Toolbar" keyEquivalent="t" id="snW-S8-Cw5">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="toggleToolbarShown:" target="-1" id="BXY-wc-z0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Customize Toolbar…" id="1UK-8n-QPP">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="runToolbarCustomizationPalette:" target="-1" id="pQI-g3-MTW"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Window" id="aUF-d1-5bR">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
-                        <items>
-                            <menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
-                                <connections>
-                                    <action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Zoom" id="R4o-n2-Eq4">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
-                            <menuItem title="Bring All to Front" id="LE2-aR-0XJ">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Help" id="wpr-3q-Mcd">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
-                        <items>
-                            <menuItem title="PassThrough Help" keyEquivalent="?" id="FKE-Sm-Kum">
-                                <connections>
-                                    <action selector="showHelp:" target="-1" id="y7X-2Q-9no"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-            </items>
-        </menu>
-        <window title="PassThrough" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g">
-            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
-            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
-            <rect key="contentRect" x="335" y="390" width="480" height="272"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
-            <view key="contentView" id="EiT-Mj-1SZ">
-                <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-                <autoresizingMask key="autoresizingMask"/>
-                <subviews>
-                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="YXQ-h7-qe9" customClass="EZAudioPlotGL">
-                        <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-                        <subviews>
-                            <box autoresizesSubviews="NO" title="Box" boxType="custom" borderType="none" translatesAutoresizingMaskIntoConstraints="NO" id="tzL-9q-zMf">
-                                <rect key="frame" x="0.0" y="0.0" width="480" height="57"/>
-                                <view key="contentView" id="xIl-8L-n84">
-                                    <rect key="frame" x="0.0" y="0.0" width="480" height="57"/>
-                                    <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                    <subviews>
-                                        <button translatesAutoresizingMaskIntoConstraints="NO" id="urH-bi-gVf">
-                                            <rect key="frame" x="16" y="16" width="119" height="18"/>
-                                            <constraints>
-                                                <constraint firstAttribute="height" constant="14" id="5t4-q9-aLP"/>
-                                                <constraint firstAttribute="width" constant="115" id="cNh-77-7gG"/>
-                                            </constraints>
-                                            <buttonCell key="cell" type="check" title="Microphone On" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="5l1-UU-DO1">
-                                                <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                                <font key="font" metaFont="system"/>
-                                            </buttonCell>
-                                            <connections>
-                                                <action selector="toggleMicrophone:" target="Voe-Tx-rLC" id="NYj-Vv-n2G"/>
-                                            </connections>
-                                        </button>
-                                        <segmentedControl verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5gK-OS-BX2">
-                                            <rect key="frame" x="335" y="16" width="129" height="24"/>
-                                            <constraints>
-                                                <constraint firstAttribute="width" constant="125" id="DWF-cX-8CA"/>
-                                                <constraint firstAttribute="height" constant="21" id="rY3-GE-XBd"/>
-                                            </constraints>
-                                            <segmentedCell key="cell" borderStyle="border" alignment="left" style="rounded" trackingMode="selectOne" id="5A1-D8-syC">
-                                                <font key="font" metaFont="system"/>
-                                                <segments>
-                                                    <segment label="Buffer" selected="YES"/>
-                                                    <segment label="Rolling" tag="1"/>
-                                                </segments>
-                                            </segmentedCell>
-                                            <connections>
-                                                <action selector="changePlotType:" target="Voe-Tx-rLC" id="nrs-cy-GYo"/>
-                                            </connections>
-                                        </segmentedControl>
-                                    </subviews>
-                                </view>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="57" id="NUx-pu-zY4"/>
-                                    <constraint firstItem="5gK-OS-BX2" firstAttribute="centerY" secondItem="tzL-9q-zMf" secondAttribute="centerY" id="cpu-nQ-w5r"/>
-                                    <constraint firstItem="urH-bi-gVf" firstAttribute="leading" secondItem="tzL-9q-zMf" secondAttribute="leading" constant="18" id="drL-NV-UBP"/>
-                                    <constraint firstItem="5gK-OS-BX2" firstAttribute="bottom" secondItem="urH-bi-gVf" secondAttribute="bottom" id="u0H-Zz-nHz"/>
-                                    <constraint firstAttribute="trailing" secondItem="5gK-OS-BX2" secondAttribute="trailing" constant="18" id="z9o-ED-Maa"/>
-                                </constraints>
-                                <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
-                                <color key="fillColor" red="0.0" green="0.0" blue="0.0" alpha="0.69999999999999996" colorSpace="calibratedRGB"/>
-                            </box>
-                        </subviews>
-                        <constraints>
-                            <constraint firstAttribute="bottom" secondItem="tzL-9q-zMf" secondAttribute="bottom" id="RVn-h0-2ZX"/>
-                            <constraint firstAttribute="trailing" secondItem="tzL-9q-zMf" secondAttribute="trailing" id="TiI-nC-9tp"/>
-                            <constraint firstItem="tzL-9q-zMf" firstAttribute="leading" secondItem="YXQ-h7-qe9" secondAttribute="leading" id="kEG-Ia-ILr"/>
-                        </constraints>
-                    </customView>
-                </subviews>
-                <constraints>
-                    <constraint firstAttribute="bottom" secondItem="YXQ-h7-qe9" secondAttribute="bottom" id="VMa-u3-61B"/>
-                    <constraint firstItem="YXQ-h7-qe9" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" id="cVL-ft-W32"/>
-                    <constraint firstAttribute="trailing" secondItem="YXQ-h7-qe9" secondAttribute="trailing" id="qQt-SC-VHr"/>
-                    <constraint firstItem="YXQ-h7-qe9" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" id="zDc-dO-FHT"/>
-                </constraints>
-            </view>
-            <point key="canvasLocation" x="293" y="444"/>
-        </window>
-    </objects>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Info.plist b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/Info.plist
deleted file mode 100644 (file)
index 1af7e37..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>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 © 2016 Syed Haris Ali. All rights reserved.</string>
-       <key>NSMainNibFile</key>
-       <string>MainMenu</string>
-       <key>NSPrincipalClass</key>
-       <string>NSApplication</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/main.m b/document/EZAudio-master/EZAudioExamples/OSX/PassThrough/PassThrough/main.m
deleted file mode 100644 (file)
index a680140..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-//  main.m
-//  PassThrough
-//
-//  Created by Syed Haris Ali on 1/23/16.
-//  Copyright © 2016 Syed Haris Ali. All rights reserved.
-//
-
-#import <Cocoa/Cocoa.h>
-
-int main(int argc, const char * argv[]) {
-    return NSApplicationMain(argc, argv);
-}
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index 4b7db40..0000000
+++ /dev/null
@@ -1,360 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               662B6CBA1C542DF500353D48 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 662B6CB91C542DF500353D48 /* AppDelegate.m */; };
-               662B6CBD1C542DF500353D48 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 662B6CBC1C542DF500353D48 /* main.m */; };
-               662B6CBF1C542DF500353D48 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 662B6CBE1C542DF500353D48 /* Assets.xcassets */; };
-               662B6CC21C542DF500353D48 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 662B6CC01C542DF500353D48 /* MainMenu.xib */; };
-               66374D521C542F5E000B19D0 /* simple-drum-beat.wav in Resources */ = {isa = PBXBuildFile; fileRef = 66374D511C542F5E000B19D0 /* simple-drum-beat.wav */; };
-               66374D581C543DF3000B19D0 /* EZAudioOSX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66374D571C543DF3000B19D0 /* EZAudioOSX.framework */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374DD61C545314000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DD11C545314000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374DD81C545314000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DD11C545314000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-               662B6CB51C542DF500353D48 /* PlayFile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PlayFile.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               662B6CB81C542DF500353D48 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
-               662B6CB91C542DF500353D48 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
-               662B6CBC1C542DF500353D48 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
-               662B6CBE1C542DF500353D48 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               662B6CC11C542DF500353D48 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
-               662B6CC31C542DF500353D48 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               66374D511C542F5E000B19D0 /* simple-drum-beat.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = "simple-drum-beat.wav"; path = "../../simple-drum-beat.wav"; sourceTree = SOURCE_ROOT; };
-               66374D571C543DF3000B19D0 /* EZAudioOSX.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EZAudioOSX.framework; path = ../../../build/Debug/EZAudioOSX.framework; sourceTree = "<group>"; };
-               66374DD11C545314000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               662B6CB21C542DF500353D48 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374D581C543DF3000B19D0 /* EZAudioOSX.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               662B6CAC1C542DF500353D48 = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DD11C545314000B19D0 /* EZAudio.xcodeproj */,
-                               662B6CB71C542DF500353D48 /* PlayFile */,
-                               66374D4E1C542E6D000B19D0 /* Frameworks */,
-                               662B6CB61C542DF500353D48 /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               662B6CB61C542DF500353D48 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               662B6CB51C542DF500353D48 /* PlayFile.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               662B6CB71C542DF500353D48 /* PlayFile */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D511C542F5E000B19D0 /* simple-drum-beat.wav */,
-                               662B6CB81C542DF500353D48 /* AppDelegate.h */,
-                               662B6CB91C542DF500353D48 /* AppDelegate.m */,
-                               662B6CBE1C542DF500353D48 /* Assets.xcassets */,
-                               662B6CC01C542DF500353D48 /* MainMenu.xib */,
-                               662B6CC31C542DF500353D48 /* Info.plist */,
-                               662B6CBB1C542DF500353D48 /* Supporting Files */,
-                       );
-                       path = PlayFile;
-                       sourceTree = "<group>";
-               };
-               662B6CBB1C542DF500353D48 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               662B6CBC1C542DF500353D48 /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-               66374D4E1C542E6D000B19D0 /* Frameworks */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D571C543DF3000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Frameworks;
-                       sourceTree = "<group>";
-               };
-               66374DD21C545314000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DD71C545314000B19D0 /* EZAudioiOS.framework */,
-                               66374DD91C545314000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               662B6CB41C542DF500353D48 /* PlayFile */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 662B6CC61C542DF500353D48 /* Build configuration list for PBXNativeTarget "PlayFile" */;
-                       buildPhases = (
-                               662B6CB11C542DF500353D48 /* Sources */,
-                               662B6CB21C542DF500353D48 /* Frameworks */,
-                               662B6CB31C542DF500353D48 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = PlayFile;
-                       productName = PlayFile;
-                       productReference = 662B6CB51C542DF500353D48 /* PlayFile.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               662B6CAD1C542DF500353D48 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       662B6CB41C542DF500353D48 = {
-                                               CreatedOnToolsVersion = 7.2;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 662B6CB01C542DF500353D48 /* Build configuration list for PBXProject "PlayFile" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               en,
-                               Base,
-                       );
-                       mainGroup = 662B6CAC1C542DF500353D48;
-                       productRefGroup = 662B6CB61C542DF500353D48 /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374DD21C545314000B19D0 /* Products */;
-                                       ProjectRef = 66374DD11C545314000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               662B6CB41C542DF500353D48 /* PlayFile */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374DD71C545314000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374DD61C545314000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374DD91C545314000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374DD81C545314000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               662B6CB31C542DF500353D48 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               662B6CBF1C542DF500353D48 /* Assets.xcassets in Resources */,
-                               662B6CC21C542DF500353D48 /* MainMenu.xib in Resources */,
-                               66374D521C542F5E000B19D0 /* simple-drum-beat.wav in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               662B6CB11C542DF500353D48 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               662B6CBD1C542DF500353D48 /* main.m in Sources */,
-                               662B6CBA1C542DF500353D48 /* AppDelegate.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
-               662B6CC01C542DF500353D48 /* MainMenu.xib */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               662B6CC11C542DF500353D48 /* Base */,
-                       );
-                       name = MainMenu.xib;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               662B6CC41C542DF500353D48 /* 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 = "-";
-                               COPY_PHASE_STRIP = NO;
-                               DEBUG_INFORMATION_FORMAT = dwarf;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               MACOSX_DEPLOYMENT_TARGET = 10.11;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = macosx;
-                       };
-                       name = Debug;
-               };
-               662B6CC51C542DF500353D48 /* 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 = "-";
-                               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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               MACOSX_DEPLOYMENT_TARGET = 10.11;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = macosx;
-                       };
-                       name = Release;
-               };
-               662B6CC71C542DF500353D48 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               INFOPLIST_FILE = PlayFile/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.PlayFile;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               662B6CC81C542DF500353D48 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               INFOPLIST_FILE = PlayFile/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.PlayFile;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               662B6CB01C542DF500353D48 /* Build configuration list for PBXProject "PlayFile" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               662B6CC41C542DF500353D48 /* Debug */,
-                               662B6CC51C542DF500353D48 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               662B6CC61C542DF500353D48 /* Build configuration list for PBXNativeTarget "PlayFile" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               662B6CC71C542DF500353D48 /* Debug */,
-                               662B6CC81C542DF500353D48 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 662B6CAD1C542DF500353D48 /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index 919434a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:">
-   </FileRef>
-</Workspace>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/AppDelegate.h
deleted file mode 100644 (file)
index 3807e42..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-//
-//  AppDelegate.h
-//  PlayFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Cocoa/Cocoa.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//
-// Here's the default audio file included with the example
-//
-#define kAudioFileDefault [[NSBundle mainBundle] pathForResource:@"simple-drum-beat" ofType:@"wav"]
-
-//------------------------------------------------------------------------------
-#pragma mark - AppDelegate
-//------------------------------------------------------------------------------
-
-@interface AppDelegate : NSObject <EZAudioPlayerDelegate, NSApplicationDelegate, NSOpenSavePanelDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-@property (weak) IBOutlet NSWindow *window;
-
-//
-// The EZAudioPlayer component used to play the audio file.
-//
-@property (nonatomic, strong) EZAudioPlayer *player;
-
-//
-// An OpenGL based audio plot
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlotGL *audioPlot;
-
-//
-// A label to display the current file path with the waveform shown
-//
-@property (nonatomic, weak) IBOutlet NSTextField *filePathLabel;
-
-//
-// A checkbox button to that allows you to specify if the audio player should loop.
-//
-@property (nonatomic, weak) IBOutlet NSButton *loopCheckboxButton;
-
-//
-// The play/pause button
-//
-@property (nonatomic,weak) IBOutlet NSButton *playButton;
-
-//
-// A segment control representing the plot type selection
-//
-@property (nonatomic,weak) IBOutlet NSSegmentedControl *plotSegmentControl;
-
-//
-// A label to display the audio file's current time.
-//
-@property (nonatomic, weak) IBOutlet NSTextField *positionLabel;
-
-//
-// A slider to indicate the current frame position in the audio file
-//
-@property (nonatomic, weak) IBOutlet NSSlider *positionSlider;
-
-//
-// A label to display the value of the rolling history length of the audio plot.
-//
-@property (nonatomic, weak) IBOutlet NSTextField *rollingHistoryLengthLabel;
-
-//
-// A slider to adjust the rolling history length of the audio plot.
-//
-@property (nonatomic, weak) IBOutlet NSSlider *rollingHistoryLengthSlider;
-
-//
-// A slider to adjust the volume.
-//
-@property (nonatomic, weak) IBOutlet NSSlider *volumeSlider;
-
-//
-// A label to display the volume of the audio plot.
-//
-@property (nonatomic, weak) IBOutlet NSTextField *volumeLabel;
-
-//
-// The microphone pop up button (contains the menu for choosing a microphone input)
-//
-@property (nonatomic, weak) IBOutlet NSPopUpButton *outputDevicePopUpButton;
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-//
-// Switches the plot drawing type between a buffer plot (visualizes the
-// current stream of audio data from the update function) or a rolling plot
-// (visualizes the audio data over time, this is the classic waveform look)
-//
--(IBAction)changePlotType:(id)sender;
-
-//
-// Changes the length of the rolling history of the audio plot.
-//
-- (IBAction)changeRollingHistoryLength:(id)sender;
-
-//
-// Switches the loop state on the audio player regarding whether the current
-// playing audio file should loop back to the beginning when it finishes.
-//
-- (IBAction)changeShouldLoop:(id)sender;
-
-//
-// Changes the volume of the audio coming out of the EZOutput.
-//
-- (IBAction)changeVolume:(id)sender;
-
-//
-// Prompts the file manager and loads in a new audio file into the
-// EZAudioFile representation.
-//
--(IBAction)openFile:(id)sender;
-
-//
-// Begins playback if a file is loaded. Pauses if the file is already playing.
-//
--(IBAction)play:(id)sender;
-
-//
-// Seeks to a specific frame in the audio file.
-//
--(IBAction)seekToFrame:(id)sender;
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/AppDelegate.m
deleted file mode 100644 (file)
index f748ca5..0000000
+++ /dev/null
@@ -1,412 +0,0 @@
-//
-//  AppDelegate.m
-//  PlayFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "AppDelegate.h"
-
-@implementation AppDelegate
-
-//------------------------------------------------------------------------------
-#pragma mark - Dealloc
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-    [[NSNotificationCenter defaultCenter] removeObserver:self];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Customize the Audio Plot
-//------------------------------------------------------------------------------
-
-- (void)applicationDidFinishLaunching:(NSNotification *)notification {
-    //
-    // Customizing the audio plot's look
-    //
-    // Background color
-    self.audioPlot.backgroundColor = [NSColor colorWithCalibratedRed: 0.816 green: 0.349 blue: 0.255 alpha: 1];
-    // Waveform color
-    self.audioPlot.color           = [NSColor colorWithCalibratedRed: 1.000 green: 1.000 blue: 1.000 alpha: 1];
-    // Plot type
-    self.audioPlot.plotType        = EZPlotTypeBuffer;
-    // Fill
-    self.audioPlot.shouldFill      = YES;
-    // Mirror
-    self.audioPlot.shouldMirror    = YES;
-    
-    //
-    // Create EZOutput to play audio data
-    //
-    self.player = [EZAudioPlayer audioPlayerWithDelegate:self];
-    self.player.shouldLoop = YES;
-    
-    //
-    // Reload the menu for the output device selector popup button
-    //
-    [self reloadOutputDevicePopUpButtonMenu];
-    
-    //
-    // Configure UI components
-    //
-    self.volumeSlider.floatValue = [self.player volume];
-    self.volumeLabel.floatValue = [self.player volume];
-    self.rollingHistoryLengthSlider.intValue = [self.audioPlot rollingHistoryLength];
-    self.rollingHistoryLengthLabel.intValue = [self.audioPlot rollingHistoryLength];
-    self.loopCheckboxButton.state = [self.player shouldLoop];
-    
-    //
-    // Listen for state changes to the EZAudioPlayer
-    //
-    [self setupNotifications];
-    
-    //
-    // Try opening the sample file
-    //
-    [self openFileWithFilePathURL:[NSURL fileURLWithPath:kAudioFileDefault]];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Notifications
-//------------------------------------------------------------------------------
-
-- (void)setupNotifications
-{
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(audioPlayerDidChangeAudioFile:)
-                                                 name:EZAudioPlayerDidChangeAudioFileNotification
-                                               object:self.player];
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(audioPlayerDidChangeOutputDevice:)
-                                                 name:EZAudioPlayerDidChangeOutputDeviceNotification
-                                               object:self.player];
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(audioPlayerDidChangePlayState:)
-                                                 name:EZAudioPlayerDidChangePlayStateNotification
-                                               object:self.player];
-    
-    // This notification will only trigger if the player's shouldLoop property is set to NO
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(audioPlayerDidReachEndOfFile:)
-                                                 name:EZAudioPlayerDidReachEndOfFileNotification
-                                               object:self.player];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)audioPlayerDidChangeAudioFile:(NSNotification *)notification
-{
-    EZAudioPlayer *player = [notification object];
-    NSLog(@"Player changed audio file: %@", [player audioFile]);
-}
-
-//------------------------------------------------------------------------------
-
-- (void)audioPlayerDidChangeOutputDevice:(NSNotification *)notification
-{
-    EZAudioPlayer *player = [notification object];
-    NSLog(@"Player changed output device: %@", [player device]);
-}
-
-//------------------------------------------------------------------------------
-
-- (void)audioPlayerDidChangePlayState:(NSNotification *)notification
-{
-    EZAudioPlayer *player = [notification object];
-    NSLog(@"Player change play state, isPlaying: %i", [player isPlaying]);
-}
-
-//------------------------------------------------------------------------------
-
-- (void)audioPlayerDidReachEndOfFile:(NSNotification *)notification
-{
-    NSLog(@"Player did reach end of file!");
-    [self.playButton setState:NSOffState];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)changedOutput:(NSMenuItem *)item
-{
-    EZAudioDevice *device = [item representedObject];
-    [self.player setDevice:device];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)changePlotType:(id)sender
-{
-    NSInteger selectedSegment = [sender selectedSegment];
-    switch(selectedSegment)
-    {
-        case 0:
-            [self drawBufferPlot];
-            break;
-        case 1:
-            [self drawRollingPlot];
-            break;
-        default:
-            break;
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)changeShouldLoop:(id)sender
-{
-    NSInteger state = [(NSButton *)sender state];
-    [self.player setShouldLoop:state];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)changeVolume:(id)sender
-{
-    float value = [(NSSlider *)sender floatValue];
-    [self.player setVolume:value];
-    self.volumeLabel.floatValue = value;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)changeRollingHistoryLength:(id)sender
-{
-    float value = [(NSSlider *)sender floatValue];
-    self.audioPlot.rollingHistoryLength = (int)value;
-    self.rollingHistoryLengthLabel.floatValue = value;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)openFile:(id)sender
-{
-    NSOpenPanel* openDlg = [NSOpenPanel openPanel];
-    openDlg.canChooseFiles = YES;
-    openDlg.canChooseDirectories = NO;
-    openDlg.delegate = self;
-    if ([openDlg runModal] == NSModalResponseOK)
-    {
-        NSArray *selectedFiles = [openDlg URLs];
-        [self openFileWithFilePathURL:selectedFiles.firstObject];
-    }
-}
-
-//------------------------------------------------------------------------------
-
--(void)play:(id)sender
-{
-    if (![self.player isPlaying])
-    {
-        if (self.player.state == EZAudioPlayerStateEndOfFile)
-        {
-            [self.player seekToFrame:0];
-        }
-        if (self.audioPlot.plotType == EZPlotTypeBuffer
-            && self.audioPlot.shouldFill == YES)
-        {
-            self.audioPlot.plotType = EZPlotTypeRolling;
-        }
-        [self.player play];
-    }
-    else
-    {
-        [self.player pause];
-    }
-}
-
-//------------------------------------------------------------------------------
-
--(void)seekToFrame:(id)sender
-{
-    double value = [(NSSlider*)sender doubleValue];
-    [self.player seekToFrame:(SInt64)value];
-    self.positionLabel.stringValue = self.player.formattedCurrentTime;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Action Extensions
-//------------------------------------------------------------------------------
-
-//
-// Give the visualization of the current buffer (this is almost exactly
-// the openFrameworks audio input example)
-//
--(void)drawBufferPlot
-{
-    // Change the plot type to the buffer plot
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    // Don't fill
-    self.audioPlot.shouldFill = NO;
-    // Don't mirror over the x-axis
-    self.audioPlot.shouldMirror = NO;
-}
-
-//------------------------------------------------------------------------------
-
-//
-// Give the classic mirrored, rolling waveform look
-//
--(void)drawRollingPlot
-{
-    // Change the plot type to the rolling plot
-    self.audioPlot.plotType = EZPlotTypeRolling;
-    // Fill the waveform
-    self.audioPlot.shouldFill = YES;
-    // Mirror over the x-axis
-    self.audioPlot.shouldMirror = YES;
-}
-
-//------------------------------------------------------------------------------
-
--(void)openFileWithFilePathURL:(NSURL*)filePathURL
-{
-    //
-    // Stop playback
-    //
-    [self.player pause];
-    
-    //
-    // Clear the audio plot
-    //
-    [self.audioPlot clear];
-    
-    //
-    // Change back to a buffer plot, but mirror and fill the waveform
-    //
-    self.audioPlot.plotType     = EZPlotTypeBuffer;
-    self.audioPlot.shouldFill   = YES;
-    self.audioPlot.shouldMirror = YES;
-    
-    //
-    // Load the audio file and customize the UI
-    //
-    self.player.audioFile = [EZAudioFile audioFileWithURL:filePathURL];
-    self.filePathLabel.stringValue = filePathURL.lastPathComponent;
-    self.positionSlider.minValue = 0.0f;
-    self.positionSlider.maxValue = (double)self.player.audioFile.totalFrames;
-    self.playButton.state = NSOffState;
-    self.plotSegmentControl.selectedSegment = self.audioPlot.plotType;
-    
-    //
-    // Plot the whole waveform
-    //
-    __weak typeof (self) weakSelf = self;
-    [self.player.audioFile getWaveformDataWithNumberOfPoints:1024
-                                                  completion:^(float **waveformData,
-                                                               int length)
-     {
-         [weakSelf.audioPlot updateBuffer:waveformData[0]
-                           withBufferSize:length];
-     }];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)reloadOutputDevicePopUpButtonMenu
-{
-    NSArray *outputDevices = [EZAudioDevice outputDevices];
-    NSMenu *menu = [[NSMenu alloc] init];
-    NSMenuItem *defaultOutputDeviceItem;
-    for (EZAudioDevice *device in outputDevices)
-    {
-        NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:device.name
-                                                      action:@selector(changedOutput:)
-                                               keyEquivalent:@""];
-        item.representedObject = device;
-        item.target = self;
-        [menu addItem:item];
-        
-        // If this device is the same one the microphone is using then
-        // we will use this menu item as the currently selected item
-        // in the microphone input popup button's list of items. For instance,
-        // if you are connected to an external display by default the external
-        // display's microphone might be used instead of the mac's built in
-        // mic.
-        if ([device isEqual:[self.player device]])
-        {
-            defaultOutputDeviceItem = item;
-        }
-    }
-    self.outputDevicePopUpButton.menu = menu;
-    
-    //
-    // Set the selected device to the current selection on the
-    // microphone input popup button
-    //
-    [self.outputDevicePopUpButton selectItem:defaultOutputDeviceItem];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlayerDelegate
-//------------------------------------------------------------------------------
-
-- (void)  audioPlayer:(EZAudioPlayer *)audioPlayer
-          playedAudio:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-          inAudioFile:(EZAudioFile *)audioFile
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [weakSelf.audioPlot updateBuffer:buffer[0]
-                          withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)audioPlayer:(EZAudioPlayer *)audioPlayer
-    updatedPosition:(SInt64)framePosition
-        inAudioFile:(EZAudioFile *)audioFile
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        if (!weakSelf.positionSlider.highlighted)
-        {
-            weakSelf.positionSlider.floatValue = (float)framePosition;
-            weakSelf.positionLabel.stringValue = audioPlayer.formattedCurrentTime;
-        }
-    });
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - NSOpenSavePanelDelegate
-//------------------------------------------------------------------------------
-
-// Here's an example how to filter the open panel to only show the supported 
-// file types by the EZAudioFile (which are just the audio file types supported
-// by Core Audio).
-- (BOOL)panel:(id)sender shouldShowFilename:(NSString *)filename
-{
-    NSString *ext = [filename pathExtension];
-    NSArray *fileTypes = [EZAudioFile supportedAudioFileTypes];
-    BOOL isDirectory = [ext isEqualToString:@""];
-    return [fileTypes containsObject:ext] || isDirectory;
-}
-
-//------------------------------------------------------------------------------
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index 7cd4f8e..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_128x128.png b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_128x128.png
deleted file mode 100644 (file)
index ecab088..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_128x128.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png
deleted file mode 100644 (file)
index c58e1e4..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_16x16.png b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_16x16.png
deleted file mode 100644 (file)
index 0949b5a..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_16x16.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png
deleted file mode 100644 (file)
index c9b7714..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_256x256.png b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_256x256.png
deleted file mode 100644 (file)
index c58e1e4..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_256x256.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png
deleted file mode 100644 (file)
index 52bbaa9..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_32x32.png b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_32x32.png
deleted file mode 100644 (file)
index c9b7714..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_32x32.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png
deleted file mode 100644 (file)
index 0d6398a..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_512x512.png b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_512x512.png
deleted file mode 100644 (file)
index 52bbaa9..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_512x512.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png
deleted file mode 100644 (file)
index 2f4b600..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Base.lproj/MainMenu.xib b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Base.lproj/MainMenu.xib
deleted file mode 100644 (file)
index 802ca78..0000000
+++ /dev/null
@@ -1,929 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
-        <capability name="box content view" minToolsVersion="7.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
-            <connections>
-                <outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customObject id="Voe-Tx-rLC" customClass="AppDelegate">
-            <connections>
-                <outlet property="audioPlot" destination="eMs-Ij-ZGv" id="ejS-2o-EDc"/>
-                <outlet property="filePathLabel" destination="UgZ-um-AfU" id="4wJ-wo-Z5x"/>
-                <outlet property="loopCheckboxButton" destination="8kN-iJ-UII" id="pAH-p9-1zn"/>
-                <outlet property="outputDevicePopUpButton" destination="9PF-Dm-kOq" id="RaV-d5-Jd1"/>
-                <outlet property="playButton" destination="kSY-Tf-CNW" id="sNb-xL-056"/>
-                <outlet property="plotSegmentControl" destination="qMt-Gg-gFD" id="Nyt-kZ-63O"/>
-                <outlet property="positionLabel" destination="t00-Ok-dIq" id="WcJ-00-okC"/>
-                <outlet property="positionSlider" destination="3r1-Fd-5Ml" id="5MQ-OA-DDL"/>
-                <outlet property="rollingHistoryLengthLabel" destination="V8A-XE-sbB" id="oVq-34-hoN"/>
-                <outlet property="rollingHistoryLengthSlider" destination="rsX-T2-N6M" id="uY1-Jv-j3z"/>
-                <outlet property="volumeLabel" destination="5Tt-wP-Pfb" id="Q9p-bp-ZUf"/>
-                <outlet property="volumeSlider" destination="HtU-mk-RyR" id="AHz-N9-9Xq"/>
-                <outlet property="window" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
-            </connections>
-        </customObject>
-        <customObject id="YLy-65-1bz" customClass="NSFontManager"/>
-        <menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
-            <items>
-                <menuItem title="PlayFile" id="1Xt-HY-uBw">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="PlayFile" systemMenu="apple" id="uQy-DD-JDr">
-                        <items>
-                            <menuItem title="About PlayFile" id="5kV-Vb-QxS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
-                            <menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
-                            <menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
-                            <menuItem title="Services" id="NMo-om-nkz">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
-                            <menuItem title="Hide PlayFile" keyEquivalent="h" id="Olw-nP-bQN">
-                                <connections>
-                                    <action selector="hide:" target="-1" id="PnN-Uc-m68"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Show All" id="Kd2-mp-pUS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
-                            <menuItem title="Quit PlayFile" keyEquivalent="q" id="4sb-4s-VLi">
-                                <connections>
-                                    <action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="File" id="dMs-cI-mzQ">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="File" id="bib-Uj-vzu">
-                        <items>
-                            <menuItem title="New" keyEquivalent="n" id="Was-JA-tGl">
-                                <connections>
-                                    <action selector="newDocument:" target="-1" id="4Si-XN-c54"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open…" keyEquivalent="o" id="IAo-SY-fd9">
-                                <connections>
-                                    <action selector="openDocument:" target="-1" id="bVn-NM-KNZ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open Recent" id="tXI-mr-wws">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="oas-Oc-fiZ">
-                                    <items>
-                                        <menuItem title="Clear Menu" id="vNY-rz-j42">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="clearRecentDocuments:" target="-1" id="Daa-9d-B3U"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="m54-Is-iLE"/>
-                            <menuItem title="Close" keyEquivalent="w" id="DVo-aG-piG">
-                                <connections>
-                                    <action selector="performClose:" target="-1" id="HmO-Ls-i7Q"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save…" keyEquivalent="s" id="pxx-59-PXV">
-                                <connections>
-                                    <action selector="saveDocument:" target="-1" id="teZ-XB-qJY"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save As…" keyEquivalent="S" id="Bw7-FT-i3A">
-                                <connections>
-                                    <action selector="saveDocumentAs:" target="-1" id="mDf-zr-I0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Revert to Saved" id="KaW-ft-85H">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="revertDocumentToSaved:" target="-1" id="iJ3-Pv-kwq"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="aJh-i4-bef"/>
-                            <menuItem title="Page Setup…" keyEquivalent="P" id="qIS-W8-SiK">
-                                <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
-                                <connections>
-                                    <action selector="runPageLayout:" target="-1" id="Din-rz-gC5"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Print…" keyEquivalent="p" id="aTl-1u-JFS">
-                                <connections>
-                                    <action selector="print:" target="-1" id="qaZ-4w-aoO"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Edit" id="5QF-Oa-p0T">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Edit" id="W48-6f-4Dl">
-                        <items>
-                            <menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
-                                <connections>
-                                    <action selector="undo:" target="-1" id="M6e-cu-g7V"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
-                                <connections>
-                                    <action selector="redo:" target="-1" id="oIA-Rs-6OD"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
-                            <menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
-                                <connections>
-                                    <action selector="cut:" target="-1" id="YJe-68-I9s"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
-                                <connections>
-                                    <action selector="copy:" target="-1" id="G1f-GL-Joy"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
-                                <connections>
-                                    <action selector="paste:" target="-1" id="UvS-8e-Qdg"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Delete" id="pa3-QI-u2k">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="delete:" target="-1" id="0Mk-Ml-PaM"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
-                                <connections>
-                                    <action selector="selectAll:" target="-1" id="VNm-Mi-diN"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
-                            <menuItem title="Find" id="4EN-yA-p0u">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Find" id="1b7-l0-nxx">
-                                    <items>
-                                        <menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
-                                            <connections>
-                                                <action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
-                                    <items>
-                                        <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
-                                            <connections>
-                                                <action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
-                                            <connections>
-                                                <action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
-                                        <menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Substitutions" id="9ic-FL-obx">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
-                                    <items>
-                                        <menuItem title="Show Substitutions" id="z6F-FW-3nz">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
-                                        <menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Quotes" id="hQb-2v-fYv">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Dashes" id="rgM-f4-ycn">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Links" id="cwL-P1-jid">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Data Detectors" id="tRr-pd-1PS">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Text Replacement" id="HFQ-gK-NFA">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Transformations" id="2oI-Rn-ZJC">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Transformations" id="c8a-y6-VQd">
-                                    <items>
-                                        <menuItem title="Make Upper Case" id="vmV-6d-7jI">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Make Lower Case" id="d9M-CD-aMd">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Capitalize" id="UEZ-Bs-lqG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Speech" id="xrE-MZ-jX0">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Speech" id="3rS-ZA-NoH">
-                                    <items>
-                                        <menuItem title="Start Speaking" id="Ynk-f8-cLZ">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Stop Speaking" id="Oyz-dy-DGm">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Format" id="jxT-CU-nIS">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Format" id="GEO-Iw-cKr">
-                        <items>
-                            <menuItem title="Font" id="Gi5-1S-RQB">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq">
-                                    <items>
-                                        <menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq">
-                                            <connections>
-                                                <action selector="orderFrontFontPanel:" target="YLy-65-1bz" id="WHr-nq-2xA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="hqk-hr-sYV"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="IHV-OB-c03"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S">
-                                            <connections>
-                                                <action selector="underline:" target="-1" id="FYS-2b-JAY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/>
-                                        <menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="Uc7-di-UnL"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="HcX-Lf-eNd"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/>
-                                        <menuItem title="Kern" id="jBQ-r6-VK2">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Kern" id="tlD-Oa-oAM">
-                                                <items>
-                                                    <menuItem title="Use Default" id="GUa-eO-cwY">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardKerning:" target="-1" id="6dk-9l-Ckg"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="cDB-IK-hbR">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffKerning:" target="-1" id="U8a-gz-Maa"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Tighten" id="46P-cB-AYj">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="tightenKerning:" target="-1" id="hr7-Nz-8ro"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Loosen" id="ogc-rX-tC1">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="loosenKerning:" target="-1" id="8i4-f9-FKE"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Ligatures" id="o6e-r0-MWq">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Ligatures" id="w0m-vy-SC9">
-                                                <items>
-                                                    <menuItem title="Use Default" id="agt-UL-0e3">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardLigatures:" target="-1" id="7uR-wd-Dx6"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="J7y-lM-qPV">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffLigatures:" target="-1" id="iX2-gA-Ilz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use All" id="xQD-1f-W4t">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useAllLigatures:" target="-1" id="KcB-kA-TuK"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Baseline" id="OaQ-X3-Vso">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Baseline" id="ijk-EB-dga">
-                                                <items>
-                                                    <menuItem title="Use Default" id="3Om-Ey-2VK">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="unscript:" target="-1" id="0vZ-95-Ywn"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Superscript" id="Rqc-34-cIF">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="superscript:" target="-1" id="3qV-fo-wpU"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Subscript" id="I0S-gh-46l">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="subscript:" target="-1" id="Q6W-4W-IGz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Raise" id="2h7-ER-AoG">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="raiseBaseline:" target="-1" id="4sk-31-7Q9"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Lower" id="1tx-W0-xDw">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="lowerBaseline:" target="-1" id="OF1-bc-KW4"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/>
-                                        <menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk">
-                                            <connections>
-                                                <action selector="orderFrontColorPanel:" target="-1" id="mSX-Xz-DV3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/>
-                                        <menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyFont:" target="-1" id="GJO-xA-L4q"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteFont:" target="-1" id="JfD-CL-leO"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Text" id="Fal-I4-PZk">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Text" id="d9c-me-L2H">
-                                    <items>
-                                        <menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1">
-                                            <connections>
-                                                <action selector="alignLeft:" target="-1" id="zUv-R1-uAa"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb">
-                                            <connections>
-                                                <action selector="alignCenter:" target="-1" id="spX-mk-kcS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Justify" id="J5U-5w-g23">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="alignJustified:" target="-1" id="ljL-7U-jND"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4">
-                                            <connections>
-                                                <action selector="alignRight:" target="-1" id="r48-bG-YeY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/>
-                                        <menuItem title="Writing Direction" id="H1b-Si-o9J">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd">
-                                                <items>
-                                                    <menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="YGs-j5-SAR">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionNatural:" target="-1" id="qtV-5e-UBP"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="Lbh-J2-qVU">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionLeftToRight:" target="-1" id="S0X-9S-QSf"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="jFq-tB-4Kx">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionRightToLeft:" target="-1" id="5fk-qB-AqJ"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem isSeparatorItem="YES" id="swp-gr-a21"/>
-                                                    <menuItem title="Selection" enabled="NO" id="cqv-fj-IhA">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="Nop-cj-93Q">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionNatural:" target="-1" id="lPI-Se-ZHp"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="BgM-ve-c93">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionLeftToRight:" target="-1" id="caW-Bv-w94"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="RB4-Sm-HuC">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionRightToLeft:" target="-1" id="EXD-6r-ZUu"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/>
-                                        <menuItem title="Show Ruler" id="vLm-3I-IUL">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleRuler:" target="-1" id="FOx-HJ-KwY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyRuler:" target="-1" id="71i-fW-3W2"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteRuler:" target="-1" id="cSh-wd-qM2"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="View" id="H8h-7b-M4v">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="View" id="HyV-fh-RgO">
-                        <items>
-                            <menuItem title="Show Toolbar" keyEquivalent="t" id="snW-S8-Cw5">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="toggleToolbarShown:" target="-1" id="BXY-wc-z0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Customize Toolbar…" id="1UK-8n-QPP">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="runToolbarCustomizationPalette:" target="-1" id="pQI-g3-MTW"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Window" id="aUF-d1-5bR">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
-                        <items>
-                            <menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
-                                <connections>
-                                    <action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Zoom" id="R4o-n2-Eq4">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
-                            <menuItem title="Bring All to Front" id="LE2-aR-0XJ">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Help" id="wpr-3q-Mcd">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
-                        <items>
-                            <menuItem title="PlayFile Help" keyEquivalent="?" id="FKE-Sm-Kum">
-                                <connections>
-                                    <action selector="showHelp:" target="-1" id="y7X-2Q-9no"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-            </items>
-        </menu>
-        <window title="PlayFile" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g">
-            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
-            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
-            <rect key="contentRect" x="335" y="390" width="480" height="366"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
-            <view key="contentView" id="EiT-Mj-1SZ">
-                <rect key="frame" x="0.0" y="0.0" width="480" height="366"/>
-                <autoresizingMask key="autoresizingMask"/>
-                <subviews>
-                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="eMs-Ij-ZGv" customClass="EZAudioPlotGL">
-                        <rect key="frame" x="0.0" y="0.0" width="480" height="366"/>
-                        <subviews>
-                            <box autoresizesSubviews="NO" title="Box" boxType="custom" borderType="none" translatesAutoresizingMaskIntoConstraints="NO" id="bz2-AD-NJs">
-                                <rect key="frame" x="0.0" y="124" width="480" height="242"/>
-                                <view key="contentView" id="PEG-5L-rPR">
-                                    <rect key="frame" x="0.0" y="0.0" width="480" height="242"/>
-                                    <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                    <subviews>
-                                        <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="LaU-At-yMu">
-                                            <rect key="frame" x="12" y="172" width="123" height="32"/>
-                                            <buttonCell key="cell" type="push" title="Choose File..." bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Jer-th-dGG">
-                                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                                <font key="font" metaFont="system"/>
-                                            </buttonCell>
-                                            <connections>
-                                                <action selector="openFile:" target="Voe-Tx-rLC" id="xIH-h6-w3s"/>
-                                            </connections>
-                                        </button>
-                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="UgZ-um-AfU">
-                                            <rect key="frame" x="138" y="184" width="35" height="16"/>
-                                            <textFieldCell key="cell" lineBreakMode="truncatingMiddle" sendsActionOnEndEditing="YES" alignment="left" title="Label" id="arB-PC-pFO">
-                                                <font key="font" metaFont="cellTitle"/>
-                                                <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                            </textFieldCell>
-                                        </textField>
-                                        <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="kSY-Tf-CNW">
-                                            <rect key="frame" x="12" y="139" width="123" height="32"/>
-                                            <buttonCell key="cell" type="push" title="Play" alternateTitle="Pause" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="kIb-wu-S3b">
-                                                <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                                <font key="font" metaFont="system"/>
-                                            </buttonCell>
-                                            <connections>
-                                                <action selector="play:" target="Voe-Tx-rLC" id="nPF-NA-VtZ"/>
-                                            </connections>
-                                        </button>
-                                        <segmentedControl verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qMt-Gg-gFD">
-                                            <rect key="frame" x="335" y="144" width="129" height="24"/>
-                                            <constraints>
-                                                <constraint firstAttribute="width" constant="125" id="jxZ-1y-QRn"/>
-                                            </constraints>
-                                            <segmentedCell key="cell" borderStyle="border" alignment="left" style="rounded" trackingMode="selectOne" id="vla-hq-5je">
-                                                <font key="font" metaFont="system"/>
-                                                <segments>
-                                                    <segment label="Buffer" selected="YES"/>
-                                                    <segment label="Rolling" tag="1"/>
-                                                </segments>
-                                            </segmentedCell>
-                                            <connections>
-                                                <action selector="changePlotType:" target="Voe-Tx-rLC" id="k7k-eL-DZI"/>
-                                            </connections>
-                                        </segmentedControl>
-                                        <slider verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3r1-Fd-5Ml">
-                                            <rect key="frame" x="116" y="94" width="270" height="20"/>
-                                            <sliderCell key="cell" continuous="YES" alignment="left" maxValue="100" doubleValue="9.3380614657210401" tickMarkPosition="above" sliderType="linear" id="mcl-Cd-ys3"/>
-                                            <connections>
-                                                <action selector="seekToFrame:" target="Voe-Tx-rLC" id="IMK-n3-pun"/>
-                                            </connections>
-                                        </slider>
-                                        <slider verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="rsX-T2-N6M">
-                                            <rect key="frame" x="116" y="69" width="270" height="20"/>
-                                            <sliderCell key="cell" continuous="YES" alignment="left" minValue="128" maxValue="1024" doubleValue="128" tickMarkPosition="above" sliderType="linear" id="MG3-Rb-b8L"/>
-                                            <connections>
-                                                <action selector="changeRollingHistoryLength:" target="Voe-Tx-rLC" id="ypX-pJ-iKV"/>
-                                            </connections>
-                                        </slider>
-                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2sl-Yt-WPy">
-                                            <rect key="frame" x="16" y="121" width="53" height="16"/>
-                                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="Volume:" id="dqF-tn-aA2">
-                                                <font key="font" metaFont="systemBold" size="12"/>
-                                                <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                            </textFieldCell>
-                                        </textField>
-                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nuL-gR-u3g">
-                                            <rect key="frame" x="16" y="96" width="58" height="16"/>
-                                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="Position:" id="XnY-cC-mcp">
-                                                <font key="font" metaFont="systemBold" size="12"/>
-                                                <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                            </textFieldCell>
-                                        </textField>
-                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="939-3F-zvH">
-                                            <rect key="frame" x="16" y="71" width="95" height="16"/>
-                                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="Rolling Length:" id="gmI-bk-lpT">
-                                                <font key="font" metaFont="systemBold" size="12"/>
-                                                <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                            </textFieldCell>
-                                        </textField>
-                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5Tt-wP-Pfb">
-                                            <rect key="frame" x="390" y="121" width="72" height="16"/>
-                                            <constraints>
-                                                <constraint firstAttribute="width" constant="68" id="6Lp-QI-emC"/>
-                                            </constraints>
-                                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="0.00" id="6zV-ap-tgO">
-                                                <numberFormatter key="formatter" formatterBehavior="custom10_4" minimumIntegerDigits="1" maximumIntegerDigits="1" minimumFractionDigits="2" maximumFractionDigits="2" id="Y8g-4u-ifJ"/>
-                                                <font key="font" metaFont="cellTitle"/>
-                                                <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                            </textFieldCell>
-                                        </textField>
-                                        <slider verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="HtU-mk-RyR">
-                                            <rect key="frame" x="116" y="119" width="270" height="20"/>
-                                            <sliderCell key="cell" continuous="YES" state="on" alignment="left" maxValue="1" doubleValue="0.5" tickMarkPosition="above" sliderType="linear" id="76i-lI-sD6"/>
-                                            <connections>
-                                                <action selector="changeVolume:" target="Voe-Tx-rLC" id="y8e-xa-R34"/>
-                                            </connections>
-                                        </slider>
-                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="V8A-XE-sbB">
-                                            <rect key="frame" x="390" y="71" width="72" height="16"/>
-                                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="0" id="Olu-tS-gSN">
-                                                <numberFormatter key="formatter" formatterBehavior="custom10_4" minimumIntegerDigits="0" maximumIntegerDigits="42" id="0En-xE-gzL"/>
-                                                <font key="font" metaFont="cellTitle"/>
-                                                <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                            </textFieldCell>
-                                        </textField>
-                                        <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9PF-Dm-kOq" userLabel="microphoneInputPopUpButton">
-                                            <rect key="frame" x="16" y="13" width="180" height="26"/>
-                                            <constraints>
-                                                <constraint firstAttribute="width" constant="175" id="imp-QE-9Zn"/>
-                                            </constraints>
-                                            <popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="Tsn-fk-cet" id="iFY-kO-v4k">
-                                                <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
-                                                <font key="font" metaFont="menu"/>
-                                                <menu key="menu" id="G1P-on-Adu">
-                                                    <items>
-                                                        <menuItem title="Item 1" state="on" id="Tsn-fk-cet"/>
-                                                        <menuItem title="Item 2" id="Nov-Ax-y8A"/>
-                                                        <menuItem title="Item 3" id="HTc-Vx-ZI1"/>
-                                                    </items>
-                                                </menu>
-                                            </popUpButtonCell>
-                                        </popUpButton>
-                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="uw2-jd-O8R">
-                                            <rect key="frame" x="16" y="46" width="51" height="16"/>
-                                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Output:" id="n4K-JF-owA">
-                                                <font key="font" metaFont="systemBold" size="12"/>
-                                                <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                            </textFieldCell>
-                                        </textField>
-                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="t00-Ok-dIq">
-                                            <rect key="frame" x="390" y="96" width="72" height="16"/>
-                                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="0" id="COg-OX-2nL">
-                                                <numberFormatter key="formatter" formatterBehavior="custom10_4" minimumIntegerDigits="0" maximumIntegerDigits="42" id="AIP-gm-qiv"/>
-                                                <font key="font" metaFont="cellTitle"/>
-                                                <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                            </textFieldCell>
-                                        </textField>
-                                        <button translatesAutoresizingMaskIntoConstraints="NO" id="8kN-iJ-UII">
-                                            <rect key="frame" x="442" y="14" width="22" height="18"/>
-                                            <buttonCell key="cell" type="check" bezelStyle="regularSquare" imagePosition="right" alignment="right" state="on" inset="2" id="moX-Jd-cv5">
-                                                <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                                <font key="font" metaFont="system"/>
-                                            </buttonCell>
-                                            <connections>
-                                                <action selector="changeShouldLoop:" target="Voe-Tx-rLC" id="dxs-Sb-AY7"/>
-                                            </connections>
-                                        </button>
-                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ba9-Kg-Xpb">
-                                            <rect key="frame" x="408" y="16" width="34" height="16"/>
-                                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Loop" id="pcq-Cs-hg9">
-                                                <font key="font" metaFont="systemBold" size="12"/>
-                                                <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                            </textFieldCell>
-                                        </textField>
-                                    </subviews>
-                                </view>
-                                <constraints>
-                                    <constraint firstItem="HtU-mk-RyR" firstAttribute="baseline" secondItem="2sl-Yt-WPy" secondAttribute="baseline" id="1dR-DF-J1a"/>
-                                    <constraint firstItem="qMt-Gg-gFD" firstAttribute="trailing" secondItem="8kN-iJ-UII" secondAttribute="trailing" id="33U-sK-F1e"/>
-                                    <constraint firstItem="t00-Ok-dIq" firstAttribute="leading" secondItem="3r1-Fd-5Ml" secondAttribute="trailing" constant="8" symbolic="YES" id="36z-ka-1Od"/>
-                                    <constraint firstItem="5Tt-wP-Pfb" firstAttribute="leading" secondItem="t00-Ok-dIq" secondAttribute="leading" id="6WC-Dc-5cj"/>
-                                    <constraint firstItem="9PF-Dm-kOq" firstAttribute="top" secondItem="uw2-jd-O8R" secondAttribute="bottom" constant="9" id="8Er-YP-pXI"/>
-                                    <constraint firstItem="t00-Ok-dIq" firstAttribute="leading" secondItem="V8A-XE-sbB" secondAttribute="leading" id="8ex-S1-eYT"/>
-                                    <constraint firstItem="LaU-At-yMu" firstAttribute="leading" secondItem="kSY-Tf-CNW" secondAttribute="leading" id="9Ww-oi-M0T"/>
-                                    <constraint firstItem="kSY-Tf-CNW" firstAttribute="trailing" secondItem="LaU-At-yMu" secondAttribute="trailing" id="A0b-25-Bkb"/>
-                                    <constraint firstAttribute="trailing" secondItem="qMt-Gg-gFD" secondAttribute="trailing" constant="18" id="Aue-eI-UTU"/>
-                                    <constraint firstAttribute="height" constant="242" id="FKY-vF-rJo"/>
-                                    <constraint firstItem="rsX-T2-N6M" firstAttribute="baseline" secondItem="939-3F-zvH" secondAttribute="baseline" id="FVB-KX-s22"/>
-                                    <constraint firstItem="nuL-gR-u3g" firstAttribute="top" secondItem="2sl-Yt-WPy" secondAttribute="bottom" constant="9" id="I4b-eY-Sve"/>
-                                    <constraint firstItem="t00-Ok-dIq" firstAttribute="trailing" secondItem="5Tt-wP-Pfb" secondAttribute="trailing" id="KZU-Af-ucr"/>
-                                    <constraint firstItem="uw2-jd-O8R" firstAttribute="leading" secondItem="9PF-Dm-kOq" secondAttribute="leading" id="MOh-bh-Gjp"/>
-                                    <constraint firstItem="939-3F-zvH" firstAttribute="top" secondItem="nuL-gR-u3g" secondAttribute="bottom" constant="9" id="NiF-F5-mj2"/>
-                                    <constraint firstItem="3r1-Fd-5Ml" firstAttribute="leading" secondItem="rsX-T2-N6M" secondAttribute="leading" id="NvO-uc-uPA"/>
-                                    <constraint firstItem="2sl-Yt-WPy" firstAttribute="top" secondItem="kSY-Tf-CNW" secondAttribute="bottom" constant="9" id="OyK-df-Ell"/>
-                                    <constraint firstItem="2sl-Yt-WPy" firstAttribute="leading" secondItem="kSY-Tf-CNW" secondAttribute="leading" id="RL2-Ha-hvm"/>
-                                    <constraint firstItem="UgZ-um-AfU" firstAttribute="leading" secondItem="LaU-At-yMu" secondAttribute="trailing" constant="11" id="ShG-nR-iBQ"/>
-                                    <constraint firstItem="5Tt-wP-Pfb" firstAttribute="leading" secondItem="HtU-mk-RyR" secondAttribute="trailing" constant="8" symbolic="YES" id="St8-b6-rg9"/>
-                                    <constraint firstAttribute="trailing" secondItem="5Tt-wP-Pfb" secondAttribute="trailing" constant="20" id="UI1-on-ciV"/>
-                                    <constraint firstItem="V8A-XE-sbB" firstAttribute="trailing" secondItem="t00-Ok-dIq" secondAttribute="trailing" id="Uod-6y-jMl"/>
-                                    <constraint firstItem="HtU-mk-RyR" firstAttribute="baseline" secondItem="5Tt-wP-Pfb" secondAttribute="baseline" id="V7w-eF-irm"/>
-                                    <constraint firstItem="rsX-T2-N6M" firstAttribute="baseline" secondItem="V8A-XE-sbB" secondAttribute="baseline" id="Z8g-gG-vff"/>
-                                    <constraint firstItem="3r1-Fd-5Ml" firstAttribute="baseline" secondItem="nuL-gR-u3g" secondAttribute="baseline" id="ZDZ-4H-L6I"/>
-                                    <constraint firstItem="uw2-jd-O8R" firstAttribute="top" secondItem="939-3F-zvH" secondAttribute="bottom" constant="9" id="aWR-BG-36y"/>
-                                    <constraint firstAttribute="bottom" secondItem="9PF-Dm-kOq" secondAttribute="bottom" constant="16" id="cIv-BX-j92"/>
-                                    <constraint firstItem="V8A-XE-sbB" firstAttribute="leading" secondItem="rsX-T2-N6M" secondAttribute="trailing" constant="8" symbolic="YES" id="edb-wa-cGs"/>
-                                    <constraint firstItem="3r1-Fd-5Ml" firstAttribute="leading" secondItem="HtU-mk-RyR" secondAttribute="leading" id="fPR-Iu-Ujq"/>
-                                    <constraint firstItem="qMt-Gg-gFD" firstAttribute="top" secondItem="kSY-Tf-CNW" secondAttribute="top" id="g3a-R9-IRO"/>
-                                    <constraint firstItem="8kN-iJ-UII" firstAttribute="leading" secondItem="Ba9-Kg-Xpb" secondAttribute="trailing" constant="4" id="gsA-Ve-wP6"/>
-                                    <constraint firstItem="nuL-gR-u3g" firstAttribute="leading" secondItem="939-3F-zvH" secondAttribute="leading" id="kOh-i2-ePt"/>
-                                    <constraint firstItem="t00-Ok-dIq" firstAttribute="baseline" secondItem="3r1-Fd-5Ml" secondAttribute="baseline" id="mGQ-4Y-dfZ"/>
-                                    <constraint firstItem="LaU-At-yMu" firstAttribute="top" secondItem="UgZ-um-AfU" secondAttribute="top" id="nFI-Vr-bUf"/>
-                                    <constraint firstItem="rsX-T2-N6M" firstAttribute="leading" secondItem="939-3F-zvH" secondAttribute="trailing" constant="9" id="nr6-qs-Zww"/>
-                                    <constraint firstItem="kSY-Tf-CNW" firstAttribute="top" secondItem="LaU-At-yMu" secondAttribute="bottom" constant="12" symbolic="YES" id="oPf-cB-2E9"/>
-                                    <constraint firstItem="uw2-jd-O8R" firstAttribute="leading" secondItem="939-3F-zvH" secondAttribute="leading" id="q1Q-HM-jDH"/>
-                                    <constraint firstItem="LaU-At-yMu" firstAttribute="leading" secondItem="bz2-AD-NJs" secondAttribute="leading" constant="18" id="sCU-Gn-9h8"/>
-                                    <constraint firstItem="2sl-Yt-WPy" firstAttribute="leading" secondItem="nuL-gR-u3g" secondAttribute="leading" id="sVD-2u-Wvz"/>
-                                    <constraint firstAttribute="bottom" secondItem="Ba9-Kg-Xpb" secondAttribute="bottom" constant="16" id="woj-14-7FI"/>
-                                    <constraint firstItem="9PF-Dm-kOq" firstAttribute="bottom" secondItem="8kN-iJ-UII" secondAttribute="bottom" id="yNT-bh-dpB"/>
-                                </constraints>
-                                <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
-                                <color key="fillColor" red="0.0" green="0.0" blue="0.0" alpha="0.69999999999999996" colorSpace="calibratedRGB"/>
-                            </box>
-                        </subviews>
-                        <constraints>
-                            <constraint firstAttribute="trailing" secondItem="bz2-AD-NJs" secondAttribute="trailing" id="1qB-Co-G0X"/>
-                            <constraint firstItem="bz2-AD-NJs" firstAttribute="top" secondItem="eMs-Ij-ZGv" secondAttribute="top" id="1rc-KE-3dH"/>
-                            <constraint firstItem="bz2-AD-NJs" firstAttribute="leading" secondItem="eMs-Ij-ZGv" secondAttribute="leading" id="hmN-LA-zqz"/>
-                        </constraints>
-                    </customView>
-                </subviews>
-                <constraints>
-                    <constraint firstItem="eMs-Ij-ZGv" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" id="Ep6-70-HZp"/>
-                    <constraint firstAttribute="bottom" secondItem="eMs-Ij-ZGv" secondAttribute="bottom" id="JXh-Cu-XTv"/>
-                    <constraint firstItem="eMs-Ij-ZGv" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" id="LQV-SK-mp1"/>
-                    <constraint firstAttribute="trailing" secondItem="eMs-Ij-ZGv" secondAttribute="trailing" id="Twz-mG-sjQ"/>
-                </constraints>
-            </view>
-            <point key="canvasLocation" x="382" y="280"/>
-        </window>
-    </objects>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Info.plist b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/Info.plist
deleted file mode 100644 (file)
index 1af7e37..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>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 © 2016 Syed Haris Ali. All rights reserved.</string>
-       <key>NSMainNibFile</key>
-       <string>MainMenu</string>
-       <key>NSPrincipalClass</key>
-       <string>NSApplication</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/main.m b/document/EZAudio-master/EZAudioExamples/OSX/PlayFile/PlayFile/main.m
deleted file mode 100644 (file)
index 8614ed7..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-//  main.m
-//  PlayFile
-//
-//  Created by Syed Haris Ali on 1/23/16.
-//  Copyright © 2016 Syed Haris Ali. All rights reserved.
-//
-
-#import <Cocoa/Cocoa.h>
-
-int main(int argc, const char * argv[]) {
-    return NSApplicationMain(argc, argv);
-}
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index 0468748..0000000
+++ /dev/null
@@ -1,356 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               66374D3F1C542E18000B19D0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374D3E1C542E18000B19D0 /* AppDelegate.m */; };
-               66374D421C542E18000B19D0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374D411C542E18000B19D0 /* main.m */; };
-               66374D441C542E18000B19D0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 66374D431C542E18000B19D0 /* Assets.xcassets */; };
-               66374D471C542E18000B19D0 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 66374D451C542E18000B19D0 /* MainMenu.xib */; };
-               66374D5A1C5440BC000B19D0 /* EZAudioOSX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66374D591C5440BC000B19D0 /* EZAudioOSX.framework */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374DDF1C545316000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DDA1C545316000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374DE11C545316000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DDA1C545316000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-               66374D3A1C542E18000B19D0 /* RecordFile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RecordFile.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               66374D3D1C542E18000B19D0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
-               66374D3E1C542E18000B19D0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
-               66374D411C542E18000B19D0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
-               66374D431C542E18000B19D0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               66374D461C542E18000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
-               66374D481C542E18000B19D0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               66374D591C5440BC000B19D0 /* EZAudioOSX.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EZAudioOSX.framework; path = ../../../build/Debug/EZAudioOSX.framework; sourceTree = "<group>"; };
-               66374DDA1C545316000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               66374D371C542E18000B19D0 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374D5A1C5440BC000B19D0 /* EZAudioOSX.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               66374D311C542E18000B19D0 = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DDA1C545316000B19D0 /* EZAudio.xcodeproj */,
-                               66374D3C1C542E18000B19D0 /* RecordFile */,
-                               66374D4F1C542E71000B19D0 /* Frameworks */,
-                               66374D3B1C542E18000B19D0 /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               66374D3B1C542E18000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D3A1C542E18000B19D0 /* RecordFile.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               66374D3C1C542E18000B19D0 /* RecordFile */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D3D1C542E18000B19D0 /* AppDelegate.h */,
-                               66374D3E1C542E18000B19D0 /* AppDelegate.m */,
-                               66374D431C542E18000B19D0 /* Assets.xcassets */,
-                               66374D451C542E18000B19D0 /* MainMenu.xib */,
-                               66374D481C542E18000B19D0 /* Info.plist */,
-                               66374D401C542E18000B19D0 /* Supporting Files */,
-                       );
-                       path = RecordFile;
-                       sourceTree = "<group>";
-               };
-               66374D401C542E18000B19D0 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D411C542E18000B19D0 /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-               66374D4F1C542E71000B19D0 /* Frameworks */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D591C5440BC000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Frameworks;
-                       sourceTree = "<group>";
-               };
-               66374DDB1C545316000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DE01C545316000B19D0 /* EZAudioiOS.framework */,
-                               66374DE21C545316000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               66374D391C542E18000B19D0 /* RecordFile */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 66374D4B1C542E18000B19D0 /* Build configuration list for PBXNativeTarget "RecordFile" */;
-                       buildPhases = (
-                               66374D361C542E18000B19D0 /* Sources */,
-                               66374D371C542E18000B19D0 /* Frameworks */,
-                               66374D381C542E18000B19D0 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = RecordFile;
-                       productName = RecordFile;
-                       productReference = 66374D3A1C542E18000B19D0 /* RecordFile.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               66374D321C542E18000B19D0 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       66374D391C542E18000B19D0 = {
-                                               CreatedOnToolsVersion = 7.2;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 66374D351C542E18000B19D0 /* Build configuration list for PBXProject "RecordFile" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               en,
-                               Base,
-                       );
-                       mainGroup = 66374D311C542E18000B19D0;
-                       productRefGroup = 66374D3B1C542E18000B19D0 /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374DDB1C545316000B19D0 /* Products */;
-                                       ProjectRef = 66374DDA1C545316000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               66374D391C542E18000B19D0 /* RecordFile */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374DE01C545316000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374DDF1C545316000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374DE21C545316000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374DE11C545316000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               66374D381C542E18000B19D0 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374D441C542E18000B19D0 /* Assets.xcassets in Resources */,
-                               66374D471C542E18000B19D0 /* MainMenu.xib in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               66374D361C542E18000B19D0 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374D421C542E18000B19D0 /* main.m in Sources */,
-                               66374D3F1C542E18000B19D0 /* AppDelegate.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
-               66374D451C542E18000B19D0 /* MainMenu.xib */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374D461C542E18000B19D0 /* Base */,
-                       );
-                       name = MainMenu.xib;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               66374D491C542E18000B19D0 /* 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 = "-";
-                               COPY_PHASE_STRIP = NO;
-                               DEBUG_INFORMATION_FORMAT = dwarf;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               MACOSX_DEPLOYMENT_TARGET = 10.11;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = macosx;
-                       };
-                       name = Debug;
-               };
-               66374D4A1C542E18000B19D0 /* 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 = "-";
-                               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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               MACOSX_DEPLOYMENT_TARGET = 10.11;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = macosx;
-                       };
-                       name = Release;
-               };
-               66374D4C1C542E18000B19D0 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               INFOPLIST_FILE = RecordFile/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.RecordFile;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               66374D4D1C542E18000B19D0 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               INFOPLIST_FILE = RecordFile/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.RecordFile;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               66374D351C542E18000B19D0 /* Build configuration list for PBXProject "RecordFile" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374D491C542E18000B19D0 /* Debug */,
-                               66374D4A1C542E18000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               66374D4B1C542E18000B19D0 /* Build configuration list for PBXNativeTarget "RecordFile" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374D4C1C542E18000B19D0 /* Debug */,
-                               66374D4D1C542E18000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 66374D321C542E18000B19D0 /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index 919434a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:">
-   </FileRef>
-</Workspace>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/AppDelegate.h
deleted file mode 100644 (file)
index c134a12..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-//
-//  AppDelegate.h
-//  RecordFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Cocoa/Cocoa.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//
-// By default this will record a file to /Users/YOUR_USERNAME/Documents/test.m4a
-//
-#define kAudioFilePath [NSString stringWithFormat:@"%@%@",NSHomeDirectory(),@"/Documents/test.m4a"]
-
-//------------------------------------------------------------------------------
-#pragma mark - AppDelegate
-//------------------------------------------------------------------------------
-
-@interface AppDelegate : NSObject <EZAudioPlayerDelegate, EZMicrophoneDelegate, EZRecorderDelegate, NSApplicationDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-@property (weak) IBOutlet NSWindow *window;
-
-//
-// The label used to display the current time for recording/playback in the top
-// left
-//
-@property (nonatomic, weak) IBOutlet NSTextField *currentTimeLabel;
-
-//------------------------------------------------------------------------------
-
-//
-// Use a OpenGL based plot to visualize the data coming in
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlotGL *recordingAudioPlot;
-
-//------------------------------------------------------------------------------
-
-//
-// A flag indicating whether we are recording or not
-//
-@property (nonatomic, assign) BOOL isRecording;
-
-//------------------------------------------------------------------------------
-
-//
-// The microphone component
-//
-@property (nonatomic, strong) EZMicrophone *microphone;
-
-//------------------------------------------------------------------------------
-
-//
-// The switch used to toggle the microphone on/off
-//
-@property (nonatomic, weak) IBOutlet NSButton *microphoneSwitch;
-
-//------------------------------------------------------------------------------
-
-//
-// The audio player that will play the recorded file
-//
-@property (nonatomic, strong) EZAudioPlayer *player;
-
-//------------------------------------------------------------------------------
-
-//
-// The recorder component
-//
-@property (nonatomic, strong) EZRecorder *recorder;
-
-//------------------------------------------------------------------------------
-
-//
-// The second audio plot used on the top right to display the current playing audio
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlot *playingAudioPlot;
-
-//------------------------------------------------------------------------------
-
-//
-// The button the user taps to play the recorded audio file
-//
-@property (nonatomic, weak) IBOutlet NSButton *playButton;
-
-//------------------------------------------------------------------------------
-
-//
-// The label used to display the audio player play state
-//
-@property (nonatomic, weak) IBOutlet NSTextField *playingStateLabel;
-
-//------------------------------------------------------------------------------
-
-//
-// The switch used to toggle the recording on/off
-//
-@property (nonatomic, weak) IBOutlet NSButton *recordSwitch;
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-//
-// Stops the recorder and starts playing whatever has been recorded.
-//
-- (IBAction)playFile:(id)sender;
-
-//------------------------------------------------------------------------------
-
-//
-// Toggles the microphone on and off. When the microphone is on it will send
-// its delegate (aka this view controller) the audio data in various ways (check
-// out the EZMicrophoneDelegate documentation for more details);
-//
-- (IBAction)toggleMicrophone:(id)sender;
-
-//------------------------------------------------------------------------------
-
-//
-// Toggles the microphone on and off. When the microphone is on it will send
-// its delegate (aka this view controller) the audio data in various ways
-// (check out the EZMicrophoneDelegate documentation for more details);
-//
-- (IBAction)toggleRecording:(id)sender;
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/AppDelegate.m
deleted file mode 100644 (file)
index 8c873c6..0000000
+++ /dev/null
@@ -1,300 +0,0 @@
-//
-//  AppDelegate.m
-//  RecordFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "AppDelegate.h"
-
-@implementation AppDelegate
-
-////------------------------------------------------------------------------------
-//#pragma mark - Customize the Audio Plot
-////------------------------------------------------------------------------------
-//
-//- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
-//}
-
-- (void)applicationDidFinishLaunching:(NSNotification *)notification {
-    //
-    // Customizing the audio plot that'll show the current microphone
-    // input/recording
-    //
-    self.recordingAudioPlot.backgroundColor = [NSColor colorWithRed: 0.984 green: 0.71 blue: 0.365 alpha: 1];
-    self.recordingAudioPlot.color           = [NSColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0];
-    self.recordingAudioPlot.plotType        = EZPlotTypeRolling;
-    self.recordingAudioPlot.shouldFill      = YES;
-    self.recordingAudioPlot.shouldMirror    = YES;
-
-    //
-    // Customizing the audio plot that'll show the playback
-    //
-    self.playingAudioPlot.color = [NSColor whiteColor];
-    self.playingAudioPlot.plotType = EZPlotTypeRolling;
-    self.playingAudioPlot.shouldFill = YES;
-    self.playingAudioPlot.shouldMirror = YES;
-    self.playingAudioPlot.gain = 2.5f;
-
-    //
-    // Create an instance of the microphone and tell it to use this view
-    // controller instance as the delegate
-    //
-    self.microphone = [EZMicrophone microphoneWithDelegate:self];
-    self.player = [EZAudioPlayer audioPlayerWithDelegate:self];
-
-    //
-    // Initialize UI components
-    //
-    [self setTitle:@"Microphone On" forButton:self.microphoneSwitch];
-    [self setTitle:@"Not Recording" forButton:self.recordSwitch];
-    self.playingStateLabel.stringValue = @"Not Playing";
-    self.playButton.enabled = NO;
-
-    //
-    // Setup notifications
-    //
-    [self setupNotifications];
-    
-    //
-    // Start the microphone
-    //
-    [self.microphone startFetchingAudio];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setupNotifications
-{
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(playerDidChangePlayState:)
-                                                 name:EZAudioPlayerDidChangePlayStateNotification
-                                               object:self.player];
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(playerDidReachEndOfFile:)
-                                                 name:EZAudioPlayerDidReachEndOfFileNotification
-                                               object:self.player];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Notifications
-//------------------------------------------------------------------------------
-
-- (void)playerDidChangePlayState:(NSNotification *)notification
-{
-    EZAudioPlayer *player = [notification object];
-    BOOL isPlaying = [player isPlaying];
-    if (isPlaying)
-    {
-        self.recorder.delegate = nil;
-    }
-    self.playingStateLabel.stringValue = isPlaying ? @"Playing" : @"Not Playing";
-    self.playingAudioPlot.hidden = !isPlaying;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)playerDidReachEndOfFile:(NSNotification *)notification
-{
-    [self.playingAudioPlot clear];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)playFile:(id)sender
-{
-    //
-    // Update microphone state
-    //
-    [self.microphone stopFetchingAudio];
-    
-    //
-    // Update recording state
-    //
-    self.isRecording = NO;
-    [self setTitle:@"Not Recording" forButton:self.recordSwitch];
-    self.recordSwitch.state = NSOffState;
-    
-    //
-    // Close the audio file
-    //
-    if (self.recorder)
-    {
-        [self.recorder closeAudioFile];
-    }
-    
-    EZAudioFile *audioFile = [EZAudioFile audioFileWithURL:[NSURL fileURLWithPath:kAudioFilePath]];
-    [self.player playAudioFile:audioFile];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)toggleMicrophone:(id)sender
-{
-    [self.player pause];
-    
-    NSInteger state = [(NSButton *)sender state];
-    if (state == NSOffState)
-    {
-        [self.microphone stopFetchingAudio];
-    }
-    else
-    {
-        [self.microphone startFetchingAudio];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)toggleRecording:(id)sender
-{
-    [self.player pause];
-    
-    NSInteger state = [(NSButton *)sender state];
-    if (state == NSOnState)
-    {
-        //
-        // Create the recorder
-        //
-        [self.microphone startFetchingAudio];
-        self.recorder = [EZRecorder recorderWithURL:[NSURL fileURLWithPath:kAudioFilePath]
-                                       clientFormat:[self.microphone audioStreamBasicDescription]
-                                           fileType:EZRecorderFileTypeM4A
-                                           delegate:self];
-        self.playButton.enabled = YES;
-    }
-    self.isRecording = state;
-    NSString *title = self.isRecording ? @"Recording" : @"Not Recording";
-    [self setTitle:title forButton:self.recordSwitch];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZMicrophoneDelegate
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone changedPlayingState:(BOOL)isPlaying
-{
-    self.microphoneSwitch.state = isPlaying;
-    NSString *title = isPlaying ? @"Microphone On" : @"Microphone Off";
-    [self setTitle:title forButton:self.microphoneSwitch];
-}
-
-//------------------------------------------------------------------------------
-
-#warning Thread Safety
-// Note that any callback that provides streamed audio data (like streaming microphone input) happens on a separate audio thread that should not be blocked. When we feed audio data into any of the UI components we need to explicity create a GCD block on the main thread to properly get the UI to work.
-- (void)   microphone:(EZMicrophone *)microphone
-     hasAudioReceived:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    // Getting audio data as an array of float buffer arrays. What does that mean? Because the audio is coming in as a stereo signal the data is split into a left and right channel. So buffer[0] corresponds to the float* data for the left channel while buffer[1] corresponds to the float* data for the right channel.
-    
-    // See the Thread Safety warning above, but in a nutshell these callbacks happen on a separate audio thread. We wrap any UI updating in a GCD block on the main thread to avoid blocking that audio flow.
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        // All the audio plot needs is the buffer data (float*) and the size. Internally the audio plot will handle all the drawing related code, history management, and freeing its own resources. Hence, one badass line of code gets you a pretty plot :)
-        [weakSelf.recordingAudioPlot updateBuffer:buffer[0]
-                                   withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)   microphone:(EZMicrophone *)microphone
-        hasBufferList:(AudioBufferList *)bufferList
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    // Getting audio data as a buffer list that can be directly fed into the EZRecorder. This is happening on the audio thread - any UI updating needs a GCD main queue block. This will keep appending data to the tail of the audio file.
-    if (self.isRecording)
-    {
-        [self.recorder appendDataFromBufferList:bufferList
-                                 withBufferSize:bufferSize];
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZRecorderDelegate
-//------------------------------------------------------------------------------
-
-- (void)recorderDidClose:(EZRecorder *)recorder
-{
-    recorder.delegate = nil;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)recorderUpdatedCurrentTime:(EZRecorder *)recorder
-{
-    __weak typeof (self) weakSelf = self;
-    NSString *formattedCurrentTime = [recorder formattedCurrentTime];
-    dispatch_async(dispatch_get_main_queue(), ^{
-        weakSelf.currentTimeLabel.stringValue = formattedCurrentTime;
-    });
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlayerDelegate
-//------------------------------------------------------------------------------
-
-- (void) audioPlayer:(EZAudioPlayer *)audioPlayer
-         playedAudio:(float **)buffer
-      withBufferSize:(UInt32)bufferSize
-withNumberOfChannels:(UInt32)numberOfChannels
-         inAudioFile:(EZAudioFile *)audioFile
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [weakSelf.playingAudioPlot updateBuffer:buffer[0]
-                                 withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)audioPlayer:(EZAudioPlayer *)audioPlayer
-    updatedPosition:(SInt64)framePosition
-        inAudioFile:(EZAudioFile *)audioFile
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        weakSelf.currentTimeLabel.stringValue = [audioPlayer formattedCurrentTime];
-    });
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Utility
-//------------------------------------------------------------------------------
-
-- (void)setTitle:(NSString *)title forButton:(NSButton *)button
-{
-    NSDictionary *attributes = @{ NSForegroundColorAttributeName : [NSColor whiteColor] };
-    NSAttributedString *attributedTitle = [[NSAttributedString alloc] initWithString:title
-                                                                          attributes:attributes];
-    button.attributedTitle = attributedTitle;
-    button.attributedAlternateTitle = attributedTitle;
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index 7cd4f8e..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_128x128.png b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_128x128.png
deleted file mode 100644 (file)
index 0885574..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_128x128.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png
deleted file mode 100644 (file)
index 62b2075..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_16x16.png b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_16x16.png
deleted file mode 100644 (file)
index b7b457a..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_16x16.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png
deleted file mode 100644 (file)
index 059aee3..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_256x256.png b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_256x256.png
deleted file mode 100644 (file)
index 62b2075..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_256x256.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png
deleted file mode 100644 (file)
index 8a3bb65..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_32x32.png b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_32x32.png
deleted file mode 100644 (file)
index 059aee3..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_32x32.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png
deleted file mode 100644 (file)
index 1c8361c..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_512x512.png b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_512x512.png
deleted file mode 100644 (file)
index 8a3bb65..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_512x512.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png
deleted file mode 100644 (file)
index d920070..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Base.lproj/MainMenu.xib b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Base.lproj/MainMenu.xib
deleted file mode 100644 (file)
index 6875f40..0000000
+++ /dev/null
@@ -1,778 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
-            <connections>
-                <outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customObject id="Voe-Tx-rLC" customClass="AppDelegate">
-            <connections>
-                <outlet property="currentTimeLabel" destination="0b2-Xt-uxP" id="RXs-Wr-dDp"/>
-                <outlet property="microphoneSwitch" destination="nX1-e4-cPx" id="Szs-r9-e20"/>
-                <outlet property="playButton" destination="GjH-v7-YKU" id="cbu-F1-0eL"/>
-                <outlet property="playingAudioPlot" destination="cip-Fe-fyq" id="Ufw-ZY-bNA"/>
-                <outlet property="playingStateLabel" destination="nTx-44-hwR" id="AKy-KE-aTC"/>
-                <outlet property="recordSwitch" destination="iy7-wI-EPq" id="Jee-yf-4y7"/>
-                <outlet property="recordingAudioPlot" destination="uPL-pp-zsC" id="Zrr-9Y-Q3x"/>
-                <outlet property="window" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
-            </connections>
-        </customObject>
-        <customObject id="YLy-65-1bz" customClass="NSFontManager"/>
-        <menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
-            <items>
-                <menuItem title="RecordFile" id="1Xt-HY-uBw">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="RecordFile" systemMenu="apple" id="uQy-DD-JDr">
-                        <items>
-                            <menuItem title="About RecordFile" id="5kV-Vb-QxS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
-                            <menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
-                            <menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
-                            <menuItem title="Services" id="NMo-om-nkz">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
-                            <menuItem title="Hide RecordFile" keyEquivalent="h" id="Olw-nP-bQN">
-                                <connections>
-                                    <action selector="hide:" target="-1" id="PnN-Uc-m68"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Show All" id="Kd2-mp-pUS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
-                            <menuItem title="Quit RecordFile" keyEquivalent="q" id="4sb-4s-VLi">
-                                <connections>
-                                    <action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="File" id="dMs-cI-mzQ">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="File" id="bib-Uj-vzu">
-                        <items>
-                            <menuItem title="New" keyEquivalent="n" id="Was-JA-tGl">
-                                <connections>
-                                    <action selector="newDocument:" target="-1" id="4Si-XN-c54"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open…" keyEquivalent="o" id="IAo-SY-fd9">
-                                <connections>
-                                    <action selector="openDocument:" target="-1" id="bVn-NM-KNZ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open Recent" id="tXI-mr-wws">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="oas-Oc-fiZ">
-                                    <items>
-                                        <menuItem title="Clear Menu" id="vNY-rz-j42">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="clearRecentDocuments:" target="-1" id="Daa-9d-B3U"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="m54-Is-iLE"/>
-                            <menuItem title="Close" keyEquivalent="w" id="DVo-aG-piG">
-                                <connections>
-                                    <action selector="performClose:" target="-1" id="HmO-Ls-i7Q"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save…" keyEquivalent="s" id="pxx-59-PXV">
-                                <connections>
-                                    <action selector="saveDocument:" target="-1" id="teZ-XB-qJY"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save As…" keyEquivalent="S" id="Bw7-FT-i3A">
-                                <connections>
-                                    <action selector="saveDocumentAs:" target="-1" id="mDf-zr-I0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Revert to Saved" id="KaW-ft-85H">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="revertDocumentToSaved:" target="-1" id="iJ3-Pv-kwq"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="aJh-i4-bef"/>
-                            <menuItem title="Page Setup…" keyEquivalent="P" id="qIS-W8-SiK">
-                                <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
-                                <connections>
-                                    <action selector="runPageLayout:" target="-1" id="Din-rz-gC5"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Print…" keyEquivalent="p" id="aTl-1u-JFS">
-                                <connections>
-                                    <action selector="print:" target="-1" id="qaZ-4w-aoO"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Edit" id="5QF-Oa-p0T">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Edit" id="W48-6f-4Dl">
-                        <items>
-                            <menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
-                                <connections>
-                                    <action selector="undo:" target="-1" id="M6e-cu-g7V"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
-                                <connections>
-                                    <action selector="redo:" target="-1" id="oIA-Rs-6OD"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
-                            <menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
-                                <connections>
-                                    <action selector="cut:" target="-1" id="YJe-68-I9s"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
-                                <connections>
-                                    <action selector="copy:" target="-1" id="G1f-GL-Joy"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
-                                <connections>
-                                    <action selector="paste:" target="-1" id="UvS-8e-Qdg"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Delete" id="pa3-QI-u2k">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="delete:" target="-1" id="0Mk-Ml-PaM"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
-                                <connections>
-                                    <action selector="selectAll:" target="-1" id="VNm-Mi-diN"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
-                            <menuItem title="Find" id="4EN-yA-p0u">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Find" id="1b7-l0-nxx">
-                                    <items>
-                                        <menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
-                                            <connections>
-                                                <action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
-                                    <items>
-                                        <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
-                                            <connections>
-                                                <action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
-                                            <connections>
-                                                <action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
-                                        <menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Substitutions" id="9ic-FL-obx">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
-                                    <items>
-                                        <menuItem title="Show Substitutions" id="z6F-FW-3nz">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
-                                        <menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Quotes" id="hQb-2v-fYv">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Dashes" id="rgM-f4-ycn">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Links" id="cwL-P1-jid">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Data Detectors" id="tRr-pd-1PS">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Text Replacement" id="HFQ-gK-NFA">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Transformations" id="2oI-Rn-ZJC">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Transformations" id="c8a-y6-VQd">
-                                    <items>
-                                        <menuItem title="Make Upper Case" id="vmV-6d-7jI">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Make Lower Case" id="d9M-CD-aMd">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Capitalize" id="UEZ-Bs-lqG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Speech" id="xrE-MZ-jX0">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Speech" id="3rS-ZA-NoH">
-                                    <items>
-                                        <menuItem title="Start Speaking" id="Ynk-f8-cLZ">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Stop Speaking" id="Oyz-dy-DGm">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Format" id="jxT-CU-nIS">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Format" id="GEO-Iw-cKr">
-                        <items>
-                            <menuItem title="Font" id="Gi5-1S-RQB">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq">
-                                    <items>
-                                        <menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq">
-                                            <connections>
-                                                <action selector="orderFrontFontPanel:" target="YLy-65-1bz" id="WHr-nq-2xA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="hqk-hr-sYV"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="IHV-OB-c03"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S">
-                                            <connections>
-                                                <action selector="underline:" target="-1" id="FYS-2b-JAY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/>
-                                        <menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="Uc7-di-UnL"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="HcX-Lf-eNd"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/>
-                                        <menuItem title="Kern" id="jBQ-r6-VK2">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Kern" id="tlD-Oa-oAM">
-                                                <items>
-                                                    <menuItem title="Use Default" id="GUa-eO-cwY">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardKerning:" target="-1" id="6dk-9l-Ckg"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="cDB-IK-hbR">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffKerning:" target="-1" id="U8a-gz-Maa"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Tighten" id="46P-cB-AYj">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="tightenKerning:" target="-1" id="hr7-Nz-8ro"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Loosen" id="ogc-rX-tC1">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="loosenKerning:" target="-1" id="8i4-f9-FKE"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Ligatures" id="o6e-r0-MWq">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Ligatures" id="w0m-vy-SC9">
-                                                <items>
-                                                    <menuItem title="Use Default" id="agt-UL-0e3">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardLigatures:" target="-1" id="7uR-wd-Dx6"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="J7y-lM-qPV">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffLigatures:" target="-1" id="iX2-gA-Ilz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use All" id="xQD-1f-W4t">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useAllLigatures:" target="-1" id="KcB-kA-TuK"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Baseline" id="OaQ-X3-Vso">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Baseline" id="ijk-EB-dga">
-                                                <items>
-                                                    <menuItem title="Use Default" id="3Om-Ey-2VK">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="unscript:" target="-1" id="0vZ-95-Ywn"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Superscript" id="Rqc-34-cIF">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="superscript:" target="-1" id="3qV-fo-wpU"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Subscript" id="I0S-gh-46l">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="subscript:" target="-1" id="Q6W-4W-IGz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Raise" id="2h7-ER-AoG">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="raiseBaseline:" target="-1" id="4sk-31-7Q9"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Lower" id="1tx-W0-xDw">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="lowerBaseline:" target="-1" id="OF1-bc-KW4"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/>
-                                        <menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk">
-                                            <connections>
-                                                <action selector="orderFrontColorPanel:" target="-1" id="mSX-Xz-DV3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/>
-                                        <menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyFont:" target="-1" id="GJO-xA-L4q"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteFont:" target="-1" id="JfD-CL-leO"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Text" id="Fal-I4-PZk">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Text" id="d9c-me-L2H">
-                                    <items>
-                                        <menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1">
-                                            <connections>
-                                                <action selector="alignLeft:" target="-1" id="zUv-R1-uAa"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb">
-                                            <connections>
-                                                <action selector="alignCenter:" target="-1" id="spX-mk-kcS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Justify" id="J5U-5w-g23">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="alignJustified:" target="-1" id="ljL-7U-jND"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4">
-                                            <connections>
-                                                <action selector="alignRight:" target="-1" id="r48-bG-YeY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/>
-                                        <menuItem title="Writing Direction" id="H1b-Si-o9J">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd">
-                                                <items>
-                                                    <menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="YGs-j5-SAR">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionNatural:" target="-1" id="qtV-5e-UBP"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="Lbh-J2-qVU">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionLeftToRight:" target="-1" id="S0X-9S-QSf"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="jFq-tB-4Kx">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionRightToLeft:" target="-1" id="5fk-qB-AqJ"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem isSeparatorItem="YES" id="swp-gr-a21"/>
-                                                    <menuItem title="Selection" enabled="NO" id="cqv-fj-IhA">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="Nop-cj-93Q">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionNatural:" target="-1" id="lPI-Se-ZHp"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="BgM-ve-c93">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionLeftToRight:" target="-1" id="caW-Bv-w94"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="RB4-Sm-HuC">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionRightToLeft:" target="-1" id="EXD-6r-ZUu"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/>
-                                        <menuItem title="Show Ruler" id="vLm-3I-IUL">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleRuler:" target="-1" id="FOx-HJ-KwY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyRuler:" target="-1" id="71i-fW-3W2"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteRuler:" target="-1" id="cSh-wd-qM2"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="View" id="H8h-7b-M4v">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="View" id="HyV-fh-RgO">
-                        <items>
-                            <menuItem title="Show Toolbar" keyEquivalent="t" id="snW-S8-Cw5">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="toggleToolbarShown:" target="-1" id="BXY-wc-z0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Customize Toolbar…" id="1UK-8n-QPP">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="runToolbarCustomizationPalette:" target="-1" id="pQI-g3-MTW"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Window" id="aUF-d1-5bR">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
-                        <items>
-                            <menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
-                                <connections>
-                                    <action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Zoom" id="R4o-n2-Eq4">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
-                            <menuItem title="Bring All to Front" id="LE2-aR-0XJ">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Help" id="wpr-3q-Mcd">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
-                        <items>
-                            <menuItem title="RecordFile Help" keyEquivalent="?" id="FKE-Sm-Kum">
-                                <connections>
-                                    <action selector="showHelp:" target="-1" id="y7X-2Q-9no"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-            </items>
-        </menu>
-        <window title="RecordFile" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g">
-            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
-            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
-            <rect key="contentRect" x="335" y="390" width="480" height="272"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
-            <view key="contentView" id="EiT-Mj-1SZ">
-                <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-                <autoresizingMask key="autoresizingMask"/>
-                <subviews>
-                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="uPL-pp-zsC" customClass="EZAudioPlotGL">
-                        <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-                        <subviews>
-                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="0b2-Xt-uxP">
-                                <rect key="frame" x="16" y="193" width="85" height="39"/>
-                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="00:00" id="PWJ-TR-A0Q">
-                                    <font key="font" size="32" name="HelveticaNeue-Light"/>
-                                    <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                </textFieldCell>
-                            </textField>
-                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="cip-Fe-fyq" customClass="EZAudioPlot">
-                                <rect key="frame" x="108" y="193" width="354" height="39"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="39" id="2W3-HN-kAo"/>
-                                </constraints>
-                            </customView>
-                            <button translatesAutoresizingMaskIntoConstraints="NO" id="nX1-e4-cPx">
-                                <rect key="frame" x="16" y="39" width="119" height="18"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="115" id="0nP-uD-Iwj"/>
-                                </constraints>
-                                <buttonCell key="cell" type="check" title="Microphone Off" alternateTitle="Microphone On" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="GSu-wR-cvL">
-                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                    <font key="font" metaFont="system"/>
-                                </buttonCell>
-                                <connections>
-                                    <action selector="toggleMicrophone:" target="Voe-Tx-rLC" id="1nT-1P-CdG"/>
-                                </connections>
-                            </button>
-                            <button translatesAutoresizingMaskIntoConstraints="NO" id="iy7-wI-EPq">
-                                <rect key="frame" x="16" y="16" width="113" height="18"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="109" id="Pqb-qG-B3j"/>
-                                </constraints>
-                                <buttonCell key="cell" type="check" title="Not Recording" alternateTitle="Recording" bezelStyle="regularSquare" imagePosition="left" inset="2" id="nBO-YL-xR8">
-                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                    <font key="font" metaFont="system"/>
-                                </buttonCell>
-                                <connections>
-                                    <action selector="toggleRecording:" target="Voe-Tx-rLC" id="hNs-By-gHq"/>
-                                </connections>
-                            </button>
-                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GjH-v7-YKU">
-                                <rect key="frame" x="12" y="57" width="65" height="32"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="53" id="2BI-zI-5Fp"/>
-                                </constraints>
-                                <buttonCell key="cell" type="push" title="Play" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="HYV-iB-x0c">
-                                    <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                    <font key="font" metaFont="system"/>
-                                </buttonCell>
-                                <connections>
-                                    <action selector="playFile:" target="Voe-Tx-rLC" id="evi-EW-61f"/>
-                                </connections>
-                            </button>
-                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nTx-44-hwR">
-                                <rect key="frame" x="76" y="66" width="74" height="17"/>
-                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Not Playing" id="Aao-Ay-vg2">
-                                    <font key="font" metaFont="system"/>
-                                    <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                </textFieldCell>
-                            </textField>
-                        </subviews>
-                        <constraints>
-                            <constraint firstItem="nTx-44-hwR" firstAttribute="centerY" secondItem="GjH-v7-YKU" secondAttribute="centerY" id="4wA-Ok-WQA"/>
-                            <constraint firstItem="cip-Fe-fyq" firstAttribute="top" secondItem="uPL-pp-zsC" secondAttribute="top" constant="40" id="AGx-ra-bMJ"/>
-                            <constraint firstAttribute="bottom" secondItem="iy7-wI-EPq" secondAttribute="bottom" constant="18" id="AtY-dp-C6V"/>
-                            <constraint firstItem="0b2-Xt-uxP" firstAttribute="top" secondItem="uPL-pp-zsC" secondAttribute="top" constant="40" id="DbV-15-1z4"/>
-                            <constraint firstItem="iy7-wI-EPq" firstAttribute="top" secondItem="nX1-e4-cPx" secondAttribute="bottom" constant="9" id="Mbe-r8-4Ty"/>
-                            <constraint firstAttribute="trailing" secondItem="cip-Fe-fyq" secondAttribute="trailing" constant="18" id="V36-ch-Zz1"/>
-                            <constraint firstItem="0b2-Xt-uxP" firstAttribute="leading" secondItem="uPL-pp-zsC" secondAttribute="leading" constant="18" id="WpU-TU-8Td"/>
-                            <constraint firstItem="nTx-44-hwR" firstAttribute="leading" secondItem="GjH-v7-YKU" secondAttribute="trailing" constant="7" id="fgA-x5-qkt"/>
-                            <constraint firstItem="GjH-v7-YKU" firstAttribute="leading" secondItem="0b2-Xt-uxP" secondAttribute="leading" id="hKq-1L-2kL"/>
-                            <constraint firstItem="iy7-wI-EPq" firstAttribute="leading" secondItem="nX1-e4-cPx" secondAttribute="leading" id="hry-PY-QKd"/>
-                            <constraint firstItem="nX1-e4-cPx" firstAttribute="leading" secondItem="GjH-v7-YKU" secondAttribute="leading" id="jkQ-mh-FgR"/>
-                            <constraint firstItem="nX1-e4-cPx" firstAttribute="top" secondItem="GjH-v7-YKU" secondAttribute="bottom" constant="9" id="nSJ-BM-gUL"/>
-                            <constraint firstItem="cip-Fe-fyq" firstAttribute="leading" secondItem="0b2-Xt-uxP" secondAttribute="trailing" constant="9" id="sxR-3A-GJL"/>
-                        </constraints>
-                    </customView>
-                </subviews>
-                <constraints>
-                    <constraint firstItem="uPL-pp-zsC" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" id="Cuy-Fu-dRc"/>
-                    <constraint firstItem="uPL-pp-zsC" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" id="G5s-Zc-VzR"/>
-                    <constraint firstAttribute="bottom" secondItem="uPL-pp-zsC" secondAttribute="bottom" id="RUr-Bo-iqk"/>
-                    <constraint firstAttribute="trailing" secondItem="uPL-pp-zsC" secondAttribute="trailing" id="Syd-Vf-Zft"/>
-                </constraints>
-            </view>
-            <point key="canvasLocation" x="252" y="327"/>
-        </window>
-    </objects>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Info.plist b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/Info.plist
deleted file mode 100644 (file)
index 1af7e37..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>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 © 2016 Syed Haris Ali. All rights reserved.</string>
-       <key>NSMainNibFile</key>
-       <string>MainMenu</string>
-       <key>NSPrincipalClass</key>
-       <string>NSApplication</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/main.m b/document/EZAudio-master/EZAudioExamples/OSX/RecordFile/RecordFile/main.m
deleted file mode 100644 (file)
index 992668c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-//  main.m
-//  RecordFile
-//
-//  Created by Syed Haris Ali on 1/23/16.
-//  Copyright © 2016 Syed Haris Ali. All rights reserved.
-//
-
-#import <Cocoa/Cocoa.h>
-
-int main(int argc, const char * argv[]) {
-    return NSApplicationMain(argc, argv);
-}
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index f517d10..0000000
+++ /dev/null
@@ -1,358 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               66374D6A1C54456C000B19D0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374D691C54456C000B19D0 /* AppDelegate.m */; };
-               66374D6D1C54456C000B19D0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374D6C1C54456C000B19D0 /* main.m */; };
-               66374D6F1C54456C000B19D0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 66374D6E1C54456C000B19D0 /* Assets.xcassets */; };
-               66374D721C54456C000B19D0 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 66374D701C54456C000B19D0 /* MainMenu.xib */; };
-               66374D7B1C544584000B19D0 /* simple-drum-beat.wav in Resources */ = {isa = PBXBuildFile; fileRef = 66374D7A1C544584000B19D0 /* simple-drum-beat.wav */; };
-               66374D7D1C54472A000B19D0 /* EZAudioOSX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66374D7C1C54472A000B19D0 /* EZAudioOSX.framework */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374DFA1C545328000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DF51C545328000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374DFC1C545328000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374DF51C545328000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-               66374D651C54456C000B19D0 /* WaveformFromFile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WaveformFromFile.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               66374D681C54456C000B19D0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
-               66374D691C54456C000B19D0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
-               66374D6C1C54456C000B19D0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
-               66374D6E1C54456C000B19D0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               66374D711C54456C000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
-               66374D731C54456C000B19D0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               66374D7A1C544584000B19D0 /* simple-drum-beat.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = "simple-drum-beat.wav"; path = "../../simple-drum-beat.wav"; sourceTree = SOURCE_ROOT; };
-               66374D7C1C54472A000B19D0 /* EZAudioOSX.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EZAudioOSX.framework; path = ../../../build/Debug/EZAudioOSX.framework; sourceTree = "<group>"; };
-               66374DF51C545328000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               66374D621C54456C000B19D0 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374D7D1C54472A000B19D0 /* EZAudioOSX.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               66374D5C1C54456C000B19D0 = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DF51C545328000B19D0 /* EZAudio.xcodeproj */,
-                               66374D671C54456C000B19D0 /* WaveformFromFile */,
-                               66374D791C544577000B19D0 /* Frameworks */,
-                               66374D661C54456C000B19D0 /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               66374D661C54456C000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D651C54456C000B19D0 /* WaveformFromFile.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               66374D671C54456C000B19D0 /* WaveformFromFile */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D7A1C544584000B19D0 /* simple-drum-beat.wav */,
-                               66374D681C54456C000B19D0 /* AppDelegate.h */,
-                               66374D691C54456C000B19D0 /* AppDelegate.m */,
-                               66374D6E1C54456C000B19D0 /* Assets.xcassets */,
-                               66374D701C54456C000B19D0 /* MainMenu.xib */,
-                               66374D731C54456C000B19D0 /* Info.plist */,
-                               66374D6B1C54456C000B19D0 /* Supporting Files */,
-                       );
-                       path = WaveformFromFile;
-                       sourceTree = "<group>";
-               };
-               66374D6B1C54456C000B19D0 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D6C1C54456C000B19D0 /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-               66374D791C544577000B19D0 /* Frameworks */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374D7C1C54472A000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Frameworks;
-                       sourceTree = "<group>";
-               };
-               66374DF61C545328000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374DFB1C545328000B19D0 /* EZAudioiOS.framework */,
-                               66374DFD1C545328000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               66374D641C54456C000B19D0 /* WaveformFromFile */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 66374D761C54456C000B19D0 /* Build configuration list for PBXNativeTarget "WaveformFromFile" */;
-                       buildPhases = (
-                               66374D611C54456C000B19D0 /* Sources */,
-                               66374D621C54456C000B19D0 /* Frameworks */,
-                               66374D631C54456C000B19D0 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                       );
-                       name = WaveformFromFile;
-                       productName = WaveformFromFile;
-                       productReference = 66374D651C54456C000B19D0 /* WaveformFromFile.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               66374D5D1C54456C000B19D0 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       66374D641C54456C000B19D0 = {
-                                               CreatedOnToolsVersion = 7.2;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 66374D601C54456C000B19D0 /* Build configuration list for PBXProject "WaveformFromFile" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               en,
-                               Base,
-                       );
-                       mainGroup = 66374D5C1C54456C000B19D0;
-                       productRefGroup = 66374D661C54456C000B19D0 /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374DF61C545328000B19D0 /* Products */;
-                                       ProjectRef = 66374DF51C545328000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               66374D641C54456C000B19D0 /* WaveformFromFile */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374DFB1C545328000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374DFA1C545328000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374DFD1C545328000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374DFC1C545328000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               66374D631C54456C000B19D0 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374D6F1C54456C000B19D0 /* Assets.xcassets in Resources */,
-                               66374D721C54456C000B19D0 /* MainMenu.xib in Resources */,
-                               66374D7B1C544584000B19D0 /* simple-drum-beat.wav in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               66374D611C54456C000B19D0 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374D6D1C54456C000B19D0 /* main.m in Sources */,
-                               66374D6A1C54456C000B19D0 /* AppDelegate.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
-               66374D701C54456C000B19D0 /* MainMenu.xib */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374D711C54456C000B19D0 /* Base */,
-                       );
-                       name = MainMenu.xib;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               66374D741C54456C000B19D0 /* 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 = "-";
-                               COPY_PHASE_STRIP = NO;
-                               DEBUG_INFORMATION_FORMAT = dwarf;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = macosx;
-                       };
-                       name = Debug;
-               };
-               66374D751C54456C000B19D0 /* 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 = "-";
-                               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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               MACOSX_DEPLOYMENT_TARGET = 10.8;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = macosx;
-                       };
-                       name = Release;
-               };
-               66374D771C54456C000B19D0 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               INFOPLIST_FILE = WaveformFromFile/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.WaveformFromFile;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               66374D781C54456C000B19D0 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               COMBINE_HIDPI_IMAGES = YES;
-                               INFOPLIST_FILE = WaveformFromFile/Info.plist;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.WaveformFromFile;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               66374D601C54456C000B19D0 /* Build configuration list for PBXProject "WaveformFromFile" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374D741C54456C000B19D0 /* Debug */,
-                               66374D751C54456C000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               66374D761C54456C000B19D0 /* Build configuration list for PBXNativeTarget "WaveformFromFile" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374D771C54456C000B19D0 /* Debug */,
-                               66374D781C54456C000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 66374D5D1C54456C000B19D0 /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index 919434a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:">
-   </FileRef>
-</Workspace>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/AppDelegate.h
deleted file mode 100644 (file)
index e406190..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-//
-//  AppDelegate.h
-//  WaveformFromFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Cocoa/Cocoa.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//
-// Here's the default audio file included with the example
-//
-#define kAudioFileDefault [[NSBundle mainBundle] pathForResource:@"simple-drum-beat" ofType:@"wav"]
-
-//------------------------------------------------------------------------------
-#pragma mark - AppDelegate
-//------------------------------------------------------------------------------
-
-@interface AppDelegate : NSObject <NSApplicationDelegate, NSOpenSavePanelDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-//
-// The EZAudioFile representing of the currently selected audio file
-//
-@property (nonatomic,strong) EZAudioFile *audioFile;
-
-//------------------------------------------------------------------------------
-
-//
-// The CoreGraphics based audio plot
-//
-@property (nonatomic,weak) IBOutlet EZAudioPlot *audioPlot;
-
-//
-// A label to display the current file path with the waveform shown
-//
-@property (nonatomic,weak) IBOutlet NSTextField *filePathLabel;
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-//
-// Prompts the file manager and loads in a new audio file into the
-// EZAudioFile representation.
-//
--(IBAction)openFile:(id)sender;
-
-//------------------------------------------------------------------------------
-
-//
-// Shows how to take a snapshot of the Core Graphics based waveform and save
-// it to the file path: ~/Documents/waveform.png
-//
--(IBAction)snapshot:(id)sender;
-
-//------------------------------------------------------------------------------
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/AppDelegate.m
deleted file mode 100644 (file)
index 74ba02f..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-//
-//  AppDelegate.m
-//  WaveformFromFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import "AppDelegate.h"
-
-@implementation AppDelegate
-
-//------------------------------------------------------------------------------
-#pragma mark - Customize the Audio Plot
-//------------------------------------------------------------------------------
-
--(void)applicationDidFinishLaunching:(NSNotification *)notification
-{
-    //
-    // Customizing the audio plot's look
-    //
-    
-    //
-    // Background color
-    //
-    self.audioPlot.backgroundColor = [NSColor colorWithCalibratedRed: 0.169 green: 0.643 blue: 0.675 alpha: 1];
-    
-    //
-    // Waveform color
-    //
-    self.audioPlot.color           = [NSColor colorWithCalibratedRed: 1.000 green: 1.000 blue: 1.000 alpha: 1];
-    
-    //
-    // Plot type
-    //
-    self.audioPlot.plotType        = EZPlotTypeBuffer;
-    
-    //
-    // Fill
-    //
-    self.audioPlot.shouldFill      = YES;
-    
-    //
-    // Mirror
-    //
-    self.audioPlot.shouldMirror    = YES;
-    
-    //
-    // Don't optimze for real-time because we don't need to re-render
-    // the view 60 frames per second
-    //
-    self.audioPlot.shouldOptimizeForRealtimePlot = NO;
-    
-    //
-    // Customize the layer with a shadow for fun
-    //
-    self.audioPlot.waveformLayer.shadowOffset = CGSizeMake(0.0, -1.0);
-    self.audioPlot.waveformLayer.shadowRadius = 0.0;
-    self.audioPlot.waveformLayer.shadowColor = [NSColor colorWithCalibratedRed: 0.069 green: 0.543 blue: 0.575 alpha: 1].CGColor;
-    self.audioPlot.waveformLayer.shadowOpacity = 1.0;
-    
-    //
-    // Open the default file included with the example
-    //
-    [self openFileWithFilePathURL:[NSURL fileURLWithPath:kAudioFileDefault]];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)openFile:(id)sender
-{
-    NSOpenPanel *openDlg = [NSOpenPanel openPanel];
-    openDlg.canChooseFiles = YES;
-    openDlg.canChooseDirectories = NO;
-    openDlg.delegate = self;
-    if ([openDlg runModal] == NSModalResponseOK)
-    {
-        NSArray *selectedFiles = [openDlg URLs];
-        [self openFileWithFilePathURL:selectedFiles.firstObject];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)snapshot:(id)sender
-{
-    NSBitmapImageRep *imageRep = [self.audioPlot bitmapImageRepForCachingDisplayInRect:self.audioPlot.bounds];
-    [self.audioPlot cacheDisplayInRect:self.audioPlot.bounds toBitmapImageRep:imageRep];
-    NSData *data = [imageRep representationUsingType:NSPNGFileType properties:@{}];
-    NSString *filePath = [NSString stringWithFormat:@"%@/Documents/waveform.png",NSHomeDirectory()];
-    [data writeToFile:filePath atomically:NO];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Action Extensions
-//------------------------------------------------------------------------------
-
-- (void)openFileWithFilePathURL:(NSURL*)filePathURL
-{
-    //
-    // Load the audio file and customize the UI
-    //
-    self.audioFile                 = [EZAudioFile audioFileWithURL:filePathURL];
-    self.filePathLabel.stringValue = filePathURL.lastPathComponent;
-    
-    //
-    // Change back to a buffer plot, but mirror and fill the waveform
-    //
-    self.audioPlot.plotType     = EZPlotTypeBuffer;
-    self.audioPlot.shouldFill   = YES;
-    self.audioPlot.shouldMirror = YES;
-    [CATransaction begin];
-    [CATransaction setAnimationDuration:0.11f];
-    [self.audioPlot clear];
-    [CATransaction commit];
-    
-    //
-    // Plot the whole waveform
-    //
-    __weak typeof (self) weakSelf = self;
-    [self.audioFile getWaveformDataWithNumberOfPoints:1024
-                                           completion:^(float **waveformData,
-                                                        int length)
-     {
-         [weakSelf.audioPlot updateBuffer:waveformData[0]
-                           withBufferSize:length];
-     }];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - NSOpenSavePanelDelegate
-//------------------------------------------------------------------------------
-
-//
-// Here's an example how to filter the open panel to only show the supported
-// file types by the EZAudioFile (which are just the audio file types supported
-// by Core Audio).
-//
-- (BOOL)panel:(id)sender shouldShowFilename:(NSString *)filename
-{
-    NSString *ext = [filename pathExtension];
-    NSArray *fileTypes = [EZAudioFile supportedAudioFileTypes];
-    BOOL isDirectory = [ext isEqualToString:@""];
-    return [fileTypes containsObject:ext] || isDirectory;
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index 7cd4f8e..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "16x16",
-      "idiom" : "mac",
-      "filename" : "icon_16x16@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "32x32",
-      "idiom" : "mac",
-      "filename" : "icon_32x32@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "128x128",
-      "idiom" : "mac",
-      "filename" : "icon_128x128@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "256x256",
-      "idiom" : "mac",
-      "filename" : "icon_256x256@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "512x512",
-      "idiom" : "mac",
-      "filename" : "icon_512x512@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_128x128.png b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_128x128.png
deleted file mode 100644 (file)
index 875ffe4..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_128x128.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png
deleted file mode 100644 (file)
index 7d3f830..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_16x16.png b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_16x16.png
deleted file mode 100644 (file)
index acde600..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_16x16.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png
deleted file mode 100644 (file)
index 870949b..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_256x256.png b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_256x256.png
deleted file mode 100644 (file)
index 7d3f830..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_256x256.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png
deleted file mode 100644 (file)
index 94372ce..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_32x32.png b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_32x32.png
deleted file mode 100644 (file)
index 870949b..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_32x32.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png
deleted file mode 100644 (file)
index e74ec88..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_512x512.png b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_512x512.png
deleted file mode 100644 (file)
index 94372ce..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_512x512.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png
deleted file mode 100644 (file)
index a56c812..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Base.lproj/MainMenu.xib b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Base.lproj/MainMenu.xib
deleted file mode 100644 (file)
index d927fc8..0000000
+++ /dev/null
@@ -1,753 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
-        <capability name="box content view" minToolsVersion="7.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
-            <connections>
-                <outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customObject id="Voe-Tx-rLC" customClass="AppDelegate">
-            <connections>
-                <outlet property="audioPlot" destination="wWu-i2-gfx" id="4qa-dp-6Na"/>
-                <outlet property="filePathLabel" destination="xUE-kw-cPJ" id="hSG-ND-bQK"/>
-            </connections>
-        </customObject>
-        <customObject id="YLy-65-1bz" customClass="NSFontManager"/>
-        <menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
-            <items>
-                <menuItem title="WaveformFromFile" id="1Xt-HY-uBw">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="WaveformFromFile" systemMenu="apple" id="uQy-DD-JDr">
-                        <items>
-                            <menuItem title="About WaveformFromFile" id="5kV-Vb-QxS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
-                            <menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
-                            <menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
-                            <menuItem title="Services" id="NMo-om-nkz">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
-                            <menuItem title="Hide WaveformFromFile" keyEquivalent="h" id="Olw-nP-bQN">
-                                <connections>
-                                    <action selector="hide:" target="-1" id="PnN-Uc-m68"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Show All" id="Kd2-mp-pUS">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
-                            <menuItem title="Quit WaveformFromFile" keyEquivalent="q" id="4sb-4s-VLi">
-                                <connections>
-                                    <action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="File" id="dMs-cI-mzQ">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="File" id="bib-Uj-vzu">
-                        <items>
-                            <menuItem title="New" keyEquivalent="n" id="Was-JA-tGl">
-                                <connections>
-                                    <action selector="newDocument:" target="-1" id="4Si-XN-c54"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open…" keyEquivalent="o" id="IAo-SY-fd9">
-                                <connections>
-                                    <action selector="openDocument:" target="-1" id="bVn-NM-KNZ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Open Recent" id="tXI-mr-wws">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="oas-Oc-fiZ">
-                                    <items>
-                                        <menuItem title="Clear Menu" id="vNY-rz-j42">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="clearRecentDocuments:" target="-1" id="Daa-9d-B3U"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="m54-Is-iLE"/>
-                            <menuItem title="Close" keyEquivalent="w" id="DVo-aG-piG">
-                                <connections>
-                                    <action selector="performClose:" target="-1" id="HmO-Ls-i7Q"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save…" keyEquivalent="s" id="pxx-59-PXV">
-                                <connections>
-                                    <action selector="saveDocument:" target="-1" id="teZ-XB-qJY"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Save As…" keyEquivalent="S" id="Bw7-FT-i3A">
-                                <connections>
-                                    <action selector="saveDocumentAs:" target="-1" id="mDf-zr-I0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Revert to Saved" id="KaW-ft-85H">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="revertDocumentToSaved:" target="-1" id="iJ3-Pv-kwq"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="aJh-i4-bef"/>
-                            <menuItem title="Page Setup…" keyEquivalent="P" id="qIS-W8-SiK">
-                                <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
-                                <connections>
-                                    <action selector="runPageLayout:" target="-1" id="Din-rz-gC5"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Print…" keyEquivalent="p" id="aTl-1u-JFS">
-                                <connections>
-                                    <action selector="print:" target="-1" id="qaZ-4w-aoO"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Edit" id="5QF-Oa-p0T">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Edit" id="W48-6f-4Dl">
-                        <items>
-                            <menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
-                                <connections>
-                                    <action selector="undo:" target="-1" id="M6e-cu-g7V"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
-                                <connections>
-                                    <action selector="redo:" target="-1" id="oIA-Rs-6OD"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
-                            <menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
-                                <connections>
-                                    <action selector="cut:" target="-1" id="YJe-68-I9s"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
-                                <connections>
-                                    <action selector="copy:" target="-1" id="G1f-GL-Joy"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
-                                <connections>
-                                    <action selector="paste:" target="-1" id="UvS-8e-Qdg"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Delete" id="pa3-QI-u2k">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="delete:" target="-1" id="0Mk-Ml-PaM"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
-                                <connections>
-                                    <action selector="selectAll:" target="-1" id="VNm-Mi-diN"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
-                            <menuItem title="Find" id="4EN-yA-p0u">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Find" id="1b7-l0-nxx">
-                                    <items>
-                                        <menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
-                                            <connections>
-                                                <action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
-                                            <connections>
-                                                <action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
-                                    <items>
-                                        <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
-                                            <connections>
-                                                <action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
-                                            <connections>
-                                                <action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
-                                        <menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Substitutions" id="9ic-FL-obx">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
-                                    <items>
-                                        <menuItem title="Show Substitutions" id="z6F-FW-3nz">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
-                                        <menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Quotes" id="hQb-2v-fYv">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Dashes" id="rgM-f4-ycn">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smart Links" id="cwL-P1-jid">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Data Detectors" id="tRr-pd-1PS">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Text Replacement" id="HFQ-gK-NFA">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Transformations" id="2oI-Rn-ZJC">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Transformations" id="c8a-y6-VQd">
-                                    <items>
-                                        <menuItem title="Make Upper Case" id="vmV-6d-7jI">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Make Lower Case" id="d9M-CD-aMd">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Capitalize" id="UEZ-Bs-lqG">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Speech" id="xrE-MZ-jX0">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Speech" id="3rS-ZA-NoH">
-                                    <items>
-                                        <menuItem title="Start Speaking" id="Ynk-f8-cLZ">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Stop Speaking" id="Oyz-dy-DGm">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Format" id="jxT-CU-nIS">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Format" id="GEO-Iw-cKr">
-                        <items>
-                            <menuItem title="Font" id="Gi5-1S-RQB">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq">
-                                    <items>
-                                        <menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq">
-                                            <connections>
-                                                <action selector="orderFrontFontPanel:" target="YLy-65-1bz" id="WHr-nq-2xA"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="hqk-hr-sYV"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq">
-                                            <connections>
-                                                <action selector="addFontTrait:" target="YLy-65-1bz" id="IHV-OB-c03"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S">
-                                            <connections>
-                                                <action selector="underline:" target="-1" id="FYS-2b-JAY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/>
-                                        <menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="Uc7-di-UnL"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST">
-                                            <connections>
-                                                <action selector="modifyFont:" target="YLy-65-1bz" id="HcX-Lf-eNd"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/>
-                                        <menuItem title="Kern" id="jBQ-r6-VK2">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Kern" id="tlD-Oa-oAM">
-                                                <items>
-                                                    <menuItem title="Use Default" id="GUa-eO-cwY">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardKerning:" target="-1" id="6dk-9l-Ckg"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="cDB-IK-hbR">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffKerning:" target="-1" id="U8a-gz-Maa"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Tighten" id="46P-cB-AYj">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="tightenKerning:" target="-1" id="hr7-Nz-8ro"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Loosen" id="ogc-rX-tC1">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="loosenKerning:" target="-1" id="8i4-f9-FKE"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Ligatures" id="o6e-r0-MWq">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Ligatures" id="w0m-vy-SC9">
-                                                <items>
-                                                    <menuItem title="Use Default" id="agt-UL-0e3">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useStandardLigatures:" target="-1" id="7uR-wd-Dx6"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use None" id="J7y-lM-qPV">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="turnOffLigatures:" target="-1" id="iX2-gA-Ilz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Use All" id="xQD-1f-W4t">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="useAllLigatures:" target="-1" id="KcB-kA-TuK"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem title="Baseline" id="OaQ-X3-Vso">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Baseline" id="ijk-EB-dga">
-                                                <items>
-                                                    <menuItem title="Use Default" id="3Om-Ey-2VK">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="unscript:" target="-1" id="0vZ-95-Ywn"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Superscript" id="Rqc-34-cIF">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="superscript:" target="-1" id="3qV-fo-wpU"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Subscript" id="I0S-gh-46l">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="subscript:" target="-1" id="Q6W-4W-IGz"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Raise" id="2h7-ER-AoG">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="raiseBaseline:" target="-1" id="4sk-31-7Q9"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem title="Lower" id="1tx-W0-xDw">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="lowerBaseline:" target="-1" id="OF1-bc-KW4"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/>
-                                        <menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk">
-                                            <connections>
-                                                <action selector="orderFrontColorPanel:" target="-1" id="mSX-Xz-DV3"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/>
-                                        <menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyFont:" target="-1" id="GJO-xA-L4q"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH">
-                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteFont:" target="-1" id="JfD-CL-leO"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="Text" id="Fal-I4-PZk">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Text" id="d9c-me-L2H">
-                                    <items>
-                                        <menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1">
-                                            <connections>
-                                                <action selector="alignLeft:" target="-1" id="zUv-R1-uAa"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb">
-                                            <connections>
-                                                <action selector="alignCenter:" target="-1" id="spX-mk-kcS"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Justify" id="J5U-5w-g23">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="alignJustified:" target="-1" id="ljL-7U-jND"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4">
-                                            <connections>
-                                                <action selector="alignRight:" target="-1" id="r48-bG-YeY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/>
-                                        <menuItem title="Writing Direction" id="H1b-Si-o9J">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd">
-                                                <items>
-                                                    <menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="YGs-j5-SAR">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionNatural:" target="-1" id="qtV-5e-UBP"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="Lbh-J2-qVU">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionLeftToRight:" target="-1" id="S0X-9S-QSf"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="jFq-tB-4Kx">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeBaseWritingDirectionRightToLeft:" target="-1" id="5fk-qB-AqJ"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem isSeparatorItem="YES" id="swp-gr-a21"/>
-                                                    <menuItem title="Selection" enabled="NO" id="cqv-fj-IhA">
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                    </menuItem>
-                                                    <menuItem id="Nop-cj-93Q">
-                                                        <string key="title">   Default</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionNatural:" target="-1" id="lPI-Se-ZHp"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="BgM-ve-c93">
-                                                        <string key="title">   Left to Right</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionLeftToRight:" target="-1" id="caW-Bv-w94"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                    <menuItem id="RB4-Sm-HuC">
-                                                        <string key="title">   Right to Left</string>
-                                                        <modifierMask key="keyEquivalentModifierMask"/>
-                                                        <connections>
-                                                            <action selector="makeTextWritingDirectionRightToLeft:" target="-1" id="EXD-6r-ZUu"/>
-                                                        </connections>
-                                                    </menuItem>
-                                                </items>
-                                            </menu>
-                                        </menuItem>
-                                        <menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/>
-                                        <menuItem title="Show Ruler" id="vLm-3I-IUL">
-                                            <modifierMask key="keyEquivalentModifierMask"/>
-                                            <connections>
-                                                <action selector="toggleRuler:" target="-1" id="FOx-HJ-KwY"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="copyRuler:" target="-1" id="71i-fW-3W2"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI">
-                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
-                                            <connections>
-                                                <action selector="pasteRuler:" target="-1" id="cSh-wd-qM2"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="View" id="H8h-7b-M4v">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="View" id="HyV-fh-RgO">
-                        <items>
-                            <menuItem title="Show Toolbar" keyEquivalent="t" id="snW-S8-Cw5">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="toggleToolbarShown:" target="-1" id="BXY-wc-z0C"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Customize Toolbar…" id="1UK-8n-QPP">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="runToolbarCustomizationPalette:" target="-1" id="pQI-g3-MTW"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Window" id="aUF-d1-5bR">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
-                        <items>
-                            <menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
-                                <connections>
-                                    <action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="Zoom" id="R4o-n2-Eq4">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
-                            <menuItem title="Bring All to Front" id="LE2-aR-0XJ">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="Help" id="wpr-3q-Mcd">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
-                        <items>
-                            <menuItem title="WaveformFromFile Help" keyEquivalent="?" id="FKE-Sm-Kum">
-                                <connections>
-                                    <action selector="showHelp:" target="-1" id="y7X-2Q-9no"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-            </items>
-        </menu>
-        <window title="WaveformFromFile" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g">
-            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
-            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
-            <rect key="contentRect" x="335" y="390" width="480" height="272"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
-            <view key="contentView" id="EiT-Mj-1SZ">
-                <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-                <autoresizingMask key="autoresizingMask"/>
-                <subviews>
-                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="wWu-i2-gfx" customClass="EZAudioPlot">
-                        <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-                    </customView>
-                    <box autoresizesSubviews="NO" title="Box" boxType="custom" borderType="none" translatesAutoresizingMaskIntoConstraints="NO" id="35n-dI-jo8">
-                        <rect key="frame" x="0.0" y="193" width="480" height="79"/>
-                        <view key="contentView" id="aHo-lW-LwP">
-                            <rect key="frame" x="0.0" y="0.0" width="480" height="79"/>
-                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                            <subviews>
-                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FyZ-hg-zJA">
-                                    <rect key="frame" x="10" y="11" width="125" height="32"/>
-                                    <constraints>
-                                        <constraint firstAttribute="width" constant="113" id="gOe-fe-PD7"/>
-                                    </constraints>
-                                    <buttonCell key="cell" type="push" title="Choose File..." bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="1u5-j4-dun">
-                                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                        <font key="font" metaFont="system"/>
-                                    </buttonCell>
-                                    <connections>
-                                        <action selector="openFile:" target="Voe-Tx-rLC" id="qt7-92-VqV"/>
-                                    </connections>
-                                </button>
-                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xUE-kw-cPJ">
-                                    <rect key="frame" x="137" y="22" width="213" height="17"/>
-                                    <textFieldCell key="cell" lineBreakMode="truncatingMiddle" sendsActionOnEndEditing="YES" title="Label" id="93q-MH-Out">
-                                        <font key="font" metaFont="system"/>
-                                        <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                    </textFieldCell>
-                                </textField>
-                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="M2c-aD-7AV">
-                                    <rect key="frame" x="371" y="11" width="97" height="32"/>
-                                    <constraints>
-                                        <constraint firstAttribute="width" constant="85" id="u6w-Ck-tSd"/>
-                                    </constraints>
-                                    <buttonCell key="cell" type="push" title="Snapshot" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="lq9-JI-AQM">
-                                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                        <font key="font" metaFont="system"/>
-                                    </buttonCell>
-                                    <connections>
-                                        <action selector="snapshot:" target="Voe-Tx-rLC" id="7Rk-D5-8ZU"/>
-                                    </connections>
-                                </button>
-                            </subviews>
-                        </view>
-                        <constraints>
-                            <constraint firstItem="FyZ-hg-zJA" firstAttribute="leading" secondItem="35n-dI-jo8" secondAttribute="leading" constant="16" id="0Nf-ju-Ooy"/>
-                            <constraint firstItem="M2c-aD-7AV" firstAttribute="leading" secondItem="xUE-kw-cPJ" secondAttribute="trailing" constant="29" id="2zR-EJ-yKQ"/>
-                            <constraint firstAttribute="trailing" secondItem="M2c-aD-7AV" secondAttribute="trailing" constant="18" id="OaL-o8-wbY"/>
-                            <constraint firstItem="M2c-aD-7AV" firstAttribute="baseline" secondItem="FyZ-hg-zJA" secondAttribute="baseline" id="RCg-tc-Eda"/>
-                            <constraint firstItem="M2c-aD-7AV" firstAttribute="centerY" secondItem="35n-dI-jo8" secondAttribute="centerY" constant="11" id="Sn5-Dr-4Wg"/>
-                            <constraint firstItem="xUE-kw-cPJ" firstAttribute="top" secondItem="M2c-aD-7AV" secondAttribute="top" id="eep-aR-TkC"/>
-                            <constraint firstItem="xUE-kw-cPJ" firstAttribute="leading" secondItem="FyZ-hg-zJA" secondAttribute="trailing" constant="10" id="peo-ON-FoN"/>
-                            <constraint firstItem="FyZ-hg-zJA" firstAttribute="top" secondItem="35n-dI-jo8" secondAttribute="top" constant="40" id="zH3-BX-Yqk"/>
-                        </constraints>
-                        <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
-                        <color key="fillColor" red="0.0" green="0.0" blue="0.0" alpha="0.69999999999999996" colorSpace="calibratedRGB"/>
-                    </box>
-                </subviews>
-                <constraints>
-                    <constraint firstItem="wWu-i2-gfx" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" id="FOl-di-e3N"/>
-                    <constraint firstAttribute="bottom" secondItem="wWu-i2-gfx" secondAttribute="bottom" id="Ime-jJ-td6"/>
-                    <constraint firstItem="35n-dI-jo8" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" id="b2e-Sq-14T"/>
-                    <constraint firstAttribute="trailing" secondItem="35n-dI-jo8" secondAttribute="trailing" id="k4X-fk-Nkv"/>
-                    <constraint firstAttribute="trailing" secondItem="wWu-i2-gfx" secondAttribute="trailing" id="lvU-Sq-l8S"/>
-                    <constraint firstItem="wWu-i2-gfx" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" id="qmz-Ws-uxi"/>
-                    <constraint firstItem="35n-dI-jo8" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" id="sSt-Wg-uN6"/>
-                </constraints>
-            </view>
-            <point key="canvasLocation" x="235" y="358"/>
-        </window>
-    </objects>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Info.plist b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/Info.plist
deleted file mode 100644 (file)
index 1af7e37..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>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 © 2016 Syed Haris Ali. All rights reserved.</string>
-       <key>NSMainNibFile</key>
-       <string>MainMenu</string>
-       <key>NSPrincipalClass</key>
-       <string>NSApplication</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/main.m b/document/EZAudio-master/EZAudioExamples/OSX/WaveformFromFile/WaveformFromFile/main.m
deleted file mode 100644 (file)
index 4c8787a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-//  main.m
-//  WaveformFromFile
-//
-//  Created by Syed Haris Ali on 1/23/16.
-//  Copyright © 2016 Syed Haris Ali. All rights reserved.
-//
-
-#import <Cocoa/Cocoa.h>
-
-int main(int argc, const char * argv[]) {
-    return NSApplicationMain(argc, argv);
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index 356802e..0000000
+++ /dev/null
@@ -1,414 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               66374E1C1C545A8A000B19D0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374E1B1C545A8A000B19D0 /* main.m */; };
-               66374E1F1C545A8A000B19D0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374E1E1C545A8A000B19D0 /* AppDelegate.m */; };
-               66374E221C545A8A000B19D0 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374E211C545A8A000B19D0 /* ViewController.m */; };
-               66374E251C545A8A000B19D0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374E231C545A8A000B19D0 /* Main.storyboard */; };
-               66374E271C545A8A000B19D0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 66374E261C545A8A000B19D0 /* Assets.xcassets */; };
-               66374E2A1C545A8A000B19D0 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374E281C545A8A000B19D0 /* LaunchScreen.storyboard */; };
-               66374F611C5464F4000B19D0 /* EZAudioiOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F3F1C545B59000B19D0 /* EZAudioiOS.framework */; };
-               66374F621C5464F4000B19D0 /* EZAudioiOS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F3F1C545B59000B19D0 /* EZAudioiOS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374F3E1C545B59000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F391C545B59000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374F401C545B59000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F391C545B59000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-               66374F5E1C5464C3000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F391C545B59000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 469F4CF21B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374F631C5464F4000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F391C545B59000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 469F4CF21B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXCopyFilesBuildPhase section */
-               66374F651C5464F4000B19D0 /* Embed Frameworks */ = {
-                       isa = PBXCopyFilesBuildPhase;
-                       buildActionMask = 2147483647;
-                       dstPath = "";
-                       dstSubfolderSpec = 10;
-                       files = (
-                               66374F621C5464F4000B19D0 /* EZAudioiOS.framework in Embed Frameworks */,
-                       );
-                       name = "Embed Frameworks";
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
-               66374E171C545A8A000B19D0 /* CoreGraphicsWaveform.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CoreGraphicsWaveform.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               66374E1B1C545A8A000B19D0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = main.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
-               66374E1D1C545A8A000B19D0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = AppDelegate.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
-               66374E1E1C545A8A000B19D0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = AppDelegate.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
-               66374E201C545A8A000B19D0 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = ViewController.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
-               66374E211C545A8A000B19D0 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = ViewController.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
-               66374E241C545A8A000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
-               66374E261C545A8A000B19D0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               66374E291C545A8A000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
-               66374E2B1C545A8A000B19D0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               66374F391C545B59000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               66374E141C545A8A000B19D0 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374F611C5464F4000B19D0 /* EZAudioiOS.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               66374E0E1C545A8A000B19D0 = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F391C545B59000B19D0 /* EZAudio.xcodeproj */,
-                               66374E191C545A8A000B19D0 /* CoreGraphicsWaveform */,
-                               66374E181C545A8A000B19D0 /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               66374E181C545A8A000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374E171C545A8A000B19D0 /* CoreGraphicsWaveform.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               66374E191C545A8A000B19D0 /* CoreGraphicsWaveform */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374E1D1C545A8A000B19D0 /* AppDelegate.h */,
-                               66374E1E1C545A8A000B19D0 /* AppDelegate.m */,
-                               66374E201C545A8A000B19D0 /* ViewController.h */,
-                               66374E211C545A8A000B19D0 /* ViewController.m */,
-                               66374E231C545A8A000B19D0 /* Main.storyboard */,
-                               66374E261C545A8A000B19D0 /* Assets.xcassets */,
-                               66374E281C545A8A000B19D0 /* LaunchScreen.storyboard */,
-                               66374E2B1C545A8A000B19D0 /* Info.plist */,
-                               66374E1A1C545A8A000B19D0 /* Supporting Files */,
-                       );
-                       path = CoreGraphicsWaveform;
-                       sourceTree = "<group>";
-               };
-               66374E1A1C545A8A000B19D0 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374E1B1C545A8A000B19D0 /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-               66374F3A1C545B59000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F3F1C545B59000B19D0 /* EZAudioiOS.framework */,
-                               66374F411C545B59000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               66374E161C545A8A000B19D0 /* CoreGraphicsWaveform */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 66374E2E1C545A8A000B19D0 /* Build configuration list for PBXNativeTarget "CoreGraphicsWaveform" */;
-                       buildPhases = (
-                               66374E131C545A8A000B19D0 /* Sources */,
-                               66374E141C545A8A000B19D0 /* Frameworks */,
-                               66374E151C545A8A000B19D0 /* Resources */,
-                               66374F651C5464F4000B19D0 /* Embed Frameworks */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               66374F5F1C5464C3000B19D0 /* PBXTargetDependency */,
-                               66374F641C5464F4000B19D0 /* PBXTargetDependency */,
-                       );
-                       name = CoreGraphicsWaveform;
-                       productName = CoreGraphicsWaveform;
-                       productReference = 66374E171C545A8A000B19D0 /* CoreGraphicsWaveform.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               66374E0F1C545A8A000B19D0 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       66374E161C545A8A000B19D0 = {
-                                               CreatedOnToolsVersion = 7.2;
-                                               DevelopmentTeam = M33X987285;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 66374E121C545A8A000B19D0 /* Build configuration list for PBXProject "CoreGraphicsWaveform" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               English,
-                               en,
-                               Base,
-                       );
-                       mainGroup = 66374E0E1C545A8A000B19D0;
-                       productRefGroup = 66374E181C545A8A000B19D0 /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374F3A1C545B59000B19D0 /* Products */;
-                                       ProjectRef = 66374F391C545B59000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               66374E161C545A8A000B19D0 /* CoreGraphicsWaveform */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374F3F1C545B59000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374F3E1C545B59000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374F411C545B59000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374F401C545B59000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               66374E151C545A8A000B19D0 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374E2A1C545A8A000B19D0 /* LaunchScreen.storyboard in Resources */,
-                               66374E271C545A8A000B19D0 /* Assets.xcassets in Resources */,
-                               66374E251C545A8A000B19D0 /* Main.storyboard in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               66374E131C545A8A000B19D0 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374E221C545A8A000B19D0 /* ViewController.m in Sources */,
-                               66374E1F1C545A8A000B19D0 /* AppDelegate.m in Sources */,
-                               66374E1C1C545A8A000B19D0 /* main.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-               66374F5F1C5464C3000B19D0 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = EZAudioiOS;
-                       targetProxy = 66374F5E1C5464C3000B19D0 /* PBXContainerItemProxy */;
-               };
-               66374F641C5464F4000B19D0 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = EZAudioiOS;
-                       targetProxy = 66374F631C5464F4000B19D0 /* PBXContainerItemProxy */;
-               };
-/* End PBXTargetDependency section */
-
-/* Begin PBXVariantGroup section */
-               66374E231C545A8A000B19D0 /* Main.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374E241C545A8A000B19D0 /* Base */,
-                       );
-                       name = Main.storyboard;
-                       sourceTree = "<group>";
-               };
-               66374E281C545A8A000B19D0 /* LaunchScreen.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374E291C545A8A000B19D0 /* Base */,
-                       );
-                       name = LaunchScreen.storyboard;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               66374E2C1C545A8A000B19D0 /* 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;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                       };
-                       name = Debug;
-               };
-               66374E2D1C545A8A000B19D0 /* 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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                       };
-                       name = Release;
-               };
-               66374E2F1C545A8A000B19D0 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = CoreGraphicsWaveform/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.CoreGraphicsWaveform;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               66374E301C545A8A000B19D0 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = CoreGraphicsWaveform/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.CoreGraphicsWaveform;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               66374E121C545A8A000B19D0 /* Build configuration list for PBXProject "CoreGraphicsWaveform" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374E2C1C545A8A000B19D0 /* Debug */,
-                               66374E2D1C545A8A000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               66374E2E1C545A8A000B19D0 /* Build configuration list for PBXNativeTarget "CoreGraphicsWaveform" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374E2F1C545A8A000B19D0 /* Debug */,
-                               66374E301C545A8A000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 66374E0F1C545A8A000B19D0 /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index 919434a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:">
-   </FileRef>
-</Workspace>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/AppDelegate.h
deleted file mode 100644 (file)
index 47be951..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  AppDelegate.h
-//  CoreGraphicsWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-@interface AppDelegate : UIResponder <UIApplicationDelegate>
-
-@property (strong, nonatomic) UIWindow *window;
-
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/AppDelegate.m
deleted file mode 100644 (file)
index 4ed18b3..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-//  AppDelegate.m
-//  CoreGraphicsWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "AppDelegate.h"
-
-@interface AppDelegate ()
-
-@end
-
-@implementation AppDelegate
-
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
-    // Override point for customization after application launch.
-    return YES;
-}
-
-- (void)applicationWillResignActive:(UIApplication *)application {
-    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
-    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application {
-    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
-    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application {
-    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application {
-    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application {
-    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index a4b3297..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "83.5x83.5",
-      "idiom" : "ipad",
-      "filename" : "Icon-83.5@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40.png
deleted file mode 100644 (file)
index 4610d44..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png
deleted file mode 100644 (file)
index 65799d7..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png
deleted file mode 100644 (file)
index e64e882..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png
deleted file mode 100644 (file)
index e64e882..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png
deleted file mode 100644 (file)
index 055770a..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72.png
deleted file mode 100644 (file)
index 79ff5d3..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png
deleted file mode 100644 (file)
index a0a9187..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76.png
deleted file mode 100644 (file)
index b0d8d99..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png
deleted file mode 100644 (file)
index a32fab3..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png
deleted file mode 100644 (file)
index 80641b2..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png
deleted file mode 100644 (file)
index 155061c..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png
deleted file mode 100644 (file)
index ce48ae8..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small.png
deleted file mode 100644 (file)
index 77c189a..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png
deleted file mode 100644 (file)
index fae2a98..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png
deleted file mode 100644 (file)
index 0a5f827..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon.png
deleted file mode 100644 (file)
index 00d9c74..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon@2x.png
deleted file mode 100644 (file)
index c3bea9e..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/AppIcon.appiconset/Icon@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Base.lproj/LaunchScreen.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644 (file)
index 2e721e1..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8150" systemVersion="15A204g" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8122"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="EHf-IW-A2E">
-            <objects>
-                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
-                        <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <animations/>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="53" y="375"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Base.lproj/Main.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Base.lproj/Main.storyboard
deleted file mode 100644 (file)
index 2f342c6..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="VVE-1A-cqe">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
-        <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="rfa-Yl-ZLy">
-            <objects>
-                <viewController id="VVE-1A-cqe" customClass="ViewController" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="roL-rP-TbW"/>
-                        <viewControllerLayoutGuide type="bottom" id="Vyk-X1-klK"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="jGo-0u-sSj">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Rzq-Yi-IN7" customClass="EZAudioPlot">
-                                <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                            </view>
-                            <segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="LOY-0w-MaL">
-                                <rect key="frame" x="16" y="520" width="157" height="29"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="157" id="LbH-hf-3te"/>
-                                </constraints>
-                                <segments>
-                                    <segment title="Buffer"/>
-                                    <segment title="Rolling"/>
-                                </segments>
-                                <color key="tintColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                <connections>
-                                    <action selector="changePlotType:" destination="VVE-1A-cqe" eventType="valueChanged" id="s2D-Ub-Ghc"/>
-                                </connections>
-                            </segmentedControl>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" showsTouchWhenHighlighted="YES" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="oDc-7s-ORm">
-                                <rect key="frame" x="16" y="556" width="568" height="28"/>
-                                <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                <color key="tintColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                <state key="normal" title="Change Microphone Input">
-                                    <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
-                                </state>
-                                <connections>
-                                    <action selector="toggleMicrophonePickerView:" destination="VVE-1A-cqe" eventType="touchUpInside" id="87u-5U-uoh"/>
-                                </connections>
-                            </button>
-                            <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3Qr-bd-WoG">
-                                <rect key="frame" x="16" y="479" width="51" height="31"/>
-                                <color key="onTintColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                <connections>
-                                    <action selector="toggleMicrophone:" destination="VVE-1A-cqe" eventType="touchUpInside" id="WgY-ud-zXC"/>
-                                </connections>
-                            </switch>
-                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CmL-jc-Qh5">
-                                <rect key="frame" x="73" y="487" width="33" height="16"/>
-                                <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                <color key="textColor" red="1" green="1" blue="1" alpha="0.90000000000000002" colorSpace="calibratedRGB"/>
-                                <nil key="highlightedColor"/>
-                            </label>
-                            <pickerView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1MI-Rk-5WN">
-                                <rect key="frame" x="0.0" y="-216" width="600" height="216"/>
-                                <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                            </pickerView>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                        <constraints>
-                            <constraint firstItem="Rzq-Yi-IN7" firstAttribute="leading" secondItem="jGo-0u-sSj" secondAttribute="leading" id="3B2-cv-QVs"/>
-                            <constraint firstItem="LOY-0w-MaL" firstAttribute="top" secondItem="3Qr-bd-WoG" secondAttribute="bottom" constant="10" id="4wF-gJ-pgC"/>
-                            <constraint firstItem="LOY-0w-MaL" firstAttribute="leading" secondItem="jGo-0u-sSj" secondAttribute="leading" constant="16" id="5mE-di-oUa"/>
-                            <constraint firstAttribute="trailing" secondItem="Rzq-Yi-IN7" secondAttribute="trailing" id="6Sb-Bo-0wK"/>
-                            <constraint firstItem="Vyk-X1-klK" firstAttribute="top" secondItem="Rzq-Yi-IN7" secondAttribute="bottom" id="8Sc-T9-Q3z"/>
-                            <constraint firstItem="LOY-0w-MaL" firstAttribute="top" secondItem="CmL-jc-Qh5" secondAttribute="bottom" constant="17" id="BXP-tk-dIP"/>
-                            <constraint firstItem="Rzq-Yi-IN7" firstAttribute="top" secondItem="1MI-Rk-5WN" secondAttribute="bottom" id="H5y-KA-GCk"/>
-                            <constraint firstAttribute="trailing" secondItem="1MI-Rk-5WN" secondAttribute="trailing" id="H9a-Kc-oAK"/>
-                            <constraint firstItem="Vyk-X1-klK" firstAttribute="top" secondItem="oDc-7s-ORm" secondAttribute="bottom" constant="16" id="L3n-Xr-76Y"/>
-                            <constraint firstItem="3Qr-bd-WoG" firstAttribute="leading" secondItem="jGo-0u-sSj" secondAttribute="leading" constant="16" id="QIz-pt-XLo"/>
-                            <constraint firstItem="oDc-7s-ORm" firstAttribute="top" secondItem="LOY-0w-MaL" secondAttribute="bottom" constant="8" id="QWe-rK-vQh"/>
-                            <constraint firstAttribute="trailing" secondItem="oDc-7s-ORm" secondAttribute="trailing" constant="16" id="YKg-xa-iHD"/>
-                            <constraint firstItem="CmL-jc-Qh5" firstAttribute="leading" secondItem="3Qr-bd-WoG" secondAttribute="trailing" constant="8" symbolic="YES" id="gUA-Bq-3bf"/>
-                            <constraint firstItem="oDc-7s-ORm" firstAttribute="leading" secondItem="jGo-0u-sSj" secondAttribute="leading" constant="16" id="kDH-dU-DEo"/>
-                            <constraint firstItem="1MI-Rk-5WN" firstAttribute="leading" secondItem="jGo-0u-sSj" secondAttribute="leading" id="owp-6I-RIi"/>
-                            <constraint firstItem="3Qr-bd-WoG" firstAttribute="leading" secondItem="LOY-0w-MaL" secondAttribute="leading" id="uYr-TW-5iu"/>
-                            <constraint firstItem="1MI-Rk-5WN" firstAttribute="top" secondItem="jGo-0u-sSj" secondAttribute="topMargin" constant="-216" id="zGl-dS-8cr"/>
-                        </constraints>
-                    </view>
-                    <connections>
-                        <outlet property="audioPlot" destination="Rzq-Yi-IN7" id="CYm-3x-eqw"/>
-                        <outlet property="microphoneInputPickerView" destination="1MI-Rk-5WN" id="Xgt-fX-Z2w"/>
-                        <outlet property="microphoneInputPickerViewTopConstraint" destination="zGl-dS-8cr" id="DSi-sx-AqP"/>
-                        <outlet property="microphoneInputToggleButton" destination="oDc-7s-ORm" id="RXg-P9-Cl1"/>
-                        <outlet property="microphoneTextLabel" destination="CmL-jc-Qh5" id="OXX-dE-jey"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="3QZ-yS-IEA" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="574" y="89"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Info.plist b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/Info.plist
deleted file mode 100644 (file)
index 0f22641..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>en</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</string>
-       <key>LSRequiresIPhoneOS</key>
-       <true/>
-       <key>UILaunchStoryboardName</key>
-       <string>LaunchScreen</string>
-       <key>UIMainStoryboardFile</key>
-       <string>Main</string>
-       <key>UIRequiredDeviceCapabilities</key>
-       <array>
-               <string>armv7</string>
-       </array>
-       <key>UISupportedInterfaceOrientations</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>UISupportedInterfaceOrientations~ipad</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationPortraitUpsideDown</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>NSMicrophoneUsageDescription</key>
-       <string>录音需要使用麦克风</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/ViewController.h b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/ViewController.h
deleted file mode 100644 (file)
index 355e472..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-//
-//  ViewController.h
-//  CoreGraphicsWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//------------------------------------------------------------------------------
-#pragma mark - ViewController
-//------------------------------------------------------------------------------
-
-@interface ViewController : UIViewController <EZMicrophoneDelegate, UIPickerViewDataSource, UIPickerViewDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-//
-// The CoreGraphics based audio plot
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlot *audioPlot;
-
-//
-// The microphone component
-//
-@property (nonatomic, strong) EZMicrophone *microphone;
-
-//
-// The button at the bottom displaying the currently selected microphone input
-//
-@property (nonatomic, weak) IBOutlet UIButton *microphoneInputToggleButton;
-
-//
-// The microphone input picker view to display the different microphone input sources
-//
-@property (nonatomic, weak) IBOutlet UIPickerView *microphoneInputPickerView;
-
-//
-// The microphone input picker view's top layout constraint (we use this to hide the control)
-//
-@property (nonatomic, weak) IBOutlet NSLayoutConstraint *microphoneInputPickerViewTopConstraint;
-
-//
-// The text label displaying "Microphone On" or "Microphone Off"
-//
-@property (nonatomic, weak) IBOutlet UILabel *microphoneTextLabel;
-
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-//
-// Switches the plot drawing type between a buffer plot (visualizes the current
-// stream of audio data from the update function) or a rolling plot (visualizes
-// the audio data over time, this is the classic waveform look)
-//
-- (IBAction)changePlotType:(id)sender;
-
-//
-// Toggles the microphone inputs picker view in and out of display.
-//
-- (IBAction)toggleMicrophonePickerView:(id)sender;
-
-//
-// Toggles the microphone on and off. When the microphone is on it will send its
-// delegate (aka this view controller) the audio data in various ways (check out
-// the EZMicrophoneDelegate documentation for more details);
-//
-- (IBAction)toggleMicrophone:(id)sender;
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/ViewController.m b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/ViewController.m
deleted file mode 100644 (file)
index 0bce10b..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-//
-//  ViewController.m
-//  CoreGraphicsWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "ViewController.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - ViewController (Interface Extension)
-//------------------------------------------------------------------------------
-
-@interface ViewController ()
-@property (nonatomic, strong) NSArray *inputs;
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - ViewController (Implementation)
-//------------------------------------------------------------------------------
-
-@implementation ViewController
-
-//------------------------------------------------------------------------------
-#pragma mark - View Style
-//------------------------------------------------------------------------------
-
-- (UIStatusBarStyle)preferredStatusBarStyle
-{
-    return UIStatusBarStyleLightContent;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void)viewDidLoad
-{
-    [super viewDidLoad];
-
-    //
-    // Setup the AVAudioSession. EZMicrophone will not work properly on iOS
-    // if you don't do this!
-    //
-    AVAudioSession *session = [AVAudioSession sharedInstance];
-    NSError *error;
-    [session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting up audio session category: %@", error.localizedDescription);
-    }
-    [session setActive:YES error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting up audio session active: %@", error.localizedDescription);
-    }
-
-    //
-    // Customizing the audio plot's look
-    //
-    
-    //
-    // Background color
-    //
-    self.audioPlot.backgroundColor = [UIColor colorWithRed:0.984 green:0.471 blue:0.525 alpha:1.0];
-
-    //
-    // Waveform color
-    //
-    self.audioPlot.color = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0];
-
-    //
-    // Plot type
-    //
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-
-    //
-    // Create the microphone
-    //
-    self.microphone = [EZMicrophone microphoneWithDelegate:self];
-
-    //
-    // Set up the microphone input UIPickerView items to select
-    // between different microphone inputs. Here what we're doing behind the hood
-    // is enumerating the available inputs provided by the AVAudioSession.
-    //
-    self.inputs = [EZAudioDevice inputDevices];
-    self.microphoneInputPickerView.dataSource = self;
-    self.microphoneInputPickerView.delegate = self;
-
-    //
-    // Start the microphone
-    //
-    [self.microphone startFetchingAudio];
-    self.microphoneTextLabel.text = @"Microphone On";
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - UIPickerViewDataSource
-//------------------------------------------------------------------------------
-
-- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
-{
-    return 1;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSString *)pickerView:(UIPickerView *)pickerView
-             titleForRow:(NSInteger)row
-            forComponent:(NSInteger)component
-{
-    EZAudioDevice *device = self.inputs[row];
-    return device.name;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSAttributedString *)pickerView:(UIPickerView *)pickerView
-             attributedTitleForRow:(NSInteger)row
-                      forComponent:(NSInteger)component
-{
-    EZAudioDevice *device = self.inputs[row];
-    UIColor *textColor = [device isEqual:self.microphone.device] ? self.audioPlot.backgroundColor : [UIColor blackColor];
-    return  [[NSAttributedString alloc] initWithString:device.name
-                                            attributes:@{ NSForegroundColorAttributeName : textColor }];
-}
-
-//------------------------------------------------------------------------------
-
-- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
-{
-    return self.inputs.count;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
-{
-    EZAudioDevice *device = self.inputs[row];
-    [self.microphone setDevice:device];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)changePlotType:(id)sender
-{
-    NSInteger selectedSegment = [sender selectedSegmentIndex];
-    switch (selectedSegment)
-    {
-        case 0:
-            [self drawBufferPlot];
-            break;
-        case 1:
-            [self drawRollingPlot];
-            break;
-        default:
-            break;
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)toggleMicrophone:(id)sender
-{
-    BOOL isOn = [sender isOn];
-    if (!isOn)
-    {
-        [self.microphone stopFetchingAudio];
-        self.microphoneTextLabel.text = @"Microphone Off";
-    }
-    else
-    {
-        [self.microphone startFetchingAudio];
-        self.microphoneTextLabel.text = @"Microphone On";
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)toggleMicrophonePickerView:(id)sender
-{
-    BOOL isHidden = self.microphoneInputPickerViewTopConstraint.constant != 0.0;
-    [self setMicrophonePickerViewHidden:!isHidden];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setMicrophonePickerViewHidden:(BOOL)hidden
-{
-    CGFloat pickerHeight = CGRectGetHeight(self.microphoneInputPickerView.bounds);
-    __weak typeof(self) weakSelf = self;
-    [UIView animateWithDuration:0.55
-                          delay:0.0
-         usingSpringWithDamping:0.6
-          initialSpringVelocity:0.5
-                        options:(UIViewAnimationOptionBeginFromCurrentState|
-                                 UIViewAnimationOptionCurveEaseInOut|
-                                 UIViewAnimationOptionLayoutSubviews)
-                     animations:^{
-                         weakSelf.microphoneInputPickerViewTopConstraint.constant = hidden ? -pickerHeight : 0.0f;
-                         [weakSelf.view layoutSubviews];
-                     } completion:nil];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Utility
-//------------------------------------------------------------------------------
-
-//
-// Give the visualization of the current buffer (this is almost exactly the
-// openFrameworks audio input eample)
-//
-- (void)drawBufferPlot
-{
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    self.audioPlot.shouldMirror = NO;
-    self.audioPlot.shouldFill = NO;
-}
-
-//------------------------------------------------------------------------------
-
-//
-// Give the classic mirrored, rolling waveform look
-//
--(void)drawRollingPlot
-{
-    self.audioPlot.plotType = EZPlotTypeRolling;
-    self.audioPlot.shouldFill = YES;
-    self.audioPlot.shouldMirror = YES;
-}
-
-#pragma mark - EZMicrophoneDelegate
-#warning Thread Safety
-//
-// Note that any callback that provides streamed audio data (like streaming
-// microphone input) happens on a separate audio thread that should not be
-// blocked. When we feed audio data into any of the UI components we need to
-// explicity create a GCD block on the main thread to properly get the UI
-// to work.
-//
-- (void)microphone:(EZMicrophone *)microphone
-  hasAudioReceived:(float **)buffer
-    withBufferSize:(UInt32)bufferSize
-withNumberOfChannels:(UInt32)numberOfChannels
-{
-    //
-    // Getting audio data as an array of float buffer arrays. What does that mean?
-    // Because the audio is coming in as a stereo signal the data is split into
-    // a left and right channel. So buffer[0] corresponds to the float* data
-    // for the left channel while buffer[1] corresponds to the float* data
-    // for the right channel.
-    //
-
-    //
-    // See the Thread Safety warning above, but in a nutshell these callbacks
-    // happen on a separate audio thread. We wrap any UI updating in a GCD block
-    // on the main thread to avoid blocking that audio flow.
-    //
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        //
-        // All the audio plot needs is the buffer data (float*) and the size.
-        // Internally the audio plot will handle all the drawing related code,
-        // history management, and freeing its own resources.
-        // Hence, one badass line of code gets you a pretty plot :)
-        //
-        [weakSelf.audioPlot updateBuffer:buffer[0] withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone hasAudioStreamBasicDescription:(AudioStreamBasicDescription)audioStreamBasicDescription
-{
-    //
-    // The AudioStreamBasicDescription of the microphone stream. This is useful
-    // when configuring the EZRecorder or telling another component what
-    // audio format type to expect.
-    //
-    [EZAudioUtilities printASBD:audioStreamBasicDescription];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone
-     hasBufferList:(AudioBufferList *)bufferList
-    withBufferSize:(UInt32)bufferSize
-withNumberOfChannels:(UInt32)numberOfChannels
-{
-    //
-    // Getting audio data as a buffer list that can be directly fed into the
-    // EZRecorder or EZOutput. Say whattt...
-    //
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone changedDevice:(EZAudioDevice *)device
-{
-    NSLog(@"Microphone changed device: %@", device.name);
-
-    //
-    // Called anytime the microphone's device changes
-    //
-    __weak typeof(self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        NSString *name = device.name;
-        NSString *tapText = @" (Tap To Change)";
-        NSString *microphoneInputToggleButtonText = [NSString stringWithFormat:@"%@%@", device.name, tapText];
-        NSRange rangeOfName = [microphoneInputToggleButtonText rangeOfString:name];
-        NSMutableAttributedString *microphoneInputToggleButtonAttributedText = [[NSMutableAttributedString alloc] initWithString:microphoneInputToggleButtonText];
-        [microphoneInputToggleButtonAttributedText addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:13.0f] range:rangeOfName];
-        [weakSelf.microphoneInputToggleButton setAttributedTitle:microphoneInputToggleButtonAttributedText forState:UIControlStateNormal];
-
-        //
-        // Reset the device list (a device may have been plugged in/out)
-        //
-        weakSelf.inputs = [EZAudioDevice inputDevices];
-        [weakSelf.microphoneInputPickerView reloadAllComponents];
-        [weakSelf setMicrophonePickerViewHidden:YES];
-    });
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/main.m b/document/EZAudio-master/EZAudioExamples/iOS/CoreGraphicsWaveform/CoreGraphicsWaveform/main.m
deleted file mode 100644 (file)
index 0836968..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-//  main.m
-//  CoreGraphicsWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-#import "AppDelegate.h"
-
-int main(int argc, char * argv[]) {
-    @autoreleasepool {
-        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
-    }
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/ExamplesiOS.xcworkspace/contents.xcworkspacedata b/document/EZAudio-master/EZAudioExamples/iOS/ExamplesiOS.xcworkspace/contents.xcworkspacedata
deleted file mode 100644 (file)
index bf2d3b8..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "group:CoreGraphicsWaveform/CoreGraphicsWaveform.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:OpenGLWaveform/OpenGLWaveform.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:PlayFile/PlayFile.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:RecordFile/RecordFile.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:WaveformFromFile/WaveformFromFile.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:FFT/FFT.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:PassThrough/PassThrough.xcodeproj">
-   </FileRef>
-</Workspace>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index bbccaf5..0000000
+++ /dev/null
@@ -1,401 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               66374EEE1C545B18000B19D0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374EED1C545B18000B19D0 /* main.m */; };
-               66374EF11C545B18000B19D0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374EF01C545B18000B19D0 /* AppDelegate.m */; };
-               66374EF41C545B18000B19D0 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374EF31C545B18000B19D0 /* ViewController.m */; };
-               66374EF71C545B18000B19D0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374EF51C545B18000B19D0 /* Main.storyboard */; };
-               66374EF91C545B18000B19D0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 66374EF81C545B18000B19D0 /* Assets.xcassets */; };
-               66374EFC1C545B18000B19D0 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374EFA1C545B18000B19D0 /* LaunchScreen.storyboard */; };
-               66374FA71C548622000B19D0 /* EZAudioiOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F091C545B48000B19D0 /* EZAudioiOS.framework */; };
-               66374FA81C548622000B19D0 /* EZAudioiOS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F091C545B48000B19D0 /* EZAudioiOS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374F081C545B48000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F031C545B48000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374F0A1C545B48000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F031C545B48000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-               66374FA91C548622000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F031C545B48000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 469F4CF21B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXCopyFilesBuildPhase section */
-               66374FAB1C548622000B19D0 /* Embed Frameworks */ = {
-                       isa = PBXCopyFilesBuildPhase;
-                       buildActionMask = 2147483647;
-                       dstPath = "";
-                       dstSubfolderSpec = 10;
-                       files = (
-                               66374FA81C548622000B19D0 /* EZAudioiOS.framework in Embed Frameworks */,
-                       );
-                       name = "Embed Frameworks";
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
-               66374EE91C545B18000B19D0 /* FFT.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FFT.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               66374EED1C545B18000B19D0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = main.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
-               66374EEF1C545B18000B19D0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = AppDelegate.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
-               66374EF01C545B18000B19D0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = AppDelegate.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
-               66374EF21C545B18000B19D0 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = ViewController.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
-               66374EF31C545B18000B19D0 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = ViewController.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
-               66374EF61C545B18000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
-               66374EF81C545B18000B19D0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               66374EFB1C545B18000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
-               66374EFD1C545B18000B19D0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               66374F031C545B48000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               66374EE61C545B18000B19D0 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374FA71C548622000B19D0 /* EZAudioiOS.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               66374EE01C545B18000B19D0 = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F031C545B48000B19D0 /* EZAudio.xcodeproj */,
-                               66374EEB1C545B18000B19D0 /* FFT */,
-                               66374EEA1C545B18000B19D0 /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               66374EEA1C545B18000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374EE91C545B18000B19D0 /* FFT.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               66374EEB1C545B18000B19D0 /* FFT */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374EEF1C545B18000B19D0 /* AppDelegate.h */,
-                               66374EF01C545B18000B19D0 /* AppDelegate.m */,
-                               66374EF21C545B18000B19D0 /* ViewController.h */,
-                               66374EF31C545B18000B19D0 /* ViewController.m */,
-                               66374EF51C545B18000B19D0 /* Main.storyboard */,
-                               66374EF81C545B18000B19D0 /* Assets.xcassets */,
-                               66374EFA1C545B18000B19D0 /* LaunchScreen.storyboard */,
-                               66374EFD1C545B18000B19D0 /* Info.plist */,
-                               66374EEC1C545B18000B19D0 /* Supporting Files */,
-                       );
-                       path = FFT;
-                       sourceTree = "<group>";
-               };
-               66374EEC1C545B18000B19D0 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374EED1C545B18000B19D0 /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-               66374F041C545B48000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F091C545B48000B19D0 /* EZAudioiOS.framework */,
-                               66374F0B1C545B48000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               66374EE81C545B18000B19D0 /* FFT */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 66374F001C545B18000B19D0 /* Build configuration list for PBXNativeTarget "FFT" */;
-                       buildPhases = (
-                               66374EE51C545B18000B19D0 /* Sources */,
-                               66374EE61C545B18000B19D0 /* Frameworks */,
-                               66374EE71C545B18000B19D0 /* Resources */,
-                               66374FAB1C548622000B19D0 /* Embed Frameworks */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               66374FAA1C548622000B19D0 /* PBXTargetDependency */,
-                       );
-                       name = FFT;
-                       productName = FFT;
-                       productReference = 66374EE91C545B18000B19D0 /* FFT.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               66374EE11C545B18000B19D0 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       66374EE81C545B18000B19D0 = {
-                                               CreatedOnToolsVersion = 7.2;
-                                               DevelopmentTeam = M33X987285;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 66374EE41C545B18000B19D0 /* Build configuration list for PBXProject "FFT" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               English,
-                               en,
-                               Base,
-                       );
-                       mainGroup = 66374EE01C545B18000B19D0;
-                       productRefGroup = 66374EEA1C545B18000B19D0 /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374F041C545B48000B19D0 /* Products */;
-                                       ProjectRef = 66374F031C545B48000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               66374EE81C545B18000B19D0 /* FFT */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374F091C545B48000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374F081C545B48000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374F0B1C545B48000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374F0A1C545B48000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               66374EE71C545B18000B19D0 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374EFC1C545B18000B19D0 /* LaunchScreen.storyboard in Resources */,
-                               66374EF91C545B18000B19D0 /* Assets.xcassets in Resources */,
-                               66374EF71C545B18000B19D0 /* Main.storyboard in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               66374EE51C545B18000B19D0 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374EF41C545B18000B19D0 /* ViewController.m in Sources */,
-                               66374EF11C545B18000B19D0 /* AppDelegate.m in Sources */,
-                               66374EEE1C545B18000B19D0 /* main.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-               66374FAA1C548622000B19D0 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = EZAudioiOS;
-                       targetProxy = 66374FA91C548622000B19D0 /* PBXContainerItemProxy */;
-               };
-/* End PBXTargetDependency section */
-
-/* Begin PBXVariantGroup section */
-               66374EF51C545B18000B19D0 /* Main.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374EF61C545B18000B19D0 /* Base */,
-                       );
-                       name = Main.storyboard;
-                       sourceTree = "<group>";
-               };
-               66374EFA1C545B18000B19D0 /* LaunchScreen.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374EFB1C545B18000B19D0 /* Base */,
-                       );
-                       name = LaunchScreen.storyboard;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               66374EFE1C545B18000B19D0 /* 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;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                       };
-                       name = Debug;
-               };
-               66374EFF1C545B18000B19D0 /* 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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                       };
-                       name = Release;
-               };
-               66374F011C545B18000B19D0 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = FFT/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.FFT;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               66374F021C545B18000B19D0 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = FFT/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.FFT;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               66374EE41C545B18000B19D0 /* Build configuration list for PBXProject "FFT" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374EFE1C545B18000B19D0 /* Debug */,
-                               66374EFF1C545B18000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               66374F001C545B18000B19D0 /* Build configuration list for PBXNativeTarget "FFT" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374F011C545B18000B19D0 /* Debug */,
-                               66374F021C545B18000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 66374EE11C545B18000B19D0 /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/AppDelegate.h
deleted file mode 100644 (file)
index 54fda7b..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  AppDelegate.h
-//  FFT
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-@interface AppDelegate : UIResponder <UIApplicationDelegate>
-
-@property (strong, nonatomic) UIWindow *window;
-
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/AppDelegate.m
deleted file mode 100644 (file)
index b1d7094..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-//  AppDelegate.m
-//  FFT
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "AppDelegate.h"
-
-@interface AppDelegate ()
-
-@end
-
-@implementation AppDelegate
-
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
-    // Override point for customization after application launch.
-    return YES;
-}
-
-- (void)applicationWillResignActive:(UIApplication *)application {
-    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
-    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application {
-    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
-    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application {
-    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application {
-    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application {
-    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index a4b3297..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "83.5x83.5",
-      "idiom" : "ipad",
-      "filename" : "Icon-83.5@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-40.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-40.png
deleted file mode 100644 (file)
index 52a6e6a..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-40.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png
deleted file mode 100644 (file)
index eb5828c..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png
deleted file mode 100644 (file)
index 2704cdd..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png
deleted file mode 100644 (file)
index 2704cdd..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png
deleted file mode 100644 (file)
index 9ff8d68..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-72.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-72.png
deleted file mode 100644 (file)
index bbd5a93..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-72.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png
deleted file mode 100644 (file)
index 2ac72ae..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-76.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-76.png
deleted file mode 100644 (file)
index 21c2f2e..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-76.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png
deleted file mode 100644 (file)
index f7ae751..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png
deleted file mode 100644 (file)
index 5b17e39..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png
deleted file mode 100644 (file)
index 6f8f087..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png
deleted file mode 100644 (file)
index 43731f9..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small.png
deleted file mode 100644 (file)
index 1746de1..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png
deleted file mode 100644 (file)
index 6f000af..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png
deleted file mode 100644 (file)
index 02639a0..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon.png
deleted file mode 100644 (file)
index 5c654dc..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon@2x.png
deleted file mode 100644 (file)
index d003196..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/AppIcon.appiconset/Icon@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Base.lproj/LaunchScreen.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644 (file)
index b0b7967..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="EHf-IW-A2E">
-            <objects>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
-                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
-                        <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                    </view>
-                </viewController>
-            </objects>
-            <point key="canvasLocation" x="53" y="375"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Base.lproj/Main.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Base.lproj/Main.storyboard
deleted file mode 100644 (file)
index 3f1e807..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="DbL-8D-S45">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="Sw2-F1-aLn">
-            <objects>
-                <viewController id="DbL-8D-S45" customClass="ViewController" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="7Wg-WK-eWr"/>
-                        <viewControllerLayoutGuide type="bottom" id="Vea-Mg-aEM"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="xgX-Wf-0FU" customClass="EZAudioPlot">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                        <subviews>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5IB-r8-siZ" customClass="EZAudioPlot">
-                                <rect key="frame" x="18" y="18" width="564" height="64"/>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="64" id="vqq-R9-K8s"/>
-                                </constraints>
-                                <userDefinedRuntimeAttributes>
-                                    <userDefinedRuntimeAttribute type="color" keyPath="backgroundColor">
-                                        <color key="value" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
-                                    </userDefinedRuntimeAttribute>
-                                    <userDefinedRuntimeAttribute type="color" keyPath="color">
-                                        <color key="value" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                    </userDefinedRuntimeAttribute>
-                                </userDefinedRuntimeAttributes>
-                            </view>
-                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SR2-to-91D">
-                                <rect key="frame" x="18" y="100" width="0.0" height="0.0"/>
-                                <fontDescription key="fontDescription" type="system" weight="light" pointSize="18"/>
-                                <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                <nil key="highlightedColor"/>
-                            </label>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                        <constraints>
-                            <constraint firstItem="SR2-to-91D" firstAttribute="top" secondItem="5IB-r8-siZ" secondAttribute="bottom" constant="18" id="6Bn-YP-UIt"/>
-                            <constraint firstItem="SR2-to-91D" firstAttribute="leading" secondItem="5IB-r8-siZ" secondAttribute="leading" id="6hX-AB-2Ac"/>
-                            <constraint firstItem="5IB-r8-siZ" firstAttribute="top" secondItem="xgX-Wf-0FU" secondAttribute="top" constant="18" id="Yui-c4-P4p"/>
-                            <constraint firstAttribute="trailing" secondItem="5IB-r8-siZ" secondAttribute="trailing" constant="18" id="YvS-Rk-tXF"/>
-                            <constraint firstItem="5IB-r8-siZ" firstAttribute="leading" secondItem="xgX-Wf-0FU" secondAttribute="leading" constant="18" id="lNc-2M-8uf"/>
-                        </constraints>
-                        <userDefinedRuntimeAttributes>
-                            <userDefinedRuntimeAttribute type="color" keyPath="backgroundColor">
-                                <color key="value" red="0.0078431372550000003" green="0.72156862749999995" blue="0.96078431369999995" alpha="1" colorSpace="calibratedRGB"/>
-                            </userDefinedRuntimeAttribute>
-                            <userDefinedRuntimeAttribute type="color" keyPath="color">
-                                <color key="value" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                            </userDefinedRuntimeAttribute>
-                        </userDefinedRuntimeAttributes>
-                    </view>
-                    <connections>
-                        <outlet property="audioPlotFreq" destination="xgX-Wf-0FU" id="dFW-E2-30o"/>
-                        <outlet property="audioPlotTime" destination="5IB-r8-siZ" id="GIX-Ou-bz3"/>
-                        <outlet property="maxFrequencyLabel" destination="SR2-to-91D" id="27E-ab-sDI"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="tyD-VZ-2C9" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="537" y="40"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Info.plist b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/Info.plist
deleted file mode 100644 (file)
index 0f22641..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>en</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</string>
-       <key>LSRequiresIPhoneOS</key>
-       <true/>
-       <key>UILaunchStoryboardName</key>
-       <string>LaunchScreen</string>
-       <key>UIMainStoryboardFile</key>
-       <string>Main</string>
-       <key>UIRequiredDeviceCapabilities</key>
-       <array>
-               <string>armv7</string>
-       </array>
-       <key>UISupportedInterfaceOrientations</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>UISupportedInterfaceOrientations~ipad</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationPortraitUpsideDown</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>NSMicrophoneUsageDescription</key>
-       <string>录音需要使用麦克风</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/ViewController.h b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/ViewController.h
deleted file mode 100644 (file)
index 23b7990..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-//  ViewController.h
-//  FFT
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//------------------------------------------------------------------------------
-#pragma mark - ViewController
-//------------------------------------------------------------------------------
-
-@interface ViewController : UIViewController <EZMicrophoneDelegate, EZAudioFFTDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-//
-// EZAudioPlot for frequency plot
-//
-@property (nonatomic,weak) IBOutlet EZAudioPlot *audioPlotFreq;
-
-//
-// EZAudioPlot for time plot
-//
-@property (nonatomic,weak) IBOutlet EZAudioPlot *audioPlotTime;
-
-//
-// A label used to display the maximum frequency (i.e. the frequency with the
-// highest energy) calculated from the FFT.
-//
-@property (nonatomic, weak) IBOutlet UILabel *maxFrequencyLabel;
-
-//
-// The microphone used to get input.
-//
-@property (nonatomic,strong) EZMicrophone *microphone;
-
-//
-// Used to calculate a rolling FFT of the incoming audio data.
-//
-@property (nonatomic, strong) EZAudioFFTRolling *fft;
-
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/ViewController.m b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/ViewController.m
deleted file mode 100644 (file)
index 728bcf3..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-//
-//  ViewController.m
-//  FFT
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "ViewController.h"
-
-static vDSP_Length const FFTViewControllerFFTWindowSize = 4096;
-
-@implementation ViewController
-
-//------------------------------------------------------------------------------
-#pragma mark - Status Bar Style
-//------------------------------------------------------------------------------
-
-- (UIStatusBarStyle)preferredStatusBarStyle
-{
-    return UIStatusBarStyleLightContent;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - View Lifecycle
-//------------------------------------------------------------------------------
-
-- (void)viewDidLoad
-{
-    [super viewDidLoad];
-
-    //
-    // Setup the AVAudioSession. EZMicrophone will not work properly on iOS
-    // if you don't do this!
-    //
-    AVAudioSession *session = [AVAudioSession sharedInstance];
-    NSError *error;
-    [session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting up audio session category: %@", error.localizedDescription);
-    }
-    [session setActive:YES error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting up audio session active: %@", error.localizedDescription);
-    }
-
-    //
-    // Setup time domain audio plot
-    //
-    self.audioPlotTime.plotType = EZPlotTypeBuffer;
-    self.maxFrequencyLabel.numberOfLines = 0;
-
-    //
-    // Setup frequency domain audio plot
-    //
-    self.audioPlotFreq.shouldFill = YES;
-    self.audioPlotFreq.plotType = EZPlotTypeBuffer;
-    self.audioPlotFreq.shouldCenterYAxis = NO;
-
-    //
-    // Create an instance of the microphone and tell it to use this view controller instance as the delegate
-    //
-    self.microphone = [EZMicrophone microphoneWithDelegate:self];
-
-    //
-    // Create an instance of the EZAudioFFTRolling to keep a history of the incoming audio data and calculate the FFT.
-    //
-    self.fft = [EZAudioFFTRolling fftWithWindowSize:FFTViewControllerFFTWindowSize
-                                         sampleRate:self.microphone.audioStreamBasicDescription.mSampleRate
-                                           delegate:self];
-
-    //
-    // Start the mic
-    //
-    [self.microphone startFetchingAudio];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZMicrophoneDelegate
-//------------------------------------------------------------------------------
-
--(void)    microphone:(EZMicrophone *)microphone
-     hasAudioReceived:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    //
-    // Calculate the FFT, will trigger EZAudioFFTDelegate
-    //
-    [self.fft computeFFTWithBuffer:buffer[0] withBufferSize:bufferSize];
-
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [weakSelf.audioPlotTime updateBuffer:buffer[0]
-                              withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioFFTDelegate
-//------------------------------------------------------------------------------
-
-- (void)        fft:(EZAudioFFT *)fft
- updatedWithFFTData:(float *)fftData
-         bufferSize:(vDSP_Length)bufferSize
-{
-    float maxFrequency = [fft maxFrequency];
-    NSString *noteName = [EZAudioUtilities noteNameStringForFrequency:maxFrequency
-                                                        includeOctave:YES];
-
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        weakSelf.maxFrequencyLabel.text = [NSString stringWithFormat:@"Highest Note: %@,\nFrequency: %.2f", noteName, maxFrequency];
-        [weakSelf.audioPlotFreq updateBuffer:fftData withBufferSize:(UInt32)bufferSize];
-    });
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/main.m b/document/EZAudio-master/EZAudioExamples/iOS/FFT/FFT/main.m
deleted file mode 100644 (file)
index cf1f1e5..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-//  main.m
-//  FFT
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-#import "AppDelegate.h"
-
-int main(int argc, char * argv[]) {
-    @autoreleasepool {
-        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
-    }
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index ba95468..0000000
+++ /dev/null
@@ -1,401 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               66374E3F1C545AA8000B19D0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374E3E1C545AA8000B19D0 /* main.m */; };
-               66374E421C545AA8000B19D0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374E411C545AA8000B19D0 /* AppDelegate.m */; };
-               66374E451C545AA8000B19D0 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374E441C545AA8000B19D0 /* ViewController.m */; };
-               66374E481C545AA8000B19D0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374E461C545AA8000B19D0 /* Main.storyboard */; };
-               66374E4A1C545AA8000B19D0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 66374E491C545AA8000B19D0 /* Assets.xcassets */; };
-               66374E4D1C545AA8000B19D0 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374E4B1C545AA8000B19D0 /* LaunchScreen.storyboard */; };
-               66374F6F1C547109000B19D0 /* EZAudioiOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F361C545B57000B19D0 /* EZAudioiOS.framework */; };
-               66374F701C547109000B19D0 /* EZAudioiOS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F361C545B57000B19D0 /* EZAudioiOS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374F351C545B57000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F301C545B57000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374F371C545B57000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F301C545B57000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-               66374F711C547109000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F301C545B57000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 469F4CF21B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXCopyFilesBuildPhase section */
-               66374F731C547109000B19D0 /* Embed Frameworks */ = {
-                       isa = PBXCopyFilesBuildPhase;
-                       buildActionMask = 2147483647;
-                       dstPath = "";
-                       dstSubfolderSpec = 10;
-                       files = (
-                               66374F701C547109000B19D0 /* EZAudioiOS.framework in Embed Frameworks */,
-                       );
-                       name = "Embed Frameworks";
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
-               66374E3A1C545AA8000B19D0 /* OpenGLWaveform.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenGLWaveform.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               66374E3E1C545AA8000B19D0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = main.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
-               66374E401C545AA8000B19D0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = AppDelegate.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
-               66374E411C545AA8000B19D0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = AppDelegate.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
-               66374E431C545AA8000B19D0 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
-               66374E441C545AA8000B19D0 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = ViewController.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
-               66374E471C545AA8000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
-               66374E491C545AA8000B19D0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               66374E4C1C545AA8000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
-               66374E4E1C545AA8000B19D0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               66374F301C545B57000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               66374E371C545AA8000B19D0 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374F6F1C547109000B19D0 /* EZAudioiOS.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               66374E311C545AA8000B19D0 = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F301C545B57000B19D0 /* EZAudio.xcodeproj */,
-                               66374E3C1C545AA8000B19D0 /* OpenGLWaveform */,
-                               66374E3B1C545AA8000B19D0 /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               66374E3B1C545AA8000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374E3A1C545AA8000B19D0 /* OpenGLWaveform.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               66374E3C1C545AA8000B19D0 /* OpenGLWaveform */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374E401C545AA8000B19D0 /* AppDelegate.h */,
-                               66374E411C545AA8000B19D0 /* AppDelegate.m */,
-                               66374E431C545AA8000B19D0 /* ViewController.h */,
-                               66374E441C545AA8000B19D0 /* ViewController.m */,
-                               66374E461C545AA8000B19D0 /* Main.storyboard */,
-                               66374E491C545AA8000B19D0 /* Assets.xcassets */,
-                               66374E4B1C545AA8000B19D0 /* LaunchScreen.storyboard */,
-                               66374E4E1C545AA8000B19D0 /* Info.plist */,
-                               66374E3D1C545AA8000B19D0 /* Supporting Files */,
-                       );
-                       path = OpenGLWaveform;
-                       sourceTree = "<group>";
-               };
-               66374E3D1C545AA8000B19D0 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374E3E1C545AA8000B19D0 /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-               66374F311C545B57000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F361C545B57000B19D0 /* EZAudioiOS.framework */,
-                               66374F381C545B57000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               66374E391C545AA8000B19D0 /* OpenGLWaveform */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 66374E511C545AA8000B19D0 /* Build configuration list for PBXNativeTarget "OpenGLWaveform" */;
-                       buildPhases = (
-                               66374E361C545AA8000B19D0 /* Sources */,
-                               66374E371C545AA8000B19D0 /* Frameworks */,
-                               66374E381C545AA8000B19D0 /* Resources */,
-                               66374F731C547109000B19D0 /* Embed Frameworks */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               66374F721C547109000B19D0 /* PBXTargetDependency */,
-                       );
-                       name = OpenGLWaveform;
-                       productName = OpenGLWaveform;
-                       productReference = 66374E3A1C545AA8000B19D0 /* OpenGLWaveform.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               66374E321C545AA8000B19D0 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       66374E391C545AA8000B19D0 = {
-                                               CreatedOnToolsVersion = 7.2;
-                                               DevelopmentTeam = M33X987285;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 66374E351C545AA8000B19D0 /* Build configuration list for PBXProject "OpenGLWaveform" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               English,
-                               en,
-                               Base,
-                       );
-                       mainGroup = 66374E311C545AA8000B19D0;
-                       productRefGroup = 66374E3B1C545AA8000B19D0 /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374F311C545B57000B19D0 /* Products */;
-                                       ProjectRef = 66374F301C545B57000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               66374E391C545AA8000B19D0 /* OpenGLWaveform */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374F361C545B57000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374F351C545B57000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374F381C545B57000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374F371C545B57000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               66374E381C545AA8000B19D0 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374E4D1C545AA8000B19D0 /* LaunchScreen.storyboard in Resources */,
-                               66374E4A1C545AA8000B19D0 /* Assets.xcassets in Resources */,
-                               66374E481C545AA8000B19D0 /* Main.storyboard in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               66374E361C545AA8000B19D0 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374E451C545AA8000B19D0 /* ViewController.m in Sources */,
-                               66374E421C545AA8000B19D0 /* AppDelegate.m in Sources */,
-                               66374E3F1C545AA8000B19D0 /* main.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-               66374F721C547109000B19D0 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = EZAudioiOS;
-                       targetProxy = 66374F711C547109000B19D0 /* PBXContainerItemProxy */;
-               };
-/* End PBXTargetDependency section */
-
-/* Begin PBXVariantGroup section */
-               66374E461C545AA8000B19D0 /* Main.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374E471C545AA8000B19D0 /* Base */,
-                       );
-                       name = Main.storyboard;
-                       sourceTree = "<group>";
-               };
-               66374E4B1C545AA8000B19D0 /* LaunchScreen.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374E4C1C545AA8000B19D0 /* Base */,
-                       );
-                       name = LaunchScreen.storyboard;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               66374E4F1C545AA8000B19D0 /* 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;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                       };
-                       name = Debug;
-               };
-               66374E501C545AA8000B19D0 /* 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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                       };
-                       name = Release;
-               };
-               66374E521C545AA8000B19D0 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = OpenGLWaveform/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.OpenGLWaveform;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               66374E531C545AA8000B19D0 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = OpenGLWaveform/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.OpenGLWaveform;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               66374E351C545AA8000B19D0 /* Build configuration list for PBXProject "OpenGLWaveform" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374E4F1C545AA8000B19D0 /* Debug */,
-                               66374E501C545AA8000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               66374E511C545AA8000B19D0 /* Build configuration list for PBXNativeTarget "OpenGLWaveform" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374E521C545AA8000B19D0 /* Debug */,
-                               66374E531C545AA8000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 66374E321C545AA8000B19D0 /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/AppDelegate.h
deleted file mode 100644 (file)
index 7f173c6..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  AppDelegate.h
-//  OpenGLWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-@interface AppDelegate : UIResponder <UIApplicationDelegate>
-
-@property (strong, nonatomic) UIWindow *window;
-
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/AppDelegate.m
deleted file mode 100644 (file)
index 10e9ce7..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-//  AppDelegate.m
-//  OpenGLWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "AppDelegate.h"
-
-@interface AppDelegate ()
-
-@end
-
-@implementation AppDelegate
-
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
-    // Override point for customization after application launch.
-    return YES;
-}
-
-- (void)applicationWillResignActive:(UIApplication *)application {
-    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
-    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application {
-    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
-    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application {
-    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application {
-    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application {
-    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index a4b3297..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "83.5x83.5",
-      "idiom" : "ipad",
-      "filename" : "Icon-83.5@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40.png
deleted file mode 100644 (file)
index 10bd5d1..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png
deleted file mode 100644 (file)
index 8740f58..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png
deleted file mode 100644 (file)
index 0ec7eab..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png
deleted file mode 100644 (file)
index 0ec7eab..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png
deleted file mode 100644 (file)
index ff4ce79..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72.png
deleted file mode 100644 (file)
index 5decc77..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png
deleted file mode 100644 (file)
index b45dc59..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76.png
deleted file mode 100644 (file)
index d23d544..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png
deleted file mode 100644 (file)
index 9222efb..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png
deleted file mode 100644 (file)
index 57b8ab0..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png
deleted file mode 100644 (file)
index 5d06815..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png
deleted file mode 100644 (file)
index 49b1633..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small.png
deleted file mode 100644 (file)
index 74a30d1..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png
deleted file mode 100644 (file)
index 35e09a8..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png
deleted file mode 100644 (file)
index 94de1fe..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon.png
deleted file mode 100644 (file)
index 016f2fc..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon@2x.png
deleted file mode 100644 (file)
index 00d8969..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/AppIcon.appiconset/Icon@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Base.lproj/LaunchScreen.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644 (file)
index 2e721e1..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8150" systemVersion="15A204g" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8122"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="EHf-IW-A2E">
-            <objects>
-                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
-                        <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <animations/>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="53" y="375"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Base.lproj/Main.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Base.lproj/Main.storyboard
deleted file mode 100644 (file)
index dea0076..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="Dfm-TQ-VBi">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
-        <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="fii-WA-T2J">
-            <objects>
-                <viewController id="Dfm-TQ-VBi" customClass="ViewController" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="BKy-sG-v4d"/>
-                        <viewControllerLayoutGuide type="bottom" id="fEn-ha-AcY"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="3rv-QQ-oim">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hUJ-9b-aFo" customClass="EZAudioPlotGL">
-                                <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                            </view>
-                            <segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="ApX-pR-EAR">
-                                <rect key="frame" x="16" y="520" width="157" height="29"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="157" id="Y1d-so-oPu"/>
-                                </constraints>
-                                <segments>
-                                    <segment title="Buffer"/>
-                                    <segment title="Rolling"/>
-                                </segments>
-                                <color key="tintColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                <connections>
-                                    <action selector="changePlotType:" destination="Dfm-TQ-VBi" eventType="valueChanged" id="esQ-yJ-RVc"/>
-                                </connections>
-                            </segmentedControl>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" showsTouchWhenHighlighted="YES" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PW8-hj-Rkr">
-                                <rect key="frame" x="16" y="556" width="568" height="28"/>
-                                <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                <color key="tintColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                <state key="normal" title="Change Microphone Input">
-                                    <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
-                                </state>
-                                <connections>
-                                    <action selector="toggleMicrophonePickerView:" destination="Dfm-TQ-VBi" eventType="touchUpInside" id="9W2-rd-GHH"/>
-                                </connections>
-                            </button>
-                            <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5rt-lN-mkO">
-                                <rect key="frame" x="16" y="479" width="51" height="31"/>
-                                <color key="onTintColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                <connections>
-                                    <action selector="toggleMicrophone:" destination="Dfm-TQ-VBi" eventType="touchUpInside" id="Eg4-Oa-ZWs"/>
-                                </connections>
-                            </switch>
-                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Fw3-7I-2Ma">
-                                <rect key="frame" x="73" y="487" width="33" height="16"/>
-                                <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                <color key="textColor" red="1" green="1" blue="1" alpha="0.90000000000000002" colorSpace="calibratedRGB"/>
-                                <nil key="highlightedColor"/>
-                            </label>
-                            <pickerView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qBW-je-e9i">
-                                <rect key="frame" x="0.0" y="-216" width="600" height="216"/>
-                                <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                            </pickerView>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                        <constraints>
-                            <constraint firstItem="Fw3-7I-2Ma" firstAttribute="leading" secondItem="5rt-lN-mkO" secondAttribute="trailing" constant="8" symbolic="YES" id="0ws-AU-vj6"/>
-                            <constraint firstItem="hUJ-9b-aFo" firstAttribute="top" secondItem="qBW-je-e9i" secondAttribute="bottom" id="AvI-03-JkX"/>
-                            <constraint firstItem="5rt-lN-mkO" firstAttribute="leading" secondItem="ApX-pR-EAR" secondAttribute="leading" id="CUF-v9-Be7"/>
-                            <constraint firstItem="fEn-ha-AcY" firstAttribute="top" secondItem="PW8-hj-Rkr" secondAttribute="bottom" constant="16" id="ClS-xF-2aS"/>
-                            <constraint firstAttribute="trailing" secondItem="PW8-hj-Rkr" secondAttribute="trailing" constant="16" id="Dy8-nf-rVE"/>
-                            <constraint firstItem="ApX-pR-EAR" firstAttribute="top" secondItem="5rt-lN-mkO" secondAttribute="bottom" constant="10" id="OqK-6z-0OK"/>
-                            <constraint firstItem="ApX-pR-EAR" firstAttribute="leading" secondItem="3rv-QQ-oim" secondAttribute="leading" constant="16" id="SvD-Ts-R5L"/>
-                            <constraint firstItem="qBW-je-e9i" firstAttribute="leading" secondItem="3rv-QQ-oim" secondAttribute="leading" id="WpE-39-Sln"/>
-                            <constraint firstItem="PW8-hj-Rkr" firstAttribute="top" secondItem="ApX-pR-EAR" secondAttribute="bottom" constant="8" id="cM6-aH-NHJ"/>
-                            <constraint firstAttribute="trailing" secondItem="qBW-je-e9i" secondAttribute="trailing" id="jff-vo-uGV"/>
-                            <constraint firstItem="5rt-lN-mkO" firstAttribute="leading" secondItem="3rv-QQ-oim" secondAttribute="leading" constant="16" id="lCA-nb-YPQ"/>
-                            <constraint firstItem="qBW-je-e9i" firstAttribute="top" secondItem="3rv-QQ-oim" secondAttribute="topMargin" constant="-216" id="mex-96-dqm"/>
-                            <constraint firstItem="fEn-ha-AcY" firstAttribute="top" secondItem="hUJ-9b-aFo" secondAttribute="bottom" id="nFp-d8-AgS"/>
-                            <constraint firstItem="PW8-hj-Rkr" firstAttribute="leading" secondItem="3rv-QQ-oim" secondAttribute="leading" constant="16" id="qrj-NO-PtL"/>
-                            <constraint firstItem="ApX-pR-EAR" firstAttribute="top" secondItem="Fw3-7I-2Ma" secondAttribute="bottom" constant="17" id="tBg-vq-MBS"/>
-                            <constraint firstAttribute="trailing" secondItem="hUJ-9b-aFo" secondAttribute="trailing" id="vNj-6P-MiN"/>
-                            <constraint firstItem="hUJ-9b-aFo" firstAttribute="leading" secondItem="3rv-QQ-oim" secondAttribute="leading" id="yOc-n1-IeC"/>
-                        </constraints>
-                    </view>
-                    <connections>
-                        <outlet property="audioPlot" destination="hUJ-9b-aFo" id="Olm-qY-gvI"/>
-                        <outlet property="microphoneInputPickerView" destination="qBW-je-e9i" id="zUb-gh-Uea"/>
-                        <outlet property="microphoneInputPickerViewTopConstraint" destination="mex-96-dqm" id="9dV-XY-zy4"/>
-                        <outlet property="microphoneInputToggleButton" destination="PW8-hj-Rkr" id="HlF-Ks-4rP"/>
-                        <outlet property="microphoneTextLabel" destination="Fw3-7I-2Ma" id="dqh-1k-Thb"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="ygk-w7-KAs" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="574" y="89"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Info.plist b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/Info.plist
deleted file mode 100644 (file)
index 0f22641..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>en</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</string>
-       <key>LSRequiresIPhoneOS</key>
-       <true/>
-       <key>UILaunchStoryboardName</key>
-       <string>LaunchScreen</string>
-       <key>UIMainStoryboardFile</key>
-       <string>Main</string>
-       <key>UIRequiredDeviceCapabilities</key>
-       <array>
-               <string>armv7</string>
-       </array>
-       <key>UISupportedInterfaceOrientations</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>UISupportedInterfaceOrientations~ipad</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationPortraitUpsideDown</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>NSMicrophoneUsageDescription</key>
-       <string>录音需要使用麦克风</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/ViewController.h b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/ViewController.h
deleted file mode 100644 (file)
index 6328dc6..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-//
-//  ViewController.h
-//  OpenGLWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//------------------------------------------------------------------------------
-#pragma mark - ViewController
-//------------------------------------------------------------------------------
-
-@interface ViewController : UIViewController <EZMicrophoneDelegate, UIPickerViewDataSource, UIPickerViewDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-//
-// The CoreGraphics based audio plot
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlotGL *audioPlot;
-
-//
-// The microphone component
-//
-@property (nonatomic, strong) EZMicrophone *microphone;
-
-//
-// The button at the bottom displaying the currently selected microphone input
-//
-@property (nonatomic, weak) IBOutlet UIButton *microphoneInputToggleButton;
-
-//
-// The microphone input picker view to display the different microphone input sources
-//
-@property (nonatomic, weak) IBOutlet UIPickerView *microphoneInputPickerView;
-
-//
-// The microphone input picker view's top layout constraint (we use this to hide the control)
-//
-@property (nonatomic, weak) IBOutlet NSLayoutConstraint *microphoneInputPickerViewTopConstraint;
-
-//
-// The text label displaying "Microphone On" or "Microphone Off"
-//
-@property (nonatomic, weak) IBOutlet UILabel *microphoneTextLabel;
-
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-//
-// Switches the plot drawing type between a buffer plot (visualizes the current
-// stream of audio data from the update function) or a rolling plot (visualizes
-// the audio data over time, this is the classic waveform look)
-//
-- (IBAction)changePlotType:(id)sender;
-
-//
-// Toggles the microphone inputs picker view in and out of display.
-//
-- (IBAction)toggleMicrophonePickerView:(id)sender;
-
-//
-// Toggles the microphone on and off. When the microphone is on it will send its
-// delegate (aka this view controller) the audio data in various ways (check out
-// the EZMicrophoneDelegate documentation for more details);
-//
-- (IBAction)toggleMicrophone:(id)sender;
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/ViewController.m b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/ViewController.m
deleted file mode 100644 (file)
index 4b13965..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-//
-//  ViewController.m
-//  OpenGLWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "ViewController.h"
-
-//------------------------------------------------------------------------------
-#pragma mark - ViewController (Interface Extension)
-//------------------------------------------------------------------------------
-
-@interface ViewController ()
-@property (nonatomic, strong) NSArray *inputs;
-@end
-
-//------------------------------------------------------------------------------
-#pragma mark - ViewController (Implementation)
-//------------------------------------------------------------------------------
-
-@implementation ViewController
-
-//------------------------------------------------------------------------------
-#pragma mark - View Style
-//------------------------------------------------------------------------------
-
-- (UIStatusBarStyle)preferredStatusBarStyle
-{
-    return UIStatusBarStyleLightContent;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void)viewDidLoad
-{
-    [super viewDidLoad];
-
-    //
-    // Setup the AVAudioSession. EZMicrophone will not work properly on iOS
-    // if you don't do this!
-    //
-    AVAudioSession *session = [AVAudioSession sharedInstance];
-    NSError *error;
-    [session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting up audio session category: %@", error.localizedDescription);
-    }
-    [session setActive:YES error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting up audio session active: %@", error.localizedDescription);
-    }
-
-    //
-    // Customizing the audio plot's look
-    //
-    
-    //
-    // Background color
-    //
-    self.audioPlot.backgroundColor = [UIColor colorWithRed:0.569 green:0.82 blue:0.478 alpha:1.0];
-
-    //
-    // Waveform color
-    //
-    self.audioPlot.color = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0];
-
-    //
-    // Plot type
-    //
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-
-    //
-    // Create the microphone
-    //
-    self.microphone = [EZMicrophone microphoneWithDelegate:self];
-
-    //
-    // Set up the microphone input UIPickerView items to select
-    // between different microphone inputs. Here what we're doing behind the hood
-    // is enumerating the available inputs provided by the AVAudioSession.
-    //
-    self.inputs = [EZAudioDevice inputDevices];
-    self.microphoneInputPickerView.dataSource = self;
-    self.microphoneInputPickerView.delegate = self;
-
-    //
-    // Start the microphone
-    //
-    [self.microphone startFetchingAudio];
-    self.microphoneTextLabel.text = @"Microphone On";
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - UIPickerViewDataSource
-//------------------------------------------------------------------------------
-
-- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
-{
-    return 1;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSString *)pickerView:(UIPickerView *)pickerView
-             titleForRow:(NSInteger)row
-            forComponent:(NSInteger)component
-{
-    EZAudioDevice *device = self.inputs[row];
-    return device.name;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSAttributedString *)pickerView:(UIPickerView *)pickerView
-             attributedTitleForRow:(NSInteger)row
-                      forComponent:(NSInteger)component
-{
-    EZAudioDevice *device = self.inputs[row];
-    UIColor *textColor = [device isEqual:self.microphone.device] ? self.audioPlot.backgroundColor : [UIColor blackColor];
-    return  [[NSAttributedString alloc] initWithString:device.name
-                                            attributes:@{ NSForegroundColorAttributeName : textColor }];
-}
-
-//------------------------------------------------------------------------------
-
-- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
-{
-    return self.inputs.count;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
-{
-    EZAudioDevice *device = self.inputs[row];
-    [self.microphone setDevice:device];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)changePlotType:(id)sender
-{
-    NSInteger selectedSegment = [sender selectedSegmentIndex];
-    switch (selectedSegment)
-    {
-        case 0:
-            [self drawBufferPlot];
-            break;
-        case 1:
-            [self drawRollingPlot];
-            break;
-        default:
-            break;
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)toggleMicrophone:(id)sender
-{
-    BOOL isOn = [sender isOn];
-    if (!isOn)
-    {
-        [self.microphone stopFetchingAudio];
-        self.microphoneTextLabel.text = @"Microphone Off";
-    }
-    else
-    {
-        [self.microphone startFetchingAudio];
-        self.microphoneTextLabel.text = @"Microphone On";
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)toggleMicrophonePickerView:(id)sender
-{
-    BOOL isHidden = self.microphoneInputPickerViewTopConstraint.constant != 0.0;
-    [self setMicrophonePickerViewHidden:!isHidden];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setMicrophonePickerViewHidden:(BOOL)hidden
-{
-    CGFloat pickerHeight = CGRectGetHeight(self.microphoneInputPickerView.bounds);
-    __weak typeof(self) weakSelf = self;
-    [UIView animateWithDuration:0.55
-                          delay:0.0
-         usingSpringWithDamping:0.6
-          initialSpringVelocity:0.5
-                        options:(UIViewAnimationOptionBeginFromCurrentState|
-                                 UIViewAnimationOptionCurveEaseInOut|
-                                 UIViewAnimationOptionLayoutSubviews)
-                     animations:^{
-                         weakSelf.microphoneInputPickerViewTopConstraint.constant = hidden ? -pickerHeight : 0.0f;
-                         [weakSelf.view layoutSubviews];
-                     } completion:nil];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Utility
-//------------------------------------------------------------------------------
-
-//
-// Give the visualization of the current buffer (this is almost exactly the
-// openFrameworks audio input eample)
-//
-- (void)drawBufferPlot
-{
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    self.audioPlot.shouldMirror = NO;
-    self.audioPlot.shouldFill = NO;
-}
-
-//------------------------------------------------------------------------------
-
-//
-// Give the classic mirrored, rolling waveform look
-//
--(void)drawRollingPlot
-{
-    self.audioPlot.plotType = EZPlotTypeRolling;
-    self.audioPlot.shouldFill = YES;
-    self.audioPlot.shouldMirror = YES;
-}
-
-#pragma mark - EZMicrophoneDelegate
-#warning Thread Safety
-//
-// Note that any callback that provides streamed audio data (like streaming
-// microphone input) happens on a separate audio thread that should not be
-// blocked. When we feed audio data into any of the UI components we need to
-// explicity create a GCD block on the main thread to properly get the UI
-// to work.
-//
-- (void)microphone:(EZMicrophone *)microphone
-  hasAudioReceived:(float **)buffer
-    withBufferSize:(UInt32)bufferSize
-withNumberOfChannels:(UInt32)numberOfChannels
-{
-    //
-    // Getting audio data as an array of float buffer arrays. What does that mean?
-    // Because the audio is coming in as a stereo signal the data is split into
-    // a left and right channel. So buffer[0] corresponds to the float* data
-    // for the left channel while buffer[1] corresponds to the float* data
-    // for the right channel.
-    //
-
-    //
-    // See the Thread Safety warning above, but in a nutshell these callbacks
-    // happen on a separate audio thread. We wrap any UI updating in a GCD block
-    // on the main thread to avoid blocking that audio flow.
-    //
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        //
-        // All the audio plot needs is the buffer data (float*) and the size.
-        // Internally the audio plot will handle all the drawing related code,
-        // history management, and freeing its own resources.
-        // Hence, one badass line of code gets you a pretty plot :)
-        //
-        [weakSelf.audioPlot updateBuffer:buffer[0] withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone hasAudioStreamBasicDescription:(AudioStreamBasicDescription)audioStreamBasicDescription
-{
-    //
-    // The AudioStreamBasicDescription of the microphone stream. This is useful
-    // when configuring the EZRecorder or telling another component what
-    // audio format type to expect.
-    //
-    [EZAudioUtilities printASBD:audioStreamBasicDescription];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone
-     hasBufferList:(AudioBufferList *)bufferList
-    withBufferSize:(UInt32)bufferSize
-withNumberOfChannels:(UInt32)numberOfChannels
-{
-    //
-    // Getting audio data as a buffer list that can be directly fed into the
-    // EZRecorder or EZOutput. Say whattt...
-    //
-}
-
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone changedDevice:(EZAudioDevice *)device
-{
-    NSLog(@"Microphone changed device: %@", device.name);
-
-    //
-    // Called anytime the microphone's device changes
-    //
-    __weak typeof(self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        NSString *name = device.name;
-        NSString *tapText = @" (Tap To Change)";
-        NSString *microphoneInputToggleButtonText = [NSString stringWithFormat:@"%@%@", device.name, tapText];
-        NSRange rangeOfName = [microphoneInputToggleButtonText rangeOfString:name];
-        NSMutableAttributedString *microphoneInputToggleButtonAttributedText = [[NSMutableAttributedString alloc] initWithString:microphoneInputToggleButtonText];
-        [microphoneInputToggleButtonAttributedText addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:13.0f] range:rangeOfName];
-        [weakSelf.microphoneInputToggleButton setAttributedTitle:microphoneInputToggleButtonAttributedText forState:UIControlStateNormal];
-
-        //
-        // Reset the device list (a device may have been plugged in/out)
-        //
-        weakSelf.inputs = [EZAudioDevice inputDevices];
-        [weakSelf.microphoneInputPickerView reloadAllComponents];
-        [weakSelf setMicrophonePickerViewHidden:YES];
-    });
-}
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/main.m b/document/EZAudio-master/EZAudioExamples/iOS/OpenGLWaveform/OpenGLWaveform/main.m
deleted file mode 100644 (file)
index 20e45ae..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-//  main.m
-//  OpenGLWaveform
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-#import "AppDelegate.h"
-
-int main(int argc, char * argv[]) {
-    @autoreleasepool {
-        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
-    }
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index 4abe3d6..0000000
+++ /dev/null
@@ -1,401 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               66374ECB1C545AFB000B19D0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374ECA1C545AFB000B19D0 /* main.m */; };
-               66374ECE1C545AFB000B19D0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374ECD1C545AFB000B19D0 /* AppDelegate.m */; };
-               66374ED11C545AFB000B19D0 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374ED01C545AFB000B19D0 /* ViewController.m */; };
-               66374ED41C545AFB000B19D0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374ED21C545AFB000B19D0 /* Main.storyboard */; };
-               66374ED61C545AFB000B19D0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 66374ED51C545AFB000B19D0 /* Assets.xcassets */; };
-               66374ED91C545AFB000B19D0 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374ED71C545AFB000B19D0 /* LaunchScreen.storyboard */; };
-               66374F981C548287000B19D0 /* EZAudioiOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F121C545B4B000B19D0 /* EZAudioiOS.framework */; };
-               66374F991C548287000B19D0 /* EZAudioiOS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F121C545B4B000B19D0 /* EZAudioiOS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374F111C545B4B000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F0C1C545B4B000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374F131C545B4B000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F0C1C545B4B000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-               66374F9A1C548287000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F0C1C545B4B000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 469F4CF21B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXCopyFilesBuildPhase section */
-               66374F9C1C548287000B19D0 /* Embed Frameworks */ = {
-                       isa = PBXCopyFilesBuildPhase;
-                       buildActionMask = 2147483647;
-                       dstPath = "";
-                       dstSubfolderSpec = 10;
-                       files = (
-                               66374F991C548287000B19D0 /* EZAudioiOS.framework in Embed Frameworks */,
-                       );
-                       name = "Embed Frameworks";
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
-               66374EC61C545AFB000B19D0 /* PassThrough.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PassThrough.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               66374ECA1C545AFB000B19D0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
-               66374ECC1C545AFB000B19D0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = AppDelegate.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
-               66374ECD1C545AFB000B19D0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = AppDelegate.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
-               66374ECF1C545AFB000B19D0 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
-               66374ED01C545AFB000B19D0 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
-               66374ED31C545AFB000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
-               66374ED51C545AFB000B19D0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               66374ED81C545AFB000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
-               66374EDA1C545AFB000B19D0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               66374F0C1C545B4B000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               66374EC31C545AFB000B19D0 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374F981C548287000B19D0 /* EZAudioiOS.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               66374EBD1C545AFB000B19D0 = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F0C1C545B4B000B19D0 /* EZAudio.xcodeproj */,
-                               66374EC81C545AFB000B19D0 /* PassThrough */,
-                               66374EC71C545AFB000B19D0 /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               66374EC71C545AFB000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374EC61C545AFB000B19D0 /* PassThrough.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               66374EC81C545AFB000B19D0 /* PassThrough */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374ECC1C545AFB000B19D0 /* AppDelegate.h */,
-                               66374ECD1C545AFB000B19D0 /* AppDelegate.m */,
-                               66374ECF1C545AFB000B19D0 /* ViewController.h */,
-                               66374ED01C545AFB000B19D0 /* ViewController.m */,
-                               66374ED21C545AFB000B19D0 /* Main.storyboard */,
-                               66374ED51C545AFB000B19D0 /* Assets.xcassets */,
-                               66374ED71C545AFB000B19D0 /* LaunchScreen.storyboard */,
-                               66374EDA1C545AFB000B19D0 /* Info.plist */,
-                               66374EC91C545AFB000B19D0 /* Supporting Files */,
-                       );
-                       path = PassThrough;
-                       sourceTree = "<group>";
-               };
-               66374EC91C545AFB000B19D0 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374ECA1C545AFB000B19D0 /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-               66374F0D1C545B4B000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F121C545B4B000B19D0 /* EZAudioiOS.framework */,
-                               66374F141C545B4B000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               66374EC51C545AFB000B19D0 /* PassThrough */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 66374EDD1C545AFB000B19D0 /* Build configuration list for PBXNativeTarget "PassThrough" */;
-                       buildPhases = (
-                               66374EC21C545AFB000B19D0 /* Sources */,
-                               66374EC31C545AFB000B19D0 /* Frameworks */,
-                               66374EC41C545AFB000B19D0 /* Resources */,
-                               66374F9C1C548287000B19D0 /* Embed Frameworks */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               66374F9B1C548287000B19D0 /* PBXTargetDependency */,
-                       );
-                       name = PassThrough;
-                       productName = PassThrough;
-                       productReference = 66374EC61C545AFB000B19D0 /* PassThrough.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               66374EBE1C545AFB000B19D0 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       66374EC51C545AFB000B19D0 = {
-                                               CreatedOnToolsVersion = 7.2;
-                                               DevelopmentTeam = M33X987285;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 66374EC11C545AFB000B19D0 /* Build configuration list for PBXProject "PassThrough" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               English,
-                               en,
-                               Base,
-                       );
-                       mainGroup = 66374EBD1C545AFB000B19D0;
-                       productRefGroup = 66374EC71C545AFB000B19D0 /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374F0D1C545B4B000B19D0 /* Products */;
-                                       ProjectRef = 66374F0C1C545B4B000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               66374EC51C545AFB000B19D0 /* PassThrough */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374F121C545B4B000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374F111C545B4B000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374F141C545B4B000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374F131C545B4B000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               66374EC41C545AFB000B19D0 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374ED91C545AFB000B19D0 /* LaunchScreen.storyboard in Resources */,
-                               66374ED61C545AFB000B19D0 /* Assets.xcassets in Resources */,
-                               66374ED41C545AFB000B19D0 /* Main.storyboard in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               66374EC21C545AFB000B19D0 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374ED11C545AFB000B19D0 /* ViewController.m in Sources */,
-                               66374ECE1C545AFB000B19D0 /* AppDelegate.m in Sources */,
-                               66374ECB1C545AFB000B19D0 /* main.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-               66374F9B1C548287000B19D0 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = EZAudioiOS;
-                       targetProxy = 66374F9A1C548287000B19D0 /* PBXContainerItemProxy */;
-               };
-/* End PBXTargetDependency section */
-
-/* Begin PBXVariantGroup section */
-               66374ED21C545AFB000B19D0 /* Main.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374ED31C545AFB000B19D0 /* Base */,
-                       );
-                       name = Main.storyboard;
-                       sourceTree = "<group>";
-               };
-               66374ED71C545AFB000B19D0 /* LaunchScreen.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374ED81C545AFB000B19D0 /* Base */,
-                       );
-                       name = LaunchScreen.storyboard;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               66374EDB1C545AFB000B19D0 /* 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;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                       };
-                       name = Debug;
-               };
-               66374EDC1C545AFB000B19D0 /* 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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                       };
-                       name = Release;
-               };
-               66374EDE1C545AFB000B19D0 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = PassThrough/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.PassThrough;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               66374EDF1C545AFB000B19D0 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = PassThrough/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.PassThrough;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               66374EC11C545AFB000B19D0 /* Build configuration list for PBXProject "PassThrough" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374EDB1C545AFB000B19D0 /* Debug */,
-                               66374EDC1C545AFB000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               66374EDD1C545AFB000B19D0 /* Build configuration list for PBXNativeTarget "PassThrough" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374EDE1C545AFB000B19D0 /* Debug */,
-                               66374EDF1C545AFB000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 66374EBE1C545AFB000B19D0 /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/AppDelegate.h
deleted file mode 100644 (file)
index 790b1f2..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  AppDelegate.h
-//  PassThrough
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-@interface AppDelegate : UIResponder <UIApplicationDelegate>
-
-@property (strong, nonatomic) UIWindow *window;
-
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/AppDelegate.m
deleted file mode 100644 (file)
index f360841..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-//  AppDelegate.m
-//  PassThrough
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "AppDelegate.h"
-
-@interface AppDelegate ()
-
-@end
-
-@implementation AppDelegate
-
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
-    // Override point for customization after application launch.
-    return YES;
-}
-
-- (void)applicationWillResignActive:(UIApplication *)application {
-    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
-    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application {
-    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
-    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application {
-    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application {
-    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application {
-    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index a4b3297..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "83.5x83.5",
-      "idiom" : "ipad",
-      "filename" : "Icon-83.5@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-40.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-40.png
deleted file mode 100644 (file)
index 1061664..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-40.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png
deleted file mode 100644 (file)
index 2577029..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png
deleted file mode 100644 (file)
index 433c633..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png
deleted file mode 100644 (file)
index 433c633..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png
deleted file mode 100644 (file)
index 602cf7e..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-72.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-72.png
deleted file mode 100644 (file)
index 5be7114..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-72.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png
deleted file mode 100644 (file)
index 49d20d2..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-76.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-76.png
deleted file mode 100644 (file)
index d522304..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-76.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png
deleted file mode 100644 (file)
index 9bd2a27..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png
deleted file mode 100644 (file)
index cb45c8d..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png
deleted file mode 100644 (file)
index 80dce11..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png
deleted file mode 100644 (file)
index 241596f..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small.png
deleted file mode 100644 (file)
index 5ed14ba..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png
deleted file mode 100644 (file)
index 53a3b47..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png
deleted file mode 100644 (file)
index e82d984..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon.png
deleted file mode 100644 (file)
index 69e6579..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon@2x.png
deleted file mode 100644 (file)
index 0fe73ee..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/AppIcon.appiconset/Icon@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Base.lproj/LaunchScreen.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644 (file)
index 2e721e1..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8150" systemVersion="15A204g" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8122"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="EHf-IW-A2E">
-            <objects>
-                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
-                        <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <animations/>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="53" y="375"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Base.lproj/Main.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Base.lproj/Main.storyboard
deleted file mode 100644 (file)
index 0533f63..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="yMu-Rx-B90">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="dK8-eo-dF3">
-            <objects>
-                <viewController id="yMu-Rx-B90" customClass="ViewController" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="PcS-SB-ERX"/>
-                        <viewControllerLayoutGuide type="bottom" id="N1h-oX-eKR"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="Agd-Tm-pvB">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qeb-aE-jHV" customClass="EZAudioPlotGL">
-                                <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                            </view>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                        <constraints>
-                            <constraint firstItem="qeb-aE-jHV" firstAttribute="top" secondItem="Agd-Tm-pvB" secondAttribute="top" id="HLX-cX-Zn7"/>
-                            <constraint firstAttribute="trailing" secondItem="qeb-aE-jHV" secondAttribute="trailing" id="Vja-z0-9L4"/>
-                            <constraint firstItem="qeb-aE-jHV" firstAttribute="leading" secondItem="Agd-Tm-pvB" secondAttribute="leading" id="gl5-Q3-IZy"/>
-                            <constraint firstItem="N1h-oX-eKR" firstAttribute="top" secondItem="qeb-aE-jHV" secondAttribute="bottom" id="wyE-wX-2Bk"/>
-                        </constraints>
-                    </view>
-                    <connections>
-                        <outlet property="audioPlot" destination="qeb-aE-jHV" id="cOJ-K5-TY2"/>
-                        <outlet property="view" destination="Agd-Tm-pvB" id="urS-J5-1UU"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="08O-tD-0eK" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="120" y="339"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Info.plist b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/Info.plist
deleted file mode 100644 (file)
index 0f22641..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>en</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</string>
-       <key>LSRequiresIPhoneOS</key>
-       <true/>
-       <key>UILaunchStoryboardName</key>
-       <string>LaunchScreen</string>
-       <key>UIMainStoryboardFile</key>
-       <string>Main</string>
-       <key>UIRequiredDeviceCapabilities</key>
-       <array>
-               <string>armv7</string>
-       </array>
-       <key>UISupportedInterfaceOrientations</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>UISupportedInterfaceOrientations~ipad</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationPortraitUpsideDown</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>NSMicrophoneUsageDescription</key>
-       <string>录音需要使用麦克风</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/ViewController.h b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/ViewController.h
deleted file mode 100644 (file)
index c92e9a5..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-//  ViewController.h
-//  PassThrough
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//------------------------------------------------------------------------------
-#pragma mark - ViewController
-//------------------------------------------------------------------------------
-
-@interface ViewController : UIViewController <EZMicrophoneDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-//
-// The OpenGL based audio plot
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlotGL *audioPlot;
-
-//------------------------------------------------------------------------------
-
-//
-// The UILabel used to display whether the microphone is on or off
-//
-@property (nonatomic, weak) IBOutlet UILabel *microphoneTextLabel;
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-//
-// Switches the plot drawing type between a buffer plot (visualizes the current
-// stream of audio data from the update function) or a rolling plot (visualizes
-// the audio data over time, this is the classic waveform look)
-//
-- (IBAction)changePlotType:(id)sender;
-
-//------------------------------------------------------------------------------
-
-//
-// Toggles the microphone on and off. When the microphone is on it will send its
-// delegate (aka this view controller) the audio data in various ways (check out
-// the EZMicrophoneDelegate documentation for more details);
-//
-- (IBAction)toggleMicrophone:(id)sender;
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/ViewController.m b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/ViewController.m
deleted file mode 100644 (file)
index 925d370..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-//
-//  ViewController.m
-//  PassThrough
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "ViewController.h"
-
-@implementation ViewController
-
-//------------------------------------------------------------------------------
-#pragma mark - Status Bar Style
-//------------------------------------------------------------------------------
-
-- (UIStatusBarStyle)preferredStatusBarStyle
-{
-    return UIStatusBarStyleLightContent;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Customize the Audio Plot
-//------------------------------------------------------------------------------
-
-- (void)viewDidLoad
-{
-    [super viewDidLoad];
-
-    //
-    // Setup the AVAudioSession. EZMicrophone will not work properly on iOS
-    // if you don't do this!
-    //
-    AVAudioSession *session = [AVAudioSession sharedInstance];
-    NSError *error;
-    [session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting up audio session category: %@", error.localizedDescription);
-    }
-    [session setActive:YES error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting up audio session active: %@", error.localizedDescription);
-    }
-
-    //
-    // Customizing the audio plot's look
-    //
-    self.audioPlot.backgroundColor = [UIColor colorWithRed: 0.569 green: 0.82 blue: 0.478 alpha: 1];
-    self.audioPlot.color = [UIColor colorWithRed: 1.000 green: 1.000 blue: 1.000 alpha: 1];
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    
-    //
-    // Start the microphone
-    //
-    [EZMicrophone sharedMicrophone].delegate = self;
-    [[EZMicrophone sharedMicrophone] startFetchingAudio];
-    self.microphoneTextLabel.text = @"Microphone On";
-
-    //
-    // Use the microphone as the EZOutputDataSource
-    //
-    [[EZMicrophone sharedMicrophone] setOutput:[EZOutput sharedOutput]];
-
-    //
-    // Make sure we override the output to the speaker
-    //
-    [session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:NULL];
-    if (error)
-    {
-        NSLog(@"Error setting up audio session active: %@", error.localizedDescription);
-    }
-
-    //
-    // Start the EZOutput
-    //
-    [[EZOutput sharedOutput] startPlayback];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)changePlotType:(id)sender
-{
-    NSInteger selectedSegment = [sender selectedSegmentIndex];
-    switch(selectedSegment)
-    {
-        case 0:
-            [self drawBufferPlot];
-            break;
-        case 1:
-            [self drawRollingPlot];
-            break;
-        default:
-            break;
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)toggleMicrophone:(id)sender
-{
-    if( ![(UISwitch*)sender isOn] )
-    {
-        [[EZMicrophone sharedMicrophone] stopFetchingAudio];
-        self.microphoneTextLabel.text = @"Microphone Off";
-    }
-    else
-    {
-        [[EZMicrophone sharedMicrophone] startFetchingAudio];
-        self.microphoneTextLabel.text = @"Microphone On";
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Action Extensions
-//------------------------------------------------------------------------------
-
-//
-// Give the visualization of the current buffer (this is almost exactly the
-// openFrameworks audio input example)
-//
-- (void)drawBufferPlot
-{
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    self.audioPlot.shouldMirror = NO;
-    self.audioPlot.shouldFill = NO;
-}
-
-//------------------------------------------------------------------------------
-
-//
-// Give the classic mirrored, rolling waveform look
-//
-- (void)drawRollingPlot
-{
-    self.audioPlot.plotType = EZPlotTypeRolling;
-    self.audioPlot.shouldFill = YES;
-    self.audioPlot.shouldMirror = YES;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZMicrophoneDelegate
-//------------------------------------------------------------------------------
-
--(void)    microphone:(EZMicrophone *)microphone
-     hasAudioReceived:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [weakSelf.audioPlot updateBuffer:buffer[0]
-                          withBufferSize:bufferSize];
-    });
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/main.m b/document/EZAudio-master/EZAudioExamples/iOS/PassThrough/PassThrough/main.m
deleted file mode 100644 (file)
index 548f602..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-//  main.m
-//  PassThrough
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-#import "AppDelegate.h"
-
-int main(int argc, char * argv[]) {
-    @autoreleasepool {
-        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
-    }
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index 4e66618..0000000
+++ /dev/null
@@ -1,405 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               66374E621C545AC6000B19D0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374E611C545AC6000B19D0 /* main.m */; };
-               66374E651C545AC6000B19D0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374E641C545AC6000B19D0 /* AppDelegate.m */; };
-               66374E681C545AC6000B19D0 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374E671C545AC6000B19D0 /* ViewController.m */; };
-               66374E6B1C545AC6000B19D0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374E691C545AC6000B19D0 /* Main.storyboard */; };
-               66374E6D1C545AC6000B19D0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 66374E6C1C545AC6000B19D0 /* Assets.xcassets */; };
-               66374E701C545AC6000B19D0 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374E6E1C545AC6000B19D0 /* LaunchScreen.storyboard */; };
-               66374F761C5475B1000B19D0 /* EZAudioiOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F2D1C545B55000B19D0 /* EZAudioiOS.framework */; };
-               66374F771C5475B1000B19D0 /* EZAudioiOS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F2D1C545B55000B19D0 /* EZAudioiOS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
-               66374F7C1C5475DF000B19D0 /* simple-drum-beat.wav in Resources */ = {isa = PBXBuildFile; fileRef = 66374F7B1C5475DF000B19D0 /* simple-drum-beat.wav */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374F2C1C545B55000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F271C545B55000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374F2E1C545B55000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F271C545B55000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-               66374F781C5475B1000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F271C545B55000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 469F4CF21B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXCopyFilesBuildPhase section */
-               66374F7A1C5475B1000B19D0 /* Embed Frameworks */ = {
-                       isa = PBXCopyFilesBuildPhase;
-                       buildActionMask = 2147483647;
-                       dstPath = "";
-                       dstSubfolderSpec = 10;
-                       files = (
-                               66374F771C5475B1000B19D0 /* EZAudioiOS.framework in Embed Frameworks */,
-                       );
-                       name = "Embed Frameworks";
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
-               66374E5D1C545AC6000B19D0 /* PlayFile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PlayFile.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               66374E611C545AC6000B19D0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
-               66374E631C545AC6000B19D0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
-               66374E641C545AC6000B19D0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
-               66374E661C545AC6000B19D0 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
-               66374E671C545AC6000B19D0 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
-               66374E6A1C545AC6000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
-               66374E6C1C545AC6000B19D0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               66374E6F1C545AC6000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
-               66374E711C545AC6000B19D0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               66374F271C545B55000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-               66374F7B1C5475DF000B19D0 /* simple-drum-beat.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = "simple-drum-beat.wav"; path = "../../simple-drum-beat.wav"; sourceTree = SOURCE_ROOT; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               66374E5A1C545AC6000B19D0 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374F761C5475B1000B19D0 /* EZAudioiOS.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               66374E541C545AC6000B19D0 = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F271C545B55000B19D0 /* EZAudio.xcodeproj */,
-                               66374E5F1C545AC6000B19D0 /* PlayFile */,
-                               66374E5E1C545AC6000B19D0 /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               66374E5E1C545AC6000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374E5D1C545AC6000B19D0 /* PlayFile.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               66374E5F1C545AC6000B19D0 /* PlayFile */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F7B1C5475DF000B19D0 /* simple-drum-beat.wav */,
-                               66374E631C545AC6000B19D0 /* AppDelegate.h */,
-                               66374E641C545AC6000B19D0 /* AppDelegate.m */,
-                               66374E661C545AC6000B19D0 /* ViewController.h */,
-                               66374E671C545AC6000B19D0 /* ViewController.m */,
-                               66374E691C545AC6000B19D0 /* Main.storyboard */,
-                               66374E6C1C545AC6000B19D0 /* Assets.xcassets */,
-                               66374E6E1C545AC6000B19D0 /* LaunchScreen.storyboard */,
-                               66374E711C545AC6000B19D0 /* Info.plist */,
-                               66374E601C545AC6000B19D0 /* Supporting Files */,
-                       );
-                       path = PlayFile;
-                       sourceTree = "<group>";
-               };
-               66374E601C545AC6000B19D0 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374E611C545AC6000B19D0 /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-               66374F281C545B55000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F2D1C545B55000B19D0 /* EZAudioiOS.framework */,
-                               66374F2F1C545B55000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               66374E5C1C545AC6000B19D0 /* PlayFile */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 66374E741C545AC6000B19D0 /* Build configuration list for PBXNativeTarget "PlayFile" */;
-                       buildPhases = (
-                               66374E591C545AC6000B19D0 /* Sources */,
-                               66374E5A1C545AC6000B19D0 /* Frameworks */,
-                               66374E5B1C545AC6000B19D0 /* Resources */,
-                               66374F7A1C5475B1000B19D0 /* Embed Frameworks */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               66374F791C5475B1000B19D0 /* PBXTargetDependency */,
-                       );
-                       name = PlayFile;
-                       productName = PlayFile;
-                       productReference = 66374E5D1C545AC6000B19D0 /* PlayFile.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               66374E551C545AC6000B19D0 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       66374E5C1C545AC6000B19D0 = {
-                                               CreatedOnToolsVersion = 7.2;
-                                               DevelopmentTeam = M33X987285;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 66374E581C545AC6000B19D0 /* Build configuration list for PBXProject "PlayFile" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               English,
-                               en,
-                               Base,
-                       );
-                       mainGroup = 66374E541C545AC6000B19D0;
-                       productRefGroup = 66374E5E1C545AC6000B19D0 /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374F281C545B55000B19D0 /* Products */;
-                                       ProjectRef = 66374F271C545B55000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               66374E5C1C545AC6000B19D0 /* PlayFile */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374F2D1C545B55000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374F2C1C545B55000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374F2F1C545B55000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374F2E1C545B55000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               66374E5B1C545AC6000B19D0 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374F7C1C5475DF000B19D0 /* simple-drum-beat.wav in Resources */,
-                               66374E701C545AC6000B19D0 /* LaunchScreen.storyboard in Resources */,
-                               66374E6D1C545AC6000B19D0 /* Assets.xcassets in Resources */,
-                               66374E6B1C545AC6000B19D0 /* Main.storyboard in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               66374E591C545AC6000B19D0 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374E681C545AC6000B19D0 /* ViewController.m in Sources */,
-                               66374E651C545AC6000B19D0 /* AppDelegate.m in Sources */,
-                               66374E621C545AC6000B19D0 /* main.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-               66374F791C5475B1000B19D0 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = EZAudioiOS;
-                       targetProxy = 66374F781C5475B1000B19D0 /* PBXContainerItemProxy */;
-               };
-/* End PBXTargetDependency section */
-
-/* Begin PBXVariantGroup section */
-               66374E691C545AC6000B19D0 /* Main.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374E6A1C545AC6000B19D0 /* Base */,
-                       );
-                       name = Main.storyboard;
-                       sourceTree = "<group>";
-               };
-               66374E6E1C545AC6000B19D0 /* LaunchScreen.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374E6F1C545AC6000B19D0 /* Base */,
-                       );
-                       name = LaunchScreen.storyboard;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               66374E721C545AC6000B19D0 /* 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;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                       };
-                       name = Debug;
-               };
-               66374E731C545AC6000B19D0 /* 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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                       };
-                       name = Release;
-               };
-               66374E751C545AC6000B19D0 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = PlayFile/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.PlayFile;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               66374E761C545AC6000B19D0 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = PlayFile/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.PlayFile;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               66374E581C545AC6000B19D0 /* Build configuration list for PBXProject "PlayFile" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374E721C545AC6000B19D0 /* Debug */,
-                               66374E731C545AC6000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               66374E741C545AC6000B19D0 /* Build configuration list for PBXNativeTarget "PlayFile" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374E751C545AC6000B19D0 /* Debug */,
-                               66374E761C545AC6000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 66374E551C545AC6000B19D0 /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/AppDelegate.h
deleted file mode 100644 (file)
index de7e690..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  AppDelegate.h
-//  PlayFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-@interface AppDelegate : UIResponder <UIApplicationDelegate>
-
-@property (strong, nonatomic) UIWindow *window;
-
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/AppDelegate.m
deleted file mode 100644 (file)
index e2b3329..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-//  AppDelegate.m
-//  PlayFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "AppDelegate.h"
-
-@interface AppDelegate ()
-
-@end
-
-@implementation AppDelegate
-
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
-    // Override point for customization after application launch.
-    return YES;
-}
-
-- (void)applicationWillResignActive:(UIApplication *)application {
-    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
-    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application {
-    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
-    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application {
-    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application {
-    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application {
-    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index a4b3297..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "83.5x83.5",
-      "idiom" : "ipad",
-      "filename" : "Icon-83.5@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-40.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-40.png
deleted file mode 100644 (file)
index f38e434..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-40.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png
deleted file mode 100644 (file)
index 2aa04dd..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png
deleted file mode 100644 (file)
index b0c1191..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png
deleted file mode 100644 (file)
index b0c1191..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png
deleted file mode 100644 (file)
index 06eec0e..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-72.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-72.png
deleted file mode 100644 (file)
index 98b7c8c..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-72.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png
deleted file mode 100644 (file)
index b27da9a..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-76.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-76.png
deleted file mode 100644 (file)
index d506ddb..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-76.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png
deleted file mode 100644 (file)
index d34bf08..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png
deleted file mode 100644 (file)
index 58ab464..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png
deleted file mode 100644 (file)
index 70921cf..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png
deleted file mode 100644 (file)
index c2031ca..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small.png
deleted file mode 100644 (file)
index f61029d..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png
deleted file mode 100644 (file)
index cc3e9a5..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png
deleted file mode 100644 (file)
index e085d65..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon.png
deleted file mode 100644 (file)
index 260c0c3..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon@2x.png
deleted file mode 100644 (file)
index 38bb095..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/AppIcon.appiconset/Icon@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Base.lproj/LaunchScreen.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644 (file)
index 2e721e1..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8150" systemVersion="15A204g" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8122"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="EHf-IW-A2E">
-            <objects>
-                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
-                        <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <animations/>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="53" y="375"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Base.lproj/Main.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Base.lproj/Main.storyboard
deleted file mode 100644 (file)
index 355d3cf..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="NGN-E9-HFS">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="0M4-MQ-OpR">
-            <objects>
-                <viewController id="NGN-E9-HFS" customClass="ViewController" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="idj-Ol-hht"/>
-                        <viewControllerLayoutGuide type="bottom" id="FcJ-BE-Rsd"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="H3q-tP-fjD">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qW2-32-v6e" customClass="EZAudioPlotGL">
-                                <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                                <subviews>
-                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="09y-q5-utV">
-                                        <rect key="frame" x="0.0" y="396" width="600" height="204"/>
-                                        <subviews>
-                                            <slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="0.5" minValue="0.0" maxValue="1" translatesAutoresizingMaskIntoConstraints="NO" id="cXp-Mm-SWR">
-                                                <rect key="frame" x="120.5" y="9" width="464.5" height="31"/>
-                                                <color key="tintColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
-                                                <connections>
-                                                    <action selector="changeVolume:" destination="NGN-E9-HFS" eventType="valueChanged" id="PW9-t2-4Qw"/>
-                                                </connections>
-                                            </slider>
-                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Volume:" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0Wq-R9-rY1">
-                                                <rect key="frame" x="18" y="15" width="51.5" height="16"/>
-                                                <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="13"/>
-                                                <color key="textColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
-                                                <nil key="highlightedColor"/>
-                                            </label>
-                                        </subviews>
-                                        <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.69999999999999996" colorSpace="custom" customColorSpace="sRGB"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="204" id="99C-f0-2FZ"/>
-                                            <constraint firstItem="0Wq-R9-rY1" firstAttribute="leading" secondItem="09y-q5-utV" secondAttribute="leading" constant="18" id="9VV-cU-5I3"/>
-                                            <constraint firstItem="cXp-Mm-SWR" firstAttribute="top" secondItem="09y-q5-utV" secondAttribute="top" constant="9" id="FO0-I6-bb8"/>
-                                            <constraint firstItem="cXp-Mm-SWR" firstAttribute="leading" secondItem="0Wq-R9-rY1" secondAttribute="trailing" constant="53" id="MwQ-Uy-AOv"/>
-                                            <constraint firstItem="0Wq-R9-rY1" firstAttribute="top" secondItem="09y-q5-utV" secondAttribute="top" constant="15" id="wWD-cJ-Er6"/>
-                                            <constraint firstAttribute="trailing" secondItem="cXp-Mm-SWR" secondAttribute="trailing" constant="17" id="yOh-bq-WXY"/>
-                                        </constraints>
-                                    </view>
-                                    <segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="AHP-5X-Xnr">
-                                        <rect key="frame" x="469" y="554" width="113" height="29"/>
-                                        <constraints>
-                                            <constraint firstAttribute="width" constant="113" id="DnJ-fB-6EV"/>
-                                            <constraint firstAttribute="height" constant="28" id="pMp-nL-6Gz"/>
-                                        </constraints>
-                                        <segments>
-                                            <segment title="Buffer"/>
-                                            <segment title="Rolling"/>
-                                        </segments>
-                                        <color key="tintColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
-                                        <connections>
-                                            <action selector="changePlotType:" destination="NGN-E9-HFS" eventType="valueChanged" id="XKw-jc-1Er"/>
-                                        </connections>
-                                    </segmentedControl>
-                                    <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dNk-HE-1RD">
-                                        <rect key="frame" x="18" y="522" width="564" height="21"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="21" id="E0W-Ux-K5w"/>
-                                        </constraints>
-                                        <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                        <color key="textColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
-                                        <nil key="highlightedColor"/>
-                                    </label>
-                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" showsTouchWhenHighlighted="YES" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="TME-SX-EGZ">
-                                        <rect key="frame" x="2" y="552" width="59" height="30"/>
-                                        <constraints>
-                                            <constraint firstAttribute="width" constant="59" id="O24-kP-6ef"/>
-                                            <constraint firstAttribute="height" constant="30" id="epj-68-tDA"/>
-                                        </constraints>
-                                        <fontDescription key="fontDescription" name="HelveticaNeue-Bold" family="Helvetica Neue" pointSize="13"/>
-                                        <color key="tintColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                        <state key="normal" title="Play">
-                                            <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
-                                        </state>
-                                        <connections>
-                                            <action selector="play:" destination="NGN-E9-HFS" eventType="touchUpInside" id="Vno-1v-Tjh"/>
-                                        </connections>
-                                    </button>
-                                    <slider opaque="NO" multipleTouchEnabled="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="0.5" minValue="0.0" maxValue="1" translatesAutoresizingMaskIntoConstraints="NO" id="ekw-C0-4BU">
-                                        <rect key="frame" x="116.5" y="483" width="467.5" height="31"/>
-                                        <color key="tintColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
-                                        <connections>
-                                            <action selector="seekToFrame:" destination="NGN-E9-HFS" eventType="valueChanged" id="bWR-qS-iG7"/>
-                                        </connections>
-                                    </slider>
-                                    <slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="128" minValue="128" maxValue="1024" translatesAutoresizingMaskIntoConstraints="NO" id="6d9-qs-Efp">
-                                        <rect key="frame" x="118.5" y="444" width="465.5" height="31"/>
-                                        <color key="tintColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
-                                        <connections>
-                                            <action selector="changeRollingHistoryLength:" destination="NGN-E9-HFS" eventType="valueChanged" id="Lrh-3d-rig"/>
-                                        </connections>
-                                    </slider>
-                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Rolling Length:" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wwu-nf-vdS">
-                                        <rect key="frame" x="17" y="451" width="94.5" height="16"/>
-                                        <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="13"/>
-                                        <color key="textColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
-                                        <nil key="highlightedColor"/>
-                                    </label>
-                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Position:" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sZp-Tf-eyF">
-                                        <rect key="frame" x="17" y="490" width="55.5" height="16"/>
-                                        <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="13"/>
-                                        <color key="textColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
-                                        <nil key="highlightedColor"/>
-                                    </label>
-                                </subviews>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                <constraints>
-                                    <constraint firstItem="sZp-Tf-eyF" firstAttribute="top" secondItem="Wwu-nf-vdS" secondAttribute="bottom" constant="23" id="56e-aM-GOq"/>
-                                    <constraint firstItem="TME-SX-EGZ" firstAttribute="top" secondItem="dNk-HE-1RD" secondAttribute="bottom" constant="9" id="7PN-zo-U8T"/>
-                                    <constraint firstItem="6d9-qs-Efp" firstAttribute="leading" secondItem="Wwu-nf-vdS" secondAttribute="trailing" constant="9" id="E8w-1g-J7b"/>
-                                    <constraint firstItem="09y-q5-utV" firstAttribute="leading" secondItem="qW2-32-v6e" secondAttribute="leading" id="Fjw-ni-pVh"/>
-                                    <constraint firstAttribute="bottom" secondItem="09y-q5-utV" secondAttribute="bottom" id="Qac-IW-D5W"/>
-                                    <constraint firstItem="sZp-Tf-eyF" firstAttribute="leading" secondItem="qW2-32-v6e" secondAttribute="leading" constant="17" id="R7p-18-4R1"/>
-                                    <constraint firstAttribute="bottom" secondItem="AHP-5X-Xnr" secondAttribute="bottom" constant="18" id="RHf-0z-KCG"/>
-                                    <constraint firstItem="TME-SX-EGZ" firstAttribute="leading" secondItem="qW2-32-v6e" secondAttribute="leading" constant="2" id="Sn1-jz-i5I"/>
-                                    <constraint firstAttribute="trailing" secondItem="09y-q5-utV" secondAttribute="trailing" id="T0m-Ce-Kyf"/>
-                                    <constraint firstItem="ekw-C0-4BU" firstAttribute="leading" secondItem="sZp-Tf-eyF" secondAttribute="trailing" constant="46" id="WD9-Au-pDE"/>
-                                    <constraint firstAttribute="trailing" secondItem="dNk-HE-1RD" secondAttribute="trailing" constant="18" id="YyQ-6c-cOJ"/>
-                                    <constraint firstItem="Wwu-nf-vdS" firstAttribute="leading" secondItem="qW2-32-v6e" secondAttribute="leading" constant="17" id="Zrz-dw-SCA"/>
-                                    <constraint firstItem="ekw-C0-4BU" firstAttribute="top" secondItem="6d9-qs-Efp" secondAttribute="bottom" constant="9" id="aMP-0b-aFz"/>
-                                    <constraint firstItem="dNk-HE-1RD" firstAttribute="leading" secondItem="qW2-32-v6e" secondAttribute="leading" constant="18" id="dK1-XK-GyV"/>
-                                    <constraint firstAttribute="trailing" secondItem="6d9-qs-Efp" secondAttribute="trailing" constant="18" id="gba-s8-Km1"/>
-                                    <constraint firstItem="dNk-HE-1RD" firstAttribute="top" secondItem="sZp-Tf-eyF" secondAttribute="bottom" constant="16" id="ksv-4j-Wzs"/>
-                                    <constraint firstAttribute="trailing" secondItem="ekw-C0-4BU" secondAttribute="trailing" constant="18" id="nrj-FA-tqX"/>
-                                    <constraint firstAttribute="bottom" secondItem="TME-SX-EGZ" secondAttribute="bottom" constant="18" id="oQU-3I-rtM"/>
-                                    <constraint firstAttribute="trailing" secondItem="AHP-5X-Xnr" secondAttribute="trailing" constant="18" id="s0p-QQ-Lbf"/>
-                                    <constraint firstItem="dNk-HE-1RD" firstAttribute="top" secondItem="ekw-C0-4BU" secondAttribute="bottom" constant="9" id="zcX-C8-6PC"/>
-                                </constraints>
-                            </view>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                        <constraints>
-                            <constraint firstItem="qW2-32-v6e" firstAttribute="leading" secondItem="H3q-tP-fjD" secondAttribute="leading" id="19f-O1-fQ3"/>
-                            <constraint firstItem="FcJ-BE-Rsd" firstAttribute="top" secondItem="qW2-32-v6e" secondAttribute="bottom" id="TxB-Ik-HUK"/>
-                            <constraint firstAttribute="trailing" secondItem="qW2-32-v6e" secondAttribute="trailing" id="TyB-6K-mrc"/>
-                            <constraint firstItem="qW2-32-v6e" firstAttribute="top" secondItem="H3q-tP-fjD" secondAttribute="top" id="fst-JE-qFg"/>
-                        </constraints>
-                    </view>
-                    <connections>
-                        <outlet property="audioPlot" destination="qW2-32-v6e" id="Hzf-jb-fAz"/>
-                        <outlet property="filePathLabel" destination="dNk-HE-1RD" id="zMW-oT-9Ce"/>
-                        <outlet property="positionSlider" destination="ekw-C0-4BU" id="uT7-k2-Op7"/>
-                        <outlet property="rollingHistorySlider" destination="6d9-qs-Efp" id="8d3-AE-QLg"/>
-                        <outlet property="view" destination="H3q-tP-fjD" id="FoQ-d6-22j"/>
-                        <outlet property="volumeSlider" destination="cXp-Mm-SWR" id="96Z-wz-ag1"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="NQv-6P-np1" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="455" y="71"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Info.plist b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/Info.plist
deleted file mode 100644 (file)
index 0f22641..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>en</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</string>
-       <key>LSRequiresIPhoneOS</key>
-       <true/>
-       <key>UILaunchStoryboardName</key>
-       <string>LaunchScreen</string>
-       <key>UIMainStoryboardFile</key>
-       <string>Main</string>
-       <key>UIRequiredDeviceCapabilities</key>
-       <array>
-               <string>armv7</string>
-       </array>
-       <key>UISupportedInterfaceOrientations</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>UISupportedInterfaceOrientations~ipad</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationPortraitUpsideDown</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>NSMicrophoneUsageDescription</key>
-       <string>录音需要使用麦克风</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/ViewController.h b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/ViewController.h
deleted file mode 100644 (file)
index 985d961..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-//
-//  ViewController.h
-//  PlayFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//
-// Here's the default audio file included with the example
-//
-#define kAudioFileDefault [[NSBundle mainBundle] pathForResource:@"simple-drum-beat" ofType:@"wav"]
-
-//------------------------------------------------------------------------------
-#pragma mark - ViewController
-//------------------------------------------------------------------------------
-
-@interface ViewController : UIViewController <EZAudioPlayerDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-//
-// An EZAudioFile that will be used to load the audio file at the file path specified
-//
-@property (nonatomic, strong) EZAudioFile *audioFile;
-
-//------------------------------------------------------------------------------
-
-//
-// An EZAudioPlayer that will be used for playback
-//
-@property (nonatomic, strong) EZAudioPlayer *player;
-
-//------------------------------------------------------------------------------
-
-//
-// The CoreGraphics based audio plot
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlotGL *audioPlot;
-
-//------------------------------------------------------------------------------
-
-//
-// A label to display the current file path with the waveform shown
-//
-@property (nonatomic, weak) IBOutlet UILabel *filePathLabel;
-
-//------------------------------------------------------------------------------
-
-//
-// A slider to indicate the current frame position in the audio file
-//
-@property (nonatomic, weak) IBOutlet UISlider *positionSlider;
-
-//------------------------------------------------------------------------------
-
-//
-// A slider to indicate the rolling history length of the audio plot.
-//
-@property (nonatomic, weak) IBOutlet UISlider *rollingHistorySlider;
-
-//------------------------------------------------------------------------------
-
-//
-// A slider to indicate the volume on the audio player
-//
-@property (nonatomic, weak) IBOutlet UISlider *volumeSlider;
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-//
-// Switches the plot drawing type between a buffer plot (visualizes the current
-// stream of audio data from the update function) or a rolling plot (visualizes
-// the audio data over time, this is the classic waveform look)
-//
-- (IBAction)changePlotType:(id)sender;
-
-//------------------------------------------------------------------------------
-
-//
-// Changes the length of the rolling history of the audio plot.
-//
-- (IBAction)changeRollingHistoryLength:(id)sender;
-
-//------------------------------------------------------------------------------
-
-//
-// Changes the volume of the audio player.
-//
-- (IBAction)changeVolume:(id)sender;
-
-//------------------------------------------------------------------------------
-
-//
-// Begins playback if a file is loaded. Pauses if the file is already playing.
-//
-- (IBAction)play:(id)sender;
-
-//------------------------------------------------------------------------------
-
-//
-// Seeks to a specific frame in the audio file.
-//
-- (IBAction)seekToFrame:(id)sender;
-
-@end
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/ViewController.m b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/ViewController.m
deleted file mode 100644 (file)
index 431da5d..0000000
+++ /dev/null
@@ -1,317 +0,0 @@
-//
-//  ViewController.m
-//  PlayFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "ViewController.h"
-
-@implementation ViewController
-
-//------------------------------------------------------------------------------
-#pragma mark - Dealloc
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-    [[NSNotificationCenter defaultCenter] removeObserver:self];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Status Bar Style
-//------------------------------------------------------------------------------
-
-- (UIStatusBarStyle)preferredStatusBarStyle
-{
-    return UIStatusBarStyleLightContent;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void)viewDidLoad
-{
-    [super viewDidLoad];
-    
-    //
-    // Setup the AVAudioSession. EZMicrophone will not work properly on iOS
-    // if you don't do this!
-    //
-    AVAudioSession *session = [AVAudioSession sharedInstance];
-    NSError *error;
-    [session setCategory:AVAudioSessionCategoryPlayback error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting up audio session category: %@", error.localizedDescription);
-    }
-    [session setActive:YES error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting up audio session active: %@", error.localizedDescription);
-    }
-    
-    //
-    // Customizing the audio plot's look
-    //
-    self.audioPlot.backgroundColor = [UIColor colorWithRed: 0.816 green: 0.349 blue: 0.255 alpha: 1];
-    self.audioPlot.color           = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0];
-    self.audioPlot.plotType        = EZPlotTypeBuffer;
-    self.audioPlot.shouldFill      = YES;
-    self.audioPlot.shouldMirror    = YES;
-    
-    NSLog(@"outputs: %@", [EZAudioDevice outputDevices]);
-    
-    //
-    // Create the audio player
-    //
-    self.player = [EZAudioPlayer audioPlayerWithDelegate:self];
-    self.player.shouldLoop = YES;
-    
-    //
-    // Override the output to the speaker
-    //
-    [session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:&error];
-    if (error)
-    {
-        NSLog(@"Error overriding output to the speaker: %@", error.localizedDescription);
-    }
-    
-    //
-    // Customize UI components
-    //
-    self.rollingHistorySlider.value = (float)[self.audioPlot rollingHistoryLength];
-    
-    //
-    // Listen for EZAudioPlayer notifications
-    //
-    [self setupNotifications];
-    
-    /*
-     Try opening the sample file
-     */
-    [self openFileWithFilePathURL:[NSURL fileURLWithPath:kAudioFileDefault]];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Notifications
-//------------------------------------------------------------------------------
-
-- (void)setupNotifications
-{
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(audioPlayerDidChangeAudioFile:)
-                                                 name:EZAudioPlayerDidChangeAudioFileNotification
-                                               object:self.player];
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(audioPlayerDidChangeOutputDevice:)
-                                                 name:EZAudioPlayerDidChangeOutputDeviceNotification
-                                               object:self.player];
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(audioPlayerDidChangePlayState:)
-                                                 name:EZAudioPlayerDidChangePlayStateNotification
-                                               object:self.player];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)audioPlayerDidChangeAudioFile:(NSNotification *)notification
-{
-    EZAudioPlayer *player = [notification object];
-    NSLog(@"Player changed audio file: %@", [player audioFile]);
-}
-
-//------------------------------------------------------------------------------
-
-- (void)audioPlayerDidChangeOutputDevice:(NSNotification *)notification
-{
-    EZAudioPlayer *player = [notification object];
-    NSLog(@"Player changed output device: %@", [player device]);
-}
-
-//------------------------------------------------------------------------------
-
-- (void)audioPlayerDidChangePlayState:(NSNotification *)notification
-{
-    EZAudioPlayer *player = [notification object];
-    NSLog(@"Player change play state, isPlaying: %i", [player isPlaying]);
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)changePlotType:(id)sender
-{
-    NSInteger selectedSegment = [sender selectedSegmentIndex];
-    switch(selectedSegment)
-    {
-        case 0:
-            [self drawBufferPlot];
-            break;
-        case 1:
-            [self drawRollingPlot];
-            break;
-        default:
-            break;
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)changeRollingHistoryLength:(id)sender
-{
-    float value = [(UISlider *)sender value];
-    [self.audioPlot setRollingHistoryLength:(int)value];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)changeVolume:(id)sender
-{
-    float value = [(UISlider *)sender value];
-    [self.player setVolume:value];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)openFileWithFilePathURL:(NSURL *)filePathURL
-{
-    //
-    // Create the EZAudioPlayer
-    //
-    self.audioFile = [EZAudioFile audioFileWithURL:filePathURL];
-    
-    //
-    // Update the UI
-    //
-    self.filePathLabel.text = filePathURL.lastPathComponent;
-    self.positionSlider.maximumValue = (float)self.audioFile.totalFrames;
-    self.volumeSlider.value = [self.player volume];
-    
-    //
-    // Plot the whole waveform
-    //
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    self.audioPlot.shouldFill = YES;
-    self.audioPlot.shouldMirror = YES;
-    __weak typeof (self) weakSelf = self;
-    [self.audioFile getWaveformDataWithCompletionBlock:^(float **waveformData,
-                                                         int length)
-     {
-         [weakSelf.audioPlot updateBuffer:waveformData[0]
-                           withBufferSize:length];
-     }];
-    
-    //
-    // Play the audio file
-    //
-    [self.player setAudioFile:self.audioFile];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)play:(id)sender
-{
-    if ([self.player isPlaying])
-    {
-        [self.player pause];
-    }
-    else
-    {
-        if (self.audioPlot.shouldMirror && (self.audioPlot.plotType == EZPlotTypeBuffer))
-        {
-            self.audioPlot.shouldMirror = NO;
-            self.audioPlot.shouldFill = NO;
-        }
-        [self.player play];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)seekToFrame:(id)sender
-{
-    [self.player seekToFrame:(SInt64)[(UISlider *)sender value]];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlayerDelegate
-//------------------------------------------------------------------------------
-
-- (void)  audioPlayer:(EZAudioPlayer *)audioPlayer
-          playedAudio:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-          inAudioFile:(EZAudioFile *)audioFile
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [weakSelf.audioPlot updateBuffer:buffer[0]
-                          withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)audioPlayer:(EZAudioPlayer *)audioPlayer
-    updatedPosition:(SInt64)framePosition
-        inAudioFile:(EZAudioFile *)audioFile
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        if (!weakSelf.positionSlider.touchInside)
-        {
-            weakSelf.positionSlider.value = (float)framePosition;
-        }
-    });
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Utility
-//------------------------------------------------------------------------------
-
-/*
- Give the visualization of the current buffer (this is almost exactly the openFrameworks audio input eample)
- */
-- (void)drawBufferPlot
-{
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    self.audioPlot.shouldMirror = NO;
-    self.audioPlot.shouldFill = NO;
-}
-
-//------------------------------------------------------------------------------
-
-/*
- Give the classic mirrored, rolling waveform look
- */
-- (void)drawRollingPlot
-{
-    self.audioPlot.plotType = EZPlotTypeRolling;
-    self.audioPlot.shouldFill = YES;
-    self.audioPlot.shouldMirror = YES;
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/main.m b/document/EZAudio-master/EZAudioExamples/iOS/PlayFile/PlayFile/main.m
deleted file mode 100644 (file)
index 7cf0d7e..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-//  main.m
-//  PlayFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-#import "AppDelegate.h"
-
-int main(int argc, char * argv[]) {
-    @autoreleasepool {
-        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
-    }
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index 9da255e..0000000
+++ /dev/null
@@ -1,401 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               66374E851C545AD8000B19D0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374E841C545AD8000B19D0 /* main.m */; };
-               66374E881C545AD8000B19D0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374E871C545AD8000B19D0 /* AppDelegate.m */; };
-               66374E8B1C545AD8000B19D0 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374E8A1C545AD8000B19D0 /* ViewController.m */; };
-               66374E8E1C545AD8000B19D0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374E8C1C545AD8000B19D0 /* Main.storyboard */; };
-               66374E901C545AD8000B19D0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 66374E8F1C545AD8000B19D0 /* Assets.xcassets */; };
-               66374E931C545AD8000B19D0 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374E911C545AD8000B19D0 /* LaunchScreen.storyboard */; };
-               66374F7F1C547A65000B19D0 /* EZAudioiOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F241C545B52000B19D0 /* EZAudioiOS.framework */; };
-               66374F801C547A65000B19D0 /* EZAudioiOS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F241C545B52000B19D0 /* EZAudioiOS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374F231C545B52000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F1E1C545B52000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374F251C545B52000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F1E1C545B52000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-               66374F811C547A65000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F1E1C545B52000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 469F4CF21B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXCopyFilesBuildPhase section */
-               66374F831C547A65000B19D0 /* Embed Frameworks */ = {
-                       isa = PBXCopyFilesBuildPhase;
-                       buildActionMask = 2147483647;
-                       dstPath = "";
-                       dstSubfolderSpec = 10;
-                       files = (
-                               66374F801C547A65000B19D0 /* EZAudioiOS.framework in Embed Frameworks */,
-                       );
-                       name = "Embed Frameworks";
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
-               66374E801C545AD8000B19D0 /* RecordFile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RecordFile.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               66374E841C545AD8000B19D0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
-               66374E861C545AD8000B19D0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
-               66374E871C545AD8000B19D0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
-               66374E891C545AD8000B19D0 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
-               66374E8A1C545AD8000B19D0 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
-               66374E8D1C545AD8000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
-               66374E8F1C545AD8000B19D0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               66374E921C545AD8000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
-               66374E941C545AD8000B19D0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               66374F1E1C545B52000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               66374E7D1C545AD8000B19D0 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374F7F1C547A65000B19D0 /* EZAudioiOS.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               66374E771C545AD8000B19D0 = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F1E1C545B52000B19D0 /* EZAudio.xcodeproj */,
-                               66374E821C545AD8000B19D0 /* RecordFile */,
-                               66374E811C545AD8000B19D0 /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               66374E811C545AD8000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374E801C545AD8000B19D0 /* RecordFile.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               66374E821C545AD8000B19D0 /* RecordFile */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374E861C545AD8000B19D0 /* AppDelegate.h */,
-                               66374E871C545AD8000B19D0 /* AppDelegate.m */,
-                               66374E891C545AD8000B19D0 /* ViewController.h */,
-                               66374E8A1C545AD8000B19D0 /* ViewController.m */,
-                               66374E8C1C545AD8000B19D0 /* Main.storyboard */,
-                               66374E8F1C545AD8000B19D0 /* Assets.xcassets */,
-                               66374E911C545AD8000B19D0 /* LaunchScreen.storyboard */,
-                               66374E941C545AD8000B19D0 /* Info.plist */,
-                               66374E831C545AD8000B19D0 /* Supporting Files */,
-                       );
-                       path = RecordFile;
-                       sourceTree = "<group>";
-               };
-               66374E831C545AD8000B19D0 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374E841C545AD8000B19D0 /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-               66374F1F1C545B52000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F241C545B52000B19D0 /* EZAudioiOS.framework */,
-                               66374F261C545B52000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               66374E7F1C545AD8000B19D0 /* RecordFile */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 66374E971C545AD8000B19D0 /* Build configuration list for PBXNativeTarget "RecordFile" */;
-                       buildPhases = (
-                               66374E7C1C545AD8000B19D0 /* Sources */,
-                               66374E7D1C545AD8000B19D0 /* Frameworks */,
-                               66374E7E1C545AD8000B19D0 /* Resources */,
-                               66374F831C547A65000B19D0 /* Embed Frameworks */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               66374F821C547A65000B19D0 /* PBXTargetDependency */,
-                       );
-                       name = RecordFile;
-                       productName = RecordFile;
-                       productReference = 66374E801C545AD8000B19D0 /* RecordFile.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               66374E781C545AD8000B19D0 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       66374E7F1C545AD8000B19D0 = {
-                                               CreatedOnToolsVersion = 7.2;
-                                               DevelopmentTeam = M33X987285;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 66374E7B1C545AD8000B19D0 /* Build configuration list for PBXProject "RecordFile" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               English,
-                               en,
-                               Base,
-                       );
-                       mainGroup = 66374E771C545AD8000B19D0;
-                       productRefGroup = 66374E811C545AD8000B19D0 /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374F1F1C545B52000B19D0 /* Products */;
-                                       ProjectRef = 66374F1E1C545B52000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               66374E7F1C545AD8000B19D0 /* RecordFile */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374F241C545B52000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374F231C545B52000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374F261C545B52000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374F251C545B52000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               66374E7E1C545AD8000B19D0 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374E931C545AD8000B19D0 /* LaunchScreen.storyboard in Resources */,
-                               66374E901C545AD8000B19D0 /* Assets.xcassets in Resources */,
-                               66374E8E1C545AD8000B19D0 /* Main.storyboard in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               66374E7C1C545AD8000B19D0 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374E8B1C545AD8000B19D0 /* ViewController.m in Sources */,
-                               66374E881C545AD8000B19D0 /* AppDelegate.m in Sources */,
-                               66374E851C545AD8000B19D0 /* main.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-               66374F821C547A65000B19D0 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = EZAudioiOS;
-                       targetProxy = 66374F811C547A65000B19D0 /* PBXContainerItemProxy */;
-               };
-/* End PBXTargetDependency section */
-
-/* Begin PBXVariantGroup section */
-               66374E8C1C545AD8000B19D0 /* Main.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374E8D1C545AD8000B19D0 /* Base */,
-                       );
-                       name = Main.storyboard;
-                       sourceTree = "<group>";
-               };
-               66374E911C545AD8000B19D0 /* LaunchScreen.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374E921C545AD8000B19D0 /* Base */,
-                       );
-                       name = LaunchScreen.storyboard;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               66374E951C545AD8000B19D0 /* 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;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                       };
-                       name = Debug;
-               };
-               66374E961C545AD8000B19D0 /* 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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                       };
-                       name = Release;
-               };
-               66374E981C545AD8000B19D0 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = RecordFile/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.RecordFile;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               66374E991C545AD8000B19D0 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = RecordFile/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.RecordFile;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               66374E7B1C545AD8000B19D0 /* Build configuration list for PBXProject "RecordFile" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374E951C545AD8000B19D0 /* Debug */,
-                               66374E961C545AD8000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               66374E971C545AD8000B19D0 /* Build configuration list for PBXNativeTarget "RecordFile" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374E981C545AD8000B19D0 /* Debug */,
-                               66374E991C545AD8000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 66374E781C545AD8000B19D0 /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/AppDelegate.h
deleted file mode 100644 (file)
index 41fec01..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  AppDelegate.h
-//  RecordFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-@interface AppDelegate : UIResponder <UIApplicationDelegate>
-
-@property (strong, nonatomic) UIWindow *window;
-
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/AppDelegate.m
deleted file mode 100644 (file)
index 1754351..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-//  AppDelegate.m
-//  RecordFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "AppDelegate.h"
-
-@interface AppDelegate ()
-
-@end
-
-@implementation AppDelegate
-
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
-    // Override point for customization after application launch.
-    return YES;
-}
-
-- (void)applicationWillResignActive:(UIApplication *)application {
-    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
-    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application {
-    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
-    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application {
-    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application {
-    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application {
-    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index a4b3297..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "83.5x83.5",
-      "idiom" : "ipad",
-      "filename" : "Icon-83.5@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-40.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-40.png
deleted file mode 100644 (file)
index 0f6805a..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-40.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png
deleted file mode 100644 (file)
index 80c5339..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png
deleted file mode 100644 (file)
index 84d4f76..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png
deleted file mode 100644 (file)
index 84d4f76..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png
deleted file mode 100644 (file)
index 2505273..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-72.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-72.png
deleted file mode 100644 (file)
index 20fe29c..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-72.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png
deleted file mode 100644 (file)
index 99dc6ca..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-76.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-76.png
deleted file mode 100644 (file)
index 2874320..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-76.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png
deleted file mode 100644 (file)
index f369cd6..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png
deleted file mode 100644 (file)
index 02e1bb0..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png
deleted file mode 100644 (file)
index a7b6086..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png
deleted file mode 100644 (file)
index 891f1e9..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small.png
deleted file mode 100644 (file)
index d4bfb89..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png
deleted file mode 100644 (file)
index d26e888..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png
deleted file mode 100644 (file)
index 1e38346..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon.png
deleted file mode 100644 (file)
index 5ebcab8..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon@2x.png
deleted file mode 100644 (file)
index d87d2a0..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/AppIcon.appiconset/Icon@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Base.lproj/LaunchScreen.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644 (file)
index 2e721e1..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8150" systemVersion="15A204g" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8122"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="EHf-IW-A2E">
-            <objects>
-                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
-                        <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <animations/>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="53" y="375"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Base.lproj/Main.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Base.lproj/Main.storyboard
deleted file mode 100644 (file)
index e6e9f2f..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="wdu-Wg-DSd">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="uUc-CG-UjL">
-            <objects>
-                <viewController id="wdu-Wg-DSd" customClass="ViewController" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="mgJ-SG-r2o"/>
-                        <viewControllerLayoutGuide type="bottom" id="YyZ-PE-YCI"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="HYj-bO-XbX">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="XX6-wN-hGZ" customClass="EZAudioPlotGL">
-                                <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                                <subviews>
-                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1fN-bC-YM5">
-                                        <rect key="frame" x="0.0" y="455" width="600" height="145"/>
-                                        <subviews>
-                                            <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Apn-uY-X7f">
-                                                <rect key="frame" x="18" y="57" width="51" height="31"/>
-                                                <color key="onTintColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                                <connections>
-                                                    <action selector="toggleMicrophone:" destination="wdu-Wg-DSd" eventType="valueChanged" id="crc-kZ-6Pb"/>
-                                                </connections>
-                                            </switch>
-                                            <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Microphone On" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q9r-fK-cYo">
-                                                <rect key="frame" x="85" y="65" width="497" height="16"/>
-                                                <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                                <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                                <nil key="highlightedColor"/>
-                                            </label>
-                                            <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="CPK-nJ-zaV">
-                                                <rect key="frame" x="18" y="96" width="51" height="31"/>
-                                                <color key="onTintColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                                <connections>
-                                                    <action selector="toggleRecording:" destination="wdu-Wg-DSd" eventType="valueChanged" id="u0k-Vx-P4D"/>
-                                                </connections>
-                                            </switch>
-                                            <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Recording On" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9Tp-8O-bIO">
-                                                <rect key="frame" x="85" y="104" width="497" height="16"/>
-                                                <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                                <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                                <nil key="highlightedColor"/>
-                                            </label>
-                                            <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Not Playing" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q1Q-qS-AMX">
-                                                <rect key="frame" x="85" y="26" width="497" height="16"/>
-                                                <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                                <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                                <nil key="highlightedColor"/>
-                                            </label>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" showsTouchWhenHighlighted="YES" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hf0-qJ-ees">
-                                                <rect key="frame" x="13" y="19" width="59" height="30"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="height" constant="30" id="9Ap-W6-3aW"/>
-                                                    <constraint firstAttribute="width" constant="59" id="hm5-tC-VAO"/>
-                                                </constraints>
-                                                <fontDescription key="fontDescription" name="HelveticaNeue-Bold" family="Helvetica Neue" pointSize="13"/>
-                                                <color key="tintColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                                <state key="normal" title="Play">
-                                                    <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
-                                                </state>
-                                                <connections>
-                                                    <action selector="playFile:" destination="wdu-Wg-DSd" eventType="touchUpInside" id="IMj-8X-bXP"/>
-                                                </connections>
-                                            </button>
-                                        </subviews>
-                                        <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.69999999999999996" colorSpace="custom" customColorSpace="sRGB"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="145" id="Ax0-TM-dlI"/>
-                                            <constraint firstAttribute="trailing" secondItem="Q1Q-qS-AMX" secondAttribute="trailing" constant="18" id="V3k-mz-nDi"/>
-                                            <constraint firstItem="hf0-qJ-ees" firstAttribute="top" secondItem="1fN-bC-YM5" secondAttribute="top" constant="19" id="f8Y-uv-7H6"/>
-                                            <constraint firstItem="Q1Q-qS-AMX" firstAttribute="leading" secondItem="hf0-qJ-ees" secondAttribute="trailing" constant="13" id="iCH-1t-P6g"/>
-                                            <constraint firstItem="hf0-qJ-ees" firstAttribute="leading" secondItem="1fN-bC-YM5" secondAttribute="leading" constant="13" id="tpQ-13-ENY"/>
-                                            <constraint firstItem="Q1Q-qS-AMX" firstAttribute="top" secondItem="1fN-bC-YM5" secondAttribute="top" constant="26" id="yfq-Pf-lck"/>
-                                        </constraints>
-                                    </view>
-                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00:00" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GD2-44-PHg">
-                                        <rect key="frame" x="18" y="18" width="86.5" height="38.5"/>
-                                        <fontDescription key="fontDescription" type="system" weight="light" pointSize="32"/>
-                                        <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                        <nil key="highlightedColor"/>
-                                    </label>
-                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Jal-9o-GYe" customClass="EZAudioPlot">
-                                        <rect key="frame" x="113.5" y="18" width="468.5" height="39"/>
-                                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="39" id="6v8-Pe-CIQ"/>
-                                        </constraints>
-                                    </view>
-                                </subviews>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                <constraints>
-                                    <constraint firstItem="GD2-44-PHg" firstAttribute="top" secondItem="XX6-wN-hGZ" secondAttribute="top" constant="18" id="IAZ-Mp-sB7"/>
-                                    <constraint firstAttribute="trailing" secondItem="1fN-bC-YM5" secondAttribute="trailing" id="Qna-e1-gDP"/>
-                                    <constraint firstItem="GD2-44-PHg" firstAttribute="leading" secondItem="XX6-wN-hGZ" secondAttribute="leading" constant="18" id="XBF-UG-bbp"/>
-                                    <constraint firstItem="1fN-bC-YM5" firstAttribute="leading" secondItem="XX6-wN-hGZ" secondAttribute="leading" id="Zkk-sD-S7k"/>
-                                    <constraint firstItem="Jal-9o-GYe" firstAttribute="leading" secondItem="GD2-44-PHg" secondAttribute="trailing" constant="9" id="aFa-gD-UAO"/>
-                                    <constraint firstItem="Jal-9o-GYe" firstAttribute="top" secondItem="XX6-wN-hGZ" secondAttribute="top" constant="18" id="eHG-3g-1FI"/>
-                                    <constraint firstAttribute="bottom" secondItem="1fN-bC-YM5" secondAttribute="bottom" id="plz-Cs-1YR"/>
-                                    <constraint firstAttribute="trailing" secondItem="Jal-9o-GYe" secondAttribute="trailing" constant="18" id="ujD-4K-fsm"/>
-                                </constraints>
-                            </view>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                        <constraints>
-                            <constraint firstItem="XX6-wN-hGZ" firstAttribute="top" secondItem="HYj-bO-XbX" secondAttribute="top" id="88U-1T-ssS"/>
-                            <constraint firstItem="YyZ-PE-YCI" firstAttribute="top" secondItem="XX6-wN-hGZ" secondAttribute="bottom" id="MOD-FZ-D2L"/>
-                            <constraint firstAttribute="trailing" secondItem="XX6-wN-hGZ" secondAttribute="trailing" id="a6n-ne-t6U"/>
-                            <constraint firstItem="XX6-wN-hGZ" firstAttribute="leading" secondItem="HYj-bO-XbX" secondAttribute="leading" id="s2T-Tz-Vx9"/>
-                        </constraints>
-                    </view>
-                    <connections>
-                        <outlet property="currentTimeLabel" destination="GD2-44-PHg" id="Tln-Gm-aeP"/>
-                        <outlet property="microphoneStateLabel" destination="Q9r-fK-cYo" id="Xdc-BN-P0h"/>
-                        <outlet property="microphoneSwitch" destination="Apn-uY-X7f" id="Aed-uk-OHQ"/>
-                        <outlet property="playButton" destination="hf0-qJ-ees" id="1X6-E9-vkg"/>
-                        <outlet property="playingAudioPlot" destination="Jal-9o-GYe" id="MR2-hh-CC1"/>
-                        <outlet property="playingStateLabel" destination="Q1Q-qS-AMX" id="gmg-fe-olH"/>
-                        <outlet property="recordSwitch" destination="CPK-nJ-zaV" id="WO9-xi-oKB"/>
-                        <outlet property="recordingAudioPlot" destination="XX6-wN-hGZ" id="ddY-8j-8L7"/>
-                        <outlet property="recordingStateLabel" destination="9Tp-8O-bIO" id="ZXR-4b-NKf"/>
-                        <outlet property="view" destination="HYj-bO-XbX" id="rKd-WN-eQb"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="meB-aB-hDi" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="564" y="61"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Info.plist b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/Info.plist
deleted file mode 100644 (file)
index 0f22641..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>en</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</string>
-       <key>LSRequiresIPhoneOS</key>
-       <true/>
-       <key>UILaunchStoryboardName</key>
-       <string>LaunchScreen</string>
-       <key>UIMainStoryboardFile</key>
-       <string>Main</string>
-       <key>UIRequiredDeviceCapabilities</key>
-       <array>
-               <string>armv7</string>
-       </array>
-       <key>UISupportedInterfaceOrientations</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>UISupportedInterfaceOrientations~ipad</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationPortraitUpsideDown</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>NSMicrophoneUsageDescription</key>
-       <string>录音需要使用麦克风</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/ViewController.h b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/ViewController.h
deleted file mode 100644 (file)
index ef4063f..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-//
-//  ViewController.h
-//  RecordFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//
-// By default this will record a file to the application's documents directory
-// (within the application's sandbox)
-//
-#define kAudioFilePath @"test.m4a"
-
-//------------------------------------------------------------------------------
-#pragma mark - ViewController
-//------------------------------------------------------------------------------
-
-@interface ViewController : UIViewController <EZAudioPlayerDelegate, EZMicrophoneDelegate, EZRecorderDelegate>
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-//
-// The label used to display the current time for recording/playback in the top
-// left
-//
-@property (nonatomic, weak) IBOutlet UILabel *currentTimeLabel;
-
-//------------------------------------------------------------------------------
-
-//
-// Use a OpenGL based plot to visualize the data coming in
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlotGL *recordingAudioPlot;
-
-//------------------------------------------------------------------------------
-
-//
-// A flag indicating whether we are recording or not
-//
-@property (nonatomic, assign) BOOL isRecording;
-
-//------------------------------------------------------------------------------
-
-//
-// The microphone component
-//
-@property (nonatomic, strong) EZMicrophone *microphone;
-
-//------------------------------------------------------------------------------
-
-//
-// The switch used to toggle the microphone on/off
-//
-@property (nonatomic, weak) IBOutlet UISwitch *microphoneSwitch;
-
-//------------------------------------------------------------------------------
-
-//
-// The label used to display the microphone's play state
-//
-@property (nonatomic, weak) IBOutlet UILabel *microphoneStateLabel;
-
-//------------------------------------------------------------------------------
-
-//
-// The audio player that will play the recorded file
-//
-@property (nonatomic, strong) EZAudioPlayer *player;
-
-//------------------------------------------------------------------------------
-
-//
-// The recorder component
-//
-@property (nonatomic, strong) EZRecorder *recorder;
-
-//------------------------------------------------------------------------------
-
-//
-// The second audio plot used on the top right to display the current playing audio
-//
-@property (nonatomic, weak) IBOutlet EZAudioPlot *playingAudioPlot;
-
-//------------------------------------------------------------------------------
-
-//
-// The button the user taps to play the recorded audio file
-//
-@property (nonatomic, weak) IBOutlet UIButton *playButton;
-
-//------------------------------------------------------------------------------
-
-//
-// The label used to display the audio player play state
-//
-@property (nonatomic, weak) IBOutlet UILabel *playingStateLabel;
-
-//------------------------------------------------------------------------------
-
-//
-// The label used to display the recording play state
-//
-@property (nonatomic, weak) IBOutlet UILabel *recordingStateLabel;
-
-//------------------------------------------------------------------------------
-
-//
-// The switch used to toggle the recording on/off
-//
-@property (nonatomic, weak) IBOutlet UISwitch *recordSwitch;
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-//
-// Stops the recorder and starts playing whatever has been recorded.
-//
-- (IBAction)playFile:(id)sender;
-
-//------------------------------------------------------------------------------
-
-//
-// Toggles the microphone on and off. When the microphone is on it will send its
-// delegate (aka this view controller) the audio data in various ways (check out
-// the EZMicrophoneDelegate documentation for more details);
-//
-- (IBAction)toggleMicrophone:(id)sender;
-
-//------------------------------------------------------------------------------
-
-//
-// Toggles the recording mode on and off.
-//
-- (IBAction)toggleRecording:(id)sender;
-
-@end
-
-
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/ViewController.m b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/ViewController.m
deleted file mode 100644 (file)
index 4a4b334..0000000
+++ /dev/null
@@ -1,387 +0,0 @@
-//
-//  ViewController.m
-//  RecordFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "ViewController.h"
-
-@implementation ViewController
-
-//------------------------------------------------------------------------------
-#pragma mark - Dealloc
-//------------------------------------------------------------------------------
-
-- (void)dealloc
-{
-    [[NSNotificationCenter defaultCenter] removeObserver:self];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Status Bar Style
-//------------------------------------------------------------------------------
-
-- (UIStatusBarStyle)preferredStatusBarStyle
-{
-    return UIStatusBarStyleLightContent;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Setup
-//------------------------------------------------------------------------------
-
-- (void)viewDidLoad
-{
-    [super viewDidLoad];
-
-    //
-    // Setup the AVAudioSession. EZMicrophone will not work properly on iOS
-    // if you don't do this!
-    //
-    AVAudioSession *session = [AVAudioSession sharedInstance];
-    NSError *error;
-    [session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting up audio session category: %@", error.localizedDescription);
-    }
-    [session setActive:YES error:&error];
-    if (error)
-    {
-        NSLog(@"Error setting up audio session active: %@", error.localizedDescription);
-    }
-
-    //
-    // Customizing the audio plot that'll show the current microphone input/recording
-    //
-    self.recordingAudioPlot.backgroundColor = [UIColor colorWithRed: 0.984 green: 0.71 blue: 0.365 alpha: 1];
-    self.recordingAudioPlot.color           = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0];
-    self.recordingAudioPlot.plotType        = EZPlotTypeRolling;
-    self.recordingAudioPlot.shouldFill      = YES;
-    self.recordingAudioPlot.shouldMirror    = YES;
-
-    //
-    // Customizing the audio plot that'll show the playback
-    //
-    self.playingAudioPlot.color = [UIColor whiteColor];
-    self.playingAudioPlot.plotType = EZPlotTypeRolling;
-    self.playingAudioPlot.shouldFill = YES;
-    self.playingAudioPlot.shouldMirror = YES;
-    self.playingAudioPlot.gain = 2.5f;
-
-    // Create an instance of the microphone and tell it to use this view controller instance as the delegate
-    self.microphone = [EZMicrophone microphoneWithDelegate:self];
-    self.player = [EZAudioPlayer audioPlayerWithDelegate:self];
-
-    //
-    // Override the output to the speaker. Do this after creating the EZAudioPlayer
-    // to make sure the EZAudioDevice does not reset this.
-    //
-    [session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:&error];
-    if (error)
-    {
-        NSLog(@"Error overriding output to the speaker: %@", error.localizedDescription);
-    }
-    
-    //
-    // Initialize UI components
-    //
-    self.microphoneStateLabel.text = @"Microphone On";
-    self.recordingStateLabel.text = @"Not Recording";
-    self.playingStateLabel.text = @"Not Playing";
-    self.playButton.enabled = NO;
-
-    //
-    // Setup notifications
-    //
-    [self setupNotifications];
-
-    //
-    // Log out where the file is being written to within the app's documents directory
-    //
-    NSLog(@"File written to application sandbox's documents directory: %@",[self testFilePathURL]);
-
-    //
-    // Start the microphone
-    //
-    [self.microphone startFetchingAudio];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)setupNotifications
-{
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(playerDidChangePlayState:)
-                                                 name:EZAudioPlayerDidChangePlayStateNotification
-                                               object:self.player];
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             selector:@selector(playerDidReachEndOfFile:)
-                                                 name:EZAudioPlayerDidReachEndOfFileNotification
-                                               object:self.player];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Notifications
-//------------------------------------------------------------------------------
-
-- (void)playerDidChangePlayState:(NSNotification *)notification
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        EZAudioPlayer *player = [notification object];
-        BOOL isPlaying = [player isPlaying];
-        if (isPlaying)
-        {
-            weakSelf.recorder.delegate = nil;
-        }
-        weakSelf.playingStateLabel.text = isPlaying ? @"Playing" : @"Not Playing";
-        weakSelf.playingAudioPlot.hidden = !isPlaying;
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)playerDidReachEndOfFile:(NSNotification *)notification
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [weakSelf.playingAudioPlot clear];
-    });
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Actions
-//------------------------------------------------------------------------------
-
-- (void)playFile:(id)sender
-{
-    //
-    // Update microphone state
-    //
-    [self.microphone stopFetchingAudio];
-
-    //
-    // Update recording state
-    //
-    self.isRecording = NO;
-    self.recordingStateLabel.text = @"Not Recording";
-    self.recordSwitch.on = NO;
-
-    //
-    // Close the audio file
-    //
-    if (self.recorder)
-    {
-        [self.recorder closeAudioFile];
-    }
-
-    EZAudioFile *audioFile = [EZAudioFile audioFileWithURL:[self testFilePathURL]];
-    [self.player playAudioFile:audioFile];
-}
-
-//------------------------------------------------------------------------------
-
-- (void)toggleMicrophone:(id)sender
-{
-    [self.player pause];
-
-    BOOL isOn = [(UISwitch*)sender isOn];
-    if (!isOn)
-    {
-        [self.microphone stopFetchingAudio];
-    }
-    else
-    {
-        [self.microphone startFetchingAudio];
-    }
-}
-
-//------------------------------------------------------------------------------
-
-- (void)toggleRecording:(id)sender
-{
-    [self.player pause];
-    if ([sender isOn])
-    {
-        //
-        // Create the recorder
-        //
-        [self.recordingAudioPlot clear];
-        [self.microphone startFetchingAudio];
-        self.recorder = [EZRecorder recorderWithURL:[self testFilePathURL]
-                                       clientFormat:[self.microphone audioStreamBasicDescription]
-                                           fileType:EZRecorderFileTypeM4A
-                                           delegate:self];
-        self.playButton.enabled = YES;
-    }
-    self.isRecording = (BOOL)[sender isOn];
-    self.recordingStateLabel.text = self.isRecording ? @"Recording" : @"Not Recording";
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZMicrophoneDelegate
-//------------------------------------------------------------------------------
-
-- (void)microphone:(EZMicrophone *)microphone changedPlayingState:(BOOL)isPlaying
-{
-    self.microphoneStateLabel.text = isPlaying ? @"Microphone On" : @"Microphone Off";
-    self.microphoneSwitch.on = isPlaying;
-}
-
-//------------------------------------------------------------------------------
-
-#warning Thread Safety
-//
-// Note that any callback that provides streamed audio data (like streaming
-// microphone input) happens on a separate audio thread that should not be
-// blocked. When we feed audio data into any of the UI components we need to
-// explicity create a GCD block on the main thread to properly get the UI to
-// work.
-- (void)   microphone:(EZMicrophone *)microphone
-     hasAudioReceived:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    // Getting audio data as an array of float buffer arrays. What does that
-    // mean? Because the audio is coming in as a stereo signal the data is split
-    // into a left and right channel. So buffer[0] corresponds to the float* data
-    // for the left channel while buffer[1] corresponds to the float* data for
-    // the right channel.
-
-    //
-    // See the Thread Safety warning above, but in a nutshell these callbacks
-    // happen on a separate audio thread. We wrap any UI updating in a GCD block
-    // on the main thread to avoid blocking that audio flow.
-    //
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        //
-        // All the audio plot needs is the buffer data (float*) and the size.
-        // Internally the audio plot will handle all the drawing related code,
-        // history management, and freeing its own resources. Hence, one badass
-        // line of code gets you a pretty plot :)
-        //
-        [weakSelf.recordingAudioPlot updateBuffer:buffer[0]
-                                   withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)   microphone:(EZMicrophone *)microphone
-        hasBufferList:(AudioBufferList *)bufferList
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    //
-    // Getting audio data as a buffer list that can be directly fed into the
-    // EZRecorder. This is happening on the audio thread - any UI updating needs
-    // a GCD main queue block. This will keep appending data to the tail of the
-    // audio file.
-    //
-    if (self.isRecording)
-    {
-        [self.recorder appendDataFromBufferList:bufferList
-                                 withBufferSize:bufferSize];
-    }
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZRecorderDelegate
-//------------------------------------------------------------------------------
-
-- (void)recorderDidClose:(EZRecorder *)recorder
-{
-    recorder.delegate = nil;
-}
-
-//------------------------------------------------------------------------------
-
-- (void)recorderUpdatedCurrentTime:(EZRecorder *)recorder
-{
-    __weak typeof (self) weakSelf = self;
-    NSString *formattedCurrentTime = [recorder formattedCurrentTime];
-    dispatch_async(dispatch_get_main_queue(), ^{
-        weakSelf.currentTimeLabel.text = formattedCurrentTime;
-    });
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - EZAudioPlayerDelegate
-//------------------------------------------------------------------------------
-
-- (void) audioPlayer:(EZAudioPlayer *)audioPlayer
-         playedAudio:(float **)buffer
-      withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-          inAudioFile:(EZAudioFile *)audioFile
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [weakSelf.playingAudioPlot updateBuffer:buffer[0]
-                                 withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)audioPlayer:(EZAudioPlayer *)audioPlayer
-    updatedPosition:(SInt64)framePosition
-        inAudioFile:(EZAudioFile *)audioFile
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        weakSelf.currentTimeLabel.text = [audioPlayer formattedCurrentTime];
-    });
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Utility
-//------------------------------------------------------------------------------
-
-- (NSArray *)applicationDocuments
-{
-  return NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
-}
-
-//------------------------------------------------------------------------------
-
-- (NSString *)applicationDocumentsDirectory
-{
-    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
-    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
-    return basePath;
-}
-
-//------------------------------------------------------------------------------
-
-- (NSURL *)testFilePathURL
-{
-    return [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%@",
-                                   [self applicationDocumentsDirectory],
-                                   kAudioFilePath]];
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/main.m b/document/EZAudio-master/EZAudioExamples/iOS/RecordFile/RecordFile/main.m
deleted file mode 100644 (file)
index 7da4604..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-//  main.m
-//  RecordFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-#import "AppDelegate.h"
-
-int main(int argc, char * argv[]) {
-    @autoreleasepool {
-        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
-    }
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile.xcodeproj/project.pbxproj b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile.xcodeproj/project.pbxproj
deleted file mode 100644 (file)
index 1c974a6..0000000
+++ /dev/null
@@ -1,405 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 46;
-       objects = {
-
-/* Begin PBXBuildFile section */
-               66374EA81C545AEA000B19D0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374EA71C545AEA000B19D0 /* main.m */; };
-               66374EAB1C545AEA000B19D0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374EAA1C545AEA000B19D0 /* AppDelegate.m */; };
-               66374EAE1C545AEA000B19D0 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66374EAD1C545AEA000B19D0 /* ViewController.m */; };
-               66374EB11C545AEA000B19D0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374EAF1C545AEA000B19D0 /* Main.storyboard */; };
-               66374EB31C545AEA000B19D0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 66374EB21C545AEA000B19D0 /* Assets.xcassets */; };
-               66374EB61C545AEA000B19D0 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66374EB41C545AEA000B19D0 /* LaunchScreen.storyboard */; };
-               66374F851C547F74000B19D0 /* simple-drum-beat.wav in Resources */ = {isa = PBXBuildFile; fileRef = 66374F841C547F74000B19D0 /* simple-drum-beat.wav */; };
-               66374F881C54804C000B19D0 /* EZAudioiOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F1B1C545B4F000B19D0 /* EZAudioiOS.framework */; };
-               66374F891C54804C000B19D0 /* EZAudioiOS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 66374F1B1C545B4F000B19D0 /* EZAudioiOS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-               66374F1A1C545B4F000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F151C545B4F000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 469F4CF31B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-               66374F1C1C545B4F000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F151C545B4F000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 2;
-                       remoteGlobalIDString = 8A5A4B9C1BBBDCB200A8A048;
-                       remoteInfo = EZAudioOSX;
-               };
-               66374F8A1C54804C000B19D0 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 66374F151C545B4F000B19D0 /* EZAudio.xcodeproj */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 469F4CF21B749F7800666A46;
-                       remoteInfo = EZAudioiOS;
-               };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXCopyFilesBuildPhase section */
-               66374F8C1C54804C000B19D0 /* Embed Frameworks */ = {
-                       isa = PBXCopyFilesBuildPhase;
-                       buildActionMask = 2147483647;
-                       dstPath = "";
-                       dstSubfolderSpec = 10;
-                       files = (
-                               66374F891C54804C000B19D0 /* EZAudioiOS.framework in Embed Frameworks */,
-                       );
-                       name = "Embed Frameworks";
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
-               66374EA31C545AEA000B19D0 /* WaveformFromFile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WaveformFromFile.app; sourceTree = BUILT_PRODUCTS_DIR; };
-               66374EA71C545AEA000B19D0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
-               66374EA91C545AEA000B19D0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
-               66374EAA1C545AEA000B19D0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
-               66374EAC1C545AEA000B19D0 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
-               66374EAD1C545AEA000B19D0 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
-               66374EB01C545AEA000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
-               66374EB21C545AEA000B19D0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-               66374EB51C545AEA000B19D0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
-               66374EB71C545AEA000B19D0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               66374F151C545B4F000B19D0 /* EZAudio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = EZAudio.xcodeproj; path = ../../../EZAudio.xcodeproj; sourceTree = "<group>"; };
-               66374F841C547F74000B19D0 /* simple-drum-beat.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = "simple-drum-beat.wav"; path = "../../simple-drum-beat.wav"; sourceTree = SOURCE_ROOT; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-               66374EA01C545AEA000B19D0 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374F881C54804C000B19D0 /* EZAudioiOS.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-               66374E9A1C545AEA000B19D0 = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F151C545B4F000B19D0 /* EZAudio.xcodeproj */,
-                               66374EA51C545AEA000B19D0 /* WaveformFromFile */,
-                               66374EA41C545AEA000B19D0 /* Products */,
-                       );
-                       sourceTree = "<group>";
-               };
-               66374EA41C545AEA000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374EA31C545AEA000B19D0 /* WaveformFromFile.app */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-               66374EA51C545AEA000B19D0 /* WaveformFromFile */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F841C547F74000B19D0 /* simple-drum-beat.wav */,
-                               66374EA91C545AEA000B19D0 /* AppDelegate.h */,
-                               66374EAA1C545AEA000B19D0 /* AppDelegate.m */,
-                               66374EAC1C545AEA000B19D0 /* ViewController.h */,
-                               66374EAD1C545AEA000B19D0 /* ViewController.m */,
-                               66374EAF1C545AEA000B19D0 /* Main.storyboard */,
-                               66374EB21C545AEA000B19D0 /* Assets.xcassets */,
-                               66374EB41C545AEA000B19D0 /* LaunchScreen.storyboard */,
-                               66374EB71C545AEA000B19D0 /* Info.plist */,
-                               66374EA61C545AEA000B19D0 /* Supporting Files */,
-                       );
-                       path = WaveformFromFile;
-                       sourceTree = "<group>";
-               };
-               66374EA61C545AEA000B19D0 /* Supporting Files */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374EA71C545AEA000B19D0 /* main.m */,
-                       );
-                       name = "Supporting Files";
-                       sourceTree = "<group>";
-               };
-               66374F161C545B4F000B19D0 /* Products */ = {
-                       isa = PBXGroup;
-                       children = (
-                               66374F1B1C545B4F000B19D0 /* EZAudioiOS.framework */,
-                               66374F1D1C545B4F000B19D0 /* EZAudioOSX.framework */,
-                       );
-                       name = Products;
-                       sourceTree = "<group>";
-               };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-               66374EA21C545AEA000B19D0 /* WaveformFromFile */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 66374EBA1C545AEA000B19D0 /* Build configuration list for PBXNativeTarget "WaveformFromFile" */;
-                       buildPhases = (
-                               66374E9F1C545AEA000B19D0 /* Sources */,
-                               66374EA01C545AEA000B19D0 /* Frameworks */,
-                               66374EA11C545AEA000B19D0 /* Resources */,
-                               66374F8C1C54804C000B19D0 /* Embed Frameworks */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               66374F8B1C54804C000B19D0 /* PBXTargetDependency */,
-                       );
-                       name = WaveformFromFile;
-                       productName = WaveformFromFile;
-                       productReference = 66374EA31C545AEA000B19D0 /* WaveformFromFile.app */;
-                       productType = "com.apple.product-type.application";
-               };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-               66374E9B1C545AEA000B19D0 /* Project object */ = {
-                       isa = PBXProject;
-                       attributes = {
-                               LastUpgradeCheck = 0720;
-                               ORGANIZATIONNAME = "Syed Haris Ali";
-                               TargetAttributes = {
-                                       66374EA21C545AEA000B19D0 = {
-                                               CreatedOnToolsVersion = 7.2;
-                                               DevelopmentTeam = M33X987285;
-                                       };
-                               };
-                       };
-                       buildConfigurationList = 66374E9E1C545AEA000B19D0 /* Build configuration list for PBXProject "WaveformFromFile" */;
-                       compatibilityVersion = "Xcode 3.2";
-                       developmentRegion = English;
-                       hasScannedForEncodings = 0;
-                       knownRegions = (
-                               English,
-                               en,
-                               Base,
-                       );
-                       mainGroup = 66374E9A1C545AEA000B19D0;
-                       productRefGroup = 66374EA41C545AEA000B19D0 /* Products */;
-                       projectDirPath = "";
-                       projectReferences = (
-                               {
-                                       ProductGroup = 66374F161C545B4F000B19D0 /* Products */;
-                                       ProjectRef = 66374F151C545B4F000B19D0 /* EZAudio.xcodeproj */;
-                               },
-                       );
-                       projectRoot = "";
-                       targets = (
-                               66374EA21C545AEA000B19D0 /* WaveformFromFile */,
-                       );
-               };
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-               66374F1B1C545B4F000B19D0 /* EZAudioiOS.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioiOS.framework;
-                       remoteRef = 66374F1A1C545B4F000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               66374F1D1C545B4F000B19D0 /* EZAudioOSX.framework */ = {
-                       isa = PBXReferenceProxy;
-                       fileType = wrapper.framework;
-                       path = EZAudioOSX.framework;
-                       remoteRef = 66374F1C1C545B4F000B19D0 /* PBXContainerItemProxy */;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-/* End PBXReferenceProxy section */
-
-/* Begin PBXResourcesBuildPhase section */
-               66374EA11C545AEA000B19D0 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374F851C547F74000B19D0 /* simple-drum-beat.wav in Resources */,
-                               66374EB61C545AEA000B19D0 /* LaunchScreen.storyboard in Resources */,
-                               66374EB31C545AEA000B19D0 /* Assets.xcassets in Resources */,
-                               66374EB11C545AEA000B19D0 /* Main.storyboard in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-               66374E9F1C545AEA000B19D0 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               66374EAE1C545AEA000B19D0 /* ViewController.m in Sources */,
-                               66374EAB1C545AEA000B19D0 /* AppDelegate.m in Sources */,
-                               66374EA81C545AEA000B19D0 /* main.m in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-               66374F8B1C54804C000B19D0 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       name = EZAudioiOS;
-                       targetProxy = 66374F8A1C54804C000B19D0 /* PBXContainerItemProxy */;
-               };
-/* End PBXTargetDependency section */
-
-/* Begin PBXVariantGroup section */
-               66374EAF1C545AEA000B19D0 /* Main.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374EB01C545AEA000B19D0 /* Base */,
-                       );
-                       name = Main.storyboard;
-                       sourceTree = "<group>";
-               };
-               66374EB41C545AEA000B19D0 /* LaunchScreen.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               66374EB51C545AEA000B19D0 /* Base */,
-                       );
-                       name = LaunchScreen.storyboard;
-                       sourceTree = "<group>";
-               };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-               66374EB81C545AEA000B19D0 /* 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;
-                               ENABLE_STRICT_OBJC_MSGSEND = YES;
-                               ENABLE_TESTABILITY = 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_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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = YES;
-                               ONLY_ACTIVE_ARCH = YES;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                       };
-                       name = Debug;
-               };
-               66374EB91C545AEA000B19D0 /* 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;
-                               HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../..\"";
-                               IPHONEOS_DEPLOYMENT_TARGET = 9.2;
-                               MTL_ENABLE_DEBUG_INFO = NO;
-                               SDKROOT = iphoneos;
-                               TARGETED_DEVICE_FAMILY = "1,2";
-                               VALIDATE_PRODUCT = YES;
-                       };
-                       name = Release;
-               };
-               66374EBB1C545AEA000B19D0 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = WaveformFromFile/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.WaveformFromFile;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               66374EBC1C545AEA000B19D0 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-                               DEVELOPMENT_TEAM = M33X987285;
-                               INFOPLIST_FILE = WaveformFromFile/Info.plist;
-                               IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                               LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-                               PRODUCT_BUNDLE_IDENTIFIER = com.sha.WaveformFromFile;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-               66374E9E1C545AEA000B19D0 /* Build configuration list for PBXProject "WaveformFromFile" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374EB81C545AEA000B19D0 /* Debug */,
-                               66374EB91C545AEA000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-               66374EBA1C545AEA000B19D0 /* Build configuration list for PBXNativeTarget "WaveformFromFile" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               66374EBB1C545AEA000B19D0 /* Debug */,
-                               66374EBC1C545AEA000B19D0 /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
-/* End XCConfigurationList section */
-       };
-       rootObject = 66374E9B1C545AEA000B19D0 /* Project object */;
-}
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/AppDelegate.h b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/AppDelegate.h
deleted file mode 100644 (file)
index a9a6f47..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  AppDelegate.h
-//  WaveformFromFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-@interface AppDelegate : UIResponder <UIApplicationDelegate>
-
-@property (strong, nonatomic) UIWindow *window;
-
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/AppDelegate.m b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/AppDelegate.m
deleted file mode 100644 (file)
index 25dcf6e..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-//  AppDelegate.m
-//  WaveformFromFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "AppDelegate.h"
-
-@interface AppDelegate ()
-
-@end
-
-@implementation AppDelegate
-
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
-    // Override point for customization after application launch.
-    return YES;
-}
-
-- (void)applicationWillResignActive:(UIApplication *)application {
-    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
-    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application {
-    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
-    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application {
-    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application {
-    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application {
-    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644 (file)
index a4b3297..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-{
-  "images" : [
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-Small@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-40@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "57x57",
-      "idiom" : "iphone",
-      "filename" : "Icon@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-60@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "50x50",
-      "idiom" : "ipad",
-      "filename" : "Icon-Small-50@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "72x72",
-      "idiom" : "ipad",
-      "filename" : "Icon-72@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "83.5x83.5",
-      "idiom" : "ipad",
-      "filename" : "Icon-83.5@2x.png",
-      "scale" : "2x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-40.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-40.png
deleted file mode 100644 (file)
index 321b742..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-40.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png
deleted file mode 100644 (file)
index 6859993..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png
deleted file mode 100644 (file)
index db065cb..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png
deleted file mode 100644 (file)
index db065cb..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png
deleted file mode 100644 (file)
index 620802b..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-72.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-72.png
deleted file mode 100644 (file)
index 407f63c..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-72.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png
deleted file mode 100644 (file)
index c223885..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-76.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-76.png
deleted file mode 100644 (file)
index 9a8a766..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-76.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png
deleted file mode 100644 (file)
index 0d087ad..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png
deleted file mode 100644 (file)
index 04fcc95..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png
deleted file mode 100644 (file)
index 516005d..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png
deleted file mode 100644 (file)
index 33b3f49..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small.png
deleted file mode 100644 (file)
index 5ca0712..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png
deleted file mode 100644 (file)
index d256101..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png
deleted file mode 100644 (file)
index 96b0e5a..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon.png
deleted file mode 100644 (file)
index 3471238..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon@2x.png b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon@2x.png
deleted file mode 100644 (file)
index 2d9d402..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/AppIcon.appiconset/Icon@2x.png and /dev/null differ
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/Contents.json b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Assets.xcassets/Contents.json
deleted file mode 100644 (file)
index da4a164..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
\ No newline at end of file
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Base.lproj/LaunchScreen.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644 (file)
index 2e721e1..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8150" systemVersion="15A204g" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8122"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="EHf-IW-A2E">
-            <objects>
-                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
-                        <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <animations/>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="53" y="375"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Base.lproj/Main.storyboard b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Base.lproj/Main.storyboard
deleted file mode 100644 (file)
index 9860b55..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="6nb-ry-TmX">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="MIg-xS-PGW">
-            <objects>
-                <viewController id="6nb-ry-TmX" customClass="ViewController" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="KOy-3J-Mzf"/>
-                        <viewControllerLayoutGuide type="bottom" id="6WX-P2-CAm"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="W9I-KB-2ZB">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="K6J-lA-CUh" customClass="EZAudioPlot">
-                                <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                            </view>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                        <constraints>
-                            <constraint firstItem="K6J-lA-CUh" firstAttribute="top" secondItem="W9I-KB-2ZB" secondAttribute="top" id="A7z-WB-apy"/>
-                            <constraint firstAttribute="trailing" secondItem="K6J-lA-CUh" secondAttribute="trailing" id="JMN-xd-wUO"/>
-                            <constraint firstItem="6WX-P2-CAm" firstAttribute="top" secondItem="K6J-lA-CUh" secondAttribute="bottom" id="MB7-uG-21G"/>
-                            <constraint firstItem="K6J-lA-CUh" firstAttribute="leading" secondItem="W9I-KB-2ZB" secondAttribute="leading" id="QCP-GF-esd"/>
-                        </constraints>
-                    </view>
-                    <connections>
-                        <outlet property="audioPlot" destination="K6J-lA-CUh" id="jVL-Jl-Qp5"/>
-                        <outlet property="view" destination="W9I-KB-2ZB" id="ge3-LD-lnB"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="sE1-hp-Spj" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="235" y="405"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Info.plist b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/Info.plist
deleted file mode 100644 (file)
index 0f22641..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>en</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</string>
-       <key>LSRequiresIPhoneOS</key>
-       <true/>
-       <key>UILaunchStoryboardName</key>
-       <string>LaunchScreen</string>
-       <key>UIMainStoryboardFile</key>
-       <string>Main</string>
-       <key>UIRequiredDeviceCapabilities</key>
-       <array>
-               <string>armv7</string>
-       </array>
-       <key>UISupportedInterfaceOrientations</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>UISupportedInterfaceOrientations~ipad</key>
-       <array>
-               <string>UIInterfaceOrientationPortrait</string>
-               <string>UIInterfaceOrientationPortraitUpsideDown</string>
-               <string>UIInterfaceOrientationLandscapeLeft</string>
-               <string>UIInterfaceOrientationLandscapeRight</string>
-       </array>
-       <key>NSMicrophoneUsageDescription</key>
-       <string>录音需要使用麦克风</string>
-</dict>
-</plist>
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/ViewController.h b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/ViewController.h
deleted file mode 100644 (file)
index 50e57d6..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-//  ViewController.h
-//  WaveformFromFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-
-//
-// First import the EZAudio header
-//
-#include <EZAudio/EZAudio.h>
-
-//
-// Here's the default audio file included with the example
-//
-#define kAudioFileDefault [[NSBundle mainBundle] pathForResource:@"simple-drum-beat" ofType:@"wav"]
-
-//------------------------------------------------------------------------------
-#pragma mark - ViewController
-//------------------------------------------------------------------------------
-
-@interface ViewController : UIViewController
-
-//------------------------------------------------------------------------------
-#pragma mark - Properties
-//------------------------------------------------------------------------------
-
-//
-// The EZAudioFile representing of the currently selected audio file
-//
-@property (nonatomic,strong) EZAudioFile *audioFile;
-
-//
-// The CoreGraphics based audio plot
-//
-@property (nonatomic,weak) IBOutlet EZAudioPlot *audioPlot;
-
-//
-// A label to display the current file path with the waveform shown
-//
-@property (nonatomic,weak) IBOutlet UILabel *filePathLabel;
-
-@end
-
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/ViewController.m b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/ViewController.m
deleted file mode 100644 (file)
index 14ee0a2..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-//
-//  ViewController.m
-//  WaveformFromFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import "ViewController.h"
-
-@implementation ViewController
-
-//------------------------------------------------------------------------------
-#pragma mark - Status Bar Style
-//------------------------------------------------------------------------------
-
-- (UIStatusBarStyle)preferredStatusBarStyle
-{
-    return UIStatusBarStyleLightContent;
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Customize the Audio Plot
-//------------------------------------------------------------------------------
-
-- (void)viewDidLoad
-{
-    [super viewDidLoad];
-    
-    //
-    // Customizing the audio plot's look
-    //
-    
-    //
-    // Background color
-    //
-    self.audioPlot.backgroundColor = [UIColor colorWithRed: 0.169 green: 0.643 blue: 0.675 alpha: 1];
-    
-    //
-    // Waveform color
-    //
-    self.audioPlot.color = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0];
-    
-    //
-    // Plot type
-    //
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    
-    //
-    // Fill
-    //
-    self.audioPlot.shouldFill = YES;
-    
-    //
-    // Mirror
-    //
-    self.audioPlot.shouldMirror = YES;
-    
-    //
-    // No need to optimze for realtime
-    //
-    self.audioPlot.shouldOptimizeForRealtimePlot = NO;
-    
-    //
-    // Customize the layer with a shadow for fun
-    //
-    self.audioPlot.waveformLayer.shadowOffset = CGSizeMake(0.0, 1.0);
-    self.audioPlot.waveformLayer.shadowRadius = 0.0;
-    self.audioPlot.waveformLayer.shadowColor = [UIColor colorWithRed: 0.069 green: 0.543 blue: 0.575 alpha: 1].CGColor;
-    self.audioPlot.waveformLayer.shadowOpacity = 1.0;
-    
-    //
-    // Load in the sample file
-    //
-    [self openFileWithFilePathURL:[NSURL fileURLWithPath:kAudioFileDefault]];
-}
-
-//------------------------------------------------------------------------------
-#pragma mark - Action Extensions
-//------------------------------------------------------------------------------
-
-- (void)openFileWithFilePathURL:(NSURL*)filePathURL
-{
-    self.audioFile = [EZAudioFile audioFileWithURL:filePathURL];
-    self.filePathLabel.text = filePathURL.lastPathComponent;
-    
-    //
-    // Plot the whole waveform
-    //
-    self.audioPlot.plotType = EZPlotTypeBuffer;
-    self.audioPlot.shouldFill = YES;
-    self.audioPlot.shouldMirror = YES;
-    
-    //
-    // Get the audio data from the audio file
-    //
-    __weak typeof (self) weakSelf = self;
-    [self.audioFile getWaveformDataWithCompletionBlock:^(float **waveformData,
-                                                         int length)
-    {
-        [weakSelf.audioPlot updateBuffer:waveformData[0]
-                          withBufferSize:length];
-    }];
-}
-
-@end
diff --git a/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/main.m b/document/EZAudio-master/EZAudioExamples/iOS/WaveformFromFile/WaveformFromFile/main.m
deleted file mode 100644 (file)
index 51eecdb..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-//  main.m
-//  WaveformFromFile
-//
-//  Created by Syed Haris Ali on 12/1/13.
-//  Updated by Syed Haris Ali on 1/23/16.
-//  Copyright (c) 2013 Syed Haris Ali. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-//
-
-#import <UIKit/UIKit.h>
-#import "AppDelegate.h"
-
-int main(int argc, char * argv[]) {
-    @autoreleasepool {
-        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
-    }
-}
diff --git a/document/EZAudio-master/EZAudioExamples/simple-drum-beat.wav b/document/EZAudio-master/EZAudioExamples/simple-drum-beat.wav
deleted file mode 100644 (file)
index 47fde12..0000000
Binary files a/document/EZAudio-master/EZAudioExamples/simple-drum-beat.wav and /dev/null differ
diff --git a/document/EZAudio-master/LICENSE b/document/EZAudio-master/LICENSE
deleted file mode 100644 (file)
index 34eac18..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-EZAudio
-Copyright (c) 2013 Syed Haris Ali
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/document/EZAudio-master/README.md b/document/EZAudio-master/README.md
deleted file mode 100644 (file)
index 55a35f3..0000000
+++ /dev/null
@@ -1,1147 +0,0 @@
-![alt text](http://i.imgur.com/ll5q68r.png "EZAudioLogo")
-
-A simple, intuitive audio framework for iOS and OSX.
-
-## Deprecated
-
-EZAudio has recently been deprecated in favor of [AudioKit](https://github.com/audiokit/AudioKit). However, since some people are still forking and using EZAudio I've decided to restore the README as it was. [Check out the note below](#Deprecated).
-
-## Apps Using EZAudio
-I'd really like to start creating a list of projects made using EZAudio. If you've used EZAudio to make something cool, whether it's an app or open source visualization or whatever, please email me at syedhali07[at]gmail.com and I'll add it to our wall of fame!
-To start it off:
-- [Detour](https://www.detour.com/) - Gorgeous location-aware audio walks
-- [Jumpshare](https://jumpshare.com/) - Incredibly fast, real-time file sharing
-- Piano Tuner (Home Edition)
-- Piano Tuner (Pro Edition)
-- Music Pitch Detector
-- Piano Prober
-- Multi Tuner
-
-## Features
-
-**Awesome Components**
-
-I've designed six audio components and two interface components to allow you to immediately get your hands dirty recording, playing, and visualizing audio data. These components simply plug into each other and build on top of the high-performance, low-latency AudioUnits API and give you an easy to use API written in Objective-C instead of pure C.
-
-[EZAudioDevice](#EZAudioDevice)
-
-A useful class for getting all the current and available inputs/output on any Apple device. The `EZMicrophone`  and `EZOutput` use this to direct sound in/out from different hardware components.
-
-[EZMicrophone](#EZMicrophone)
-
-A microphone class that provides its delegate audio data from the default device microphone with one line of code.
-
-[EZOutput](#EZOutput)
-
-An output class that will playback any audio it is provided by its datasource.
-
-[EZAudioFile](#EZAudioFile)
-
-An audio file class that reads/seeks through audio files and provides useful delegate callbacks.
-
-[EZAudioPlayer](#EZAudioPlayer)
-
-A replacement for `AVAudioPlayer` that combines an `EZAudioFile` and a `EZOutput` to perform robust playback of any file on any piece of hardware.
-
-[EZRecorder](#EZRecorder)
-
-A recorder class that provides a quick and easy way to write audio files from any datasource.
-
-[EZAudioPlot](#EZAudioPlot)
-
-A Core Graphics-based audio waveform plot capable of visualizing any float array as a buffer or rolling plot.
-
-[EZAudioPlotGL](#EZAudioPlotGL)
-
-An OpenGL-based, GPU-accelerated audio waveform plot capable of visualizing any float array as a buffer or rolling plot.
-
-**Cross Platform**
-
-`EZAudio` was designed to work transparently across all iOS and OSX devices. This means one universal API whether you're building for Mac or iOS. For instance, under the hood an `EZAudioPlot` knows that it will subclass a UIView for iOS or an NSView for OSX and the `EZMicrophone` knows to build on top of the RemoteIO AudioUnit for iOS, but defaults to the system defaults for input and output for OSX.
-
-## <a name="Examples">Examples & Docs
-
-Within this repo you'll find the examples for iOS and OSX to get you up to speed using each component and plugging them into each other. With just a few lines of code you'll be recording from the microphone, generating audio waveforms, and playing audio files like a boss. See the full Getting Started guide for an interactive look into each of components.
-
-### Example Projects
-
-**_EZAudioCoreGraphicsWaveformExample_**
-
-![CoreGraphicsWaveformExampleGif](https://cloud.githubusercontent.com/assets/1275640/8516226/1eb885ec-2366-11e5-8d76-3a4b4d982eb0.gif)
-
-Shows how to use the `EZMicrophone` and `EZAudioPlot` to visualize the audio data from the microphone in real-time. The waveform can be displayed as a buffer or a rolling waveform plot (traditional waveform look).
-
-**_EZAudioOpenGLWaveformExample_**
-
-![OpenGLWaveformExampleGif](https://cloud.githubusercontent.com/assets/1275640/8516234/499f6fd2-2366-11e5-9771-7d0afae59391.gif)
-
-Shows how to use the `EZMicrophone` and `EZAudioPlotGL` to visualize the audio data from the microphone in real-time. The drawing is using OpenGL so the performance much better for plots needing a lot of points.
-
-**_EZAudioPlayFileExample_**
-
-![PlayFileExample](https://cloud.githubusercontent.com/assets/1275640/8516245/711ca232-2366-11e5-8d20-2538164f3307.gif)
-
-Shows how to use the `EZAudioPlayer` and `EZAudioPlotGL` to playback, pause, and seek through an audio file while displaying its waveform as a buffer or a rolling waveform plot.
-
-**_EZAudioRecordWaveformExample_**
-
-![RecordWaveformExample](https://cloud.githubusercontent.com/assets/1275640/8516310/86da80f2-2367-11e5-84aa-aea25a439a76.gif)
-
-Shows how to use the `EZMicrophone`, `EZRecorder`, and `EZAudioPlotGL` to record the audio from the microphone input to a file while displaying the audio waveform of the incoming data. You can then playback the newly recorded audio file using AVFoundation and keep adding more audio data to the tail of the file.
-
-**_EZAudioWaveformFromFileExample_**
-
-![WaveformExample](https://cloud.githubusercontent.com/assets/1275640/8516597/f27240ea-236a-11e5-8ecd-68cf05b7ce40.gif)
-
-Shows how to use the `EZAudioFile` and `EZAudioPlot` to animate in an audio waveform for an entire audio file.
-
-**_EZAudioPassThroughExample_**
-
-![PassthroughExample](https://cloud.githubusercontent.com/assets/1275640/8516692/7abfbe36-236c-11e5-9d69-4f82956177b3.gif)
-
-Shows how to use the `EZMicrophone`, `EZOutput`, and the `EZAudioPlotGL` to pass the microphone input to the output for playback while displaying the audio waveform (as a buffer or rolling plot) in real-time.
-
-**_EZAudioFFTExample_**
-
-![FFTExample](https://cloud.githubusercontent.com/assets/1275640/8662077/5621705a-2971-11e5-88ed-9a865e422ade.gif)
-
-Shows how to calculate the real-time FFT of the audio data coming from the `EZMicrophone` and the Accelerate framework. The audio data is plotted using two `EZAudioPlots` for the time and frequency displays.
-
-### Documentation
-The official documentation for EZAudio can be found here: http://cocoadocs.org/docsets/EZAudio/1.1.4/
-<br>You can also generate the docset yourself using appledocs by running the appledocs on the EZAudio source folder.
-
-## <a name="GettingStarted">Getting Started
-To begin using `EZAudio` you must first make sure you have the proper build requirements and frameworks. Below you'll find explanations of each component and code snippets to show how to use each to perform common tasks like getting microphone data, updating audio waveform plots, reading/seeking through audio files, and performing playback.
-
-### Build Requirements
-**iOS**
-- 6.0+
-
-**OSX**
-- 10.8+
-
-### Frameworks
-**iOS**
-- Accelerate
-- AudioToolbox
-- AVFoundation
-- GLKit
-
-**OSX**
-- Accelerate
-- AudioToolbox
-- AudioUnit
-- CoreAudio
-- QuartzCore
-- OpenGL
-- GLKit
-
-### <a name="AddingToProject">Adding To Project
-You can add EZAudio to your project in a few ways: <br><br>1.) The easiest way to use EZAudio is via <a href="http://cocoapods.org/", target="_blank">Cocoapods</a>. Simply add EZAudio to your <a href="http://guides.cocoapods.org/using/the-podfile.html", target="_blank">Podfile</a> like so:
-
-`
-pod 'EZAudio', '~> 1.1.4'
-`
-
-#### <a name="AmazingAudioEngineCocoapod">Using EZAudio & The Amazing Audio Engine
-If you're also using the Amazing Audio Engine then use the `EZAudio/Core` subspec like so:
-
-`
-pod 'EZAudio/Core', '~> 1.1.4'
-`
-
-2.) EZAudio now supports Carthage (thanks Andrew and Tommaso!). You can refer to Carthage's installation for a how-to guide:
-https://github.com/Carthage/Carthage
-
-3.) Alternatively, you can check out the iOS/Mac examples for how to setup a project using the EZAudio project as an embedded project and utilizing the frameworks. Be sure to set your header search path to the folder containing the EZAudio source.
-
-## <a name="CoreComponents"></a>Core Components
-
-`EZAudio` currently offers six audio components that encompass a wide range of functionality. In addition to the functional aspects of these components such as pulling audio data, reading/writing from files, and performing playback they also take special care to hook into the interface components to allow developers to display visual feedback (see the [Interface Components](#InterfaceComponents) below).
-
-### <a name="EZAudioDevice"></a>EZAudioDevice
-Provides a simple interface for obtaining the current and all available inputs and output for any Apple device. For instance, the iPhone 6 has three microphones available for input, while on OSX you can choose the Built-In Microphone or any available HAL device on your system. Similarly, for iOS you can choose from a pair of headphones connected or speaker, while on OSX you can choose from the Built-In Output, any available HAL device, or Airplay.
-
-![EZAudioDeviceInputsExample](https://cloud.githubusercontent.com/assets/1275640/8535722/51e8f702-23fd-11e5-9f1c-8c45e80d19ef.gif)
-
-#### Getting Input Devices
-To get all the available input devices use the `inputDevices` class method:
-```objectivec
-NSArray *inputDevices = [EZAudioDevice inputDevices];
-```
-
-or to just get the currently selected input device use the `currentInputDevice` method:
-```objectivec
-// On iOS this will default to the headset device or bottom microphone, while on OSX this will
-// be your selected inpupt device from the Sound preferences
-EZAudioDevice *currentInputDevice = [EZAudioDevice currentInputDevice];
-```
-
-#### Getting Output Devices
-Similarly, to get all the available output devices use the `outputDevices` class method:
-```objectivec
-NSArray *outputDevices = [EZAudioDevice outputDevices];
-```
-
-or to just get the currently selected output device use the `currentInputDevice` method:
-```objectivec
-// On iOS this will default to the headset speaker, while on OSX this will be your selected
-// output device from the Sound preferences
-EZAudioDevice *currentOutputDevice = [EZAudioDevice currentOutputDevice];
-```
-
-### <a name="EZMicrophone"></a>EZMicrophone
-Provides access to the default device microphone in one line of code and provides delegate callbacks to receive the audio data as an AudioBufferList and float arrays.
-
-**_Relevant Example Projects_**
-- EZAudioCoreGraphicsWaveformExample (iOS)
-- EZAudioCoreGraphicsWaveformExample (OSX)
-- EZAudioOpenGLWaveformExample (iOS)
-- EZAudioOpenGLWaveformExample (OSX)
-- EZAudioRecordExample (iOS)
-- EZAudioRecordExample (OSX)
-- EZAudioPassThroughExample (iOS)
-- EZAudioPassThroughExample (OSX)
-- EZAudioFFTExample (iOS)
-- EZAudioFFTExample (OSX)
-
-#### Creating A Microphone
-
-Create an `EZMicrophone` instance by declaring a property and initializing it like so:
-
-```objectivec
-// Declare the EZMicrophone as a strong property
-@property (nonatomic, strong) EZMicrophone *microphone;
-
-...
-
-// Initialize the microphone instance and assign it a delegate to receive the audio data
-// callbacks
-self.microphone = [EZMicrophone microphoneWithDelegate:self];
-```
-Alternatively, you could also use the shared `EZMicrophone` instance and just assign its `EZMicrophoneDelegate`.
-```objectivec
-// Assign a delegate to the shared instance of the microphone to receive the audio data
-// callbacks
-[EZMicrophone sharedMicrophone].delegate = self;
-```
-
-#### Setting The Device
-The `EZMicrophone` uses an `EZAudioDevice` instance to select what specific hardware destination it will use to pull audio data. You'd use this if you wanted to change the input device like in the EZAudioCoreGraphicsWaveformExample for [iOS](https://github.com/syedhali/EZAudio/tree/master/EZAudioExamples/iOS/EZAudioCoreGraphicsWaveformExample) or [OSX](https://github.com/syedhali/EZAudio/tree/master/EZAudioExamples/OSX/EZAudioCoreGraphicsWaveformExample). At any time you can change which input device is used by setting the device property:
-```objectivec
-NSArray *inputs = [EZAudioDevice inputDevices];
-[self.microphone setDevice:[inputs lastObject]];
-```
-
-Anytime the `EZMicrophone` changes its device it will trigger the `EZMicrophoneDelegate` event:
-```objectivec
-
-- (void)microphone:(EZMicrophone *)microphone changedDevice:(EZAudioDevice *)device
-{
-    // This is not always guaranteed to occur on the main thread so make sure you
-    // wrap it in a GCD block
-    dispatch_async(dispatch_get_main_queue(), ^{
-        // Update UI here
-           NSLog(@"Changed input device: %@", device);
-    });
-}
-```
-**Note: For iOS this can happen automatically if the AVAudioSession changes the current device.**
-
-#### Getting Microphone Data
-
-To tell the microphone to start fetching audio use the `startFetchingAudio` function.
-
-```objectivec
-// Starts fetching audio from the default device microphone and sends data to EZMicrophoneDelegate
-[self.microphone startFetchingAudio];
-```
-Once the `EZMicrophone` has started it will send the `EZMicrophoneDelegate` the audio back in a few ways.
-An array of float arrays:
-```objectivec
-/**
- The microphone data represented as non-interleaved float arrays useful for:
-    - Creating real-time waveforms using EZAudioPlot or EZAudioPlotGL
-    - Creating any number of custom visualizations that utilize audio!
- */
--(void)   microphone:(EZMicrophone *)microphone
-    hasAudioReceived:(float **)buffer
-      withBufferSize:(UInt32)bufferSize
-withNumberOfChannels:(UInt32)numberOfChannels
-{
-    __weak typeof (self) weakSelf = self;
-       // Getting audio data as an array of float buffer arrays that can be fed into the
-       // EZAudioPlot, EZAudioPlotGL, or whatever visualization you would like to do with
-       // the microphone data.
-       dispatch_async(dispatch_get_main_queue(),^{
-               // Visualize this data brah, buffer[0] = left channel, buffer[1] = right channel
-               [weakSelf.audioPlot updateBuffer:buffer[0] withBufferSize:bufferSize];
-    });
-}
-```
-or the AudioBufferList representation:
-```objectivec
-/**
- The microphone data represented as CoreAudio's AudioBufferList useful for:
-    - Appending data to an audio file via the EZRecorder
-    - Playback via the EZOutput
-
- */
--(void)    microphone:(EZMicrophone *)microphone
-        hasBufferList:(AudioBufferList *)bufferList
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-       // Getting audio data as an AudioBufferList that can be directly fed into the EZRecorder
-       // or EZOutput. Say whattt...
-}
-```
-#### Pausing/Resuming The Microphone
-
-Pause or resume fetching audio at any time like so:
-```objectivec
-// Stop fetching audio
-[self.microphone stopFetchingAudio];
-
-// Resume fetching audio
-[self.microphone startFetchingAudio];
-```
-
-Alternatively, you could also toggle the `microphoneOn` property (safe to use with Cocoa Bindings)
-```objectivec
-// Stop fetching audio
-self.microphone.microphoneOn = NO;
-
-// Start fetching audio
-self.microphone.microphoneOn = YES;
-```
-
-### <a name="EZOutput"></a>EZOutput
-Provides flexible playback to the default output device by asking the `EZOutputDataSource` for audio data to play. Doesn't care where the buffers come from (microphone, audio file, streaming audio, etc). As of 1.0.0 the `EZOutputDataSource` has been simplified to have only one method to provide audio data to your `EZOutput` instance.
-```objectivec
-// The EZOutputDataSource should fill out the audioBufferList with the given frame count.
-// The timestamp is provided for sample accurate calculation, but for basic use cases can
-// be ignored.
-- (OSStatus)        output:(EZOutput *)output
- shouldFillAudioBufferList:(AudioBufferList *)audioBufferList
-        withNumberOfFrames:(UInt32)frames
-                 timestamp:(const AudioTimeStamp *)timestamp;
-```
-
-**_Relevant Example Projects_**
-- EZAudioPlayFileExample (iOS)
-- EZAudioPlayFileExample (OSX)
-- EZAudioPassThroughExample (iOS)
-- EZAudioPassThroughExample (OSX)
-
-#### Creating An Output
-
-Create an `EZOutput` by declaring a property and initializing it like so:
-
-```objectivec
-// Declare the EZOutput as a strong property
-@property (nonatomic, strong) EZOutput *output;
-...
-
-// Initialize the EZOutput instance and assign it a delegate to provide the output audio data
-self.output = [EZOutput outputWithDataSource:self];
-```
-Alternatively, you could also use the shared output instance and just assign it an `EZOutputDataSource` if you will only have one `EZOutput` instance for your application.
-```objectivec
-// Assign a delegate to the shared instance of the output to provide the output audio data
-[EZOutput sharedOutput].delegate = self;
-```
-#### Setting The Device
-The `EZOutput` uses an `EZAudioDevice` instance to select what specific hardware destination it will output audio to. You'd use this if you wanted to change the output device like in the [EZAudioPlayFileExample](https://github.com/syedhali/EZAudio/tree/master/EZAudioExamples/OSX/EZAudioPlayFileExample) for OSX. At any time you can change which output device is used by setting the `device` property:
-```objectivec
-// By default the EZOutput uses the default output device, but you can change this at any time
-EZAudioDevice *currentOutputDevice = [EZAudioDevice currentOutputDevice];
-[self.output setDevice:currentOutputDevice];
-```
-
-Anytime the `EZOutput` changes its device it will trigger the `EZOutputDelegate` event:
-```objectivec
-- (void)output:(EZOutput *)output changedDevice:(EZAudioDevice *)device
-{
-    NSLog(@"Change output device to: %@", device);
-}
-```
-
-#### Playing Audio
-
-##### Setting The Input Format
-
-When providing audio data the `EZOutputDataSource` will expect you to fill out the AudioBufferList provided with whatever `inputFormat` that is set on the `EZOutput`. By default the input format is a stereo, non-interleaved, float format (see [defaultInputFormat](http://cocoadocs.org/docsets/EZAudio/1.1.2/Classes/EZOutput.html#//api/name/defaultInputFormat) for more information). If you're dealing with a different input format (which is typically the case), just set the `inputFormat` property. For instance:
-```objectivec
-// Set a mono, float format with a sample rate of 44.1 kHz
-AudioStreamBasicDescription monoFloatFormat = [EZAudioUtilities monoFloatFormatWithSampleRate:44100.0f];
-[self.output setInputFormat:monoFloatFormat];
-```
-##### Implementing the EZOutputDataSource
-
-An example of implementing the `EZOutputDataSource` is done internally in the `EZAudioPlayer` using an `EZAudioFile` to read audio from an audio file on disk like so:
-```objectivec
-- (OSStatus)        output:(EZOutput *)output
- shouldFillAudioBufferList:(AudioBufferList *)audioBufferList
-        withNumberOfFrames:(UInt32)frames
-                 timestamp:(const AudioTimeStamp *)timestamp
-{
-    if (self.audioFile)
-    {
-        UInt32 bufferSize; // amount of frames actually read
-        BOOL eof; // end of file
-        [self.audioFile readFrames:frames
-                   audioBufferList:audioBufferList
-                        bufferSize:&bufferSize
-                               eof:&eof];
-        if (eof && [self.delegate respondsToSelector:@selector(audioPlayer:reachedEndOfAudioFile:)])
-        {
-            [self.delegate audioPlayer:self reachedEndOfAudioFile:self.audioFile];
-        }
-        if (eof && self.shouldLoop)
-        {
-            [self seekToFrame:0];
-        }
-        else if (eof)
-        {
-            [self pause];
-            [self seekToFrame:0];
-            [[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidReachEndOfFileNotification
-                                                                object:self];
-        }
-    }
-    return noErr;
-}
-```
-
-I created a sample project that uses the `EZOutput` to act as a signal generator to play sine, square, triangle, sawtooth, and noise waveforms. **Here's a snippet of code to generate a sine tone**:
-```objectivec
-...
-double const SAMPLE_RATE = 44100.0;
-
-- (void)awakeFromNib
-{
-    //
-    // Create EZOutput to play audio data with mono format (EZOutput will convert
-    // this mono, float "inputFormat" to a clientFormat, i.e. the stereo output format).
-    //
-    AudioStreamBasicDescription inputFormat = [EZAudioUtilities monoFloatFormatWithSampleRate:SAMPLE_RATE];
-    self.output = [EZOutput outputWithDataSource:self inputFormat:inputFormat];
-    [self.output setDelegate:self];
-    self.frequency = 200.0;
-    self.sampleRate = SAMPLE_RATE;
-    self.amplitude = 0.80;
-}
-
-- (OSStatus)        output:(EZOutput *)output
- shouldFillAudioBufferList:(AudioBufferList *)audioBufferList
-        withNumberOfFrames:(UInt32)frames
-                 timestamp:(const AudioTimeStamp *)timestamp
-{
-    Float32 *buffer = (Float32 *)audioBufferList->mBuffers[0].mData;
-    size_t bufferByteSize = (size_t)audioBufferList->mBuffers[0].mDataByteSize;
-    double theta = self.theta;
-    double frequency = self.frequency;
-    double thetaIncrement = 2.0 * M_PI * frequency / SAMPLE_RATE;
-    if (self.type == GeneratorTypeSine)
-    {
-        for (UInt32 frame = 0; frame < frames; frame++)
-        {
-            buffer[frame] = self.amplitude * sin(theta);
-            theta += thetaIncrement;
-            if (theta > 2.0 * M_PI)
-            {
-                theta -= 2.0 * M_PI;
-            }
-        }
-        self.theta = theta;
-    }
-    else if (... other shapes in full source)
-}
-```
-
-For the full implementation of the square, triangle, sawtooth, and noise functions here: (https://github.com/syedhali/SineExample/blob/master/SineExample/GeneratorViewController.m#L220-L305)
-
-Once the `EZOutput` has started it will send the `EZOutputDelegate` the audio back as float arrays for visualizing. These are converted inside the `EZOutput` component from whatever input format you may have provided. For instance, if you provide an interleaved, signed integer AudioStreamBasicDescription for the `inputFormat` property then that will be automatically converted to a stereo, non-interleaved, float format when sent back in the delegate `playedAudio:...` method below:
-An array of float arrays:
-```objectivec
-/**
- The output data represented as non-interleaved float arrays useful for:
-    - Creating real-time waveforms using EZAudioPlot or EZAudioPlotGL
-    - Creating any number of custom visualizations that utilize audio!
- */
-- (void)       output:(EZOutput *)output
-          playedAudio:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-       // Update plot, buffer[0] = left channel, buffer[1] = right channel
-    });
-}
-```
-
-#### Pausing/Resuming The Output
-Pause or resume the output component at any time like so:
-```objectivec
-// Stop fetching audio
-[self.output stopPlayback];
-
-// Resume fetching audio
-[self.output startPlayback];
-```
-
-#### Chaining Audio Unit Effects
-Internally the `EZOutput` is using an AUGraph to chain together a converter, mixer, and output audio units. You can hook into this graph by subclassing `EZOutput` and implementing the method:
-```objectivec
-// By default this method connects the AUNode representing the input format converter to
-// the mixer node. In subclasses you can add effects in the chain between the converter
-// and mixer by creating additional AUNodes, adding them to the AUGraph provided below,
-// and then connecting them together.
-- (OSStatus)connectOutputOfSourceNode:(AUNode)sourceNode
-                  sourceNodeOutputBus:(UInt32)sourceNodeOutputBus
-                    toDestinationNode:(AUNode)destinationNode
-              destinationNodeInputBus:(UInt32)destinationNodeInputBus
-                              inGraph:(AUGraph)graph;
-```
-
-This was inspired by the audio processing graph from CocoaLibSpotify (Daniel Kennett of Spotify has [an excellent blog post](http://ikennd.ac/blog/2012/04/augraph-basics-in-cocoalibspotify/) explaining how to add an EQ to the CocoaLibSpotify AUGraph).
-
-Here's an example of how to add a delay audio unit (`kAudioUnitSubType_Delay`):
-```objectivec
-// In interface, declare delay node info property
-@property (nonatomic, assign) EZAudioNodeInfo *delayNodeInfo;
-
-// In implementation, overwrite the connection method
-- (OSStatus)connectOutputOfSourceNode:(AUNode)sourceNode
-                  sourceNodeOutputBus:(UInt32)sourceNodeOutputBus
-                    toDestinationNode:(AUNode)destinationNode
-              destinationNodeInputBus:(UInt32)destinationNodeInputBus
-                              inGraph:(AUGraph)graph
-{
-    self.delayNodeInfo = (EZAudioNodeInfo *)malloc(sizeof(EZAudioNodeInfo));
-
-    // A description for the time/pitch shifter Device
-    AudioComponentDescription delayComponentDescription;
-    delayComponentDescription.componentType = kAudioUnitType_Effect;
-    delayComponentDescription.componentSubType = kAudioUnitSubType_Delay;
-    delayComponentDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
-    delayComponentDescription.componentFlags = 0;
-    delayComponentDescription.componentFlagsMask = 0;
-
-    [EZAudioUtilities checkResult:AUGraphAddNode(graph,
-                                                 &delayComponentDescription,
-                                                 &self.delayNodeInfo->node)
-                        operation:"Failed to add node for time shift"];
-
-    // Get the time/pitch shifter Audio Unit from the node
-    [EZAudioUtilities checkResult:AUGraphNodeInfo(graph,
-                                                  self.delayNodeInfo->node,
-                                                  NULL,
-                                                  &self.delayNodeInfo->audioUnit)
-                        operation:"Failed to get audio unit for delay node"];
-
-    // connect the output of the input source node to the input of the time/pitch shifter node
-    [EZAudioUtilities checkResult:AUGraphConnectNodeInput(graph,
-                                                          sourceNode,
-                                                          sourceNodeOutputBus,
-                                                          self.delayNodeInfo->node,
-                                                          0)
-                        operation:"Failed to connect source node into delay node"];
-
-    // connect the output of the time/pitch shifter node to the input of the destination node, thus completing the chain.
-    [EZAudioUtilities checkResult:AUGraphConnectNodeInput(graph,
-                                                          self.delayNodeInfo->node,
-                                                          0,
-                                                          destinationNode,
-                                                          destinationNodeInputBus)
-                        operation:"Failed to connect delay to destination node"];
-    return noErr;
-}
-
-// Clean up
-- (void)dealloc
-{
-    free(self.delayNodeInfo);
-}
-```
-
-### <a name="EZAudioFile"></a>EZAudioFile
-Provides simple read/seek operations, pulls waveform amplitude data, and provides the `EZAudioFileDelegate` to notify of any read/seek action occuring on the `EZAudioFile`. This can be thought of as the NSImage/UIImage equivalent of the audio world.
-
-**_Relevant Example Projects_**
-- EZAudioWaveformFromFileExample (iOS)
-- EZAudioWaveformFromFileExample (OSX)
-
-#### Opening An Audio File
-To open an audio file create a new instance of the `EZAudioFile` class.
-```objectivec
-// Declare the EZAudioFile as a strong property
-@property (nonatomic, strong) EZAudioFile *audioFile;
-
-...
-
-// Initialize the EZAudioFile instance and assign it a delegate to receive the read/seek callbacks
-self.audioFile = [EZAudioFile audioFileWithURL:[NSURL fileURLWithPath:@"/path/to/your/file"] delegate:self];
-```
-
-#### Getting Waveform Data
-
-The EZAudioFile allows you to quickly fetch waveform data from an audio file with as much or little detail as you'd like.
-```objectivec
-__weak typeof (self) weakSelf = self;
-// Get a waveform with 1024 points of data. We can adjust the number of points to whatever level
-// of detail is needed by the application
-[self.audioFile getWaveformDataWithNumberOfPoints:1024
-                                  completionBlock:^(float **waveformData,
-                                                    int length)
-{
-     [weakSelf.audioPlot updateBuffer:waveformData[0]
-                       withBufferSize:length];
-}];
-```
-
-#### Reading From An Audio File
-
-Reading audio data from a file requires you to create an AudioBufferList to hold the data. The `EZAudio` utility function, `audioBufferList`, provides a convenient way to get an allocated AudioBufferList to use. There is also a utility function, `freeBufferList:`, to use to free (or release) the AudioBufferList when you are done using that audio data.
-
-**Note: You have to free the AudioBufferList, even in ARC.**
-```objectivec
-// Allocate an AudioBufferList to hold the audio data (the client format is the non-compressed
-// in-app format that is used for reading, it's different than the file format which is usually
-// something compressed like an mp3 or m4a)
-AudioStreamBasicDescription clientFormat = [self.audioFile clientFormat];
-UInt32 numberOfFramesToRead = 512;
-UInt32 channels = clientFormat.mChannelsPerFrame;
-BOOL isInterleaved = [EZAudioUtilities isInterleaved:clientFormat];
-AudioBufferList *bufferList = [EZAudioUtilities audioBufferListWithNumberOfFrames:numberOfFramesToRead
-                                                                 numberOfChannels:channels
-                                                                      interleaved:isInterleaved];
-
-// Read the frames from the EZAudioFile into the AudioBufferList
-UInt32 framesRead;
-UInt32 isEndOfFile;
-[self.audioFile readFrames:numberOfFramesToRead
-           audioBufferList:bufferList
-                bufferSize:&framesRead
-                       eof:&isEndOfFile]
-```
-
-When a read occurs the `EZAudioFileDelegate` receives two events.
-
-An event notifying the delegate of the read audio data as float arrays:
-```objectivec
--(void)     audioFile:(EZAudioFile *)audioFile
-            readAudio:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [weakSelf.audioPlot updateBuffer:buffer[0]
-                          withBufferSize:bufferSize];
-    });
-}
-```
-and an event notifying the delegate of the new frame position within the `EZAudioFile`:
-```objectivec
--(void)audioFile:(EZAudioFile *)audioFile updatedPosition:(SInt64)framePosition
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-               // Update UI
-    });
-}
-```
-
-#### Seeking Through An Audio File
-
-You can seek very easily through an audio file using the `EZAudioFile`'s seekToFrame: method. The `EZAudioFile` provides a `totalFrames` method to provide you the total amount of frames in an audio file so you can calculate a proper offset.
-```objectivec
-// Get the total number of frames for the audio file
-SInt64 totalFrames = [self.audioFile totalFrames];
-
-// Seeks halfway through the audio file
-[self.audioFile seekToFrame:(totalFrames/2)];
-
-// Alternatively, you can seek using seconds
-NSTimeInterval duration = [self.audioFile duration];
-[self.audioFile setCurrentTime:duration/2.0];
-```
-When a seek occurs the `EZAudioFileDelegate` receives the seek event:
-```objectivec
--(void)audioFile:(EZAudioFile *)audioFile updatedPosition:(SInt64)framePosition
-{
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-               // Update UI
-    });
-}
-```
-
-### <a name="EZAudioPlayer"></a>EZAudioPlayer
-Provides a class that combines the `EZAudioFile` and `EZOutput` for file playback of all Core Audio supported formats to any hardware device. Because the `EZAudioPlayer` internally hooks into the `EZAudioFileDelegate` and `EZOutputDelegate`, you should implement the `EZAudioPlayerDelegate` to receive the `playedAudio:...` and `updatedPosition:` events. The EZAudioPlayFileExample projects for [iOS](https://github.com/syedhali/EZAudio/tree/master/EZAudioExamples/iOS/EZAudioPlayFileExample) and [OSX](https://github.com/syedhali/EZAudio/tree/master/EZAudioExamples/OSX/EZAudioPlayFileExample) shows how to use the `EZAudioPlayer` to play audio files, visualize the samples with an audio plot, adjust the volume, and change the output device using the `EZAudioDevice` class. The `EZAudioPlayer` primarily uses `NSNotificationCenter` to post notifications because often times you have one audio player and multiple UI elements that need to listen for player events to properly update.
-
-#### Creating An Audio Player
-```objectivec
-// Declare the EZAudioFile as a strong property
-@property (nonatomic, strong) EZAudioFile *audioFile;
-
-...
-
-// Create an EZAudioPlayer with a delegate that conforms to EZAudioPlayerDelegate
-self.player = [EZAudioPlayer audioPlayerWithDelegate:self];
-```
-
-#### Playing An Audio File
-The `EZAudioPlayer` uses an internal `EZAudioFile` to provide data to its `EZOutput` for output via the `EZOutputDataSource`. You can provide an `EZAudioFile` by just setting the `audioFile` property on the `EZAudioPlayer` will make a copy of the `EZAudioFile` at that file path url for its own use.
-```objectivec
-// Set the EZAudioFile for playback by setting the `audioFile` property
-EZAudioFile *audioFile = [EZAudioFile audioFileWithURL:[NSURL fileURLWithPath:@"/path/to/your/file"]];
-[self.player setAudioFile:audioFile];
-
-// This, however, will not pause playback if a current file is playing. Instead
-// it's encouraged to use `playAudioFile:` instead if you're swapping in a new
-// audio file while playback is already running
-EZAudioFile *audioFile = [EZAudioFile audioFileWithURL:[NSURL fileURLWithPath:@"/path/to/your/file"]];
-[self.player playAudioFile:audioFile];
-```
-
-As audio is played the `EZAudioPlayerDelegate` will receive the `playedAudio:...`, `updatedPosition:...`, and, if the audio file reaches the end of the file, the `reachedEndOfAudioFile:` events. A typical implementation of the `EZAudioPlayerDelegate` would be something like:
-```objectivec
-- (void)  audioPlayer:(EZAudioPlayer *)audioPlayer
-          playedAudio:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-          inAudioFile:(EZAudioFile *)audioFile
-{
-    __weak typeof (self) weakSelf = self;
-    // Update an EZAudioPlot or EZAudioPlotGL to reflect the audio data coming out
-    // of the EZAudioPlayer (post volume and pan)
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [weakSelf.audioPlot updateBuffer:buffer[0]
-                          withBufferSize:bufferSize];
-    });
-}
-
-//------------------------------------------------------------------------------
-
-- (void)audioPlayer:(EZAudioPlayer *)audioPlayer
-    updatedPosition:(SInt64)framePosition
-        inAudioFile:(EZAudioFile *)audioFile
-{
-    __weak typeof (self) weakSelf = self;
-    // Update any UI controls including sliders and labels
-    // display current time/duration
-    dispatch_async(dispatch_get_main_queue(), ^{
-        if (!weakSelf.positionSlider.highlighted)
-        {
-            weakSelf.positionSlider.floatValue = (float)framePosition;
-            weakSelf.positionLabel.integerValue = framePosition;
-        }
-    });
-}
-```
-
-#### Seeking
-You can seek through the audio file in a similar fashion as with the `EZAudioFile`. That is, using the `seekToFrame:` or `currentTime` property.
-```objectivec
-// Get the total number of frames and seek halfway
-SInt64 totalFrames = [self.player totalFrames];
-[self.player seekToFrame:(totalFrames/2)];
-
-// Alternatively, you can seek using seconds
-NSTimeInterval duration = [self.player duration];
-[self.player setCurrentTime:duration/2.0];
-```
-
-#### Setting Playback Parameters
-Because the `EZAudioPlayer` wraps the `EZOutput` you can adjust the volume and pan parameters for playback.
-```objectivec
-// Make it half as loud, 0 = silence, 1 = full volume. Default is 1.
-[self.player setVolume:0.5];
-
-// Make it only play on the left, -1 = left, 1 = right. Default is 0.0 (center)
-[self.player setPan:-1.0];
-```
-
-#### Getting Audio File Parameters
-The `EZAudioPlayer` wraps the `EZAudioFile` and provides a high level interface for pulling values like current time, duration, the frame index, total frames, etc.
-```objectivec
-NSTimeInterval  currentTime          = [self.player currentTime];
-NSTimeInterval  duration             = [self.player duration];
-NSString       *formattedCurrentTime = [self.player formattedCurrentTime]; // MM:SS formatted
-NSString       *formattedDuration    = [self.player formattedDuration];    // MM:SS formatted
-SInt64          frameIndex           = [self.player frameIndex];
-SInt64          totalFrames          = [self.player totalFrames];
-```
-
-In addition, the `EZOutput` properties are also offered at a high level as well:
-```objectivec
-EZAudioDevice *outputDevice = [self.player device];
-BOOL          isPlaying    = [self.player isPlaying];
-float          pan          = [self.player pan];
-float          volume       = [self.player volume];
-```
-
-#### Notifications
-The `EZAudioPlayer` provides the following notifications (as of 1.1.2):
-```objectivec
-/**
- Notification that occurs whenever the EZAudioPlayer changes its `audioFile` property. Check the new value using the EZAudioPlayer's `audioFile` property.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangeAudioFileNotification;
-
-/**
- Notification that occurs whenever the EZAudioPlayer changes its `device` property. Check the new value using the EZAudioPlayer's `device` property.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangeOutputDeviceNotification;
-
-/**
- Notification that occurs whenever the EZAudioPlayer changes its `output` component's `pan` property. Check the new value using the EZAudioPlayer's `pan` property.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangePanNotification;
-
-/**
- Notification that occurs whenever the EZAudioPlayer changes its `output` component's play state. Check the new value using the EZAudioPlayer's `isPlaying` property.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangePlayStateNotification;
-
-/**
- Notification that occurs whenever the EZAudioPlayer changes its `output` component's `volume` property. Check the new value using the EZAudioPlayer's `volume` property.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangeVolumeNotification;
-
-/**
- Notification that occurs whenever the EZAudioPlayer has reached the end of a file and its `shouldLoop` property has been set to NO.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidReachEndOfFileNotification;
-
-/**
- Notification that occurs whenever the EZAudioPlayer performs a seek via the `seekToFrame` method or `setCurrentTime:` property setter. Check the new `currentTime` or `frameIndex` value using the EZAudioPlayer's `currentTime` or `frameIndex` property, respectively.
- */
-FOUNDATION_EXPORT NSString * const EZAudioPlayerDidSeekNotification;
-```
-
-### <a name="EZRecorder"></a>EZRecorder
-Provides a way to record any audio source to an audio file. This hooks into the other components quite nicely to do something like plot the audio waveform while recording to give visual feedback as to what is happening. The `EZRecorderDelegate` provides methods to listen to write events and a final close event on the `EZRecorder` (explained [below](#EZRecorderDelegateExplanation)).
-
-*Relevant Example Projects*
-- EZAudioRecordExample (iOS)
-- EZAudioRecordExample (OSX)
-
-#### Creating A Recorder
-
-To create an `EZRecorder` you must provide at least 3 things: an NSURL representing the file path of where the audio file should be written to (an existing file will be overwritten), a `clientFormat` representing the format in which you will be providing the audio data, and either an `EZRecorderFileType` or an `AudioStreamBasicDescription` representing the file format of the audio data on disk.
-
-```objectivec
-// Provide a file path url to write to, a client format (always linear PCM, this is the format
-// coming from another component like the EZMicrophone's audioStreamBasicDescription property),
-// and a EZRecorderFileType constant representing either a wav (EZRecorderFileTypeWAV),
-// aiff (EZRecorderFileTypeAIFF), or m4a (EZRecorderFileTypeM4A) file format. The advantage of
-// this is that the `fileFormat` property will be automatically filled out for you.
-+ (instancetype)recorderWithURL:(NSURL *)url
-                   clientFormat:(AudioStreamBasicDescription)clientFormat
-                       fileType:(EZRecorderFileType)fileType;
-
-// Alternatively, you can provide a file path url to write to, a client format (always linear
-// PCM, this is the format coming from another component like the EZMicrophone's
-// audioStreamBasicDescription property), a `fileFormat` representing your custom
-// AudioStreamBasicDescription, and an AudioFileTypeID that corresponds with your `fileFormat`.
-+ (instancetype)recorderWithURL:(NSURL *)url
-                   clientFormat:(AudioStreamBasicDescription)clientFormat
-                     fileFormat:(AudioStreamBasicDescription)fileFormat
-                audioFileTypeID:(AudioFileTypeID)audioFileTypeID;
-
-```
-
-Start by declaring an instance of the EZRecorder (you will have one of these per audio file written out)
-```objectivec
-// Declare the EZRecorder as a strong property
-@property (nonatomic, strong) EZRecorder *recorder;
-```
-
-and initialize it using one of the two initializers from above. For instance, using the `EZRecorderFileType` shortcut initializer you could create an instance like so:
-```objectivec
-// Example using an EZMicrophone and a string called kAudioFilePath representing a file
-// path location on your computer to write out a M4A file.
-self.recorder = [EZRecorder recorderWithURL:[NSURL fileURLWithPath:@"/path/to/your/file.m4a"]
-                               clientFormat:[self.microphone audioStreamBasicDescription]
-                                   fileType:EZRecorderFileTypeM4A];
-```
-
-or to configure your own custom file format, say to write out a 8000 Hz, iLBC file:
-```objectivec
-// Example using an EZMicrophone, a string called kAudioFilePath representing a file
-// path location on your computer, and an iLBC file format.
-AudioStreamBasicDescription iLBCFormat = [EZAudioUtilities iLBCFormatWithSampleRate:8000];
-self.recorder = [EZRecorder recorderWithURL:[NSURL fileURLWithPath:@"/path/to/your/file.caf"]
-                               clientFormat:[self.microphone audioStreamBasicDescription]
-                                 fileFormat:iLBCFormat
-                            audioFileTypeID:kAudioFileCAFType];
-```
-
-#### Recording Some Audio
-
-Once you've initialized your `EZRecorder` you can append data by passing in an AudioBufferList and its buffer size like so:
-```objectivec
-// Append the microphone data coming as a AudioBufferList with the specified buffer size
-// to the recorder
--(void)    microphone:(EZMicrophone *)microphone
-        hasBufferList:(AudioBufferList *)bufferList
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    // Getting audio data as a buffer list that can be directly fed into the EZRecorder. This is
-    // happening on the audio thread - any UI updating needs a GCD main queue block.
-    if (self.isRecording)
-    {
-        // Since we set the recorder's client format to be that of the EZMicrophone instance,
-        // the audio data coming in represented by the AudioBufferList can directly be provided
-        // to the EZRecorder. The EZRecorder will internally convert the audio data from the
-        // `clientFormat` to `fileFormat`.
-        [self.recorder appendDataFromBufferList:bufferList
-                                 withBufferSize:bufferSize];
-    }
-}
-```
-
-##### <a name="EZRecorderDelegateExplanation"></a>Responding to an EZRecorder after it has written audio data
-
-Once audio data has been successfully written with the `EZRecorder` it will notify the `EZRecorderDelegate` of the event so it can respond via:
-```objectivec
-// Triggers after the EZRecorder's `appendDataFromBufferList:withBufferSize:` method is called
-// so you can update your interface accordingly.
-- (void)recorderUpdatedCurrentTime:(EZRecorder *)recorder
-{
-    __weak typeof (self) weakSelf = self;
-    // This will get triggerd on the thread that the write occured on so be sure to wrap your UI
-    // updates in a GCD main queue block! However, I highly recommend you first pull the values
-    // you'd like to update the interface with before entering the GCD block to avoid trying to
-    // fetch a value after the audio file has been closed.
-    NSString *formattedCurrentTime = [recorder formattedCurrentTime]; // MM:SS formatted
-    dispatch_async(dispatch_get_main_queue(), ^{
-       // Update label
-        weakSelf.currentTimeLabel.stringValue = formattedCurrentTime;
-    });
-}
-```
-
-#### Closing An Audio File
-When you're recording is done be sure to call the `closeAudioFile` method to make sure the audio file written to disk is properly closed before you attempt to read it again.
-
-```objectivec
-// Close the EZRecorder's audio file BEFORE reading
-[self.recorder closeAudioFile];
-```
-
-This will trigger the EZRecorder's delegate method:
-```objectivec
-- (void)recorderDidClose:(EZRecorder *)recorder
-{
-    recorder.delegate = nil;
-}
-```
-
-## <a name="InterfaceComponents"></a>Interface Components
-`EZAudio` currently offers two drop in audio waveform components that help simplify the process of visualizing audio.
-
-### <a name="EZAudioPlot"></a>EZAudioPlot
-Provides an audio waveform plot that uses CoreGraphics to perform the drawing. On iOS this is a subclass of UIView while on OSX this is a subclass of NSView. As of the 1.0.0 release, the waveforms are drawn using CALayers where compositing is done on the GPU. As a result, there have been some huge performance gains and CPU usage per real-time (i.e. 60 frames per second redrawing) plot is now about 2-3% CPU as opposed to the 20-30% we were experiencing before.
-
-*Relevant Example Projects*
-- EZAudioCoreGraphicsWaveformExample (iOS)
-- EZAudioCoreGraphicsWaveformExample (OSX)
-- EZAudioRecordExample (iOS)
-- EZAudioRecordExample (OSX)
-- EZAudioWaveformFromFileExample (iOS)
-- EZAudioWaveformFromFileExample (OSX)
-- EZAudioFFTExample (iOS)
-- EZAudioFFTExample (OSX)
-
-#### Creating An Audio Plot
-
-You can create an audio plot in the interface builder by dragging in a UIView on iOS or an NSView on OSX onto your content area. Then change the custom class of the UIView/NSView to `EZAudioPlot`.
-
-![EZAudioPlotInterfaceBuilder](https://cloud.githubusercontent.com/assets/1275640/8532901/47d6f9ce-23e6-11e5-9766-d9969e630338.gif)
-
-Alternatively, you can could create the audio plot programmatically
-
-```objectivec
-// Programmatically create an audio plot
-EZAudioPlot *audioPlot = [[EZAudioPlot alloc] initWithFrame:self.view.frame];
-[self.view addSubview:audioPlot];
-```
-
-#### Customizing The Audio Plot
-
-All plots offer the ability to change the background color, waveform color, plot type (buffer or rolling), toggle between filled and stroked, and toggle between mirrored and unmirrored (about the x-axis). For iOS colors are of the type UIColor while on OSX colors are of the type NSColor.
-
-```objectivec
-// Background color (use UIColor for iOS)
-audioPlot.backgroundColor = [NSColor colorWithCalibratedRed:0.816
-                                                      green:0.349
-                                                       blue:0.255
-                                                      alpha:1];
-// Waveform color (use UIColor for iOS)
-audioPlot.color = [NSColor colorWithCalibratedRed:1.000
-                                            green:1.000
-                                             blue:1.000
-                                            alpha:1];
-// Plot type
-audioPlot.plotType = EZPlotTypeBuffer;
-// Fill
-audioPlot.shouldFill = YES;
-// Mirror
-audioPlot.shouldMirror = YES;
-```
-
-#### IBInspectable Attributes
-
-Also, as of iOS 8 you can adjust the background color, color, gain, shouldFill, and shouldMirror parameters directly in the Interface Builder via the IBInspectable attributes:
-
-![EZAudioPlotInspectableAttributes](https://cloud.githubusercontent.com/assets/1275640/8530670/288840c8-23d7-11e5-954b-644ed4ed67b4.png)
-
-#### Updating The Audio Plot
-
-All plots have only one update function, `updateBuffer:withBufferSize:`, which expects a float array and its length.
-```objectivec
-// The microphone component provides audio data to its delegate as an array of float buffer arrays.
-- (void)   microphone:(EZMicrophone *)microphone
-     hasAudioReceived:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    /**
-     Update the audio plot using the float array provided by the microphone:
-       buffer[0] = left channel
-       buffer[1] = right channel
-     Note: Audio updates happen asynchronously so we need to make sure
-         sure to update the plot on the main thread
-     */
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [weakSelf.audioPlot updateBuffer:buffer[0] withBufferSize:bufferSize];
-    });
-}
-```
-
-### <a name="EZAudioPlotGL"></a>EZAudioPlotGL
-Provides an audio waveform plot that uses OpenGL to perform the drawing. The API this class are exactly the same as those for the EZAudioPlot above. On iOS this is a subclass of the GLKView while on OSX this is a subclass of the NSOpenGLView. In most cases this is the plot you want to use, it's GPU-accelerated, can handle lots of points  while displaying 60 frames per second (the EZAudioPlot starts to choke on anything greater than 1024), and performs amazingly on all devices. The only downside is that you can only have one OpenGL plot onscreen at a time. However, you can combine OpenGL plots with Core Graphics plots in the view hierachy (see the EZAudioRecordExample for an example of how to do this).
-
-*Relevant Example Projects*
-- EZAudioOpenGLWaveformExample (iOS)
-- EZAudioOpenGLWaveformExample (OSX)
-- EZAudioPlayFileExample (iOS)
-- EZAudioPlayFileExample (OSX)
-- EZAudioRecordExample (iOS)
-- EZAudioRecordExample (OSX)
-- EZAudioPassThroughExample (iOS)
-- EZAudioPassThroughExample (OSX)
-
-#### Creating An OpenGL Audio Plot
-
-You can create an audio plot in the interface builder by dragging in a UIView on iOS or an NSView on OSX onto your content area. Then change the custom class of the UIView/NSView to `EZAudioPlotGL`.
-
-![EZAudioPlotGLInterfaceBuilder](https://cloud.githubusercontent.com/assets/1275640/8532900/47d62346-23e6-11e5-8128-07c6641f4af8.gif)
-
-Alternatively, you can could create the `EZAudioPlotGL` programmatically
-```objectivec
-// Programmatically create an audio plot
-EZAudioPlotGL *audioPlotGL = [[EZAudioPlotGL alloc] initWithFrame:self.view.frame];
-[self.view addSubview:audioPlotGL];
-```
-
-#### Customizing The OpenGL Audio Plot
-
-All plots offer the ability to change the background color, waveform color, plot type (buffer or rolling), toggle between filled and stroked, and toggle between mirrored and unmirrored (about the x-axis). For iOS colors are of the type UIColor while on OSX colors are of the type NSColor.
-```objectivec
-// Background color (use UIColor for iOS)
-audioPlotGL.backgroundColor = [NSColor colorWithCalibratedRed:0.816
-                                                        green:0.349
-                                                         blue:0.255
-                                                        alpha:1];
-// Waveform color (use UIColor for iOS)
-audioPlotGL.color = [NSColor colorWithCalibratedRed:1.000
-                                              green:1.000
-                                               blue:1.000
-                                              alpha:1];
-// Plot type
-audioPlotGL.plotType = EZPlotTypeBuffer;
-// Fill
-audioPlotGL.shouldFill = YES;
-// Mirror
-audioPlotGL.shouldMirror = YES;
-```
-
-#### IBInspectable Attributes
-
-Also, as of iOS 8 you can adjust the background color, color, gain, shouldFill, and shouldMirror parameters directly in the Interface Builder via the IBInspectable attributes:
-
-![EZAudioPlotGLInspectableAttributes](https://cloud.githubusercontent.com/assets/1275640/8530670/288840c8-23d7-11e5-954b-644ed4ed67b4.png)
-
-#### Updating The OpenGL Audio Plot
-
-All plots have only one update function, `updateBuffer:withBufferSize:`, which expects a float array and its length.
-```objectivec
-// The microphone component provides audio data to its delegate as an array of float buffer arrays.
-- (void)   microphone:(EZMicrophone *)microphone
-     hasAudioReceived:(float **)buffer
-       withBufferSize:(UInt32)bufferSize
- withNumberOfChannels:(UInt32)numberOfChannels
-{
-    /**
-     Update the audio plot using the float array provided by the microphone:
-       buffer[0] = left channel
-       buffer[1] = right channel
-     Note: Audio updates happen asynchronously so we need to make sure
-         sure to update the plot on the main thread
-     */
-    __weak typeof (self) weakSelf = self;
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [weakSelf.audioPlotGL updateBuffer:buffer[0] withBufferSize:bufferSize];
-    });
-}
-```
-
-## License
-EZAudio is available under the MIT license. See the LICENSE file for more info.
-
-## Contact & Contributers
-Syed Haris Ali<br>
-www.syedharisali.com<br>
-syedhali07[at]gmail.com
-
-## Acknowledgements
-The following people rock:
-- My brother, [Reza Ali](http://www.syedrezaali.com/), for walking me through all the gritty details of OpenGL and his constant encouragement through this journey to 1.0.0.
-- [Aure Prochazka](http://aure.com/) for his amazing work on [AudioKit](http://audiokit.io/) and his encouragement to bring EZAudio to 1.0.0
-- [Daniel Kennett](http://ikennd.ac/) for writing [this great blog post](http://ikennd.ac/blog/2012/04/augraph-basics-in-cocoalibspotify/) that inspired the rewrite of the `EZOutput` in 1.0.0.
-- [Michael Tyson](http://atastypixel.com/blog/) for creating the [TPCircularBuffer](http://atastypixel.com/blog/a-simple-fast-circular-buffer-implementation-for-audio-processing/) and all his contributions to the community including the Amazing Audio Engine, Audiobus, and all the tasty pixel blog posts.
-- Chris Adamson and Kevin Avila for writing the amazing [Learning Core Audio](http://www.amazon.com/Learning-Core-Audio-Hands-On-Programming/dp/0321636848) book.
-
-## <a name="Deprecated"></a>Deprecated
-
-![alt text](https://cloud.githubusercontent.com/assets/1275640/15996081/9f676e26-30d8-11e6-893b-c2135dd7d3c7.png "EZAudioDeprecatedLogo")
-
-As of today, June 13, 2016, I’m officially deprecating EZAudio. I’d like to thank everyone for the support over the last few years I’ve been hacking on EZAudio and working to make it better.
-
-### Alternatives
-
-The best alternative to EZAudio is now [AudioKit](http://audiokit.io/). Note that [The Amazing Audio Engine](https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine) and [The Amazing Audio Engine 2](https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine2) have now both been retired as well. Any further contributions I make to iOS/macOS/tvOS audio programming will be to AudioKit.
-
-- [AudioKit](https://github.com/audiokit/AudioKit)
-
-### Why?
-
-EZAudio started as a pet project of mine in 2013 in an attempt to reduce the amount of duplicate code I was writing for my own iOS/Mac audio projects. I originally just wanted to record audio from an iPhone’s mic and plot a waveform. This over time quickly grew into the collection of classes you may know today (EZMicrophone, EZAudioPlot, etc). 
-
-I apologize for not being more active in addressing the issues and pull requests, but I’m hoping you all understand I’m only one person. EZAudio was solely written and maintained by me out of love during weeks of time I wasn’t making any money, all while living in one of the most expensive cities in the world. Like many of you, I spend the majority of my time working full-time to sustain myself (I have bills and rent to pay too!). I’m transitioning to non-audio ventures and will hopefully be able to share another cool open source project soon enough. 
-
-Getting the opportunity to work on EZAudio with all of you has been an incredibly insightful experience and I’m incredibly grateful to have gotten a chance to share it with all of you. Thank you.
-
-### Is all of it broken?
-
-As I’m writing this I’m a little hesitant to say it’s all broken (despite all the issues filed), but I’d recommend forking this repo from this point forward and using at your own risk. I’ll probably be continuing to use EZAudio’s EZAudioPlot for rendering waveforms in my future projects, however, please don’t expect any updates to this repo. Deprecated means I won’t be responding to issues, EZAudio-related emails, or pushing any new changes to this repo. 
diff --git a/document/JOYGEM_AI_IOS_V1.0.19.zip b/document/JOYGEM_AI_IOS_V1.0.19.zip
deleted file mode 100644 (file)
index 1fdf23d..0000000
Binary files a/document/JOYGEM_AI_IOS_V1.0.19.zip and /dev/null differ
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemAI-Swift.h b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemAI-Swift.h
deleted file mode 100644 (file)
index 344f048..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-#if 0
-#elif defined(__arm64__) && __arm64__
-// Generated by Apple Swift version 6.0.3 effective-5.10 (swiftlang-6.0.3.1.10 clang-1600.0.30.1)
-#ifndef JOYGEMAI_SWIFT_H
-#define JOYGEMAI_SWIFT_H
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wgcc-compat"
-
-#if !defined(__has_include)
-# define __has_include(x) 0
-#endif
-#if !defined(__has_attribute)
-# define __has_attribute(x) 0
-#endif
-#if !defined(__has_feature)
-# define __has_feature(x) 0
-#endif
-#if !defined(__has_warning)
-# define __has_warning(x) 0
-#endif
-
-#if __has_include(<swift/objc-prologue.h>)
-# include <swift/objc-prologue.h>
-#endif
-
-#pragma clang diagnostic ignored "-Wauto-import"
-#if defined(__OBJC__)
-#include <Foundation/Foundation.h>
-#endif
-#if defined(__cplusplus)
-#include <cstdint>
-#include <cstddef>
-#include <cstdbool>
-#include <cstring>
-#include <stdlib.h>
-#include <new>
-#include <type_traits>
-#else
-#include <stdint.h>
-#include <stddef.h>
-#include <stdbool.h>
-#include <string.h>
-#endif
-#if defined(__cplusplus)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
-#if defined(__arm64e__) && __has_include(<ptrauth.h>)
-# include <ptrauth.h>
-#else
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
-# ifndef __ptrauth_swift_value_witness_function_pointer
-#  define __ptrauth_swift_value_witness_function_pointer(x)
-# endif
-# ifndef __ptrauth_swift_class_method_pointer
-#  define __ptrauth_swift_class_method_pointer(x)
-# endif
-#pragma clang diagnostic pop
-#endif
-#pragma clang diagnostic pop
-#endif
-
-#if !defined(SWIFT_TYPEDEFS)
-# define SWIFT_TYPEDEFS 1
-# if __has_include(<uchar.h>)
-#  include <uchar.h>
-# elif !defined(__cplusplus)
-typedef uint_least16_t char16_t;
-typedef uint_least32_t char32_t;
-# endif
-typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
-typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
-typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
-typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
-typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
-typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
-typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
-typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
-typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
-typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
-typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
-typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
-#endif
-
-#if !defined(SWIFT_PASTE)
-# define SWIFT_PASTE_HELPER(x, y) x##y
-# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
-#endif
-#if !defined(SWIFT_METATYPE)
-# define SWIFT_METATYPE(X) Class
-#endif
-#if !defined(SWIFT_CLASS_PROPERTY)
-# if __has_feature(objc_class_property)
-#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
-# else
-#  define SWIFT_CLASS_PROPERTY(...) 
-# endif
-#endif
-#if !defined(SWIFT_RUNTIME_NAME)
-# if __has_attribute(objc_runtime_name)
-#  define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
-# else
-#  define SWIFT_RUNTIME_NAME(X) 
-# endif
-#endif
-#if !defined(SWIFT_COMPILE_NAME)
-# if __has_attribute(swift_name)
-#  define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
-# else
-#  define SWIFT_COMPILE_NAME(X) 
-# endif
-#endif
-#if !defined(SWIFT_METHOD_FAMILY)
-# if __has_attribute(objc_method_family)
-#  define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
-# else
-#  define SWIFT_METHOD_FAMILY(X) 
-# endif
-#endif
-#if !defined(SWIFT_NOESCAPE)
-# if __has_attribute(noescape)
-#  define SWIFT_NOESCAPE __attribute__((noescape))
-# else
-#  define SWIFT_NOESCAPE 
-# endif
-#endif
-#if !defined(SWIFT_RELEASES_ARGUMENT)
-# if __has_attribute(ns_consumed)
-#  define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
-# else
-#  define SWIFT_RELEASES_ARGUMENT 
-# endif
-#endif
-#if !defined(SWIFT_WARN_UNUSED_RESULT)
-# if __has_attribute(warn_unused_result)
-#  define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
-# else
-#  define SWIFT_WARN_UNUSED_RESULT 
-# endif
-#endif
-#if !defined(SWIFT_NORETURN)
-# if __has_attribute(noreturn)
-#  define SWIFT_NORETURN __attribute__((noreturn))
-# else
-#  define SWIFT_NORETURN 
-# endif
-#endif
-#if !defined(SWIFT_CLASS_EXTRA)
-# define SWIFT_CLASS_EXTRA 
-#endif
-#if !defined(SWIFT_PROTOCOL_EXTRA)
-# define SWIFT_PROTOCOL_EXTRA 
-#endif
-#if !defined(SWIFT_ENUM_EXTRA)
-# define SWIFT_ENUM_EXTRA 
-#endif
-#if !defined(SWIFT_CLASS)
-# if __has_attribute(objc_subclassing_restricted)
-#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
-#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
-# else
-#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
-#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
-# endif
-#endif
-#if !defined(SWIFT_RESILIENT_CLASS)
-# if __has_attribute(objc_class_stub)
-#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
-#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
-# else
-#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
-#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
-# endif
-#endif
-#if !defined(SWIFT_PROTOCOL)
-# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
-# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
-#endif
-#if !defined(SWIFT_EXTENSION)
-# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
-#endif
-#if !defined(OBJC_DESIGNATED_INITIALIZER)
-# if __has_attribute(objc_designated_initializer)
-#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
-# else
-#  define OBJC_DESIGNATED_INITIALIZER 
-# endif
-#endif
-#if !defined(SWIFT_ENUM_ATTR)
-# if __has_attribute(enum_extensibility)
-#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
-# else
-#  define SWIFT_ENUM_ATTR(_extensibility) 
-# endif
-#endif
-#if !defined(SWIFT_ENUM)
-# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
-# if __has_feature(generalized_swift_name)
-#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
-# else
-#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
-# endif
-#endif
-#if !defined(SWIFT_UNAVAILABLE)
-# define SWIFT_UNAVAILABLE __attribute__((unavailable))
-#endif
-#if !defined(SWIFT_UNAVAILABLE_MSG)
-# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
-#endif
-#if !defined(SWIFT_AVAILABILITY)
-# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
-#endif
-#if !defined(SWIFT_WEAK_IMPORT)
-# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
-#endif
-#if !defined(SWIFT_DEPRECATED)
-# define SWIFT_DEPRECATED __attribute__((deprecated))
-#endif
-#if !defined(SWIFT_DEPRECATED_MSG)
-# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
-#endif
-#if !defined(SWIFT_DEPRECATED_OBJC)
-# if __has_feature(attribute_diagnose_if_objc)
-#  define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
-# else
-#  define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
-# endif
-#endif
-#if defined(__OBJC__)
-#if !defined(IBSegueAction)
-# define IBSegueAction 
-#endif
-#endif
-#if !defined(SWIFT_EXTERN)
-# if defined(__cplusplus)
-#  define SWIFT_EXTERN extern "C"
-# else
-#  define SWIFT_EXTERN extern
-# endif
-#endif
-#if !defined(SWIFT_CALL)
-# define SWIFT_CALL __attribute__((swiftcall))
-#endif
-#if !defined(SWIFT_INDIRECT_RESULT)
-# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
-#endif
-#if !defined(SWIFT_CONTEXT)
-# define SWIFT_CONTEXT __attribute__((swift_context))
-#endif
-#if !defined(SWIFT_ERROR_RESULT)
-# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
-#endif
-#if defined(__cplusplus)
-# define SWIFT_NOEXCEPT noexcept
-#else
-# define SWIFT_NOEXCEPT 
-#endif
-#if !defined(SWIFT_C_INLINE_THUNK)
-# if __has_attribute(always_inline)
-# if __has_attribute(nodebug)
-#  define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
-# else
-#  define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
-# endif
-# else
-#  define SWIFT_C_INLINE_THUNK inline
-# endif
-#endif
-#if defined(_WIN32)
-#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
-# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
-#endif
-#else
-#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
-# define SWIFT_IMPORT_STDLIB_SYMBOL 
-#endif
-#endif
-#if defined(__OBJC__)
-#if __has_feature(objc_modules)
-#if __has_warning("-Watimport-in-framework-header")
-#pragma clang diagnostic ignored "-Watimport-in-framework-header"
-#endif
-#endif
-
-#endif
-#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
-#pragma clang diagnostic ignored "-Wduplicate-method-arg"
-#if __has_warning("-Wpragma-clang-attribute")
-# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
-#endif
-#pragma clang diagnostic ignored "-Wunknown-pragmas"
-#pragma clang diagnostic ignored "-Wnullability"
-#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
-#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
-
-#if __has_attribute(external_source_symbol)
-# pragma push_macro("any")
-# undef any
-# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="JoyGemAI",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
-# pragma pop_macro("any")
-#endif
-
-#if defined(__OBJC__)
-#endif
-#if __has_attribute(external_source_symbol)
-# pragma clang attribute pop
-#endif
-#if defined(__cplusplus)
-#endif
-#pragma clang diagnostic pop
-#endif
-
-#else
-#error unsupported Swift architecture
-#endif
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemAI.h b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemAI.h
deleted file mode 100644 (file)
index 78d71ff..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-//  JoyGemAI.h
-//  JoyGemAI
-//
-//  Created by JoyGem on 2025/2/10.
-//
-
-#import <Foundation/Foundation.h>
-
-//! Project version number for JoyGemAI.
-FOUNDATION_EXPORT double JoyGemAIVersionNumber;
-
-//! Project version string for JoyGemAI.
-FOUNDATION_EXPORT const unsigned char JoyGemAIVersionString[];
-
-// In this header, you should import all the public headers of your framework using statements like #import <JoyGemAI/PublicHeader.h>
-
-#import <JoyGemAI/JoyGemAIManager.h>
-#import <JoyGemAI/JoyGemParam.h>
-#import <JoyGemAI/JoyGemModel.h>
-#import <JoyGemAI/JoyGemChatManager.h>
-#import <JoyGemAI/JoyGemSIManager.h>
-#import <JoyGemAI/JoyGemSIDeviceManager.h>
-#import <JoyGemAI/JoyGemRecordManager.h>
-#import <JoyGemAI/JoyGemCallManager.h>
-#import <JoyGemAI/JoyGemEnum.h>
-#import <JoyGemAI/JoyGemDeviceManager.h>
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemAIManager.h b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemAIManager.h
deleted file mode 100644 (file)
index f60ed8d..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-//
-//  JoyGemAIManager.h
-//  JoyGemAI
-//
-//  Created by JoyGem on 2025/2/10.
-//
-
-#import <Foundation/Foundation.h>
-#import <CoreBluetooth/CoreBluetooth.h>
-#import <JoyGemAI/JoyGemParam.h>
-#import <JoyGemAI/JoyGemModel.h>
-#import <JoyGemAI/JoyGemEnum.h>
-#import <SocketRocket/SocketRocket.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@protocol JoyGemAIManagerDelegate <NSObject>
-
-/// 鉴权成功时回调
--(void)joyGemAuthSuccessCallback;
-
-/// 鉴权失败时回调
--(void)joyGemAuthFailedCallback;
-
-/// AI\b耳机动作回调
-/// - NOTE: 对话相关动作是通知,即消息来时已经发生,录音相关动作是请求,即耳机没有实际操作
-@optional
--(void)joyGemAction:(JoyGemActionMode)action;
-
-@end
-
-@protocol JoyGemAIManagerDataSource <NSObject>
-
-///实现该方法,将数据转发给蓝牙
-@required
--(void)joyGemSendData:(NSData*)data withCharacteristic:(CBCharacteristic*)characteristic;
-
-@end
-
-@class JoyGemDeviceManager;
-
-@interface JoyGemAIManager : NSObject
-
-@property(nonatomic, weak) id<JoyGemAIManagerDelegate> delegate;
-@property(nonatomic, weak) id<JoyGemAIManagerDataSource> dataSource;
-
-@property(nonatomic, strong) JoyGemDeviceManager *device;
-
-// 实例对象
-+ (instancetype)shared;
-
-/// 初始化sdk
-- (void)initSdk;
-
-/// 初始化sdk
-/// - Parameter projectID: 可选方法
-- (void)initSdk:(nullable NSString*)projectID;
-
-/// 日志打印级别
-/// - Parameter level: 日志等级 分为关闭,简略,完全
-- (void)setLogMode:(JoyGemLogMode)mode;
-
-/// 日志存储路径
-/// - Parameter path: 日志存储文件路径
-/// - Description: 为空时不进行日志存储, 不支持多次配置
-- (void)setLogPath:(nullable NSString*)path;
-
-/// 传入蓝牙服务对象
-/// - Parameters:
-///  - service: 服务对象
-///  - characteristics: 需要\bnotify的特征
-/// - Returns: 是否正确的配置了相关服务特征
-/// - Description: Block为同步操作
-- (BOOL)configService:(CBService*)service needNotify:(void (^)(NSArray<CBCharacteristic*>*))characteristics;
-
-/// 收到蓝牙设备传过来的数据,调用此方法交给sdk处理
-/// - Parameter characteristic:更新的特征
-- (void)receiveValue:(CBCharacteristic *)characteristic;
-
-/// 蓝牙设备已连接
-- (void)bleConnected;
-
-/// 蓝牙断开连接
-- (void)bleDisConnected;
-
-/// SDK文件存储文件夹
-/// - Parameter path: SDK文件存储路径(SDK需要用到文件存储时所指向的路径)
-- (void)setCacheDirectory:(nullable NSString*)path;
-
-/// 清除临时文件
-/// - Description: 只会清除当前配置路径下的文件
-- (void)clearCacheDirectory;
-
-/// \bTWS耳机主从切换时是否尝试当前AI功能自动延续
-/// - Parameters:
-///  - enable: 默认为false
--(void)setTWSAutoSync:(BOOL)enable;
-
--(void)setTextAutoSync:(BOOL)enable;
-
--(void)setEmotionAutoSync:(BOOL)enable;
-
-/// 文本翻译
-/// - Parameters:
-///   - text: 翻译的文字
-///   - fromLanguage: 原始语言
-///   - toLanguage: 翻译语言
-///   - stream: 结果回调
-///   - error: 错误回调
-/// - Description: 最大文本支持30K
-- (void)translate:(NSString *)text from:(NSString*)fromLanguage to:(NSString*)toLanguage stream:(void (^)(NSString* llmResponse,BOOL finish))stream error:(void (^)( NSError * _Nullable err))error;
-
-/// 取消文本翻译
--(void)cancelTranslateRequest;
-
-/// 文本摘要
-/// - Parameters:
-///   - text: 摘要的文字
-///   - stream: 结果回调
-///   - error: 错误回调
-/// - Description: 最大文本支持30K
-- (void)summary:(NSString *)text stream:(void (^)(NSString* llmResponse,BOOL finish))stream error:(void (^)( NSError * _Nullable err))error;
-
-/// 取消文本摘要
--(void)cancelSummaryRequest;
-
-
-/// 设置同传的tts回应速度
-/// - Parameters:
-///   - speed: 默认1.0,范围[0.8,2]
--(void)setTtsSpeed:(float)speed;
-
-/// 配置测试环境
-/// - Parameters:
-///   - info: 测试环境字典
--(void)setDebugEnvironment:(NSDictionary*)info;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemCallManager.h b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemCallManager.h
deleted file mode 100644 (file)
index 86a2bac..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-//
-//  JoyGemCallController.h
-//  JoyGemAI
-//
-//  Created by jjjs on 2025/7/12.
-//
-
-#import <UIKit/UIKit.h>
-#import <JoyGemAI/JoyGemEnum.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@class JoyGemCallManager;
-@class JoyGemAsrModel;
-
-//通话录音的委托类
-@protocol JoyGemCallManagerDelegate <NSObject>
-
-///录音文字识别时
-/// - Parameters:
-///   - model: asr识别的对象
-@optional
--(void)callManager:(JoyGemCallManager*)manager didUpdateAsr:(JoyGemAsrModel*)model DEPRECATED_MSG_ATTRIBUTE("Use callManager:didUpdateMonoAsr instead \bif supportStereo is false");;
-
-///文件生成后的回调
-/// - Parameters:
-///   - path: 文件存储路径 wav格式
--(void)callManager:(JoyGemCallManager*)manager saveFile:(NSString*)path;
-
-///录音状态回调
-/// - Parameters:
-///   - code: 状态变化
--(void)callManager:(JoyGemCallManager*)manager stateChange:(JoyGemStateCode)code;
-
-/// 录音错误回调
-///  - Parameters:
-///   - mode:错误代码
--(void)callManager:(JoyGemCallManager*)manager onError:(JoyGemErrorCode)code;
-
-/// 通话录音开启时,不处于通话状态
-/// - Description: 需要确认耳机是否支持该判断,如果耳机不支持将不会收到回调
-@optional
--(void)callManagerNotonCall:(JoyGemCallManager*)manager;
-
-///结束时的回调
-/// - Parameters:
-///   - code: 录音结束的原因
--(void)callManagerStopped:(JoyGemCallManager*)manager reason:(JoyGemRecordStopCode)code;
-
-/// 录音完成时的回调
-/// - Description: 录音任务调用结束后,会在服务器所有响应结束后进行回调
-/// - Note: 该接口仅在任务成功完成时才会进行回调,并不保证和stop方法实现一一对应
-@optional
--(void)callManagerCompleted:(JoyGemCallManager*)manager;
-
-@end
-
-@protocol JoyGemCallMonoDelegate <NSObject>
-
-///录音文字识别时
-/// - Parameters:
-///   - model: asr识别的对象
-@required
--(void)callManager:(JoyGemCallManager*)manager didUpdateMonoAsr:(JoyGemAsrModel*)model;
-
-@end
-
-@protocol JoyGemCallStereoDelegate <NSObject>
-
-///录音文字识别
-/// - Parameters:
-///   - model: asr识别的对象
-///   - index: 声道序号 1,2
-@required
--(void)callManager:(JoyGemCallManager*)manager didUpdateStereoAsr:(JoyGemAsrModel*)model channel:(NSUInteger)index;
-
-
-@end
-
-
-/// 通话录音的管理类
-@interface JoyGemCallManager : NSObject
-
-/// 委托类
-/// - Description: 通话录音状态委托
-@property(nonatomic, weak) id<JoyGemCallManagerDelegate> delegate;
-
-/// 耳机识别语言
-@property(nonatomic, strong) NSString* originalLanguage;
-
-/// 是否正在录音
-@property(nonatomic, assign) BOOL isRecording;
-
-/// 是否支持立体声录音
-/// - NOTE:鉴权后再使用该字段
-@property(nonatomic, assign ,readonly) BOOL supportStereo;
-
-/// 单声道委托
-/// - Description: 固件支持单声道通话录音时会通过此委托进行回调
-@property(nonatomic, weak) id<JoyGemCallMonoDelegate> monoDelegate;
-
-/// 立体声委托
-/// - Description: 固件支持双声道通话录音时会通过此委托进行回调
-@property(nonatomic, weak) id<JoyGemCallStereoDelegate> stereoDelegate;
-
-/// 实例对象
-+ (instancetype)shared;
-
-/// 开始通话录音
-- (void)start;
-
-/// 结束通话录音
-- (void)stop;
-
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemChatManager.h b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemChatManager.h
deleted file mode 100644 (file)
index b43fe4d..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-//
-//  JoyGemChatManager.h
-//  JoyGemAI
-//
-//  Created by JoyGem on 2025/2/21.
-//
-
-#import <Foundation/Foundation.h>
-#import <JoyGemAI/JoyGemEnum.h>
-
-@class JoyGemChatManager;
-@class JoyGemSpeaker;
-
-
-NS_ASSUME_NONNULL_BEGIN
-
-@protocol JoyGemChatManagerDelegate <NSObject>
-
-///AI语音接收
-/// - Parameters:
-///   - data: 音频数据 pcm格式
-///   - index: 语句ID
-///   - sampleRate: 采样率
-///   - finish: 该句是否结束
--(void)chatManager:(JoyGemChatManager*)manager audioData:(nullable NSData*)data index:(NSUInteger)index sampleRate:(NSUInteger)sampleRate finish:(BOOL)isFinish;
-
-///用户语音识别
-/// - Parameters:
-///   - text: 文字数据
-///   - index: 语句ID
--(void)chatManager:(JoyGemChatManager*)manager requestText:(nullable NSString*)text index:(NSUInteger)index;
-
-///AI语音识别
-/// - Parameters:
-///   - text: 文字数据
-///   - index: 语句ID
-///   - isFinish\b:单次对话结束
--(void)chatManager:(JoyGemChatManager*)manager responseText:(nullable NSString*)text index:(NSUInteger)index finish:(BOOL)isFinish;
-
-///对话状态回调
-/// - Parameters:
-///   - code: 状态变化
-@optional
--(void)chatManager:(JoyGemChatManager*)manager stateChange:(JoyGemStateCode)code DEPRECATED_MSG_ATTRIBUTE("Use chatManager:eventUpdate instead");
-
-///对话事件回调
-/// - Parameters:
-///   - event: 对话相关事件回调
-/// - NOTE: 需要相关固件支持
-@optional
--(void)chatManager:(JoyGemChatManager*)manager eventUpdate:(JoyGemChatEvent)event;
-
-/// 错误回调
-///  - Parameters:
-///   - mode:错误代码
--(void)chatManager:(JoyGemChatManager*)manager onError:(JoyGemErrorCode)code;
-
-@optional
--(void)chatManagerStopped:(JoyGemChatManager*)manager DEPRECATED_MSG_ATTRIBUTE("Use isActive");
-
-@end
-
-//AI对话的管理类
-@interface JoyGemChatManager : NSObject
-
-@property(nonatomic, weak) id<JoyGemChatManagerDelegate> delegate;
-
-//是否正在对话录音中
-@property(nonatomic, assign) BOOL isRecording;
-
-///是否正在活跃中
-/// - NOTE:可以采用KVO的方式监听该对象, 单次对话不会造成该状态改变
-@property(atomic, assign) BOOL isActive DEPRECATED_MSG_ATTRIBUTE("Use chatManager:eventUpdate instead \bif supportEvent is\b true");
-
-///是否支持事件上报模式
-/// - NOTE:鉴权后再使用该字段
-@property(nonatomic,assign,readonly) BOOL supportEvent;
-
-// 实例对象
-+ (instancetype)shared;
-
-/// 开启单次对话
-/// - Note: 如正在播报,需要提前关闭tts后再调用,否则开启无效
-/// - TODO: 待容错处理
-- (void)startSingleChat;
-
-/// 结束单次对话
-/// - Note:请勿在开启单次对话后立刻调用该方法,否则耳机可能不会处理该次请求
-/// - TODO: 待容错处理
-- (void)stopSingleChat;
-
-/// 开启连续对话
-- (void)startChat;
-
-/// 结束连续对话
-- (void)stopChat;
-
-/// 播放音频开始前需要调用此方法告诉耳机
-- (void)playAudioStart;
-
-/// 播放音频结束时需要调用此方法告诉耳机
-/// - Description: 如果处于连续对话状态,则在调用该方法后会直接开启下一轮对话
-- (void)playAudioEnd;
-
-///获取支持角色列表
-/// - Parameters:
-///   - list: 角色列表
--(void)getSpeakerList:(void (^)(NSArray<JoyGemSpeaker *>*))list;
-
-///配置当前角色
--(void)setSpeaker:(JoyGemSpeaker*)speaker;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemDeviceManager.h b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemDeviceManager.h
deleted file mode 100644 (file)
index 39217c0..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-//
-//  JoyGemDeviceManager.h
-//  JoyGemAI
-//
-//  Created by jjjs on 2025/9/1.
-//
-
-#import <Foundation/Foundation.h>
-#import "JoyGemEnum.h"
-#import "JoyGemModel.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface JoyGemDeviceManager : NSObject
-
-@property(nonatomic,assign) BOOL twsStatus;
-
-/// 获取mac地址
-/// - Returns:
-///     - edrAddress: 经典蓝牙地址
-///     - bleAddress:  ble蓝牙地址
--(void)macAddress:(void (^)(NSString* edrAddress,NSString* bleAddress))address error:(void (^)( NSError * _Nullable err))error;
-
-/// 获取软件版本
-/// - Returns:
-///     - version:  软件版本
--(void)software:(void (^)(NSString* version))infomation error:(void (^)( NSError * _Nullable err))error;
-
-
-/// 设置电量监听
-/// - Parameters:
-///  - left: 左耳电量
-///  - right: 右耳电量
-/// - Description: 电量范围为0~100,当未获取到电量时,电量为-1,配置回调时,如果有历史数据,会返回最后的历史数据,耳机会在电量变更时主动上报数据
--(void)setBatteryListener:(void (^)(NSInteger left, NSInteger right))batteryListener;
-
-/// 主动获取电量
--(void)updateBattery;
-
-/// 设置耳机状态监听
-/// - Parameters:
-///  - btConnected: 经典蓝牙连接状态
-///  - twsConnected : 双耳模式连接状态
-/// - Description: 部分设置需要在双耳模式下才能生效
--(void)setStatusListener:(void (^)(BOOL btConnected,BOOL twsConnected))statusListener;
-
-/// 主动获取耳机状态
--(void)updateStatus;
-
-/// 设置VAD打断状态
-/// - Parameters:
-///  - isOpen: VAD打断是否开启
-/// - Description: 该设置必须在双耳模式下才能生效,否则返回失败
--(void)setVADInterruptedStatus:(BOOL)isOpen callback:(void (^)( NSError * _Nullable err))error;
-
-/// 获取VAD打断状态
-/// - Returns:
-///     - status:  VAD打断是否开启
--(void)getVADInterruptedStatus:(void (^)(BOOL isOpen))status error:(void (^)( NSError * _Nullable err))error;
-
-
-/// 设置EQ模式
-/// - Parameters:
-///  - mode: \bEQ模式
-/// - Description: 该设置必须在双耳模式下才能生效,否则返回失败
--(void)setEQMode:(JoyGemEQMode)mode callback:(void (^)( NSError * _Nullable err))error;
-
-/// 获取EQ模式
-/// - Returns:
-///     - mode:  VAD打断是否开启
--(void)getEQMode:(void (^)(JoyGemEQMode mode))mode error:(void (^)( NSError * _Nullable err))error;
-
-/// 设置自定义EQ
-/// - Parameters:
-///  - index: 频段  范围为0~9
-///  - gain:  增益 范围为 -12~12
-/// - Description: 该设置必须在双耳模式下才能生效,否则返回失败
--(void)setCustomEQ:(NSUInteger)index withGain:(NSInteger)gain callback:(void (^)( NSError * _Nullable err))error;
-
-/// 重置自定义EQ
-/// - Description: 该设置必须在双耳模式下才能生效,否则返回失败
--(void)resetCustomEQ:(void (^)( NSError * _Nullable err))error;
-
-/// 获取自定义EQ
-/// - Returns:
-///    - custom:  自定义EQ类型
--(void)getCustomEQ:(void (^)(JoyGemCustomEQ*))custom error:(void (^)( NSError * _Nullable err))error;
-
-/// 查找耳机
-/// - Parameters:
-///  - mode: 查找耳机命令类型
--(void)findHeadphone:(JoyGemFindHeadphoneMode)mode callback:(void (^)( NSError * _Nullable err))error;
-
-/// 获取设备DN码
-/// - Parameters:
-///  - dn: 设备DN,取不到则返回空值
--(void)getDN:(void (^)(NSString*))dn error:(void (^)( NSError * _Nullable err))error;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemEnum.h b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemEnum.h
deleted file mode 100644 (file)
index b95de14..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-//
-//  JoyGemAIEnum.h
-//  JoyGemAI
-//
-//  Created by JoyGem on 2025/2/21.
-//
-
-#ifndef JoyGemAIEnum_h
-#define JoyGemAIEnum_h
-
-/// 状态变化
-typedef NS_OPTIONS(NSInteger,JoyGemStateCode) {
-    JoyGemStateCodeStartRecord = 1001,///开始录音
-    JoyGemStateCodeStopRecord = 1002,///停止录音
-    JoyGemStateCodeWebsocketConnected = 3001,///socket连上
-    JoyGemStateCodeWebsocketDisconnected = 3002,///socket断开连接
-};
-
-/// 错误
-typedef NS_OPTIONS(NSInteger,JoyGemErrorCode) {
-    JoyGemErrorCodeRecordError = 1003,///录音出错
-    JoyGemErrorCodeNetError = 3003,///网络错误
-    JoyGemErrorCodeUnAuth = 9999,///未鉴权
-};
-
-/// 录音类型
-typedef NS_ENUM(NSUInteger, JoyGemRecordMode) {
-    JoyGemRecordModeLive = 1,  ///现场录音
-    JoyGemRecordModeCall = 2,  ///通话录音
-};
-
-/// 日志类型
-typedef NS_ENUM(NSUInteger, JoyGemLogMode) {
-    JoyGemLogModeClose,   ///关闭日志
-    JoyGemLogModeSimple,  ///简略日志
-    JoyGemLogModeAll,     ///完整日志
-};
-
-/// 动作类型
-typedef NS_ENUM(NSUInteger, JoyGemActionMode) {
-    JoyGemActionModeCancel = 0,      ///关闭当前AI功能
-    JoyGemActionModeRecordLive = 1,  ///现场录音
-    JoyGemActionModeRecordCall = 2,  ///通话录音
-    JoyGemActionModeSi = 3,          ///同声传译
-    JoyGemActionModeChat = 4,        ///AI对话
-};
-
-/// 录音结束类型
-typedef NS_ENUM(NSUInteger, JoyGemRecordStopCode) {
-    JoyGemRecordStopCodeActively = 0,   ///用户主动关闭录音
-    JoyGemRecordStopCodePassively = 1,  ///用户被动关闭录音
-};
-
-
-/// 对话事件类型
-typedef NS_ENUM(NSUInteger, JoyGemChatEvent) {
-    JoyGemChatEventIdle = 0,                /// 空闲中
-    JoyGemChatEventBegin,                   /// 开始对话(单轮对话不会产生该事件)
-    JoyGemChatEventEnd,                     /// 结束对话(单轮对话不会产生该事件)
-    JoyGemChatEventNewRound,                /// 开始新一轮对话
-    JoyGemChatEventRecording,               /// 录音中
-    JoyGemChatEventRspWaiting,              /// 等待中
-    JoyGemChatEventPlaying,                 /// 正在播放声音
-    JoyGemChatEventPlayEnd,                 /// 结束播放声音
-};
-
-/// EQ类型
-typedef NS_ENUM(NSUInteger, JoyGemEQMode) {
-    JoyGemEQModeNormal,   ///普通
-    JoyGemEQModeRock,    ///摇滚
-    JoyGemEQModePop,        ///流行
-    JoyGemEQModeClassic,    ///经典
-    JoyGemEQModeJazz,       ///爵士
-    JoyGemEQModeCustom,      ///自定义
-};
-
-
-/// EQ类型
-typedef NS_ENUM(NSUInteger, JoyGemFindHeadphoneMode) {
-    JoyGemFindHeadphoneModeCancel,       ///关闭查找耳机
-    JoyGemFindHeadphoneModeLeft,        ///查找左耳
-    JoyGemFindHeadphoneModeRight,        ///查找右耳
-    JoyGemFindHeadphoneModeAll,         ///查找双耳
-};
-
-#endif /* JoyGemAIEnum_h */
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemModel.h b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemModel.h
deleted file mode 100644 (file)
index bb4ae92..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-//  JoyGemAIModel.h
-//  JoyGemAI
-//
-//  Created by JoyGem on 2025/2/10.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-///AI对话角色
-@interface JoyGemSpeaker : NSObject
-
-@property (nonatomic, strong) NSString *sid;/// 音色id
-@property (nonatomic, strong) NSString *name;/// 名称
-@property (nonatomic, strong) NSString *type;/// 类型
-@property (nonatomic, strong) NSString *role;/// 角色
-
-@end
-
-
-///ASR对象
-@interface JoyGemAsrModel : NSObject
-
-@property (nonatomic, strong) NSString *text;   /// 文本
-@property (nonatomic, assign) NSUInteger index; /// 序号
-@property (nonatomic, assign) BOOL definite;    /// 片段化确定(不建议作为断句标识)
-
-@end
-
-///自定义EQ设置对象
-@interface JoyGemCustomEQ : NSObject
-
-@property (nonatomic, strong) NSArray<NSNumber*> *bands;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemParam.h b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemParam.h
deleted file mode 100644 (file)
index a0f4a81..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-//  JoyGemAIParam.h
-//  JoyGemAI
-//
-//  Created by JoyGem on 2025/2/10.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-///MARK: 语音语言
-
-//自动识别中英
-extern NSString* const kJoyGemAILocalizationAuto;
-
-//简体中文 zh-CN
-extern NSString* const kJoyGemAILocalizationZH;
-
-//英文  en-US
-extern NSString* const kJoyGemAILocalizationEN;
-
-//日语 ja-JP
-extern NSString* const kJoyGemAILocalizationJA;
-
-//韩语 ko-KR
-extern NSString* const kJoyGemAILocalizationKO;
-
-//法语 fr-FR
-extern NSString* const kJoyGemAILocalizationFR;
-
-//西班牙语 es-MX
-extern NSString* const kJoyGemAILocalizationES;
-
-//葡萄牙语 pt-BR
-extern NSString* const kJoyGemAILocalizationPT;
-
-//印尼语 id-ID
-extern NSString* const kJoyGemAILocalizationID;
-
-//俄语 ru-RU
-extern NSString* const kJoyGemAILocalizationRU;
-
-//马来语 ms-MY
-extern NSString* const kJoyGemAILocalizationMS;
-
-///MARK: 蓝牙相关
-///
-///AI功能使用的蓝牙服务
-extern NSString* const kJoyGemAIServiceUUID;
-
-extern NSString* const kJoyGemAICharacteristicNotifyUUID;
-
-
-NS_ASSUME_NONNULL_END
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemRecordManager.h b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemRecordManager.h
deleted file mode 100644 (file)
index 99903a9..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-//  JoyGemRecordManager.h
-//  JoyGemAI
-//
-//  Created by JoyGem on 2025/2/21.
-//
-
-#import <Foundation/Foundation.h>
-#import <JoyGemAI/JoyGemEnum.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@class JoyGemRecordManager;
-@class JoyGemAsrModel;
-
-//现场录音的委托类
-@protocol JoyGemRecordManagerDelegate <NSObject>
-
-///录音文字识别时
-/// - Parameters:
-///   - model: asr识别的对象
-@required
--(void)recordManager:(JoyGemRecordManager*)manager didUpdateAsr:(JoyGemAsrModel*)model;
-
-///文件生成后的回调
-/// - Parameters:
-///   - path: 文件存储路径 wav格式
--(void)recordManager:(JoyGemRecordManager*)manager saveFile:(NSString*)path;
-
-///录音状态回调
-/// - Parameters:
-///   - code: 状态变化
--(void)recordManager:(JoyGemRecordManager*)manager stateChange:(JoyGemStateCode)code;
-
-/// 录音错误回调
-///  - Parameters:
-///   - mode:错误代码
--(void)recordManager:(JoyGemRecordManager*)manager onError:(JoyGemErrorCode)code;
-
-///结束时的回调
-/// - Parameters:
-///   - code: 录音结束的原因
--(void)recordManagerStopped:(JoyGemRecordManager*)manager reason:(JoyGemRecordStopCode)code;
-
-/// 录音完成时的回调
-/// - Description: 录音任务调用结束后,会在服务器所有响应结束后进行回调
-/// - Note: 该接口仅在任务成功完成时才会进行回调,并不保证和stop方法实现一一对应,
-@optional
--(void)recordManagerCompleted:(JoyGemRecordManager*)manager;
-
-@end
-
-/// 现场录音的管理类
-@interface JoyGemRecordManager : NSObject
-
-/// 委托类
-@property(nonatomic, weak) id<JoyGemRecordManagerDelegate> delegate;
-
-/// 耳机识别语言
-@property(nonatomic, strong) NSString* originalLanguage;
-
-/// 是否正在暂停中
-@property(nonatomic,assign) BOOL isPause;
-
-/// 实例对象
-+ (instancetype)shared;
-
-/// 开启现场录音
-- (void)start;
-
-/// 结束现场录音
-- (void)stop;
-
-/// 暂停录音
-- (void)pause;
-
-/// 恢复录音
-- (void)resume;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemSIDeviceManager.h b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemSIDeviceManager.h
deleted file mode 100644 (file)
index 00d2363..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-//  JoyGemSIDeviceManager.h
-//  JoyGemAI
-//
-//  Created by jjjs on 2025/5/21.
-//
-
-#import <UIKit/UIKit.h>
-#import <JoyGemAI/JoyGemEnum.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@class JoyGemSIDeviceManager;
-@class JoyGemAsrModel;
-
-/// 同声传译(设备)的管理类
-@protocol JoyGemSIDeviceManagerDelegate <NSObject>
-
-///录音文字识别时
-/// - Parameters:
-///   - model: asr识别的对象
-@required
--(void)siDeviceManager:(JoyGemSIDeviceManager*)manager didUpdateRaw:(JoyGemAsrModel*)model;
-
-///录音文字翻译时
-/// - Parameters:
-///   - model: asr识别的对象
-@required
--(void)siDeviceManager:(JoyGemSIDeviceManager*)manager didUpdateTranslate:(JoyGemAsrModel*)model;
-
-///音频数据更新时
-/// - Parameters:
-///   - data: 流数据 pcm格式
-@required
--(void)siDeviceManager:(JoyGemSIDeviceManager*)manager didUpdateAudioData:(NSData*)data;
-
-///结束时的回调
-/// - Parameters:
-///   - code: 录音结束的原因
--(void)siDeviceManagerStopped:(JoyGemSIDeviceManager*)manager reason:(JoyGemRecordStopCode)code;
-
-/// 录音完成时的回调
-/// - Description: 录音任务调用结束后,会在服务器所有响应结束后进行回调
-/// - Note: 该接口仅在任务成功完成时才会进行回调,并不保证和stop方法实现一一对应
-@optional
--(void)siDeviceManagerCompleted:(JoyGemSIDeviceManager*)manager;
-
-///文件生成后的回调
-/// - Parameters:
-///   - path: 文件存储路径 wav格式
--(void)siDeviceManager:(JoyGemSIDeviceManager*)manager saveFile:(NSString*)path;
-
-///录音状态回调
-/// - Parameters:
-///   - code: 状态变化
--(void)siDeviceManager:(JoyGemSIDeviceManager*)manager stateChange:(JoyGemStateCode)code;
-
-/// 录音错误回调
-///  - Parameters:
-///   - mode:错误代码
--(void)siDeviceManager:(JoyGemSIDeviceManager*)manager onError:(JoyGemErrorCode)code;
-
-@end
-
-/// 同声传译(设备)的管理类
-@interface JoyGemSIDeviceManager : NSObject
-
-/// 委托类
-@property(nonatomic, weak) id<JoyGemSIDeviceManagerDelegate> delegate;
-
-/// 耳机识别语言
-@property(nonatomic, strong) NSString* originalLanguage;
-
-/// 耳机输出语言
-@property(nonatomic, strong) NSString* targetLanguage;
-
-/// 是否正在录音
-@property(nonatomic,assign) BOOL isRecording;
-
-/// 实例对象
-+ (instancetype)shared;
-
-/// 开始同声传译(设备)
-- (void)start;
-
-/// 结束同声传译(设备)
-- (void)stop;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemSIManager.h b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Headers/JoyGemSIManager.h
deleted file mode 100644 (file)
index 63d9ee0..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-//  JoyGemSIManager.h
-//  JoyGemAI
-//
-//  Created by JoyGem on 2025/2/21.
-//
-
-#import <Foundation/Foundation.h>
-#import <JoyGemAI/JoyGemEnum.h>
-
-@class JoyGemSIManager;
-@class JoyGemAsrModel;
-
-NS_ASSUME_NONNULL_BEGIN
-
-//同声传译的委托类
-@protocol JoyGemSIManagerDelegate <NSObject>
-
-///录音文字识别时
-/// - Parameters:
-///   - model: asr识别的对象
-@required
--(void)siManager:(JoyGemSIManager*)manager didUpdateRaw:(JoyGemAsrModel*)model;
-
-///录音文字翻译时
-/// - Parameters:
-///   - model: asr识别的对象
-@required
--(void)siManager:(JoyGemSIManager*)manager didUpdateTranslate:(JoyGemAsrModel*)model;
-
-///音频数据更新时
-/// - Parameters:
-///   - data: 流数据 pcm格式
-@required
--(void)siManager:(JoyGemSIManager*)manager didUpdateAudioData:(NSData*)data;
-
-///录音状态切换时
--(void)siManager:(JoyGemSIManager*)manager stateChange:(JoyGemStateCode)code;
-
-///结束时的回调
-/// - Parameters:
-///   - code: 录音结束的原因
--(void)siManagerStopped:(JoyGemSIManager*)manager reason:(JoyGemRecordStopCode)code;
-
-/// 录音完成时的回调
-/// - Description: 录音任务调用结束后,会在服务器所有响应结束后进行回调
-/// - Note: 该接口仅在任务成功完成时才会进行回调,并不保证和stop方法实现一一对应
-@optional
--(void)siManagerCompleted:(JoyGemSIManager*)manager;
-
-///文件生成后的回调
-/// - Parameters:
-///   - path: 文件存储路径 wav格式
--(void)siManager:(JoyGemSIManager*)manager saveFile:(NSString*)path;
-
-/// 错误回调
--(void)siManager:(JoyGemSIManager*)manager onError:(JoyGemErrorCode)code;
-
-@end
-
-/// 同声传译的管理类
-@interface JoyGemSIManager : NSObject
-
-@property(nonatomic, weak) id<JoyGemSIManagerDelegate> delegate;
-
-///原始语言
-///目前原始语言设置无效,默认为kJoyGemAILocalizationAuto
-@property(nonatomic, strong) NSString* originalLanguage;
-
-///目标语言
-///默认为kJoyGemAILocalizationAuto,可以设置为中文或者英文
-@property(nonatomic, strong) NSString* targetLanguage;
-
-/// 是否正在录音
-@property(nonatomic,assign) BOOL isRecording;
-
-
-/// 实例对象
-+ (instancetype)shared;
-
-/// 开启同声传译
-- (void)start;
-
-/// 结束同声传译
-- (void)stop;
-
-
-@end
-
-NS_ASSUME_NONNULL_END
-
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Info.plist b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Info.plist
deleted file mode 100644 (file)
index 3374824..0000000
Binary files a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Info.plist and /dev/null differ
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/JoyGemAI b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/JoyGemAI
deleted file mode 100755 (executable)
index 39d3ea4..0000000
Binary files a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/JoyGemAI and /dev/null differ
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo
deleted file mode 100644 (file)
index 8ef7c46..0000000
Binary files a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo and /dev/null differ
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.abi.json b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.abi.json
deleted file mode 100644 (file)
index 993acce..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-  "ABIRoot": {
-    "kind": "Root",
-    "name": "JoyGemAI",
-    "printedName": "JoyGemAI",
-    "children": [
-      {
-        "kind": "Import",
-        "name": "Foundation",
-        "printedName": "Foundation",
-        "declKind": "Import",
-        "moduleName": "JoyGemAI",
-        "declAttributes": [
-          "RawDocComment"
-        ]
-      }
-    ],
-    "json_format_version": 8
-  },
-  "ConstValues": []
-}
\ No newline at end of file
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.private.swiftinterface b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.private.swiftinterface
deleted file mode 100644 (file)
index 428908e..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 6.0.3 effective-5.10 (swiftlang-6.0.3.1.10 clang-1600.0.30.1)
-// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name JoyGemAI
-// swift-module-flags-ignorable: -no-verify-emitted-module-interface
-import Foundation
-@_exported import JoyGemAI
-import Swift
-import _Concurrency
-import _StringProcessing
-import _SwiftConcurrencyShims
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftdoc b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftdoc
deleted file mode 100644 (file)
index 8d660ce..0000000
Binary files a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftdoc and /dev/null differ
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftinterface b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftinterface
deleted file mode 100644 (file)
index 428908e..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 6.0.3 effective-5.10 (swiftlang-6.0.3.1.10 clang-1600.0.30.1)
-// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name JoyGemAI
-// swift-module-flags-ignorable: -no-verify-emitted-module-interface
-import Foundation
-@_exported import JoyGemAI
-import Swift
-import _Concurrency
-import _StringProcessing
-import _SwiftConcurrencyShims
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftmodule b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftmodule
deleted file mode 100644 (file)
index 1001f97..0000000
Binary files a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftmodule and /dev/null differ
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/module.modulemap b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/Modules/module.modulemap
deleted file mode 100644 (file)
index f9d9ea3..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-framework module JoyGemAI {
-  umbrella header "JoyGemAI.h"
-  export *
-
-  module * { export * }
-}
-
-module JoyGemAI.Swift {
-  header "JoyGemAI-Swift.h"
-  requires objc
-}
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/PrivacyInfo.xcprivacy b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/PrivacyInfo.xcprivacy
deleted file mode 100644 (file)
index c8b6829..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>NSPrivacyTracking</key>
-       <false/>
-       <key>NSPrivacyCollectedDataTypes</key>
-       <array>
-               <dict>
-                       <key>NSPrivacyCollectedDataType</key>
-                       <string>NSPrivacyCollectedDataTypeAudioData</string>
-                       <key>NSPrivacyCollectedDataTypeLinked</key>
-                       <false/>
-                       <key>NSPrivacyCollectedDataTypeTracking</key>
-                       <false/>
-                       <key>NSPrivacyCollectedDataTypePurposes</key>
-                       <array>
-                               <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
-                       </array>
-               </dict>
-       </array>
-       <key>NSPrivacyTrackingDomains</key>
-       <array/>
-       <key>NSPrivacyAccessedAPITypes</key>
-       <array/>
-</dict>
-</plist>
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/_CodeSignature/CodeResources b/document/JOYGEM_AI_IOS_V1.0.20/JoyGemAI.framework/_CodeSignature/CodeResources
deleted file mode 100644 (file)
index 0dc62d6..0000000
+++ /dev/null
@@ -1,322 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>files</key>
-       <dict>
-               <key>Headers/JoyGemAI-Swift.h</key>
-               <data>
-               okSjIYqQdjYFuhBqjGvwfYh8+aU=
-               </data>
-               <key>Headers/JoyGemAI.h</key>
-               <data>
-               8NnRIJGe/ATf7a6jdPAfly29UC4=
-               </data>
-               <key>Headers/JoyGemAIManager.h</key>
-               <data>
-               D/pnfOpF7qKhUfhoTsKEfdEQQRQ=
-               </data>
-               <key>Headers/JoyGemCallManager.h</key>
-               <data>
-               BWJeSQyHYVE1TwiSgvXYhNdyJXI=
-               </data>
-               <key>Headers/JoyGemChatManager.h</key>
-               <data>
-               I9SSrf6xzcSE2qKnMMmiSe9IV1I=
-               </data>
-               <key>Headers/JoyGemDeviceManager.h</key>
-               <data>
-               GnuSbYAD+3F7R21VuV35n97Bubk=
-               </data>
-               <key>Headers/JoyGemEnum.h</key>
-               <data>
-               M1/juV+sL7ggbp4Y9srW0rq/Dqo=
-               </data>
-               <key>Headers/JoyGemModel.h</key>
-               <data>
-               ZQ5Ie1ErW3QF78XXxz/ydxsSQ5E=
-               </data>
-               <key>Headers/JoyGemParam.h</key>
-               <data>
-               SzxTsmYo/XvsD3Uz2iqjnRDkRnA=
-               </data>
-               <key>Headers/JoyGemRecordManager.h</key>
-               <data>
-               pKeMD6Xg3Br6ZOWB/BxyqAicCfc=
-               </data>
-               <key>Headers/JoyGemSIDeviceManager.h</key>
-               <data>
-               Cn0/thrZRr+pJ+skbuRbfJJirmA=
-               </data>
-               <key>Headers/JoyGemSIManager.h</key>
-               <data>
-               UiwORLtCgzF+QX/hXpK2w63Yx4Q=
-               </data>
-               <key>Info.plist</key>
-               <data>
-               yyyfSn0pDOYFx2gtlmBDVpKhVxw=
-               </data>
-               <key>Modules/JoyGemAI.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo</key>
-               <data>
-               CPeqh4HaaR/F9LP2LFiPwE3Qxzo=
-               </data>
-               <key>Modules/JoyGemAI.swiftmodule/arm64-apple-ios.abi.json</key>
-               <data>
-               iVs2bUNJJDbD/ENi/Q0lo4aP3uk=
-               </data>
-               <key>Modules/JoyGemAI.swiftmodule/arm64-apple-ios.private.swiftinterface</key>
-               <data>
-               sOTjmG3OZu9FvWVYyTuqSix+tzU=
-               </data>
-               <key>Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftdoc</key>
-               <data>
-               s/YEyU+lH4pYoG62jihLM2SJPTU=
-               </data>
-               <key>Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftinterface</key>
-               <data>
-               sOTjmG3OZu9FvWVYyTuqSix+tzU=
-               </data>
-               <key>Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftmodule</key>
-               <data>
-               OKLv2mrRkW9EiT9AdyIjFh6WmI8=
-               </data>
-               <key>Modules/module.modulemap</key>
-               <data>
-               qguEoXSNM0mFX+7WmMXUO3TTSLk=
-               </data>
-               <key>PrivacyInfo.xcprivacy</key>
-               <data>
-               SRctDO3cqibONLEG7CPcNZVBnXw=
-               </data>
-       </dict>
-       <key>files2</key>
-       <dict>
-               <key>Headers/JoyGemAI-Swift.h</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       Jktn0pvS86rbDKXpgT8xSUtpGRzWvf2yzqxwqMqFKS4=
-                       </data>
-               </dict>
-               <key>Headers/JoyGemAI.h</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       nO8YFPNcoOIKUrpS9Pd4/T9V98f16ACbB7LFROxEPhQ=
-                       </data>
-               </dict>
-               <key>Headers/JoyGemAIManager.h</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       hAXAZoFB6Ja0kc5Gm3Bo952k9fZUiSUPYM2f9gyTkQw=
-                       </data>
-               </dict>
-               <key>Headers/JoyGemCallManager.h</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       4aqJC5wgayXjaD7XHafngtRL7PSKbqPdFujG27R7l4Q=
-                       </data>
-               </dict>
-               <key>Headers/JoyGemChatManager.h</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       v9CC1YyWez/AeMXpqpyouz+LNIkBqq147kBPoPYEVK8=
-                       </data>
-               </dict>
-               <key>Headers/JoyGemDeviceManager.h</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       b8SW0vyfvdZ5JjAexckdczSXWjl11+WIJDM6wuHhBEo=
-                       </data>
-               </dict>
-               <key>Headers/JoyGemEnum.h</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       6xL0kb6k/tdSxOKLIazlAA2o8gm1ZE3njRHg40EOYMw=
-                       </data>
-               </dict>
-               <key>Headers/JoyGemModel.h</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       rFoRM/fmnvDGWCISlMyWSioYrwvoetaKOU8WrgOCBNw=
-                       </data>
-               </dict>
-               <key>Headers/JoyGemParam.h</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       oXJjxfeaUmV4FnIP5DUB7MLED0QsP5hp0v0AqO8ttMs=
-                       </data>
-               </dict>
-               <key>Headers/JoyGemRecordManager.h</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       C4rHebQlX6cKQWVmjh1cDetbe6cC+glcl2deSRF3r/o=
-                       </data>
-               </dict>
-               <key>Headers/JoyGemSIDeviceManager.h</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       bkQU7XO+s/wbDHlWf9VM2kvGxB5myT2n0bEp+ac6tHo=
-                       </data>
-               </dict>
-               <key>Headers/JoyGemSIManager.h</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       5nObgPQx+QBZs8lbacCMnhBUJs629P/ZuVFJytUIV44=
-                       </data>
-               </dict>
-               <key>Modules/JoyGemAI.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       dSyxVyC1vMbliDqKuW0d31f2wCYxeWsx2/NHJQYPrRc=
-                       </data>
-               </dict>
-               <key>Modules/JoyGemAI.swiftmodule/arm64-apple-ios.abi.json</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       li11LC5FIVL81dorkSyLKnyNa2JtjEuBDo/IzoAeVCU=
-                       </data>
-               </dict>
-               <key>Modules/JoyGemAI.swiftmodule/arm64-apple-ios.private.swiftinterface</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       Xu9oOK+bUwZsz7YKaBS7sdDWZvQJwX6GCeM7UKDOIew=
-                       </data>
-               </dict>
-               <key>Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftdoc</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       4ZSTOVNx5VInV3CLCGXGsOKMICdleteG1O8aHABZCzw=
-                       </data>
-               </dict>
-               <key>Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftinterface</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       Xu9oOK+bUwZsz7YKaBS7sdDWZvQJwX6GCeM7UKDOIew=
-                       </data>
-               </dict>
-               <key>Modules/JoyGemAI.swiftmodule/arm64-apple-ios.swiftmodule</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       nRKcutC82zySWegf6JkCelatcDI5wxHUuHo6O2D+Osc=
-                       </data>
-               </dict>
-               <key>Modules/module.modulemap</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       EYrXhwPscfz6NC5xiiSHpFYdSR7Z5+JCyV2sAnxwmPc=
-                       </data>
-               </dict>
-               <key>PrivacyInfo.xcprivacy</key>
-               <dict>
-                       <key>hash2</key>
-                       <data>
-                       cuaVRkQIQRl8fLAPRH2XlUdsPxO0W90uL0WcSHvmSnY=
-                       </data>
-               </dict>
-       </dict>
-       <key>rules</key>
-       <dict>
-               <key>^.*</key>
-               <true/>
-               <key>^.*\.lproj/</key>
-               <dict>
-                       <key>optional</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1000</real>
-               </dict>
-               <key>^.*\.lproj/locversion.plist$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1100</real>
-               </dict>
-               <key>^Base\.lproj/</key>
-               <dict>
-                       <key>weight</key>
-                       <real>1010</real>
-               </dict>
-               <key>^version.plist$</key>
-               <true/>
-       </dict>
-       <key>rules2</key>
-       <dict>
-               <key>.*\.dSYM($|/)</key>
-               <dict>
-                       <key>weight</key>
-                       <real>11</real>
-               </dict>
-               <key>^(.*/)?\.DS_Store$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>2000</real>
-               </dict>
-               <key>^.*</key>
-               <true/>
-               <key>^.*\.lproj/</key>
-               <dict>
-                       <key>optional</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1000</real>
-               </dict>
-               <key>^.*\.lproj/locversion.plist$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1100</real>
-               </dict>
-               <key>^Base\.lproj/</key>
-               <dict>
-                       <key>weight</key>
-                       <real>1010</real>
-               </dict>
-               <key>^Info\.plist$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^PkgInfo$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^embedded\.provisionprofile$</key>
-               <dict>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^version\.plist$</key>
-               <dict>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-       </dict>
-</dict>
-</plist>
diff --git a/document/JOYGEM_AI_IOS_V1.0.20/竟加AI iOS SDK接口文档.pdf b/document/JOYGEM_AI_IOS_V1.0.20/竟加AI iOS SDK接口文档.pdf
deleted file mode 100644 (file)
index c63e303..0000000
Binary files "a/document/JOYGEM_AI_IOS_V1.0.20/\347\253\237\345\212\240AI iOS SDK\346\216\245\345\217\243\346\226\207\346\241\243.pdf" and /dev/null differ
@@ -2,13 +2,22 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
-       <key>NSPrivacyAccessedAPITypes</key>
-       <array/>
+       <key>NSPrivacyTracking</key>
+       <false/>
        <key>NSPrivacyTrackingDomains</key>
        <array/>
+       <key>NSPrivacyAccessedAPITypes</key>
+       <array>
+               <dict>
+                       <key>NSPrivacyAccessedAPIType</key>
+                       <string>NSPrivacyAccessedAPICategoryDiskSpace</string>
+                       <key>NSPrivacyAccessedAPITypeReasons</key>
+                       <array>
+                               <string>E174.1</string>
+                       </array>
+               </dict>
+       </array>
        <key>NSPrivacyCollectedDataTypes</key>
        <array/>
-       <key>NSPrivacyTracking</key>
-       <false/>
 </dict>
 </plist>
diff --git a/document/bug.txt b/document/bug.txt
deleted file mode 100644 (file)
index 9da502b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-000184.9ec81d3cc0d64640bbcbf740208cb0ac.0822 
-000184.9ec81d3cc0d64640bbcbf740208cb0ac.0822
-苹果登录修改用户名闪退,估计是是检查token报错
-
-
-https://www.thisiot.com/flychat/apple-app-site-association
-https://www.thisiot.com/flychat/apple-app-site-association
-
-https://www.thisiot.com/flychat/apple-app-site-association
\ No newline at end of file
diff --git a/document/深音AI iOS SDK 2.zip b/document/深音AI iOS SDK 2.zip
deleted file mode 100644 (file)
index 269c782..0000000
Binary files "a/document/\346\267\261\351\237\263AI iOS SDK 2.zip" and /dev/null differ